73 std::string d_array_path;
74 Array *d_array =
nullptr;
88 const string &
name()
const {
return d_name; }
106 d_array_path =
array->FQN();
122 vector<D4Map *> d_maps;
123 const Array *d_parent;
127 d_maps.reserve(
maps.size());
128 for (
auto const map :
maps.d_maps) {
129 d_maps.emplace_back(
new D4Map(map->name(), map->get_array_path()));
143 for (
D4MapsIter i = d_maps.begin(), e = d_maps.end(); i != e; ++i)
161 for (
D4MapsIter i = d_maps.begin(), e = d_maps.end(); i != e; ++i) {
167 if ((*i)->name() == map->name()) {
179 int size()
const {
return d_maps.size(); }
180 bool empty()
const {
return d_maps.empty(); }
183 for (
D4MapsIter i = d_maps.begin(), e = d_maps.end(); i != e; ++i)
184 (*i)->print_dap4(xml);
A multidimensional array of identical data types.
The basic data type for the DODS DAP types.
virtual void print_dap4(XMLWriter &xml)
Array * array(D4Group *root)
This will always return the correct pointer for a valid data set.
const string & name() const
Array * array() const
Only use this accessor in code that can deal with a nullptr return!
void set_array(Array *array)
D4Map(std::string name, Array *array, BaseType *)
D4Map(std::string name, std::string array)
void set_array_path(const std::string &array)
D4Map(std::string name, Array *array)
void set_name(const string &name)
const std::string & get_array_path() const
D4Maps(const Array *parent)
vector< D4Map * >::iterator D4MapsIter
D4Maps(const D4Maps &maps, const Array *parent)
vector< D4Map * >::const_iterator D4MapsCIter
D4Maps(const D4Maps &maps)=delete
D4Maps & operator=(const D4Maps &rhs)=delete
void remove_map(D4Map *map)
virtual void print_dap4(XMLWriter &xml)
top level DAP object to house generic methods