sofa::helper::BasicDispatcher< BaseClass, ResulT > Class Template Reference

#include <FnDispatcher.h>

Inheritance diagram for sofa::helper::BasicDispatcher< BaseClass, ResulT >:

Inheritance graph
[legend]
Collaboration diagram for sofa::helper::BasicDispatcher< BaseClass, ResulT >:

Collaboration graph
[legend]

Public Types

typedef ResulT(* F )(BaseClass &, BaseClass &)

Public Member Functions

void add (const std::type_info &class1, const std::type_info &class2, F fun)
void ignore (const std::type_info &class1, const std::type_info &class2)
template<class ConcreteClass1 , class ConcreteClass2 , ResulT(*)(ConcreteClass1 &, ConcreteClass2 &) F, bool symetric>
void ignore ()
virtual ResulT defaultFn (BaseClass &arg1, BaseClass &arg2)
ResulT go (BaseClass &arg1, BaseClass &arg2)
bool isSupported (BaseClass &arg1, BaseClass &arg2)
 Return true if a pair of argument correspond to a callback function (different than ignoreFn).

Static Public Member Functions

static ResulT ignoreFn (BaseClass &arg1, BaseClass &arg2)

Protected Types

typedef std::pair< TypeInfo,
TypeInfo > 
KeyType
typedef std::map< KeyType, F > MapType

Protected Member Functions

virtual ~BasicDispatcher ()

Protected Attributes

MapType callBackMap

Detailed Description

template<class BaseClass, typename ResulT = void>
class sofa::helper::BasicDispatcher< BaseClass, ResulT >

Definition at line 55 of file FnDispatcher.h.


Member Typedef Documentation

template<class BaseClass , typename ResulT = void>
typedef ResulT(* sofa::helper::BasicDispatcher< BaseClass, ResulT >::F)(BaseClass &, BaseClass &)

template<class BaseClass , typename ResulT = void>
typedef std::pair<TypeInfo,TypeInfo> sofa::helper::BasicDispatcher< BaseClass, ResulT >::KeyType [protected]

Definition at line 61 of file FnDispatcher.h.

template<class BaseClass , typename ResulT = void>
typedef std::map<KeyType, F> sofa::helper::BasicDispatcher< BaseClass, ResulT >::MapType [protected]

Definition at line 62 of file FnDispatcher.h.


Constructor & Destructor Documentation

template<class BaseClass , typename ResulT = void>
virtual sofa::helper::BasicDispatcher< BaseClass, ResulT >::~BasicDispatcher (  )  [inline, protected, virtual]

Definition at line 64 of file FnDispatcher.h.


Member Function Documentation

template<class BaseClass , typename ResulT = void>
void sofa::helper::BasicDispatcher< BaseClass, ResulT >::add ( const std::type_info &  class1,
const std::type_info &  class2,
F  fun 
) [inline]

Definition at line 66 of file FnDispatcher.h.

template<class BaseClass , typename ResulT >
ResulT sofa::helper::BasicDispatcher< BaseClass, ResulT >::defaultFn ( BaseClass &  arg1,
BaseClass &  arg2 
) [inline, virtual]

template<class BaseClass , typename ResulT >
ResulT sofa::helper::BasicDispatcher< BaseClass, ResulT >::go ( BaseClass &  arg1,
BaseClass &  arg2 
) [inline]

template<class BaseClass , typename ResulT = void>
template<class ConcreteClass1 , class ConcreteClass2 , ResulT(*)(ConcreteClass1 &, ConcreteClass2 &) F, bool symetric>
void sofa::helper::BasicDispatcher< BaseClass, ResulT >::ignore (  )  [inline]

template<class BaseClass , typename ResulT = void>
void sofa::helper::BasicDispatcher< BaseClass, ResulT >::ignore ( const std::type_info &  class1,
const std::type_info &  class2 
) [inline]

Definition at line 71 of file FnDispatcher.h.

template<class BaseClass , typename ResulT >
ResulT sofa::helper::BasicDispatcher< BaseClass, ResulT >::ignoreFn ( BaseClass &  arg1,
BaseClass &  arg2 
) [inline, static]

template<class BaseClass , typename ResulT >
bool sofa::helper::BasicDispatcher< BaseClass, ResulT >::isSupported ( BaseClass &  arg1,
BaseClass &  arg2 
) [inline]

Return true if a pair of argument correspond to a callback function (different than ignoreFn).

Definition at line 74 of file FnDispatcher.inl.

References sofa::helper::BasicDispatcher< BaseClass, ResulT >::callBackMap, and sofa::helper::BasicDispatcher< BaseClass, ResulT >::ignoreFn().


Field Documentation

template<class BaseClass , typename ResulT = void>
MapType sofa::helper::BasicDispatcher< BaseClass, ResulT >::callBackMap [protected]


The documentation for this class was generated from the following files:

Generated on Sun Nov 23 04:24:16 2008 for Sofa by  doxygen 1.5.7.1