bes  Updated for version 3.20.6
XDArray Class Reference
Collaboration diagram for XDArray:
Collaboration graph

Public Member Functions

virtual void end_xml_declaration (libdap::XMLWriter *writer)
 
int get_nth_dim_size (size_t n) throw (InternalErr)
 
vector< int > get_shape_vector (size_t n) throw (InternalErr)
 
virtual bool increment_state (vector< int > *state, const vector< int > &shape)
 
virtual void print_xml_data (libdap::XMLWriter *writer, bool show_type)
 
void print_xml_data (XMLWriter *writer, bool show_type) throw (InternalErr)
 
void print_xml_map_data (XMLWriter *writer, bool show_type) throw (InternalErr)
 
virtual BaseType * ptr_duplicate ()
 
virtual void start_xml_declaration (libdap::XMLWriter *writer, const char *element=0)
 
virtual void start_xml_declaration (XMLWriter *writer, const char *element=0) throw (InternalErr)
 
 XDArray (Array *bt)
 
 XDArray (const string &n, BaseType *v)
 

Protected Attributes

libdap::BaseType * d_redirect
 

Friends

class XDArrayTest
 

Detailed Description

Definition at line 42 of file XDArray.h.

Member Function Documentation

◆ get_nth_dim_size()

int XDArray::get_nth_dim_size ( size_t  n)
throw (InternalErr
)

Get the size of the Nth dimension. The first dimension is N == 0.

Parameters
nThe index. Uses sero-based indexing.
Returns
the size of the dimension.

Definition at line 355 of file XDArray.cc.

◆ get_shape_vector()

vector< int > XDArray::get_shape_vector ( size_t  n)
throw (InternalErr
)

Get the sizes of the first N dimensions of this array. This ‘shape vector’ may be used in all sorts of output formatters.

Returns
A vector describing the shape of the array. Each value contains the highest index value. To get the size, add one.

Definition at line 332 of file XDArray.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.

◆ print_xml_map_data()

void XDArray::print_xml_map_data ( XMLWriter *  writer,
bool  show_type 
)
throw (InternalErr
)

Print an array as a Map.

Note
For use with XDGrid
Parameters
writer
show_typeIgnored

Definition at line 100 of file XDArray.cc.


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