65 grids->push_back(
static_cast<Grid *
>(bt));
111bool is_geo_grid(
Grid *grid)
114 GridGeoConstraint gc(grid);
134static void apply_grid_selection_expr(
Grid *grid, GSEClause *clause) {
138 while (map_i != grid->
map_end() && (*map_i)->name() != clause->get_map_name())
143 "The map vector '" + clause->get_map_name() +
"' is not in the grid '" + grid->
name() +
"'.");
150 throw InternalErr(__FILE__, __LINE__,
"Expected an Array");
151 int start = max(map->dimension_start(map->dim_begin()), clause->get_start());
152 int stop = min(map->dimension_stop(map->dim_begin()), clause->get_stop());
156 msg <<
"The expressions passed to grid() do not result in an inclusive \n"
157 <<
"subset of '" << clause->get_map_name() <<
"'. The map's values range " <<
"from "
158 << clause->get_map_min_value() <<
" to " << clause->get_map_max_value() <<
".";
162 DBG(cerr <<
"Setting constraint on " << map->
name() <<
"[" << start <<
":" << stop <<
"]" << endl);
171 while (clause_i != clauses.end())
172 apply_grid_selection_expr(grid, *clause_i++);
#define malformed_expr
(400)
A multidimensional array of identical data types.
virtual void add_constraint(Dim_iter i, int start, int stride, int stop)
Adds a constraint to an Array dimension.
std::vector< dimension >::iterator Dim_iter
The basic data type for the DODS DAP types.
virtual string name() const
Returns the name of the class instance.
virtual Type type() const
Returns the type of the class instance.
void set_read_p(bool state) override
Set the 'read_p' property for the Constructor and its members.
std::vector< BaseType * >::iterator Vars_iter
Vars_iter var_end()
Return an iterator.
std::vector< BaseType * >::iterator Vars_iter
A class for error processing.
Holds the Grid data type.
Map_iter map_begin()
Returns an iterator referencing the first Map vector.
std::vector< BaseType * >::iterator Map_iter
Array * get_array()
Returns the Grid Array. This method returns the array using an Array*, so no cast is required.
A class for software fault reporting.
Holds a structure (aggregate) type.
void * gse_string(const char *yy_str)
int gse_parse(functions::gse_arg *arg)
void gse_delete_buffer(void *buffer)
void gse_restart(FILE *in)
void get_grids(BaseType *bt, vector< Grid * > *grids)
void parse_gse_expression(gse_arg *arg, BaseType *expr)
void apply_grid_selection_expressions(Grid *grid, vector< GSEClause * > clauses)
top level DAP object to house generic methods
string extract_string_argument(BaseType *arg)