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

A synchronous tunnel message. More...

#include <tunnel_context.h>

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

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

Public Types

typedef tunnel_context< SYNC,
T_return, T_unary_functor > 
this_type
typedef T_return 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)
T_return 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_return, typename T_unary_functor>
struct sigx::tunnel_context< SYNC, T_return, T_unary_functor >

A synchronous tunnel message.

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_return , typename T_unary_functor >
typedef T_return sigx::tunnel_context< SYNC, T_return, T_unary_functor >::result_type

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


Constructor & Destructor Documentation

template<typename T_return , typename T_unary_functor >
sigx::tunnel_context< SYNC, T_return, 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_return , typename T_unary_functor >
void sigx::tunnel_context< SYNC, T_return, 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_return , typename T_unary_functor >
T_return sigx::tunnel_context< SYNC, T_return, T_unary_functor >::tunnel (  )  [inline]

dispatches the tunnel_context (itself) over the referenced dispatcher.

References sigx::tunnel_context_base::dispatch_me().


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

Generated on Sun May 17 15:47:35 2009 for sigx++ by  doxygen 1.5.9