sigx++ 2.0.1
|
creates a tunnel on the given functor. More...
#include <tunnel_functor.h>
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) |
creates a tunnel on the given functor.
// if class MyThread is dispatchable, sigc::mem_fun creates a dispatchable functor. open_tunnel(sigc::mem_fun(destobj, &MyThread::dosomething)); // otherwise, create a dispatchable functor explicitly with dispatch_with open_tunnel_with(sigc::mem_fun(destobj, &MyThread::dosomething), dispatchable); open_tunnel_with(sigc::ptr_fun(&MyThread::dosomething_static), dispatchable);
struct MyThread { void do_something(const GLib::RefPtr<X>& p) {} }; Glib::RefPtr<X> p; open_tunnel(mythread, &MyThread::do_something)(p);
typedef sigc::adapts<T_functor>::adaptor_type sigx::tunnel_functor< ASYNC, T_functor >::adaptor_type |
typedef adaptor_type::result_type sigx::tunnel_functor< ASYNC, T_functor >::result_type |
sigx::tunnel_functor< ASYNC, T_functor >::tunnel_functor | ( | typename sigc::type_trait< T_functor >::take | _A_func | ) | [inline, explicit] |
Constructs an adaptor that wraps the passed functor.
_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 |
void sigx::tunnel_functor< ASYNC, 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)
References sigx::tunnel_validity_tracker::do_bind_to_trackable().
result_type sigx::tunnel_functor< ASYNC, T_functor >::operator() | ( | ) | [inline] |
deduce_result_type<T_arg1, T_arg2>::type sigx::tunnel_functor< ASYNC, T_functor >::operator() | ( | T_arg1 | _A_arg1, |
T_arg2 | _A_arg2 | ||
) | [inline] |
deduce_result_type<T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7>::type sigx::tunnel_functor< ASYNC, 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] |
deduce_result_type<T_arg1, T_arg2, T_arg3, T_arg4>::type sigx::tunnel_functor< ASYNC, T_functor >::operator() | ( | T_arg1 | _A_arg1, |
T_arg2 | _A_arg2, | ||
T_arg3 | _A_arg3, | ||
T_arg4 | _A_arg4 | ||
) | [inline] |
deduce_result_type<T_arg1, T_arg2, T_arg3, T_arg4, T_arg5>::type sigx::tunnel_functor< ASYNC, T_functor >::operator() | ( | T_arg1 | _A_arg1, |
T_arg2 | _A_arg2, | ||
T_arg3 | _A_arg3, | ||
T_arg4 | _A_arg4, | ||
T_arg5 | _A_arg5 | ||
) | [inline] |
deduce_result_type<T_arg1>::type sigx::tunnel_functor< ASYNC, T_functor >::operator() | ( | T_arg1 | _A_arg1 | ) | [inline] |
deduce_result_type<T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6>::type sigx::tunnel_functor< ASYNC, 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] |
deduce_result_type<T_arg1, T_arg2, T_arg3>::type sigx::tunnel_functor< ASYNC, T_functor >::operator() | ( | T_arg1 | _A_arg1, |
T_arg2 | _A_arg2, | ||
T_arg3 | _A_arg3 | ||
) | [inline] |
deduce_result_type<T_arg1>::type sigx::tunnel_functor< ASYNC, T_functor >::sun_forte_workaround | ( | T_arg1 | _A_arg1 | ) | [inline] |
deduce_result_type<T_arg1, T_arg2, T_arg3>::type sigx::tunnel_functor< ASYNC, T_functor >::sun_forte_workaround | ( | T_arg1 | _A_arg1, |
T_arg2 | _A_arg2, | ||
T_arg3 | _A_arg3 | ||
) | [inline] |
result_type sigx::tunnel_functor< ASYNC, T_functor >::sun_forte_workaround | ( | ) | [inline] |
deduce_result_type<T_arg1, T_arg2, T_arg3, T_arg4, T_arg5>::type sigx::tunnel_functor< ASYNC, 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] |
deduce_result_type<T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6>::type sigx::tunnel_functor< ASYNC, 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] |
deduce_result_type<T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7>::type sigx::tunnel_functor< ASYNC, 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] |
deduce_result_type<T_arg1, T_arg2, T_arg3, T_arg4>::type sigx::tunnel_functor< ASYNC, T_functor >::sun_forte_workaround | ( | T_arg1 | _A_arg1, |
T_arg2 | _A_arg2, | ||
T_arg3 | _A_arg3, | ||
T_arg4 | _A_arg4 | ||
) | [inline] |
deduce_result_type<T_arg1, T_arg2>::type sigx::tunnel_functor< ASYNC, T_functor >::sun_forte_workaround | ( | T_arg1 | _A_arg1, |
T_arg2 | _A_arg2 | ||
) | [inline] |