Classes | Public Member Functions

OpenTissue::utility::dispatchers::DynamicTableDispatcher< Base, Mirrored, R, void > Class Template Reference

#include <dispatchers_dynamic_table_dispatcher.h>

List of all members.

Classes

class  Functor
class  FunctorBase

Public Member Functions

 DynamicTableDispatcher ()
template<class T1 , class T2 >
void bind (R(*f)(T1 &, T2 &))
operator() (Base &t1, Base &t2)

Detailed Description

template<class Base, bool Mirrored, typename R>
class OpenTissue::utility::dispatchers::DynamicTableDispatcher< Base, Mirrored, R, void >

Constructor


Constructor & Destructor Documentation

template<class Base , bool Mirrored, typename R >
OpenTissue::utility::dispatchers::DynamicTableDispatcher< Base, Mirrored, R, void >::DynamicTableDispatcher (  )  [inline]

Constructor


Member Function Documentation

template<class Base , bool Mirrored, typename R >
template<class T1 , class T2 >
void OpenTissue::utility::dispatchers::DynamicTableDispatcher< Base, Mirrored, R, void >::bind ( R(*)(T1 &, T2 &)  f  )  [inline]

Bind a dispatch function to the dispatcher.

Note:
There is no way to unbind a function once it's bound other than replacing it with another function. This is a deliberate design choice.
Template Parameters:
T1 The type of the first parameter for the dispatch function, f.
T2 The type of the second parameter for the dispatch function, f.
Parameters:
[in] f The dispatch function to bind. The types of the the parameters are automatically extracted.
template<class Base , bool Mirrored, typename R >
R OpenTissue::utility::dispatchers::DynamicTableDispatcher< Base, Mirrored, R, void >::operator() ( Base &  t1,
Base &  t2 
) [inline]

Execute the dispatcher on 2 dispatchable objects.

Parameters:
[in] t1 The first dispatchable object
[in] t2 The second dispatchable object
Returns:
The result from the dispatch function.
Exceptions:
UnboundDispatchFuntion The dispatcher have no dispatch function bound to this combination of classes.

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