/*! * @file functor.cxx * @brief Implements TFunctor class and it propose is Call_Back Functions * @author Diego CACERES (diego.caceres[AT]creatis.insa-lyon.fr) * @date 2011-05-19 */ namespace creaButtonContainer { namespace model { // constructor - takes pointer to an object and pointer to a member and stores // them in two private variables // ------------------------------------------------------------------------------- template< typename TClass > TConcreteFunctor< TClass >::TConcreteFunctor( TClass* _pt2Object, void (TClass::*_fpt)( const ButtonIDType &buttonName ) ) { this->pt2Object = _pt2Object; this->fpt = _fpt; } // ------------------------------------------------------------------------------- // override operator "()" // execute member functions template< typename TClass > void TConcreteFunctor< TClass >::operator()( const ButtonIDType &buttonName ) { ( *pt2Object.*fpt )( buttonName ); } // ------------------------------------------------------------------------------- // override function "Call" // execute member function template< typename TClass > void TConcreteFunctor< TClass >::Call( const ButtonIDType &buttonName ) { ( *pt2Object.*fpt )( buttonName ); } }//ecapseman }//ecapseman