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