HDF5 C++ API Reference Manual

- Main Page
- Namespaces
- Classes
- Files
- Examples

- Class List
- Class Hierarchy
- Class Members

# H5::DataSpace Class Reference

`#include <H5DataSpace.h>`

Inheritance diagram for H5::DataSpace:

List of all members.

## Public Member Functions
| DataSpace (H5S_class_t type=H5S_SCALAR)
| Creates a new dataspace given a dataspace type.
| DataSpace (int rank, const hsize_t *dims, const hsize_t *maxdims=NULL)
| Creates a new simple dataspace.
DataSpace & | operator= (const DataSpace &rhs)
| Assignment operator.
virtual void | close ()
| Closes this dataspace.
void | copy (const DataSpace &like_space)
| Makes a copy of an existing dataspace.
void | extentCopy (DataSpace &dest_space) const
| Copies the extent of a dataspace.
void | getSelectBounds (hsize_t *start, hsize_t *end) const
| Gets the bounding box containing the current selection.
hssize_t | getSelectElemNpoints () const
| Returns the number of element points in the current selection.
void | getSelectElemPointlist (hsize_t startpoint, hsize_t numpoints, hsize_t *buf) const
| Gets the list of element points currently selected.
void | getSelectHyperBlocklist (hsize_t startblock, hsize_t numblocks, hsize_t *buf) const
| Gets the list of hyperslab blocks currently selected.
hssize_t | getSelectHyperNblocks () const
| Returns number of hyperslab blocks.
hssize_t | getSelectNpoints () const
| Returns the number of elements in a dataspace selection.
int | getSimpleExtentDims (hsize_t *dims, hsize_t *maxdims=NULL) const
| Retrieves dataspace dimension size and maximum size.
int | getSimpleExtentNdims () const
| Returns the dimensionality of a dataspace.
hssize_t | getSimpleExtentNpoints () const
| Returns the number of elements in a dataspace.
H5S_class_t | getSimpleExtentType () const
| Returns the current class of a dataspace.
bool | isSimple () const
| Determines whether this dataspace is a simple dataspace.
void | offsetSimple (const hssize_t *offset) const
| Sets the offset of this simple dataspace.
void | selectAll () const
| Selects the entire dataspace.
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.
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.
void | selectNone () const
| Resets the selection region to include no elements.
bool | selectValid () const
| Verifies that the selection is within the extent of the dataspace.
void | setExtentNone () const
| Removes the extent from a dataspace.
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.
virtual H5std_string | fromClass () const
| DataSpace (const hid_t space_id)
| Creates a DataSpace object using the id of an existing dataspace.
| DataSpace (const DataSpace &original)
| Copy constructor: makes a copy of the original DataSpace object.
virtual hid_t | getId () const
virtual | ~DataSpace ()
| Properly terminates access to this dataspace.
## Static Public Attributes
static const DataSpace | ALL
| Constant for default dataspace.
## Protected Member Functions
virtual void | p_setId (const hid_t new_id)
| Sets the identifier of this dataspace to a new value.

## 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` | ) |

