26#ifndef _d4attributes_h
27#define _d4attributes_h 1
45 D4AttributeType d_type;
46 bool is_utf8_str =
false;
55 vector<string> d_values;
71 string name()
const {
return d_name; }
74 D4AttributeType
type()
const {
return d_type; }
86 unsigned int num_values()
const {
return d_values.size(); }
87 string value(
unsigned int i)
const {
return d_values[i]; }
91 bool is_dap4_type(
const std::string &path, std::vector<std::string> &inventory);
95 virtual void dump(ostream &strm)
const;
104 vector<D4Attribute *> d_attrs;
108 while (i != src.d_attrs.end()) {
121 while (i != d_attrs.end()) {
136 bool empty()
const {
return d_attrs.empty(); }
150 void erase(
const string &fqn);
158 const vector<D4Attribute *> &
attributes()
const {
return d_attrs; }
160 bool has_dap4_types(
const std::string &path, std::vector<std::string> &inventory)
const;
164 virtual void dump(ostream &strm)
const;
Contains the attributes for a dataset.
D4Attributes * attributes()
bool is_dap4_type(const std::string &path, std::vector< std::string > &inventory)
void add_value_vector(const vector< string > &values)
void print_dap4(XMLWriter &xml) const
D4AttributeIter value_begin()
vector< string >::const_iterator D4AttributeCIter
D4Attribute & operator=(const D4Attribute &rhs)
unsigned int num_values() const
void add_value(const string &value)
bool get_utf8_str_flag() const
string value(unsigned int i) const
vector< string >::iterator D4AttributeIter
void set_type(D4AttributeType type)
void set_name(const string &name)
void set_utf8_str_flag(bool utf8_str_flag)
virtual void dump(ostream &strm) const
dumps information about this object
D4Attribute(const string &name, D4AttributeType type)
D4AttributeType type() const
D4AttributeIter value_end()
void erase(const string &fqn)
Erase the given attribute.
D4Attribute * find(const string &name)
D4Attributes(const D4Attributes &rhs)
void transform_to_dap4(AttrTable &at)
copy attributes from DAP2 to DAP4
D4Attributes & operator=(const D4Attributes &rhs)
D4Attribute * get(const string &fqn)
void add_attribute_nocopy(D4Attribute *attr)
void add_attribute(D4Attribute *attr)
const vector< D4Attribute * > & attributes() const
D4AttributesIter attribute_begin()
Get an iterator to the start of the enumerations.
D4AttributesIter attribute_end()
Get an iterator to the end of the enumerations.
void print_dap4(XMLWriter &xml) const
void transform_attrs_to_dap2(AttrTable *d2_attr_table)
Copy the attributes from this D4Attributes object to a DAP2 AttrTable.
bool has_dap4_types(const std::string &path, std::vector< std::string > &inventory) const
virtual void dump(ostream &strm) const
dumps information about this object
void erase_named_attribute(const string &name)
Erase an attribute from a specific container This method expects to find 'name' in the D4Attributes o...
vector< D4Attribute * >::iterator D4AttributesIter
vector< D4Attribute * >::const_iterator D4AttributesCIter
libdap base object for common functionality of libdap objects
top level DAP object to house generic methods
D4AttributeType StringToD4AttributeType(string s)
string D4AttributeTypeToString(D4AttributeType at)