00001 00009 #ifndef _NMBestWorstCondition_h 00010 #define _NMBestWorstCondition_h 00011 00012 // SYSTEM INCLUDES 00013 // 00014 00015 // PROJECT INCLUDES 00016 // 00017 00018 // LOCAL INCLUDES 00019 // 00020 #include "NMStopCondition.h" 00021 00022 // FORWARD REFERENCES 00023 // 00024 00025 00026 class NMBestWorstCondition 00027 : public NMStopCondition 00028 { 00029 public: 00030 // LIFECYCLE 00031 00034 NMBestWorstCondition(void); 00035 00036 00041 NMBestWorstCondition(const NMBestWorstCondition& from); 00042 00052 NMBestWorstCondition(CountedPtr<StandardStopCondition> cpComparison); 00053 00056 ~NMBestWorstCondition(void); 00057 00058 00059 // OPERATORS 00060 00061 // OPERATIONS 00062 00065 virtual std::auto_ptr<StopConditionBase> Clone() const; 00066 00067 // ACCESS 00068 00069 // INQUIRY 00070 00075 virtual bool IsMet(const PointWithValue& bestPoint, 00076 const PointWithValue& worstPoint, 00077 const PointWithValue& previousWorstPoint, 00078 const PointWithValue& worstReplacement, 00079 double circumference) const; 00080 00081 protected: 00082 private: 00083 }; 00084 00085 // INLINE METHODS 00086 // 00087 00088 // EXTERNAL REFERENCES 00089 // 00090 00091 #endif // _NMBestWorstCondition_h