81 enum value_kind { unknown, basetype, function, constant };
91 value_kind d_value_kind;
94 void m_duplicate(
const D4RValue &src);
96 friend class D4RValueList;
99 D4RValue() : d_variable(0), d_func(0), d_args(0), d_constant(0), d_value_kind(unknown) {}
100 D4RValue(
const D4RValue &src) { m_duplicate(src); }
101 D4RValue(
BaseType *btp) : d_variable(btp), d_func(0), d_args(0), d_constant(0), d_value_kind(basetype) {}
102 D4RValue(D4Function f, D4RValueList *args)
103 : d_variable(0), d_func(f), d_args(args), d_constant(0), d_value_kind(function) {}
105 D4RValue(
unsigned long long ui);
106 D4RValue(
long long i);
108 D4RValue(std::string s);
109 D4RValue(std::vector<dods_byte> &byte_args);
110 D4RValue(std::vector<dods_int8> &byte_int8);
111 D4RValue(std::vector<dods_uint16> &byte_uint16);
112 D4RValue(std::vector<dods_int16> &byte_int16);
113 D4RValue(std::vector<dods_uint32> &byte_uint32);
114 D4RValue(std::vector<dods_int32> &byte_int32);
115 D4RValue(std::vector<dods_uint64> &byte_uint64);
116 D4RValue(std::vector<dods_int64> &byte_int64);
117 D4RValue(std::vector<dods_float32> &byte_float32);
118 D4RValue(std::vector<dods_float64> &byte_float64);
122 D4RValue &operator=(D4RValue &rhs) {
139 value_kind
get_kind()
const {
return d_value_kind; }