// $Revision: 1.4 $ // Copyright (C) 1994-1995 Taligent, Inc. All rights reserved. #ifndef TaligentSamples_STANDARDFUNCTORON #define TaligentSamples_STANDARDFUNCTORON #ifndef Taligent_COREPRIMITIVECLASSES #include #endif //---- TStandardFunctorOn ----------------------------------------------------------- template class TStandardFunctorOn { public: TaligentTypeExtensionTemplateDeclarationsMacro_Abstract(TStandardFunctorOn,AType) public: TStandardFunctorOn(); TStandardFunctorOn(const TStandardFunctorOn& source); virtual ~TStandardFunctorOn(); TStandardFunctorOn& operator=(const TStandardFunctorOn& source); virtual TStream& operator>>=(TStream& toStream) const; virtual TStream& operator<<=(TStream& fromStream); virtual void operator()(AType& state) = 0; private: enum {kOriginalVersion}; }; TaligentTypeExtensionTemplateMacro_Abstract(TStandardFunctorOn,AType) template TStandardFunctorOn::TStandardFunctorOn() { } template TStandardFunctorOn::TStandardFunctorOn(const TStandardFunctorOn& source) { } template TStandardFunctorOn::~TStandardFunctorOn() { } template TStandardFunctorOn& TStandardFunctorOn::operator=(const TStandardFunctorOn& source) { return *this; } template TStream& TStandardFunctorOn::operator>>=(TStream& toStream) const { ::WriteVersion(toStream, kOriginalVersion); return toStream; } template TStream& TStandardFunctorOn::operator<<=(TStream& fromStream) { ::ReadVersion(fromStream, kOriginalVersion, kOriginalVersion); return fromStream; } #endif