CastingFunctionBinding< T, R, O > Class Template Reference

#include <CastingFunctionBinding.h>

Inheritance diagram for CastingFunctionBinding< T, R, O >:

ValueSource< R >

Detailed Description

template<class T, typename R, typename O>
class CastingFunctionBinding< T, R, O >

Definition at line 42 of file CastingFunctionBinding.h.


Public Types

typedef O(T::* Operation )() const
 Type of the function to execute.

Public Member Functions

 CastingFunctionBinding (T *source, Operation operation)
ValueSource< R > * copy () const
getValue () const
ValueSource< SUMOReal > * makeSUMORealReturningCopy () const
 ~CastingFunctionBinding ()
 Destructor.

Private Attributes

Operation myOperation
 The object's operation to perform.
T * mySource
 The object the action is directed to.

Member Typedef Documentation

template<class T, typename R, typename O>
typedef O(T::* CastingFunctionBinding< T, R, O >::Operation)() const

Type of the function to execute.


Constructor & Destructor Documentation

template<class T, typename R, typename O>
CastingFunctionBinding< T, R, O >::CastingFunctionBinding ( T *  source,
Operation  operation 
) [inline]

Definition at line 47 of file CastingFunctionBinding.h.

00047                                                            :
00048             mySource(source),
00049             myOperation(operation) {}

template<class T, typename R, typename O>
CastingFunctionBinding< T, R, O >::~CastingFunctionBinding (  )  [inline]

Destructor.

Definition at line 52 of file CastingFunctionBinding.h.

00052 {}


Member Function Documentation

template<class T, typename R, typename O>
ValueSource<R>* CastingFunctionBinding< T, R, O >::copy (  )  const [inline, virtual]

template<class T, typename R, typename O>
R CastingFunctionBinding< T, R, O >::getValue (  )  const [inline, virtual]

Implements ValueSource< R >.

Definition at line 54 of file CastingFunctionBinding.h.

References CastingFunctionBinding< T, R, O >::myOperation, and CastingFunctionBinding< T, R, O >::mySource.

00054                        {
00055         return (R)(mySource->*myOperation)();
00056     }

template<class T, typename R, typename O>
ValueSource<SUMOReal>* CastingFunctionBinding< T, R, O >::makeSUMORealReturningCopy (  )  const [inline, virtual]


Field Documentation

template<class T, typename R, typename O>
Operation CastingFunctionBinding< T, R, O >::myOperation [private]

template<class T, typename R, typename O>
T* CastingFunctionBinding< T, R, O >::mySource [private]


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

Generated on Wed May 5 00:06:40 2010 for Sumo - Simulation of Urban MObility by  doxygen 1.5.6