00001 #ifndef GLFITNESS_H_ 00002 #define GLFITNESS_H_ 00003 00004 #include "GLBaseFitness.h" 00010 template <class TFitness> 00011 class GLFitness : public GLBaseFitness 00012 { 00013 public: 00018 GLFitness(const TFitness& value); 00019 00024 GLFitness(const GLFitness<TFitness>& source); 00025 00029 virtual ~GLFitness() {}; 00030 00035 virtual GLBaseFitness* copy() const 00036 { return new GLFitness<TFitness>(*this); } 00037 00042 const TFitness& getValue() const 00043 { return m_value; } 00044 00048 virtual bool isEqual(const GLBaseFitness* fitness) const; 00049 00055 virtual bool isLess(const GLBaseFitness* fitness) const; 00056 00061 void setValue(const TFitness& value) 00062 { m_value = value; } 00063 private: 00065 TFitness m_value; 00066 }; 00067 00071 typedef GLFitness<double> GLFitnessSingleDouble; 00072 typedef GLFitness<int> GLFitnessSingleInt; 00073 #endif /*GLFITNESS_H_*/