00001 #ifndef Operator_h
00002 #define Operator_h
00003
00009 class Operator
00010 {
00011 public:
00012 virtual bool operate(StateP) = 0;
00013
00019 virtual bool initialize(StateP)
00020 { return true; }
00021
00026 virtual void registerParameters(StateP)
00027 { }
00028
00033 virtual void write(XMLNode&)
00034 { }
00035
00040 virtual void read(XMLNode&)
00041 { }
00042
00043 virtual ~Operator()
00044 { }
00045 };
00046 typedef boost::shared_ptr<Operator> OperatorP;
00047
00048 #endif // Operator_h