bes Updated for version 3.21.1
The Backend Server (BES) is the lower two tiers of the Hyrax data server
|
Public Member Functions | |
long | elementCount () |
libdap::Array * | getArray (libdap::Array *templateArray) |
unsigned int | getCurrentLastDimensionHyperSlab () |
long | getLastDimensionElementCount () |
void | getLastDimensionHyperSlab (std::vector< unsigned int > *location, void **slab, unsigned int *elementCount) |
void | getNextLastDimensionHyperSlab (void **slab) |
void * | getStorage () |
Type | getTypeTemplate () |
NDimensionalArray (libdap::Array *arrayTemplate) | |
NDimensionalArray (std::vector< unsigned int > *shape, libdap::Type dapType) | |
void * | relinquishStorage () |
void | resetSlabIndex () |
void | setAll (char val) |
void | setCurrentLastDimensionHyperSlab (unsigned int newIndex) |
void | setLastDimensionHyperSlab (std::vector< unsigned int > *location, dods_byte *values, unsigned int numVal) |
void | setLastDimensionHyperSlab (std::vector< unsigned int > *location, dods_float32 *values, unsigned int numVal) |
void | setLastDimensionHyperSlab (std::vector< unsigned int > *location, dods_float64 *values, unsigned int numVal) |
void | setLastDimensionHyperSlab (std::vector< unsigned int > *location, dods_int16 *values, unsigned int numVal) |
void | setLastDimensionHyperSlab (std::vector< unsigned int > *location, dods_int32 *values, unsigned int numVal) |
void | setLastDimensionHyperSlab (std::vector< unsigned int > *location, dods_uint16 *values, unsigned int numVal) |
void | setLastDimensionHyperSlab (std::vector< unsigned int > *location, dods_uint32 *values, unsigned int numVal) |
dods_byte | setValue (std::vector< unsigned int > *location, dods_byte value) |
dods_float32 | setValue (std::vector< unsigned int > *location, dods_float32 value) |
dods_float64 | setValue (std::vector< unsigned int > *location, dods_float64 value) |
dods_int16 | setValue (std::vector< unsigned int > *location, dods_int16 value) |
dods_int32 | setValue (std::vector< unsigned int > *location, dods_int32 value) |
dods_uint16 | setValue (std::vector< unsigned int > *location, dods_uint16 value) |
dods_uint32 | setValue (std::vector< unsigned int > *location, dods_uint32 value) |
unsigned int | sizeOfElement () |
string | toString () |
Static Public Member Functions | |
static long | computeArraySizeFromShapeVector (vector< unsigned int > *shape) |
static long | computeConstrainedShape (libdap::Array *a, vector< unsigned int > *shape) |
static long | getStorageIndex (vector< unsigned int > *shape, vector< unsigned int > *location) |
static void | retrieveLastDimHyperSlabLocationFromConstrainedArrray (libdap::Array *a, vector< unsigned int > *location) |
static string | vectorToIndices (vector< unsigned int > *v) |
Definition at line 37 of file NDimensionalArray.h.
libdap::NDimensionalArray::NDimensionalArray | ( | libdap::Array * | arrayTemplate | ) |
Definition at line 69 of file NDimensionalArray.cc.
libdap::NDimensionalArray::NDimensionalArray | ( | std::vector< unsigned int > * | shape, |
libdap::Type | dapType ) |
Definition at line 87 of file NDimensionalArray.cc.
|
virtual |
Definition at line 107 of file NDimensionalArray.cc.
|
static |
Computes the total number of elements of the n-dimensional array described by the shape vector.
Definition at line 242 of file NDimensionalArray.cc.
|
static |
Computes and returns (via the returned value parameter 'shape') the constrained shape of the libdap::Array 'a'. Returns the total number of elements in constrained shape.
Definition at line 131 of file NDimensionalArray.cc.
|
inline |
Definition at line 79 of file NDimensionalArray.h.
libdap::Array * libdap::NDimensionalArray::getArray | ( | libdap::Array * | templateArray | ) |
Definition at line 668 of file NDimensionalArray.cc.
|
inline |
Definition at line 109 of file NDimensionalArray.h.
long libdap::NDimensionalArray::getLastDimensionElementCount | ( | ) |
Returns the size, in elements, of the last dimension.
Definition at line 663 of file NDimensionalArray.cc.
void libdap::NDimensionalArray::getLastDimensionHyperSlab | ( | std::vector< unsigned int > * | location, |
void ** | slab, | ||
unsigned int * | elementCount ) |
The return value parameters slab and elementCount are used to return a pointer to the first element of the last dimension hyper-slab and the number of elements in the hyper-slab. The passed the location vector, identifies the requested slab.The location vector must have N-1 elements where N is the number of dimensions in the NDimensionalArray.
Definition at line 461 of file NDimensionalArray.cc.
void libdap::NDimensionalArray::getNextLastDimensionHyperSlab | ( | void ** | slab | ) |
Definition at line 490 of file NDimensionalArray.cc.
|
inline |
Definition at line 90 of file NDimensionalArray.h.
|
static |
Computes the element index in the underlying one dimensional array for the passed location based on an n-dimensional array described by the shape vector.
Definition at line 504 of file NDimensionalArray.cc.
|
inline |
Definition at line 98 of file NDimensionalArray.h.
void * libdap::NDimensionalArray::relinquishStorage | ( | ) |
Returns a pointer to the underlying storage for the NDimensionalArray. Calling this function is effectively telling the instance of NDimensionalArray to 'release' it's reference to the storage. While the memory will not be deleted by this call, the instance of NDimensionalArray will remove it's internal reference to the storage and thus when the NDimensionalArray goes out of scope, or is otherwise deleted the storage WILL NOT BE DELETED. CALLING THIS METHOD MEANS THAT YOU ARE NOW RESPONSIBLE FOR FREEING THE MEMORY REFERENCED BY THE RETURNED POINTER.
Definition at line 120 of file NDimensionalArray.cc.
|
inline |
Definition at line 105 of file NDimensionalArray.h.
|
static |
Definition at line 172 of file NDimensionalArray.cc.
void libdap::NDimensionalArray::setAll | ( | char | val | ) |
Uses 'memset' to set ALL of the values in the NDimensionalArray to the passed char value.
Definition at line 653 of file NDimensionalArray.cc.
|
inline |
Definition at line 113 of file NDimensionalArray.h.
void libdap::NDimensionalArray::setLastDimensionHyperSlab | ( | std::vector< unsigned int > * | location, |
dods_byte * | values, | ||
unsigned int | valueCount ) |
Sets all of the values in the last dimension hyper-hyper slab identified by the N-1 element location vector (where N is the number of dimensions in the NDimensionalArray). The number of values passed in must match the size of the last dimension hyper-slab, and the type of the values must match the underlying type of the NDimensionalArray.
Definition at line 548 of file NDimensionalArray.cc.
void libdap::NDimensionalArray::setLastDimensionHyperSlab | ( | std::vector< unsigned int > * | location, |
dods_float32 * | values, | ||
unsigned int | valueCount ) |
Sets all of the values in the last dimension hyper-hyper slab identified by the N-1 element location vector (where N is the number of dimensions in the NDimensionalArray). The number of values passed in must match the size of the last dimension hyper-slab, and the type of the values must match the underlying type of the NDimensionalArray.
Definition at line 613 of file NDimensionalArray.cc.
void libdap::NDimensionalArray::setLastDimensionHyperSlab | ( | std::vector< unsigned int > * | location, |
dods_float64 * | values, | ||
unsigned int | valueCount ) |
Sets all of the values in the last dimension hyper-hyper slab identified by the N-1 element location vector (where N is the number of dimensions in the NDimensionalArray). The number of values passed in must match the size of the last dimension hyper-slab, and the type of the values must match the underlying type of the NDimensionalArray.
Definition at line 626 of file NDimensionalArray.cc.
void libdap::NDimensionalArray::setLastDimensionHyperSlab | ( | std::vector< unsigned int > * | location, |
dods_int16 * | values, | ||
unsigned int | valueCount ) |
Sets all of the values in the last dimension hyper-hyper slab identified by the N-1 element location vector (where N is the number of dimensions in the NDimensionalArray). The number of values passed in must match the size of the last dimension hyper-slab, and the type of the values must match the underlying type of the NDimensionalArray.
Definition at line 561 of file NDimensionalArray.cc.
void libdap::NDimensionalArray::setLastDimensionHyperSlab | ( | std::vector< unsigned int > * | location, |
dods_int32 * | values, | ||
unsigned int | valueCount ) |
Sets all of the values in the last dimension hyper-hyper slab identified by the N-1 element location vector (where N is the number of dimensions in the NDimensionalArray). The number of values passed in must match the size of the last dimension hyper-slab, and the type of the values must match the underlying type of the NDimensionalArray.
Definition at line 587 of file NDimensionalArray.cc.
void libdap::NDimensionalArray::setLastDimensionHyperSlab | ( | std::vector< unsigned int > * | location, |
dods_uint16 * | values, | ||
unsigned int | valueCount ) |
Sets all of the values in the last dimension hyper-hyper slab identified by the N-1 element location vector (where N is the number of dimensions in the NDimensionalArray). The number of values passed in must match the size of the last dimension hyper-slab, and the type of the values must match the underlying type of the NDimensionalArray.
Definition at line 574 of file NDimensionalArray.cc.
void libdap::NDimensionalArray::setLastDimensionHyperSlab | ( | std::vector< unsigned int > * | location, |
dods_uint32 * | values, | ||
unsigned int | valueCount ) |
Sets all of the values in the last dimension hyper-hyper slab identified by the N-1 element location vector (where N is the number of dimensions in the NDimensionalArray). The number of values passed in must match the size of the last dimension hyper-slab, and the type of the values must match the underlying type of the NDimensionalArray.
Definition at line 600 of file NDimensionalArray.cc.
dods_byte libdap::NDimensionalArray::setValue | ( | std::vector< unsigned int > * | location, |
dods_byte | value ) |
Sets the value of the array at the location specified by the passed location vector. The number of elements in the location vector must be the the same as the number of dimensions in the NDimensionalArray and the type of the passed value must match the underlying type of the NDimensionalArray
Definition at line 340 of file NDimensionalArray.cc.
dods_float32 libdap::NDimensionalArray::setValue | ( | std::vector< unsigned int > * | location, |
dods_float32 | value ) |
Sets the value of the array at the location specified by the passed location vector. The number of elements in the location vector must be the the same as the number of dimensions in the NDimensionalArray and the type of the passed value must match the underlying type of the NDimensionalArray
Definition at line 427 of file NDimensionalArray.cc.
dods_float64 libdap::NDimensionalArray::setValue | ( | std::vector< unsigned int > * | location, |
dods_float64 | value ) |
Sets the value of the array at the location specified by the passed location vector. The number of elements in the location vector must be the the same as the number of dimensions in the NDimensionalArray and the type of the passed value must match the underlying type of the NDimensionalArray
Definition at line 444 of file NDimensionalArray.cc.
dods_int16 libdap::NDimensionalArray::setValue | ( | std::vector< unsigned int > * | location, |
dods_int16 | value ) |
Sets the value of the array at the location specified by the passed location vector. The number of elements in the location vector must be the the same as the number of dimensions in the NDimensionalArray and the type of the passed value must match the underlying type of the NDimensionalArray
Definition at line 358 of file NDimensionalArray.cc.
dods_int32 libdap::NDimensionalArray::setValue | ( | std::vector< unsigned int > * | location, |
dods_int32 | value ) |
Sets the value of the array at the location specified by the passed location vector. The number of elements in the location vector must be the the same as the number of dimensions in the NDimensionalArray and the type of the passed value must match the underlying type of the NDimensionalArray
Definition at line 393 of file NDimensionalArray.cc.
dods_uint16 libdap::NDimensionalArray::setValue | ( | std::vector< unsigned int > * | location, |
dods_uint16 | value ) |
Sets the value of the array at the location specified by the passed location vector. The number of elements in the location vector must be the the same as the number of dimensions in the NDimensionalArray and the type of the passed value must match the underlying type of the NDimensionalArray
Definition at line 376 of file NDimensionalArray.cc.
dods_uint32 libdap::NDimensionalArray::setValue | ( | std::vector< unsigned int > * | location, |
dods_uint32 | value ) |
Sets the value of the array at the location specified by the passed location vector. The number of elements in the location vector must be the the same as the number of dimensions in the NDimensionalArray and the type of the passed value must match the underlying type of the NDimensionalArray
Definition at line 410 of file NDimensionalArray.cc.
|
inline |
Definition at line 83 of file NDimensionalArray.h.
string libdap::NDimensionalArray::toString | ( | ) |
Definition at line 824 of file NDimensionalArray.cc.
Definition at line 50 of file NDimensionalArray.cc.