"Fossies" - the Fresh Open Source Software Archive

Member "libsigc++-3.0.0/docs/docs/reference/html/structsigc_1_1visitor.html" (5 Sep 2019, 7847 Bytes) of package /linux/misc/libsigc++-3.0.0.tar.xz:


Caution: In this restricted "Fossies" environment the current HTML page may not be correctly presentated and may have some non-functional links. You can here alternatively try to browse the pure source code or just view or download the uninterpreted raw source code. If the rendering is insufficient you may try to find and view the page on the project site itself.

libsigc++  3.0.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<typename T_action >
static void do_visit_each (const T_action& action, const T_functor& functor)
 

Detailed Description

template<typename 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 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 <typename T_action>
static void do_visit_each(const T_action& action,
const some_ns::some_functor& target)
{
sigc::visit_each(action, target.some_data_member);
sigc::visit_each(action, target.some_other_functor);
}
};
}

Member Function Documentation

template <typename T_functor >
template <typename T_action >
static void sigc::visitor< T_functor >::do_visit_each ( const T_action &  action,
const T_functor &  functor 
)
inlinestatic