OPeNDAP Hyrax Back End Server (BES)  Updated for version 3.8.3
XDStructure Class Reference

#include <XDStructure.h>

Inheritance diagram for XDStructure:
Inheritance graph
Collaboration diagram for XDStructure:
Collaboration graph

Public Member Functions

virtual void end_xml_declaration (libdap::XMLWriter *writer)
 
virtual bool increment_state (vector< int > *state, const vector< int > &shape)
 Increment #state# to the next value given #shape#. More...
 
virtual void print_xml_data (libdap::XMLWriter *writer, bool show_type)
 
virtual BaseType * ptr_duplicate ()
 
virtual void start_xml_declaration (libdap::XMLWriter *writer, const char *element=0)
 
 XDStructure (const string &n)
 
 XDStructure (Structure *bt)
 
virtual ~XDStructure ()
 

Protected Attributes

libdap::BaseType * d_redirect
 

Detailed Description

Definition at line 39 of file XDStructure.h.

Constructor & Destructor Documentation

XDStructure::XDStructure ( const string &  n)
XDStructure::XDStructure ( Structure bt)

Definition at line 58 of file XDStructure.cc.

References xml_data::basetype_to_xd().

Here is the call graph for this function:

XDStructure::~XDStructure ( )
virtual

Definition at line 77 of file XDStructure.cc.

Member Function Documentation

void XDOutput::end_xml_declaration ( libdap::XMLWriter *  writer)
virtualinherited
bool XDOutput::increment_state ( vector< int > *  state,
const vector< int > &  shape 
)
virtualinherited

Increment #state# to the next value given #shape#.

This method uses simple modulo arithmetic to provide a way to iterate over all combinations of dimensions of an Array or Grid. The vector #shape# holds the maximum sizes of each of N dimensions. The vector #state# holds the current index values of those N dimensions. Calling this method increments #state# to the next dimension, varying the right-most fastest.

To print DODS Array and Grid objects according to the DAP 2.0 specification, #state# and #shape# should be vectors of length N-1 for an object of dimension N.

For example, if shape holds 10, 20 then when state holds 0, 20 calling this method will increment state to 1, 0. For this example, calling the method with state equal to 10, 20 will reset state to 0, 0 and the return value will be false.

Parameters
stateA pointer to the current state vector, a value-result parameter
shareA reference to a vector of the dimension sizes.
Returns
True if there are more states, false if not.

Definition at line 124 of file XDOutput.cc.

void XDStructure::print_xml_data ( libdap::XMLWriter *  writer,
bool  show_type 
)
virtual

Reimplemented from XDOutput.

Definition at line 95 of file XDStructure.cc.

References XDOutput::end_xml_declaration(), and XDOutput::start_xml_declaration().

Here is the call graph for this function:

BaseType * XDStructure::ptr_duplicate ( )
virtual

Definition at line 49 of file XDStructure.cc.

void XDStructure::start_xml_declaration ( libdap::XMLWriter *  writer,
const char *  element = 0 
)
virtual

Reimplemented from XDOutput.

Definition at line 82 of file XDStructure.cc.

References XDOutput::end_xml_declaration(), and XDOutput::start_xml_declaration().

Here is the call graph for this function:

Member Data Documentation

libdap::BaseType* XDOutput::d_redirect
protectedinherited

Definition at line 47 of file XDOutput.h.

Referenced by XDSequence::print_xml_data().


The documentation for this class was generated from the following files: