sigx::tunnel_functor< SYNC, T_functor > Struct Template Reference

#include <tunnel_functor.h>

Inheritance diagram for sigx::tunnel_functor< SYNC, T_functor >:

sigx::tunnel_base

Data Structures

struct  deduce_result_type

Public Types

typedef sigc::adapts
< T_functor >::adaptor_type 
adaptor_type
typedef adaptor_type::result_type result_type

Public Member Functions

result_type operator() ()
result_type sun_forte_workaround ()
template<typename T_arg1 >
deduce_result_type< T_arg1 >::type operator() (T_arg1 _A_arg1)
template<typename T_arg1 >
deduce_result_type< T_arg1 >::type sun_forte_workaround (T_arg1 _A_arg1)
template<typename T_arg1 , typename T_arg2 >
deduce_result_type< T_arg1,
T_arg2 >::type 
operator() (T_arg1 _A_arg1, T_arg2 _A_arg2)
template<typename T_arg1 , typename T_arg2 >
deduce_result_type< T_arg1,
T_arg2 >::type 
sun_forte_workaround (T_arg1 _A_arg1, T_arg2 _A_arg2)
template<typename T_arg1 , typename T_arg2 , typename T_arg3 >
deduce_result_type< T_arg1,
T_arg2, T_arg3 >::type 
operator() (T_arg1 _A_arg1, T_arg2 _A_arg2, T_arg3 _A_arg3)
template<typename T_arg1 , typename T_arg2 , typename T_arg3 >
deduce_result_type< T_arg1,
T_arg2, T_arg3 >::type 
sun_forte_workaround (T_arg1 _A_arg1, T_arg2 _A_arg2, T_arg3 _A_arg3)
template<typename T_arg1 , typename T_arg2 , typename T_arg3 , typename T_arg4 >
deduce_result_type< T_arg1,
T_arg2, T_arg3, T_arg4 >::type 
operator() (T_arg1 _A_arg1, T_arg2 _A_arg2, T_arg3 _A_arg3, T_arg4 _A_arg4)
template<typename T_arg1 , typename T_arg2 , typename T_arg3 , typename T_arg4 >
deduce_result_type< T_arg1,
T_arg2, T_arg3, T_arg4 >::type 
sun_forte_workaround (T_arg1 _A_arg1, T_arg2 _A_arg2, T_arg3 _A_arg3, T_arg4 _A_arg4)
template<typename T_arg1 , typename T_arg2 , typename T_arg3 , typename T_arg4 , typename T_arg5 >
deduce_result_type< T_arg1,
T_arg2, T_arg3, T_arg4, T_arg5 >
::type 
operator() (T_arg1 _A_arg1, T_arg2 _A_arg2, T_arg3 _A_arg3, T_arg4 _A_arg4, T_arg5 _A_arg5)
template<typename T_arg1 , typename T_arg2 , typename T_arg3 , typename T_arg4 , typename T_arg5 >
deduce_result_type< T_arg1,
T_arg2, T_arg3, T_arg4, T_arg5 >
::type 
sun_forte_workaround (T_arg1 _A_arg1, T_arg2 _A_arg2, T_arg3 _A_arg3, T_arg4 _A_arg4, T_arg5 _A_arg5)
template<typename T_arg1 , typename T_arg2 , typename T_arg3 , typename T_arg4 , typename T_arg5 , typename T_arg6 >
deduce_result_type< T_arg1,
T_arg2, T_arg3, T_arg4, T_arg5,
T_arg6 >::type 
operator() (T_arg1 _A_arg1, T_arg2 _A_arg2, T_arg3 _A_arg3, T_arg4 _A_arg4, T_arg5 _A_arg5, T_arg6 _A_arg6)
template<typename T_arg1 , typename T_arg2 , typename T_arg3 , typename T_arg4 , typename T_arg5 , typename T_arg6 >
deduce_result_type< T_arg1,
T_arg2, T_arg3, T_arg4, T_arg5,
T_arg6 >::type 
sun_forte_workaround (T_arg1 _A_arg1, T_arg2 _A_arg2, T_arg3 _A_arg3, T_arg4 _A_arg4, T_arg5 _A_arg5, T_arg6 _A_arg6)
template<typename T_arg1 , typename T_arg2 , typename T_arg3 , typename T_arg4 , typename T_arg5 , typename T_arg6 , typename T_arg7 >
deduce_result_type< T_arg1,
T_arg2, T_arg3, T_arg4, T_arg5,
T_arg6, T_arg7 >::type 
operator() (T_arg1 _A_arg1, T_arg2 _A_arg2, T_arg3 _A_arg3, T_arg4 _A_arg4, T_arg5 _A_arg5, T_arg6 _A_arg6, T_arg7 _A_arg7)
template<typename T_arg1 , typename T_arg2 , typename T_arg3 , typename T_arg4 , typename T_arg5 , typename T_arg6 , typename T_arg7 >
deduce_result_type< T_arg1,
T_arg2, T_arg3, T_arg4, T_arg5,
T_arg6, T_arg7 >::type 
sun_forte_workaround (T_arg1 _A_arg1, T_arg2 _A_arg2, T_arg3 _A_arg3, T_arg4 _A_arg4, T_arg5 _A_arg5, T_arg6 _A_arg6, T_arg7 _A_arg7)
 tunnel_functor (typename sigc::type_trait< T_functor >::take _A_func)
 Constructs an adaptor that wraps the passed functor.
void activate_validity_tracking () const
 Activates validity tracking for sigc::trackableS and tracking of a dispatcher change (e.g. when a thread finishes its execution and resets its dispatcher).

template<typename T_functor>
struct sigx::tunnel_functor< SYNC, T_functor >


Member Typedef Documentation

template<typename T_functor >
typedef sigc::adapts<T_functor>::adaptor_type sigx::tunnel_functor< SYNC, T_functor >::adaptor_type

template<typename T_functor >
typedef adaptor_type::result_type sigx::tunnel_functor< SYNC, T_functor >::result_type


Constructor & Destructor Documentation

template<typename T_functor >
sigx::tunnel_functor< SYNC, T_functor >::tunnel_functor ( typename sigc::type_trait< T_functor >::take  _A_func  )  [inline, explicit]

Constructs an adaptor that wraps the passed functor.

Parameters:
_A_func Functor to invoke at the other end of the tunnel from operator()().
dispatcher_change_is_cleanup Whether a dispatcher change should be be treated as reason to destroy the tunnel
Note:
The passed in functor must be a "dispatchable functor", i.e. a functor on a dispatchable's method or a functor created by sigx::dispatch_with.


Member Function Documentation

template<typename T_functor >
void sigx::tunnel_functor< SYNC, T_functor >::activate_validity_tracking (  )  const [inline]

Activates validity tracking for sigc::trackableS and tracking of a dispatcher change (e.g. when a thread finishes its execution and resets its dispatcher).

Note:
activate_validity_tracking() assumes that the tunnel functor, all sigc::trackableS and the dispatcher/dispatchable are managed and accessed in the context of the calling thread.

References sigx::tunnel_validity_tracker::do_bind_to_trackable().

template<typename T_functor >
template<typename T_arg1 , typename T_arg2 , typename T_arg3 , typename T_arg4 , typename T_arg5 , typename T_arg6 , typename T_arg7 >
deduce_result_type<T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7>::type sigx::tunnel_functor< SYNC, T_functor >::operator() ( T_arg1  _A_arg1,
T_arg2  _A_arg2,
T_arg3  _A_arg3,
T_arg4  _A_arg4,
T_arg5  _A_arg5,
T_arg6  _A_arg6,
T_arg7  _A_arg7 
) [inline]

References sigx::ref().

template<typename T_functor >
template<typename T_arg1 , typename T_arg2 , typename T_arg3 , typename T_arg4 , typename T_arg5 , typename T_arg6 >
deduce_result_type<T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6>::type sigx::tunnel_functor< SYNC, T_functor >::operator() ( T_arg1  _A_arg1,
T_arg2  _A_arg2,
T_arg3  _A_arg3,
T_arg4  _A_arg4,
T_arg5  _A_arg5,
T_arg6  _A_arg6 
) [inline]

References sigx::ref().

template<typename T_functor >
template<typename T_arg1 , typename T_arg2 , typename T_arg3 , typename T_arg4 , typename T_arg5 >
deduce_result_type<T_arg1, T_arg2, T_arg3, T_arg4, T_arg5>::type sigx::tunnel_functor< SYNC, T_functor >::operator() ( T_arg1  _A_arg1,
T_arg2  _A_arg2,
T_arg3  _A_arg3,
T_arg4  _A_arg4,
T_arg5  _A_arg5 
) [inline]

References sigx::ref().

template<typename T_functor >
template<typename T_arg1 , typename T_arg2 , typename T_arg3 , typename T_arg4 >
deduce_result_type<T_arg1, T_arg2, T_arg3, T_arg4>::type sigx::tunnel_functor< SYNC, T_functor >::operator() ( T_arg1  _A_arg1,
T_arg2  _A_arg2,
T_arg3  _A_arg3,
T_arg4  _A_arg4 
) [inline]

