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_Long_H
00025 #define _CSP_VALUES_Long_H
00026
00027
00028 CSP_NAMESPACE_BEGIN(csp);
00029 CSP_NAMESPACE_BEGIN(values);
00030
00031
00037 class CSP_API Long :
00038 public Value
00039 {
00040 public:
00041 Long() : m_value(0) {}
00042 Long(const longlong v) : m_value(v) {}
00043 Long(const Long& v) : Value() { m_value = v.m_value; }
00044
00045
00046 Long& operator=(const Long& v)
00047 {
00048 Value::operator=(v);
00049 m_value = v.m_value;
00050 return *this;
00051 }
00052
00053 operator longlong() const { return m_value; }
00054
00055 virtual wostream& print(wostream& wos) const
00056 {
00057 return wos << m_value << L"(" << id() << L")";
00058 }
00059
00060 private:
00061 longlong m_value;
00062 };
00063
00064
00065 CSP_NAMESPACE_END(values);
00066 CSP_NAMESPACE_END(csp);
00067
00068
00069 #endif // _CSP_VALUES_Long_H
00070
00071
00072
00073