Main Page Modules Namespaces C++ Classes Compound List File List Index
TNL::Functor struct Reference

TNL::Functor Struct Reference

#include <tnlMethodDispatch.h>

Inheritance diagram for TNL::Functor:

TNL::FunctorDecl< T > TNL::FunctorDecl< void(T::*)()> TNL::FunctorDecl< void(T::*)(A)> TNL::FunctorDecl< void(T::*)(A, B)> TNL::FunctorDecl< void(T::*)(A, B, C)> TNL::FunctorDecl< void(T::*)(A, B, C, D)> TNL::FunctorDecl< void(T::*)(A, B, C, D, E)> TNL::FunctorDecl< void(T::*)(A, B, C, D, E, F)> TNL::FunctorDecl< void(T::*)(A, B, C, D, E, F, G)> TNL::FunctorDecl< void(T::*)(A, B, C, D, E, F, G, H)> TNL::FunctorDecl< void(T::*)(A, B, C, D, E, F, G, H, I)> TNL::FunctorDecl< void(T::*)(A, B, C, D, E, F, G, H, I, J)>

Detailed Description

Base class for FunctorDecl template classes.

The Functor objects store the parameters and member function pointer for the invocation of some class member function. Functor is used in TNL by the RPC mechanism, the journaling system and the ThreadQueue to store a function for later transmission and dispatch, either to a remote host, a journal file, or another thread in the process.


Public Member Functions

 Functor ()
 Construct the Functor.

virtual ~Functor ()
 Destruct the Functor.

virtual void read (BitStream &stream)=0
 Reads this Functor from a BitStream.

virtual void write (BitStream &stream)=0
 Writes this Functor to a BitStream.

virtual void dispatch (void *t)=0
 Dispatch the function represented by the Functor.


Constructor & Destructor Documentation

TNL::Functor::Functor  )  [inline]
 

Construct the Functor.

virtual TNL::Functor::~Functor  )  [inline, virtual]
 

Destruct the Functor.


Member Function Documentation

virtual void TNL::Functor::read BitStream stream  )  [pure virtual]
 

Reads this Functor from a BitStream.

Implemented in TNL::FunctorDecl< T >, TNL::FunctorDecl< void(T::*)()>, TNL::FunctorDecl< void(T::*)(A)>, TNL::FunctorDecl< void(T::*)(A, B)>, TNL::FunctorDecl< void(T::*)(A, B, C)>, TNL::FunctorDecl< void(T::*)(A, B, C, D)>, TNL::FunctorDecl< void(T::*)(A, B, C, D, E)>, TNL::FunctorDecl< void(T::*)(A, B, C, D, E, F)>, TNL::FunctorDecl< void(T::*)(A, B, C, D, E, F, G)>, TNL::FunctorDecl< void(T::*)(A, B, C, D, E, F, G, H)>, TNL::FunctorDecl< void(T::*)(A, B, C, D, E, F, G, H, I)>, and TNL::FunctorDecl< void(T::*)(A, B, C, D, E, F, G, H, I, J)>.

virtual void TNL::Functor::write BitStream stream  )  [pure virtual]
 

Writes this Functor to a BitStream.

Implemented in TNL::FunctorDecl< T >, TNL::FunctorDecl< void(T::*)()>, TNL::FunctorDecl< void(T::*)(A)>, TNL::FunctorDecl< void(T::*)(A, B)>, TNL::FunctorDecl< void(T::*)(A, B, C)>, TNL::FunctorDecl< void(T::*)(A, B, C, D)>, TNL::FunctorDecl< void(T::*)(A, B, C, D, E)>, TNL::FunctorDecl< void(T::*)(A, B, C, D, E, F)>, TNL::FunctorDecl< void(T::*)(A, B, C, D, E, F, G)>, TNL::FunctorDecl< void(T::*)(A, B, C, D, E, F, G, H)>, TNL::FunctorDecl< void(T::*)(A, B, C, D, E, F, G, H, I)>, and TNL::FunctorDecl< void(T::*)(A, B, C, D, E, F, G, H, I, J)>.

virtual void TNL::Functor::dispatch void *  t  )  [pure virtual]
 

Dispatch the function represented by the Functor.

Implemented in TNL::FunctorDecl< T >, TNL::FunctorDecl< void(T::*)()>, TNL::FunctorDecl< void(T::*)(A)>, TNL::FunctorDecl< void(T::*)(A, B)>, TNL::FunctorDecl< void(T::*)(A, B, C)>, TNL::FunctorDecl< void(T::*)(A, B, C, D)>, TNL::FunctorDecl< void(T::*)(A, B, C, D, E)>, TNL::FunctorDecl< void(T::*)(A, B, C, D, E, F)>, TNL::FunctorDecl< void(T::*)(A, B, C, D, E, F, G)>, TNL::FunctorDecl< void(T::*)(A, B, C, D, E, F, G, H)>, TNL::FunctorDecl< void(T::*)(A, B, C, D, E, F, G, H, I)>, and TNL::FunctorDecl< void(T::*)(A, B, C, D, E, F, G, H, I, J)>.