bes Updated for version 3.20.13
XDSequence Class Reference
Collaboration diagram for XDSequence:
Collaboration graph

Public Member Functions

virtual int element_count (bool leaves=false)
 
virtual void end_xml_declaration (libdap::XMLWriter *writer)
 
virtual bool increment_state (vector< int > *state, const vector< int > &shape)
 
virtual int length () const
 
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)
 
 XDSequence (const string &n)
 
 XDSequence (Sequence *bt)
 

Protected Attributes

libdap::BaseType * d_redirect
 

Detailed Description

Definition at line 39 of file XDSequence.h.

Constructor & Destructor Documentation

◆ XDSequence() [1/2]

XDSequence::XDSequence ( const string &  n)

Definition at line 58 of file XDSequence.cc.

◆ XDSequence() [2/2]

XDSequence::XDSequence ( Sequence bt)

Definition at line 62 of file XDSequence.cc.

◆ ~XDSequence()

XDSequence::~XDSequence ( )
virtual

Definition at line 78 of file XDSequence.cc.

Member Function Documentation

◆ element_count()

int XDSequence::element_count ( bool  leaves = false)
virtual

Definition at line 92 of file XDSequence.cc.

◆ end_xml_declaration()

void XDOutput::end_xml_declaration ( libdap::XMLWriter *  writer)
virtualinherited

Definition at line 70 of file XDOutput.cc.

◆ increment_state()

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.

◆ length()

int XDSequence::length ( ) const
virtual

Definition at line 83 of file XDSequence.cc.

◆ print_xml_data()

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

Reimplemented from XDOutput.

Definition at line 119 of file XDSequence.cc.

◆ ptr_duplicate()

BaseType * XDSequence::ptr_duplicate ( )
virtual

Definition at line 53 of file XDSequence.cc.

◆ start_xml_declaration()

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

Reimplemented from XDOutput.

Definition at line 106 of file XDSequence.cc.

Member Data Documentation

◆ d_redirect

libdap::BaseType* XDOutput::d_redirect
protectedinherited

Definition at line 47 of file XDOutput.h.


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