Creates a new dataspace given a dataspace type.

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` |
| ) |  |  |

Creates a new simple dataspace.

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 | ) |

Creates a DataSpace object using the id of an existing dataspace.

Parameters:

  | existing_id | - IN: Id of an existing dataspace

Exceptions:

  | H5::DataSpaceIException |

H5::DataSpace::DataSpace | ( | const DataSpace & | original | ) |

Copy constructor: makes a copy of the original DataSpace object.

Parameters:

  | original | - IN: DataSpace object to copy

H5::DataSpace::~DataSpace | ( |  | ) | `[virtual]`

Properly terminates access to this dataspace.

## Member Function Documentation

DataSpace & H5::DataSpace::operator= | ( | const DataSpace & | rhs | ) |

Assignment operator.

Parameters:

  | rhs | - IN: Reference to the existing dataspace

Returns:
  Reference to DataSpace instance

Exceptions:

  | H5::DataSpaceIException |

void H5::DataSpace::close | ( |  | ) | `[virtual]`

Closes this dataspace.

Exceptions:

  | H5::DataSpaceIException |

void H5::DataSpace::copy | ( | const DataSpace & | like_space | ) |

Makes a copy of an existing dataspace.

Parameters:

  | like_space | - IN: Dataspace to be copied

Exceptions:

  | H5::DataSpaceIException |

void H5::DataSpace::extentCopy | ( | DataSpace & | dest_space | ) | const

Copies the extent of a dataspace.

Parameters:

  | dest_space | - IN: Dataspace to copy from

Exceptions:

  | H5::DataSpaceIException |

void H5::DataSpace::getSelectBounds | ( | hsize_t * | start,
|  | hsize_t * | end |
| ) |  |  | const

Gets the bounding box containing the current selection.

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: ../RM_H5S.html::Dataspace-SelectBounds

hssize_t H5::DataSpace::getSelectElemNpoints | ( |  | ) | const

Returns the number of element points in the current selection.

Returns:
  Number of element points

Exceptions:

  | H5::DataSpaceIException |

void H5::DataSpace::getSelectElemPointlist | ( | hsize_t | startpoint,
|  | hsize_t | numpoints,
|  | hsize_t * | buf |
| ) |  |  | const

Gets the list of element points currently selected.

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: ../RM_H5S.html::Dataspace-SelectElemPointList

void H5::DataSpace::getSelectHyperBlocklist | ( | hsize_t | startblock,
|  | hsize_t | numblocks,
|  | hsize_t * | buf |
| ) |  |  | const

Gets the list of hyperslab blocks currently selected.

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.

Returns:
  Number of hyperslab blocks

Exceptions:

  | H5::DataSpaceIException |

hssize_t H5::DataSpace::getSelectNpoints | ( |  | ) | const

Returns the number of elements in a dataspace selection.

Returns:
  Number of elements

Exceptions:

  | H5::DataSpaceIException |

int H5::DataSpace::getSimpleExtentDims | ( | hsize_t * | dims,
|  | hsize_t * | maxdims = `NULL` |
| ) |  |  | const

Retrieves dataspace dimension size and maximum size.

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 the dimensionality of a dataspace.

Returns:
  Number of dimensions

Exceptions:

  | H5::DataSpaceIException |

Examples:
  chunks.cpp, and readdata.cpp.

hssize_t H5::DataSpace::getSimpleExtentNpoints | ( |  | ) | const

Returns the number of elements in a dataspace.

Returns:
  Number of elements

Exceptions:

  | H5::DataSpaceIException |

H5S_class_t H5::DataSpace::getSimpleExtentType | ( |  | ) | const

Returns the current class of a dataspace.

Returns:
  Class of the dataspace

Exceptions:

  | H5::DataSpaceIException |

bool H5::DataSpace::isSimple | ( |  | ) | const

Determines whether this dataspace is a simple dataspace.

Returns:
  `true` if the dataspace is a simple dataspace, and `false`, otherwise

Exceptions:

  | H5::DataSpaceIException |

void H5::DataSpace::offsetSimple | ( | const hssize_t * | offset | ) | const

Sets the offset of this simple dataspace.

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.

void H5::DataSpace::selectAll | ( |  | ) | const

Selects the entire dataspace.

Exceptions:

  | H5::DataSpaceIException |

void H5::DataSpace::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.

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: ../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

Selects a hyperslab region to add to the current selected region.

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: ../RM_H5S.html::Dataspace-SelectHyperslab

Examples:
  chunks.cpp, extend_ds.cpp, and readdata.cpp.

void H5::DataSpace::selectNone | ( |  | ) | const

Resets the selection region to include no elements.

Exceptions:

  | H5::DataSpaceIException |

bool H5::DataSpace::selectValid | ( |  | ) | const

Verifies that the selection is within the extent of the dataspace.

Returns:
  `true` if the selection is within the extent of the dataspace, and `false`, otherwise

Exceptions:

  | H5::DataSpaceIException |

void H5::DataSpace::setExtentNone | ( |  | ) | const

Removes the extent from a dataspace.

Exceptions:

  | H5::DataSpaceIException |

void H5::DataSpace::setExtentSimple | ( | int | rank,
|  | const hsize_t * | current_size,
|  | const hsize_t * | maximum_size = `NULL` |
| ) |  |  | const

Sets or resets the size of an existing dataspace.

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 |

virtual H5std_string H5::DataSpace::fromClass | ( |  | ) | const`[inline, virtual]`

hid_t H5::DataSpace::getId | ( |  | ) | const`[virtual]`

Implements H5::IdComponent.

void H5::DataSpace::p_setId | ( | const hid_t | new_id | ) | `[protected, virtual]`

Sets the identifier of this dataspace to a new value.

Exceptions:

  | H5::IdComponentException | when the attempt to close the currently open dataspace fails

## Member Data Documentation

const DataSpace H5::DataSpace::ALL`[static]`

Constant for default dataspace.