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

#include <XDOutput.h>

Inheritance diagram for XDOutput:
Inheritance graph
Collaboration diagram for XDOutput:
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 void start_xml_declaration (libdap::XMLWriter *writer, const char *element=0)
 
 XDOutput (libdap::BaseType *bt)
 Build an instance of XDOutput and set the redirect field to 'bt'. More...
 
 XDOutput ()
 Build an instance of XDOutput. More...
 
virtual ~XDOutput ()
 

Protected Attributes

libdap::BaseType * d_redirect
 

Friends

class XDOutputTest
 

Detailed Description

Definition at line 42 of file XDOutput.h.

Constructor & Destructor Documentation

XDOutput::XDOutput ( libdap::BaseType *  bt)
inline

Build an instance of XDOutput and set the redirect field to 'bt'.

Parameters
bt

Definition at line 54 of file XDOutput.h.

XDOutput::XDOutput ( )
inline

Build an instance of XDOutput.

The redirect field is null.

Returns

Definition at line 60 of file XDOutput.h.

virtual XDOutput::~XDOutput ( )
inlinevirtual

Definition at line 62 of file XDOutput.h.

Member Function Documentation

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

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 XDOutput::print_xml_data ( libdap::XMLWriter *  writer,
bool  show_type 
)
virtual

Reimplemented in XDUrl, XDSequence, XDStructure, XDStr, and XDGrid.

Definition at line 75 of file XDOutput.cc.

References BESDEBUG.

Referenced by xml_data::get_data_values_as_xml(), and XDSequence::print_xml_data().

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

Friends And Related Function Documentation

friend class XDOutputTest
friend

Definition at line 44 of file XDOutput.h.

Member Data Documentation

libdap::BaseType* XDOutput::d_redirect
protected

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: