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);