HDF5 C++ API  1.8.20
 All Classes Namespaces Functions Variables Typedefs Friends Pages
Public Member Functions | Static Public Member Functions | Static Public Attributes | List of all members
H5::DataSpace Class Reference

Class DataSpace inherits from IdComponent and provides wrappers for the HDF5's dataspaces. More...

#include <H5DataSpace.h>

Inheritance diagram for H5::DataSpace:
H5::IdComponent

Public Member Functions

 DataSpace (H5S_class_t type=H5S_SCALAR)
 Creates a new dataspace given a dataspace type. More...
 
 DataSpace (int rank, const hsize_t *dims, const hsize_t *maxdims=NULL)
 Creates a new simple dataspace. More...
 
 DataSpace (const hid_t space_id)
 Creates a DataSpace object using the id of an existing dataspace. More...
 
 DataSpace (const DataSpace &original)
 Copy constructor: makes a copy of the original DataSpace object. More...
 
DataSpaceoperator= (const DataSpace &rhs)
 Assignment operator. More...
 
virtual void close ()
 Closes this dataspace. More...
 
void copy (const DataSpace &like_space)
 Makes a copy of an existing dataspace. More...
 
void extentCopy (const DataSpace &dest_space) const
 Copies the extent of a dataspace. More...
 
void getSelectBounds (hsize_t *start, hsize_t *end) const
 Gets the bounding box containing the current selection. More...
 
hssize_t getSelectElemNpoints () const
 Returns the number of element points in the current selection. More...
 
void getSelectElemPointlist (hsize_t startpoint, hsize_t numpoints, hsize_t *buf) const
 Gets the list of element points currently selected. More...
 
void getSelectHyperBlocklist (hsize_t startblock, hsize_t numblocks, hsize_t *buf) const
 Gets the list of hyperslab blocks currently selected. More...
 
hssize_t getSelectHyperNblocks () const
 Returns number of hyperslab blocks. More...
 
hssize_t getSelectNpoints () const
 Returns the number of elements in a dataspace selection. More...
 
int getSimpleExtentDims (hsize_t *dims, hsize_t *maxdims=NULL) const
 Retrieves dataspace dimension size and maximum size. More...
 
int getSimpleExtentNdims () const
 Returns the dimensionality of a dataspace. More...
 
hssize_t getSimpleExtentNpoints () const
 Returns the number of elements in a dataspace. More...
 
H5S_class_t getSimpleExtentType () const
 Returns the current class of a dataspace. More...
 
bool isSimple () const
 Determines whether this dataspace is a simple dataspace. More...
 
void offsetSimple (const hssize_t *offset) const
 Sets the offset of this simple dataspace. More...
 
void selectAll () const
 Selects the entire dataspace. More...
 
void selectElements (H5S_seloper_t op, const size_t num_elements, const hsize_t *coord) const
 Selects array elements to be included in the selection for this dataspace. More...
 
void selectHyperslab (H5S_seloper_t op, const hsize_t *count, const hsize_t *start, const hsize_t *stride=NULL, const hsize_t *block=NULL) const
 Selects a hyperslab region to add to the current selected region. More...
 
void selectNone () const
 Resets the selection region to include no elements. More...
 
bool selectValid () const
 Verifies that the selection is within the extent of the dataspace. More...
 
void setExtentNone () const
 Removes the extent from a dataspace. More...
 
void setExtentSimple (int rank, const hsize_t *current_size, const hsize_t *maximum_size=NULL) const
 Sets or resets the size of an existing dataspace. More...
 
virtual H5std_string fromClass () const
 Returns this class name. More...
 
virtual hid_t getId () const
 Get the id of this dataspace. More...
 
virtual ~DataSpace ()
 Properly terminates access to this dataspace. More...
 
- Public Member Functions inherited from H5::IdComponent
void incRefCount (const hid_t obj_id) const
 Increment reference counter for a given id. More...
 
void incRefCount () const
 Increment reference counter for the id of this object. More...
 
void decRefCount (const hid_t obj_id) const
 Decrement reference counter for a given id. More...
 
void decRefCount () const
 Decrement reference counter for the id of this object. More...
 
int getCounter (const hid_t obj_id) const
 Returns the reference counter for a given id. More...
 
int getCounter () const
 Returns the reference counter for the id of this object. More...
 
