libsigc++: sigc::visitor< T_functor > Struct Template Reference

libsigc++ 2.10.0

Static Public Member Functions | List of all members
sigc::visitor< T_functor > Struct Template Reference
Functors

sigc::visitor<T_functor>::do_visit_each() performs a functor on each of the targets of a functor. More...

`#include <sigc++/visit_each.h>`

## Static Public Member Functions
template<class T_action >
static void | do_visit_each (const T_action& _A_action, const T_functor& _A_functor)

## Detailed Description

### template<class T_functor>
struct sigc::visitor< T_functor >

sigc::visitor<T_functor>::do_visit_each() performs a functor on each of the targets of a functor.

All unknown types just call _A_action on them. Add specializations that specialize the T_functor argument for your own functor types, so that subobjects get visited. This is needed to enable auto-disconnection support for your functor types.

Example:
  namespace some_ns
  {
  struct some_functor
  {
  void operator()() {}
  some_possibly_sigc_trackable_derived_type some_data_member;
  some_other_functor_type some_other_functor;
  };
  }
  namespace sigc
  {
  template <>
  struct visitor<some_ns::some_functor>
  {
  template <class T_action>
  static void do_visit_each(const T_action& _A_action,
  const some_ns::some_functor& _A_target)
  {
  sigc::visit_each(_A_action, _A_target.some_data_member);
  sigc::visit_each(_A_action, _A_target.some_other_functor);
  }
  };
  }

## Member Function Documentation

## § do_visit_each()

template <class T_functor >
template <class T_action >

static void sigc::visitor< T_functor >::do_visit_each | ( | const T_action & | _A_action,
|  | const T_functor & | _A_functor
| ) |  |
| inlinestatic