00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #ifndef _CSP_VALUES_Double_H
00025 #define _CSP_VALUES_Double_H
00026
00027
00028 CSP_NAMESPACE_BEGIN(csp);
00029 CSP_NAMESPACE_BEGIN(values);
00030
00031
00036 class CSP_API Double :
00037 public Value
00038 {
00039 public:
00040 Double() : m_value(0) {}
00041 Double(const double v) : m_value(v) {}
00042 Double(const Double& v) : Value() { m_value = v.m_value; }
00043
00044
00045 Double& operator=(const Double& v)
00046 {
00047 Value::operator=(v);
00048 m_value = v.m_value;
00049 return *this;
00050 }
00051
00052 operator double() const { return m_value; }
00053
00054 virtual wostream& print(wostream& wos) const
00055 {
00056 return wos << m_value << L"(" << id() << L")";
00057 }
00058
00059 private:
00060 double m_value;
00061 };
00062
00063
00064 CSP_NAMESPACE_END(values);
00065 CSP_NAMESPACE_END(csp);
00066
00067
00068 #endif // _CSP_VALUES_Double_H
00069
00070
00071
00072