00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #ifndef _CSP_VARIABLES_Double_H
00026 #define _CSP_VARIABLES_Double_H
00027
00028
00029 CSP_NAMESPACE_BEGIN(csp);
00030 CSP_NAMESPACE_BEGIN(variables);
00031
00032
00033 class CSP_API Double :
00034 public Variable
00035 {
00036 public:
00037 Double(const Problem& problem) :
00038 Variable(problem) {}
00039
00040 Double(
00041 const Problem& problem,
00042 const values::Double min,
00043 const values::Double max,
00044 const double step = 1);
00045
00046 Double(
00047 const Problem& problem,
00048 const vector<values::Double>& array);
00049
00050 virtual ~Double();
00051
00052 values::Double& value() const {
00053 return static_cast<values::Double&>(Variable::value()); }
00054
00055 private:
00057 Double(const Double&);
00058
00060 Double& operator=(const Double&);
00061 };
00062
00063
00064 CSP_NAMESPACE_END(variables);
00065 CSP_NAMESPACE_END(csp);
00066
00067
00068 #endif // _CSP_VARIABLES_Double_H
00069
00070
00071
00072