46 #include "dods-limits.h" 54 make_rvalue_list(rvalue *rv)
58 rvalue_list *rvals =
new rvalue_list;
60 return append_rvalue_list(rvals, rv);
69 append_rvalue_list(rvalue_list *rvals, rvalue *rv)
97 throw Error(malformed_expr,
string(
"Malformed argument list (")
98 + long_to_string(argc) +
string(
")."));
105 for (rvalue::Args_iter i = args->begin(); i != args->end() && index
107 argv[index++] = (*i)->bvalue(dds);
114 throw InternalErr(__FILE__, __LINE__,
"index out of range.");
122 rvalue::rvalue(
BaseType *bt): d_value(bt), d_func(0), d_args(0)
125 rvalue::rvalue(btp_func f, vector<rvalue *> *a) : d_value(0), d_func(f), d_args(a)
128 rvalue::rvalue(): d_value(0), d_func(0), d_args(0)
140 for (std::vector<rvalue *>::iterator iter = d_args->begin(); iter != d_args->end(); ++iter) {
152 return d_value->name();
173 (*d_func)(d_args->size(), argv, dds, &ret_val);
bool size_ok(unsigned int sz, unsigned int nelem)
sanitize the size of an array. Test for integer overflow when dynamically allocating an array...
top level DAP object to house generic methods
A class for software fault reporting.
BaseType ** build_btp_args(rvalue_list *args, DDS &dds)
The basic data type for the DODS DAP types.
A class for error processing.