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

# TNL::Functor Struct Reference

`#include <tnlMethodDispatch.h>`

Inheritance diagram for TNL::Functor:

## 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)>.