H5I_type_t getHDFObjType () const
 Returns the type of the object. It is an overloaded function of the above function. More...
 
IdComponentoperator= (const IdComponent &rhs)
 Assignment operator. More...
 
void setId (const hid_t new_id)
 Sets the identifier of this object to a new value. More...
 
virtual ~IdComponent ()
 Noop destructor. More...
 

Static Public Member Functions

static void deleteConstants ()
 
- Static Public Member Functions inherited from H5::IdComponent
static H5I_type_t getHDFObjType (const hid_t obj_id)
 Given an id, returns the type of the object. More...
 
static bool isValid (hid_t an_id)
 Checks if the given ID is valid. More...
 

Static Public Attributes

static const DataSpaceALL
 Default DataSpace objects. More...
 

Detailed Description

Examples:
chunks.cpp, compound.cpp, create.cpp, extend_ds.cpp, h5group.cpp, readdata.cpp, and writedata.cpp.

Constructor & Destructor Documentation

H5::DataSpace::DataSpace ( H5S_class_t  type = H5S_SCALAR)
Parameters
type- IN: Type of the dataspace to be created, which currently can be either H5S_SCALAR or H5S_SIMPLE; default to H5S_SCALAR.
Exceptions
H5::DataSpaceIException
H5::DataSpace::DataSpace ( int  rank,
const hsize_t *  dims,
const hsize_t *  maxdims = NULL 
)
Parameters
rank- IN: Number of dimensions of dataspace.
dims- IN: An array of the size of each dimension.
maxdims- IN: An array of the maximum size of each dimension.
Exceptions
H5::DataSpaceIException
H5::DataSpace::DataSpace ( const hid_t  existing_id)
Parameters
existing_id- IN: Id of an existing dataspace
Exceptions
H5::DataSpaceIException

References H5::IdComponent::incRefCount().

H5::DataSpace::DataSpace ( const DataSpace original)
Parameters
original- IN: DataSpace object to copy

References H5::IdComponent::incRefCount().

H5::DataSpace::~DataSpace ( )
virtual

Member Function Documentation

void H5::DataSpace::close ( )
virtual
Exceptions
H5::DataSpaceIException

Referenced by copy(), and ~DataSpace().

void H5::DataSpace::copy ( const DataSpace like_space)
Parameters
like_space- IN: Dataspace to be copied
Exceptions
H5::DataSpaceIException

References close(), H5::Exception::getDetailMsg(), and getId().

Referenced by operator=().

static void H5::DataSpace::deleteConstants ( )
static
void H5::DataSpace::extentCopy ( const DataSpace dest_space) const
Parameters
dest_space- IN: Dataspace to copy from
Exceptions
H5::DataSpaceIException

References getId().

