32 #include <dods-datatypes.h>
33 #include <D4Function.h>
47 std::vector<D4RValue *> d_rvalues;
52 typedef std::vector<D4RValue *>::iterator iter;
61 d_rvalues.push_back(rv);
64 D4RValue *get_rvalue(
unsigned int i) {
65 return d_rvalues.at(i);
68 iter begin() {
return d_rvalues.begin(); }
69 iter end() {
return d_rvalues.end(); }
71 unsigned int size()
const {
return d_rvalues.size(); }
97 value_kind d_value_kind;
100 void m_duplicate(
const D4RValue &src);
105 D4RValue() : d_variable(0), d_func(0), d_args(0), d_constant(0), d_value_kind(unknown) { }
107 D4RValue(
BaseType *btp) : d_variable(btp), d_func(0), d_args(0), d_constant(0), d_value_kind(basetype) { }
108 D4RValue(D4Function f,
D4RValueList *args) : d_variable(0), d_func(f), d_args(args), d_constant(0), d_value_kind(
function) { }
114 D4RValue(std::vector<dods_byte> &byte_args);
115 D4RValue(std::vector<dods_int8> &byte_int8);
116 D4RValue(std::vector<dods_uint16> &byte_uint16);
117 D4RValue(std::vector<dods_int16> &byte_int16);
118 D4RValue(std::vector<dods_uint32> &byte_uint32);
119 D4RValue(std::vector<dods_int32> &byte_int32);
120 D4RValue(std::vector<dods_uint64> &byte_uint64);
121 D4RValue(std::vector<dods_int64> &byte_int64);
122 D4RValue(std::vector<dods_float32> &byte_float32);
123 D4RValue(std::vector<dods_float64> &byte_float64);
144 value_kind
get_kind()
const {
return d_value_kind; }
The basic data type for the DODS DAP types.
value_kind get_kind() const
What kind of thing holds the value Values in DAP4 constraints are either constants,...
virtual BaseType * value()
Get the value for a RValue object.
top level DAP object to house generic methods
D4RValue * D4RValueFactory(std::string cpps)
Build an appropriate RValue.