|
libdap Updated for version 3.21.0
libdap4 is an implementation of OPeNDAP's DAP protocol.
|
#include <D4Group.h>

Public Types | |
| typedef vector< D4Group * >::const_iterator | groupsCIter |
| typedef vector< D4Group * >::iterator | groupsIter |
| typedef std::vector< BaseType * >::const_iterator | Vars_citer |
| typedef std::vector< BaseType * >::iterator | Vars_iter |
| typedef std::vector< BaseType * >::reverse_iterator | Vars_riter |
Public Member Functions | |
| void | add_group (const D4Group *g) |
| void | add_group_nocopy (D4Group *g) |
| void | add_var (BaseType *bt, Part part=nil) override |
| void | add_var_nocopy (BaseType *bt, Part part=nil) override |
| unsigned int | buf2val (void **) override |
| bool | check_semantics (string &msg, bool all=false) override |
| void | compute_checksum (Crc32 &checksum) override |
| D4Group (const D4Group &rhs) | |
| D4Group (const string &name) | |
| D4Group (const string &name, const string &dataset) | |
| virtual void | del_var (const string &name) |
| Remove an element from a Constructor. | |
| virtual void | del_var (Vars_iter i) |
| Delete the BaseType* and erase the iterator . | |
| bool | deserialize (UnMarshaller &um, DDS *dds, bool reuse=false) override |
| void | deserialize (D4StreamUnMarshaller &um, DMR &dmr) override |
| D4Dimensions * | dims () |
| Get the dimensions defined for this Group. | |
| void | dump (ostream &strm) const override |
| dumps information about this object | |
| int | element_count (bool leaves=false) override |
| D4EnumDefs * | enum_defs () |
| Get the enumerations defined for this Group. | |
| D4Group * | find_child_grp (const string &grp_name) |
| D4Dimension * | find_dim (const string &path) |
Find the dimension using a path. Using the DAP4 name syntax, lookup a dimension. The dimension must be defined before it is used. The path argument may be either an absolute path or a relative path. Note that the name syntax does not provide for paths to contain an 'up one level' symbol. | |
| D4EnumDef * | find_enum_def (const string &path) |
| BaseType * | find_first_var_that_uses_dimension (D4Dimension *dim) |
| BaseType * | find_first_var_that_uses_enumeration (D4EnumDef *enum_def) |
| Array * | find_map_source (const string &path) |
| Given a path to an Array that is also a Map, get that Array. | |
| BaseType * | find_var (const string &name) |
| std::string | FQN () const override |
| BaseType * | get_var_index (int i) |
| Vars_iter | get_vars_iter (int i) |
| const vector< D4Group * > & | groups () const |
| groupsIter | grp_begin () |
| Get an iterator to the start of the values. | |
| groupsIter | grp_end () |
| Get an iterator to the end of the values. | |
| void | insert_group_nocopy (D4Group *g, groupsIter i) |
| void | intern_data (ConstraintEvaluator &eval, DDS &dds) override |
| void | intern_data () override |
| bool | is_dap4_projected (std::vector< std::string > &inventory) override |
| virtual bool | is_linear () |
| Check to see whether this variable can be printed simply. | |
| D4Group & | operator= (const D4Group &rhs) |
| void | print_dap4 (XMLWriter &xml, bool constrained=false) override |
| void | print_decl (FILE *out, string space=" ", bool print_semi=true, bool constraint_info=false, bool constrained=false) override |
| void | print_decl (ostream &out, string space=" ", bool print_semi=true, bool constraint_info=false, bool constrained=false) override |
| void | print_val (FILE *out, string space="", bool print_decl_p=true) override |
| void | print_val (ostream &out, string space="", bool print_decl_p=true) override |
| void | print_xml (FILE *out, string space=" ", bool constrained=false) override |
| void | print_xml (ostream &out, string space=" ", bool constrained=false) override |
| void | print_xml_writer (XMLWriter &xml, bool constrained=false) override |
| BaseType * | ptr_duplicate () override |
| bool | read () override |
| Read the elements of Constructor marked for transmission. | |
| long | request_size (bool constrained) |
| uint64_t | request_size_kb (bool constrained) |
| Get the estimated size of a response in kilobytes. | |
| bool | serialize (ConstraintEvaluator &eval, DDS &dds, Marshaller &m, bool ce_eval=true) override |
| void | serialize (D4StreamMarshaller &m, DMR &dmr, bool filter=false) override |
| Serialize a Group. | |
| void | set_in_selection (bool state) override |
| Set the in_selection property. | |
| void | set_read_p (bool state) override |
| void | set_send_p (bool state) override |
| void | set_var_index (BaseType *bt, int i) |
| Set the ith element of d_vars to a variable object. | |
| void | transfer_attributes (AttrTable *at) override |
| std::vector< BaseType * > * | transform_to_dap2 (AttrTable *parent_attr_table) override |
| Transform the D4Group's variables to DAP2 variables. | |
| void | transform_to_dap4 (D4Group *root, Constructor *dest) override |
| unsigned int | val2buf (void *, bool) override |
| BaseType * | var (const string &n, btp_stack &s) override |
| BaseType * | var (const string &name, bool exact_match=true, btp_stack *s=nullptr) override |
| btp_stack no longer needed; use back pointers (BaseType::get_parent()) | |
| Vars_iter | var_begin () |
| Vars_iter | var_end () |
| Vars_riter | var_rbegin () |
| Vars_riter | var_rend () |
| const vector< BaseType * > & | variables () const |
| unsigned int | width (bool constrained=false) const override |
| int64_t | width_ll (bool constrained=false) const override |
| Get the width of the Constructor's fields. | |
Static Public Member Functions | |
| static AttrTable * | make_dropped_vars_attr_table (vector< BaseType * > *dropped_vars) |
Protected Member Functions | |
| void | m_duplicate (const D4Group &g) |
| BaseType * | m_exact_match (const string &name, btp_stack *s=nullptr) |
| BaseType * | m_leaf_match (const string &name, btp_stack *s=nullptr) |
Protected Attributes | |
| std::vector< BaseType * > | d_vars |
A DAP4 Group object. A Group is-a Constructor, so it inherits a set of BaseType objects and an attribute table, along with methods to search for variables by name where dots (.) in a fully qualified name serve as separators.
|
inherited |
Definition at line 59 of file Constructor.h.
|
inherited |
Definition at line 60 of file Constructor.h.
|
inherited |
Definition at line 61 of file Constructor.h.
| libdap::D4Group::D4Group | ( | const string & | name | ) |
The D4Group constructor requires only the name of the variable to be created. The name may be omitted, which will create a nameless variable. This may be adequate for some applications.
| n | A string containing the name of the variable. |
Definition at line 104 of file D4Group.cc.
The D4Group server-side constructor requires the name of the variable to be created and the dataset name from which this variable is being created. Used on server-side handlers.
| n | A string containing the name of the variable. |
| d | A string containing the name of the dataset. |
Definition at line 116 of file D4Group.cc.
| libdap::D4Group::D4Group | ( | const D4Group & | rhs | ) |
The D4Group copy constructor.
Definition at line 120 of file D4Group.cc.
|
virtual |
Definition at line 125 of file D4Group.cc.
|
inline |
|
inline |
Adds an element to a Constructor.
| bt | A pointer to the variable to add to this Constructor. |
| part | Not used by this class, defaults to nil |
Definition at line 322 of file Constructor.cc.
Adds an element to a Constructor.
| bt | A pointer to thee variable to add to this Constructor. |
| part | Not used by this class, defaults to nil |
Definition at line 340 of file Constructor.cc.
|
inlineoverrideinherited |
Definition at line 137 of file Constructor.h.
|
overrideinherited |
Definition at line 622 of file Constructor.cc.
|
overrideinherited |
Definition at line 453 of file Constructor.cc.
|
virtualinherited |
Remove an element from a Constructor.
| n | name of the variable to remove |
Definition at line 359 of file Constructor.cc.
|
virtualinherited |
Delete the BaseType* and erase the iterator .
| i | The iterator that points to the BaseType. |
Definition at line 370 of file Constructor.cc.
|
overrideinherited |
Definition at line 445 of file Constructor.cc.
|
override |
Definition at line 540 of file D4Group.cc.
|
inline |
|
overrideinherited |
dumps information about this object
Displays the pointer value of this instance and information about this instance.
| strm | C++ i/o stream to dump the information to |
Definition at line 741 of file Constructor.cc.
|
overrideinherited |
Definition at line 109 of file Constructor.cc.
|
inline |
Definition at line 160 of file D4Group.cc.
| D4Dimension * libdap::D4Group::find_dim | ( | const string & | path | ) |
Find the dimension using a path. Using the DAP4 name syntax, lookup a dimension. The dimension must be defined before it is used. The path argument may be either an absolute path or a relative path. Note that the name syntax does not provide for paths to contain an 'up one level' symbol.
| path | The path to the dimension |
Definition at line 233 of file D4Group.cc.
Definition at line 322 of file D4Group.cc.
| BaseType * libdap::D4Group::find_first_var_that_uses_dimension | ( | D4Dimension * | dim | ) |
Definition at line 166 of file D4Group.cc.
Definition at line 196 of file D4Group.cc.
Given a path to an Array that is also a Map, get that Array.
| path | The path to the Map. May be a FQN or a path relative to this group. |
Definition at line 263 of file D4Group.cc.
Find a variable using its Fully Qualified Name (FQN). The leading '/' is optional.
| path | The FQN to the variable |
Definition at line 354 of file D4Group.cc.
|
override |
Get the Fully Qualified Name for this Group, including the Group. This uses the name representation described in the DAP4 specification.
Definition at line 155 of file D4Group.cc.
|
inherited |
Return the BaseType pointer for the ith variable.
| i | This index |
Definition at line 290 of file Constructor.cc.
|
inherited |
Return the iterator for the ith variable.
| i | the index |
Definition at line 285 of file Constructor.cc.
|
inline |
|
inline |
|
inline |
|
overrideinherited |
Definition at line 399 of file Constructor.cc.
|
override |
Definition at line 452 of file D4Group.cc.
|
override |
When send_p() is true a description of the instance is added to the inventory and true is returned.
| inventory | is a value-result parameter |
Definition at line 822 of file D4Group.cc.
|
virtualinherited |
Check to see whether this variable can be printed simply.
True if the instance can be flattened and printed as a single table of values. For Arrays and Grids this is always false. For Structures and Sequences the conditions are more complex. The implementation provided by this class always returns false. Other classes should override this implementation.
Reimplemented in libdap::Structure.
Definition at line 649 of file Constructor.cc.
|
protected |
Definition at line 57 of file D4Group.cc.
|
protectedinherited |
Definition at line 237 of file Constructor.cc.
|
protectedinherited |
Definition at line 214 of file Constructor.cc.
|
staticinherited |
Definition at line 675 of file Constructor.cc.
Definition at line 141 of file D4Group.cc.
|
override |
Definition at line 566 of file D4Group.cc.
|
override |
Definition at line 608 of file D4Group.cc.
|
override |
Definition at line 614 of file D4Group.cc.
|
override |
Definition at line 640 of file D4Group.cc.
|
override |
Definition at line 646 of file D4Group.cc.
|
overrideinherited |
Definition at line 559 of file Constructor.cc.
|
overrideinherited |
Definition at line 568 of file Constructor.cc.
|
overrideinherited |
Definition at line 574 of file Constructor.cc.
|
override |
Definition at line 139 of file D4Group.cc.
|
overrideinherited |
Read the elements of Constructor marked for transmission.
Iterate over the top level members of the Constructor and read all of them that have the 'send_p' property set to true. Assume the read() methods correctly set the 'read_p' property. Once done, set 'read_p' for the Constructor itself (but not for the members, that is left up to their individual read() methods).
Definition at line 386 of file Constructor.cc.
| long libdap::D4Group::request_size | ( | bool | constrained | ) |
Compute the size of all of the variables in this group and its children, in kilobytes
| constrained | Should the current constraint be taken into account? |
Definition at line 399 of file D4Group.cc.
| uint64_t libdap::D4Group::request_size_kb | ( | bool | constrained | ) |
Get the estimated size of a response in kilobytes.
This method looks at the variables in the DMR and computes the number of kilobytes in the response.
| constrained | Should the size of the whole DMR be used or should the current constraint be taken into account? |
Definition at line 415 of file D4Group.cc.
|
overrideinherited |
Definition at line 416 of file Constructor.cc.
|
override |
Serialize a Group.
| m | The DAP4 Stream Marshaller. This object serializes the data values and writes checksums (using CRC32) for the top level variables in every Group for which one or more variables are sent. The DAP4 Marshaller object can be made so that only the checksums are written. |
| dmr | Unused |
| eval | Unused |
| filter | Unused |
| Error | is thrown if the value needs to be read and that operation fails. |
Definition at line 502 of file D4Group.cc.
|
overrideinherited |
Set the in_selection property.
Set the in_selection property for this variable and all of its children.
| state | Set the property value to state. |
Definition at line 656 of file Constructor.cc.
|
override |
Definition at line 436 of file D4Group.cc.
|
override |
Definition at line 444 of file D4Group.cc.
|
inherited |
Set the ith element of d_vars to a variable object.
| bt | A pointer to the variable that is assigned to the ith element. |
| i | The index of the variable to be set. |
Definition at line 301 of file Constructor.cc.
|
overrideinherited |
Definition at line 664 of file Constructor.cc.
Transform the D4Group's variables to DAP2 variables.
For all of the variables in a D4Group, build a vector of DAP2 variables that can be directly added to DDS object. Extract the DAP4 variables' attributes and transfer them the the AttrTable object passed as the first argument.
For all variables in the D4Group that are members of child groups (i.e, not the root group), the name of the group (or names of the groups) will be prepended to the name of the variable. Group names are separated using a '/' character.
The Group attributes are transferred to the parent_attr_table.
| parent_attr_table | The AttrTable pointer parent_attr_table is used by Groups, which disappear from the DAP2 representation. Their children are returned in the the BaseType vector their attributes are added to parent_attr_table; |
Definition at line 723 of file D4Group.cc.
|
overrideinherited |
Definition at line 82 of file Constructor.cc.
|
inlineoverrideinherited |
Definition at line 134 of file Constructor.h.
btp_stack no longer needed; use back pointers (BaseType::get_parent())
Definition at line 201 of file Constructor.cc.
|
overrideinherited |
btp_stack no longer needed; use back pointers (BaseType::get_parent())
Definition at line 191 of file Constructor.cc.
|
inherited |
Returns an iterator referencing the first structure element.
Definition at line 269 of file Constructor.cc.
|
inherited |
Returns an iterator referencing the end of the list of structure elements. Does not reference the last structure element.
Definition at line 273 of file Constructor.cc.
|
inherited |
Return a reverse iterator that references the last element.
Definition at line 276 of file Constructor.cc.
|
inherited |
Return a reverse iterator that references a point 'before' the first element.
Definition at line 280 of file Constructor.cc.
Get a const reference to the vector of BaseType pointers.
Definition at line 110 of file Constructor.h.
|
overrideinherited |
This version of width simply returns the same thing as width() for simple types and Arrays. For Structure it returns the total size if constrained is false, or the size of the elements in the current projection if true.
| constrained | If true, return the size after applying a constraint. |
Definition at line 156 of file Constructor.cc.
|
overrideinherited |
Get the width of the Constructor's fields.
| constrained | If true, return the constrained size |
Definition at line 176 of file Constructor.cc.
|
protectedinherited |
Definition at line 47 of file Constructor.h.