References sigx::ref().

template<typename T_functor >
template<typename T_arg1 , typename T_arg2 , typename T_arg3 >
deduce_result_type<T_arg1, T_arg2, T_arg3>::type sigx::tunnel_functor< SYNC, T_functor >::operator() ( T_arg1  _A_arg1,
T_arg2  _A_arg2,
T_arg3  _A_arg3 
) [inline]

References sigx::ref().

template<typename T_functor >
template<typename T_arg1 , typename T_arg2 >
deduce_result_type<T_arg1, T_arg2>::type sigx::tunnel_functor< SYNC, T_functor >::operator() ( T_arg1  _A_arg1,
T_arg2  _A_arg2 
) [inline]

References sigx::ref().

template<typename T_functor >
template<typename T_arg1 >
deduce_result_type<T_arg1>::type sigx::tunnel_functor< SYNC, T_functor >::operator() ( T_arg1  _A_arg1  )  [inline]

References sigx::ref().

template<typename T_functor >
result_type sigx::tunnel_functor< SYNC, T_functor >::operator() (  )  [inline]

template<typename T_functor >
template<typename T_arg1 , typename T_arg2 , typename T_arg3 , typename T_arg4 , typename T_arg5 , typename T_arg6 , typename T_arg7 >
deduce_result_type<T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7>::type sigx::tunnel_functor< SYNC, T_functor >::sun_forte_workaround ( T_arg1  _A_arg1,
T_arg2  _A_arg2,
T_arg3  _A_arg3,
T_arg4  _A_arg4,
T_arg5  _A_arg5,
T_arg6  _A_arg6,
T_arg7  _A_arg7 
) [inline]

References sigx::ref().

template<typename T_functor >
template<typename T_arg1 , typename T_arg2 , typename T_arg3 , typename T_arg4 , typename T_arg5 , typename T_arg6 >
deduce_result_type<T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6>::type sigx::tunnel_functor< SYNC, T_functor >::sun_forte_workaround ( T_arg1  _A_arg1,
T_arg2  _A_arg2,
T_arg3  _A_arg3,
T_arg4  _A_arg4,
T_arg5  _A_arg5,
T_arg6  _A_arg6 
) [inline]

References sigx::ref().

template<typename T_functor >
template<typename T_arg1 , typename T_arg2 , typename T_arg3 , typename T_arg4 , typename T_arg5 >
deduce_result_type<T_arg1, T_arg2, T_arg3, T_arg4, T_arg5>::type sigx::tunnel_functor< SYNC, T_functor >::sun_forte_workaround ( T_arg1  _A_arg1,
T_arg2  _A_arg2,
T_arg3  _A_arg3,
T_arg4  _A_arg4,
T_arg5  _A_arg5 
) [inline]

References sigx::ref().

template<typename T_functor >
template<typename T_arg1 , typename T_arg2 , typename T_arg3 , typename T_arg4 >
deduce_result_type<T_arg1, T_arg2, T_arg3, T_arg4>::type sigx::tunnel_functor< SYNC, T_functor >::sun_forte_workaround ( T_arg1  _A_arg1,
T_arg2  _A_arg2,
T_arg3  _A_arg3,
T_arg4  _A_arg4 
) [inline]

References sigx::ref().

template<typename T_functor >
template<typename T_arg1 , typename T_arg2 , typename T_arg3 >
deduce_result_type<T_arg1, T_arg2, T_arg3>::type sigx::tunnel_functor< SYNC, T_functor >::sun_forte_workaround ( T_arg1  _A_arg1,
T_arg2  _A_arg2,
T_arg3  _A_arg3 
) [inline]

References sigx::ref().

template<typename T_functor >
template<typename T_arg1 , typename T_arg2 >
deduce_result_type<T_arg1, T_arg2>::type sigx::tunnel_functor< SYNC, T_functor >::sun_forte_workaround ( T_arg1  _A_arg1,
T_arg2  _A_arg2 
) [inline]

References sigx::ref().

template<typename T_functor >
template<typename T_arg1 >
deduce_result_type<T_arg1>::type sigx::tunnel_functor< SYNC, T_functor >::sun_forte_workaround ( T_arg1  _A_arg1  )  [inline]

References sigx::ref().

template<typename T_functor >
result_type sigx::tunnel_functor< SYNC, T_functor >::sun_forte_workaround (  )  [inline]


The documentation for this struct was generated from the following file:

Generated on Mon Aug 3 17:35:09 2009 for sigx++ by  doxygen 1.5.9