WARPXM v1.10.0
|
WxIoTmpl is the base class for access to a hierarchical file system with groups, data sets, and attributes for those datasets. More...
#include <wxiotmpl.h>
WxIoTmpl is the base class for access to a hierarchical file system with groups, data sets, and attributes for those datasets.
The exemplar is HDF5, but one may eventually other systems, like netCDF, PDB, or ?
This is the base class. It will provide for output of the basic data structures of the STL library. Derived classes will allow for output of Facets objects, such as Facets arrays, whether distributed or not.
Public Member Functions | |
virtual | ~WxIoTmpl () |
Virtual destructor. | |
virtual WxIoNodeType | writeDataSet (WxIoNodeType node, const std::string &dataName, const std::vector< std::pair< int, int > > &fileSpaceCorners, const std::vector< std::pair< int, int > > &memorySpaceCorners, const std::vector< std::pair< int, int > > &writeSelectionCorners, const WmConstOpaquePtr &data) const =0 |
Write a new data set under a node. | |
virtual void | writeToDataSet (WxIoNodeType node, const WxRange &memoryRange, const WxRange &memorySubRange, const WxRange &fileRange, const WxRange &fileSubRange, const WmConstOpaquePtr &data) const =0 |
Write to an open dataset (independent) | |
virtual WxIoNodeType | readDataSet (WxIoNodeType node, const std::string &dataName, const std::vector< std::pair< int, int > > &memorySpaceCorners, const std::vector< std::pair< int, int > > &readSelectionCorners, WmOpaquePtr &data) const =0 |
Read a new data set under a node. | |
virtual void | readFromDataSet (WxIoNodeType node, const WxRange &memoryRange, const WxRange &memorySubRange, const WxRange &fileRange, const WxRange &fileSubRange, WmOpaquePtr &data) const =0 |
Read from an open dataset (independent) | |
virtual WxIoNodeType | getDataShape (WxIoNodeType node, const std::string &dataSetName, WxRange &dataShape) const =0 |
Obtain simple data shape for a data set under a node. | |
virtual void | writeAttribute (WxIoNodeType node, const std::string &attribName, const WmConstOpaquePtr &attrib) const =0 |
Write an attribute. | |
virtual void | writeVecAttribute (WxIoNodeType node, const std::string &attribName, const WmConstOpaquePtr &attribStorage, int count) const =0 |
Write a vector attribute. | |
virtual void | readAttribute (WxIoNodeType node, const std::string &attribName, WmOpaquePtr &attrib) const =0 |
Read an attribute. | |
virtual int | readVecAttribute (WxIoNodeType node, const std::string &attribName, WmOpaquePtr &attribStorage, int count) const =0 |
Read a vector attribute. | |
Protected Member Functions | |
WxIoTmpl () | |
Constructor is protected, as this class cannot be made standalone. | |
|
inlinevirtual |
Virtual destructor.
|
inlineprotected |
Constructor is protected, as this class cannot be made standalone.
|
pure virtual |
Obtain simple data shape for a data set under a node.
node | the node under which to find the dataset |
dataName | the name of the data |
dataShape | the data set shape is returned by reference |
Implemented in WxHdf5IoTmpl.
|
pure virtual |
Read an attribute.
node | the node to which this attribute belongs |
attribName | the name of the attribute |
attrib | the attribute to be read |
Implemented in WxHdf5IoTmpl.
|
pure virtual |
Read a new data set under a node.
node | the node to write under |
dataName | the name of the data |
memorySpaceCorners | vector of (start, stop) pairs for each dimension that specify local extent held in contiguous allocation |
readSelectionCorners | vector of (start, stop) pairs for each dimension that specify subarea of local extent to read |
data | the data to be written |
Implemented in WxHdf5IoTmpl.
|
pure virtual |
Read from an open dataset (independent)
node | the node to read under |
memoryRange | Range that specifies total extent on host |
memorySubRange | Range that specifies local extent on host |
fileRange | Range that specifies total extent on file |
fileSubRange | Range that specifies local extent on file |
data | the destination for data to be read. This is returned in ROW MAJOR ordering. |
Implemented in WxHdf5IoTmpl.
|
pure virtual |
Read a vector attribute.
node | the node to which this attribute belongs |
attribName | the name of the attribute |
attribStorage | the vector attribute to be read |
count | maximum number of items to read; the amount of memory provided by attribStorage |
Implemented in WxHdf5IoTmpl.
|
pure virtual |
Write an attribute.
node | the node to write under |
attribName | the name of the attribute |
attrib | the attribute to be written |
Implemented in WxHdf5IoTmpl.
|
pure virtual |
Write a new data set under a node.
node | the node to write under |
dataName | the name of the data |
fileSpaceCorners | vector of (start, stop) pairs for each dimension that specify the global data space extent |
memorySpaceCorners | vector of (start, stop) pairs for each dimension that specify local extent held in contiguous allocation |
writeSelectionCorners | vector of (start, stop) pairs for each dimension that specify subarea of local extent to write |
data | the data to be written |
Implemented in WxHdf5IoTmpl.
|
pure virtual |
Write to an open dataset (independent)
node | the node to write under |
memoryRange | Range that specifies total extent on host |
memorySubRange | Range that specifies local extent on host |
fileRange | Range that specifies total extent on file |
fileSubRange | Range that specifies local extent on file |
data | the destination for data to be written. This is returned in ROW MAJOR ordering. |
Implemented in WxHdf5IoTmpl.
|
pure virtual |
Write a vector attribute.
node | the node to write under |
attribName | the name of the attribute |
attribStrorage | the vector attribute to be written |
Implemented in WxHdf5IoTmpl.