15# pragma warning( disable : 4503 )
17# pragma warning( disable : 4786 )
72template <
class Actor,
class _Ty =
int>
class Action {
91 return ( anActor->*itsFunction )();
120template <
class Adaptee,
class _Ty =
int>
129 : itsAdaptee( anAdaptee )
130 , itsAction( anAction )
142 return itsAction.execute( itsAdaptee );
ActionAdapter(Adaptee *anAdaptee, Action< Adaptee, _Ty > anAction)
_Ty(Actor::* ActionFunction)()
_Ty execute(Actor *anActor)
Action(ActionFunction anAction)
virtual _Ty operator()(void)=0
virtual _Ty operator()(ArgType &)=0