virtual H5std_string H5::DataSpace::fromClass ( ) const
inlinevirtual
hid_t H5::DataSpace::getId ( ) const
virtual
void H5::DataSpace::getSelectBounds ( hsize_t *  start,
hsize_t *  end 
) const
Parameters
start- IN: Starting coordinates of the bounding box
end- IN: Ending coordinates of the bounding box, i.e., the coordinates of the diagonally opposite corner
Exceptions
H5::DataSpaceIException
Description
For more information, please refer to the C layer Reference Manual at: https://support.hdfgroup.org/HDF5/doc/RM/RM_H5S.html#Dataspace-SelectBounds
hssize_t H5::DataSpace::getSelectElemNpoints ( ) const
Returns
Number of element points
Exceptions
H5::DataSpaceIException
void H5::DataSpace::getSelectElemPointlist ( hsize_t  startpoint,
hsize_t  numpoints,
hsize_t *  buf 
) const
Parameters
startpoint- IN: Element point to start with
numpoints- IN: Number of element points to get
buf- IN: List of element points selected
Exceptions
H5::DataSpaceIException
Description
For more information, please refer to the C layer Reference Manual at: https://support.hdfgroup.org/HDF5/doc/RM/RM_H5S.html#Dataspace-SelectElemPointList
void H5::DataSpace::getSelectHyperBlocklist ( hsize_t  startblock,
hsize_t  numblocks,
hsize_t *  buf 
) const
Parameters
startblock- IN: Hyperslab block to start with
numblocks- IN: Number of hyperslab blocks to get
buf- IN: List of hyperslab blocks selected
Exceptions
H5::DataSpaceIException
hssize_t H5::DataSpace::getSelectHyperNblocks ( ) const
Returns
Number of hyperslab blocks
Exceptions
H5::DataSpaceIException
hssize_t H5::DataSpace::getSelectNpoints ( ) const
Returns
Number of elements
Exceptions
H5::DataSpaceIException
int H5::DataSpace::getSimpleExtentDims ( hsize_t *  dims,
hsize_t *  maxdims = NULL 
) const
Parameters
dims- IN: Name of the new member
maxdims- IN: Pointer to the value of the new member
Returns
Number of dimensions, the same value as returned by DataSpace::getSimpleExtentNdims()
Exceptions
H5::DataSpaceIException
Examples:
chunks.cpp, and readdata.cpp.
int H5::DataSpace::getSimpleExtentNdims ( ) const
Returns
Number of dimensions
Exceptions
H5::DataSpaceIException
Examples:
chunks.cpp, and readdata.cpp.
hssize_t H5::DataSpace::getSimpleExtentNpoints ( ) const
Returns
Number of elements
Exceptions
H5::DataSpaceIException
H5S_class_t H5::DataSpace::getSimpleExtentType ( ) const
Returns
Class of the dataspace
Exceptions
H5::DataSpaceIException
bool H5::DataSpace::isSimple ( ) const
Returns
true if the dataspace is a simple dataspace, and false, otherwise
Exceptions
H5::DataSpaceIException
void H5::DataSpace::offsetSimple ( const hssize_t *  offset) const
Parameters
offset- IN: Offset to position the selection at
Exceptions
H5::DataSpaceIException
Description
This function creates an offset for the selection within an extent, allowing the same shaped selection to be moved to different locations within a dataspace without requiring it to be re-defined.
DataSpace & H5::DataSpace::operator= ( const DataSpace rhs)
Parameters
rhs- IN: Reference to the existing dataspace
Returns
Reference to DataSpace instance
Exceptions
H5::DataSpaceIException

References copy().

void H5::DataSpace::selectAll ( ) const
void H5::DataSpace::selectElements ( H5S_seloper_t  op,
const size_t  num_elements,
const hsize_t *  coord 
) const
Parameters
op- IN: Operator specifying how the new selection is to be combined with the existing selection for the dataspace
num_elements- IN: Number of elements to be selected
coord- IN: A 2-dimensional array of 0-based values specifying the coordinates of the elements being selected
Exceptions
H5::DataSpaceIException
Description
For more information, please refer to the C layer Reference Manual at: https://support.hdfgroup.org/HDF5/doc/RM/RM_H5S.html#Dataspace-SelectElements
void H5::DataSpace::selectHyperslab ( H5S_seloper_t  op,
const hsize_t *  count,
const hsize_t *  start,
const hsize_t *  stride = NULL,
const hsize_t *  block = NULL 
) const
Parameters
op- IN: Operation to perform on current selection
count- IN: Number of blocks included in the hyperslab
start- IN: Offset of the start of hyperslab
stride- IN: Hyperslab stride - default to NULL
block- IN: Size of block in the hyperslab - default to NULL
Exceptions
H5::DataSpaceIException
Description
For more information, please refer to the C layer Reference Manual at: https://support.hdfgroup.org/HDF5/doc/RM/RM_H5S.html#Dataspace-SelectHyperslab
Examples:
chunks.cpp, extend_ds.cpp, and readdata.cpp.
void H5::DataSpace::selectNone ( ) const
bool H5::DataSpace::selectValid ( ) const
Returns
true if the selection is within the extent of the dataspace, and false, otherwise
Exceptions
H5::DataSpaceIException
void H5::DataSpace::setExtentNone ( ) const
void H5::DataSpace::setExtentSimple ( int  rank,
const hsize_t *  current_size,
const hsize_t *  maximum_size = NULL 
) const
Parameters
rank- IN: Rank of the dataspace
current_size- IN: Array containing current size of dataspace
maximum_size- IN: Array containing maximum size of dataspace
Exceptions
H5::DataSpaceIException

Member Data Documentation

const DataSpace& H5::DataSpace::ALL
static

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


The HDF Group Help Desk:
  Copyright by The HDF Group
and the Board of Trustees of the University of Illinois