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

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);
}
};
}
void visit_each(const T_action &_A_action, const T_functor &_A_functor)
This function performs a functor on each of the targets of a functor.
Definition: visit_each.h:169
The libsigc++ namespace.
Definition: limit_reference.h:12
static void do_visit_each(const T_action &_A_action, const T_functor &_A_functor)
Definition: visit_each.h:158

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