#include <FnDispatcher.h>


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 |
Definition at line 55 of file FnDispatcher.h.
| typedef ResulT(* sofa::helper::BasicDispatcher< BaseClass, ResulT >::F)(BaseClass &, BaseClass &) |
typedef std::pair<TypeInfo,TypeInfo> sofa::helper::BasicDispatcher< BaseClass, ResulT >::KeyType [protected] |
Definition at line 61 of file FnDispatcher.h.
typedef std::map<KeyType, F> sofa::helper::BasicDispatcher< BaseClass, ResulT >::MapType [protected] |
Definition at line 62 of file FnDispatcher.h.
| virtual sofa::helper::BasicDispatcher< BaseClass, ResulT >::~BasicDispatcher | ( | ) | [inline, protected, virtual] |
Definition at line 64 of file FnDispatcher.h.
| 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.
| ResulT sofa::helper::BasicDispatcher< BaseClass, ResulT >::defaultFn | ( | BaseClass & | arg1, | |
| BaseClass & | arg2 | |||
| ) | [inline, virtual] |
Definition at line 47 of file FnDispatcher.inl.
References sofa::helper::gettypename(), and sofa::helper::BasicDispatcher< BaseClass, ResulT >::ignore().
Referenced by sofa::helper::BasicDispatcher< BaseClass, ResulT >::go().
| ResulT sofa::helper::BasicDispatcher< BaseClass, ResulT >::go | ( | BaseClass & | arg1, | |
| BaseClass & | arg2 | |||
| ) | [inline] |
Definition at line 63 of file FnDispatcher.inl.
References sofa::helper::BasicDispatcher< BaseClass, ResulT >::callBackMap, and sofa::helper::BasicDispatcher< BaseClass, ResulT >::defaultFn().
| void sofa::helper::BasicDispatcher< BaseClass, ResulT >::ignore | ( | ) | [inline] |
Reimplemented in sofa::helper::FnDispatcher< BaseClass, ResulT >, and sofa::helper::FnDispatcher< sofa::core::componentmodel::behavior::OdeSolver, std::pair< OdeSolver *, LinearSolver * > >.
Definition at line 77 of file FnDispatcher.h.
Referenced by sofa::helper::BasicDispatcher< BaseClass, ResulT >::defaultFn().
| 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.
| ResulT sofa::helper::BasicDispatcher< BaseClass, ResulT >::ignoreFn | ( | BaseClass & | arg1, | |
| BaseClass & | arg2 | |||
| ) | [inline, static] |
Definition at line 57 of file FnDispatcher.inl.
Referenced by sofa::helper::BasicDispatcher< BaseClass, ResulT >::isSupported().
| 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().
MapType sofa::helper::BasicDispatcher< BaseClass, ResulT >::callBackMap [protected] |
Definition at line 63 of file FnDispatcher.h.
Referenced by sofa::helper::BasicDispatcher< BaseClass, ResulT >::go(), and sofa::helper::BasicDispatcher< BaseClass, ResulT >::isSupported().
1.5.7.1