DoubleParameter.h

00001 
00008 #ifndef _DoubleParameter_h
00009 #define _DoubleParameter_h
00010 
00011 
00012 // SYSTEM INCLUDES
00013 //
00014 
00015 // PROJECT INCLUDES
00016 //
00017 #include "Error.h"
00018 
00019 // LOCAL INCLUDES
00020 //
00021 
00022 // FORWARD REFERENCES
00023 //
00024 
00025 
00026 class DoubleParameter
00027 {
00028 public:
00029 // LIFECYCLE
00030 
00040     DoubleParameter(double  value       = 0.0,
00041                     double  min         = -DBL_MAX,
00042                     bool    leftOpen    = false,
00043                     double  max         = DBL_MAX,
00044                     bool    rightOpen   = false,
00045                     bool    integer     = false) throw(Error);
00046 
00051     DoubleParameter(const DoubleParameter& from) throw();
00052 
00053 
00056     ~DoubleParameter(void);
00057 
00058 
00059 // OPERATORS
00060 
00067     DoubleParameter&    operator=(const DoubleParameter& from) throw();
00068 
00071     DoubleParameter&    operator=(double from) throw(Error);
00072 
00075                         operator double() const throw();
00076 
00077 // OPERATIONS
00078 
00083     wxString            BoundaryToString() const;
00084 
00085 // ACCESS
00086 
00092     void                SetLowerBoundary(double min, bool open = false);
00093 
00099     void                SetUpperBoundary(double max, bool open = false);
00100 
00105     void                SetIntegerType(bool integer);
00106 // INQUIRY
00107 
00110     bool                IsValid(double value) const;
00111 
00114     bool                HasIntegerType() const;
00115 
00116 protected:
00117 private:
00118     double  mValue;     
00119     double  mMin;       
00120     double  mMax;       
00121     bool    mLeftOpen;  
00122     bool    mRightOpen; 
00123     bool    mInteger;   
00124 };
00125 
00126 // INLINE METHODS
00127 //
00128 
00129 // EXTERNAL REFERENCES
00130 //
00131 
00132 #endif  // _DoubleParameter_h

Wygenerowano Fri Sep 29 21:04:47 2006 dla EduOptim2 programem  doxygen 1.4.6