sigx::tunnel_context< SYNC, void, T_unary_functor > Struct Template Reference
[Dispatching]

a synchronous tunnel with return type `void". More...

#include <tunnel_context.h>

Inheritance diagram for sigx::tunnel_context< SYNC, void, T_unary_functor >:

sigx::sync_tunnel_context_base sigx::tunnel_context_base sigx::operator_new

Public Types

typedef tunnel_context< SYNC,
void, T_unary_functor > 
this_type
typedef void result_type

Public Member Functions

 tunnel_context (const shared_dispatchable &_A_disp, const tunnel_validity_tracker &_A_validity_tracker, typename sigc::type_trait< T_unary_functor >::take _A_func)
void tunnel ()
 dispatches the tunnel_context (itself) over the referenced dispatcher.
void invoke ()
 invokes the intended functor at the other end of the tunnel

Detailed Description

template<typename T_unary_functor>
struct sigx::tunnel_context< SYNC, void, T_unary_functor >

a synchronous tunnel with return type `void".

Synchronous tunnels store reference wrappers to the passed arguments, thus optimizing argument transmission.

Note:
Synchronous tunnels lock until the functor at the other side of the tunnel has completed except for when the dispatcher reference is not valid anymore (the owner thread of the dispatcher has destroyed its dispatcher).

Member Typedef Documentation

template<typename T_unary_functor >
typedef void sigx::tunnel_context< SYNC, void, T_unary_functor >::result_type

template<typename T_unary_functor >
typedef tunnel_context<SYNC, void, T_unary_functor> sigx::tunnel_context< SYNC, void, T_unary_functor >::this_type


Constructor & Destructor Documentation

template<typename T_unary_functor >
sigx::tunnel_context< SYNC, void, T_unary_functor >::tunnel_context ( const shared_dispatchable _A_disp,
const tunnel_validity_tracker _A_validity_tracker,
typename sigc::type_trait< T_unary_functor >::take  _A_func 
) [inline]


Member Function Documentation

template<typename T_unary_functor >
void sigx::tunnel_context< SYNC, void, T_unary_functor >::invoke (  )  [inline, virtual]

invokes the intended functor at the other end of the tunnel

Implements sigx::tunnel_context_base.

template<typename T_unary_functor >
void sigx::tunnel_context< SYNC, void, T_unary_functor >::tunnel (  )  [inline]

dispatches the tunnel_context (itself) over the referenced dispatcher.

References sigx::sync_tunnel_context_base::dispatch_me().


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