00001 #ifndef EvaluateOp_h 00002 #define EvaluateOp_h 00003 00004 #include "Individual.h" 00005 00016 class EvaluateOp 00017 { 00018 public: 00022 virtual FitnessP evaluate(IndividualP) = 0; 00023 00027 virtual void registerParameters(StateP) {} 00028 00032 virtual bool initialize(StateP) 00033 { return true; } 00034 00035 virtual ~EvaluateOp() 00036 { } 00037 }; 00038 typedef boost::shared_ptr<EvaluateOp> EvaluateOpP; 00039 00040 #endif // EvaluateOp_h 00041