#include <H5Slice_traits.hpp>
|
| Selection | select (const HyperSlab &hyper_slab) const |
| | Select an hyper_slab in the current Slice/Dataset.
|
| |
| Selection | select (const HyperSlab &hyper_slab, const DataSpace &memspace) const |
| | Select an hyper_slab in the current Slice/Dataset.
|
| |
| Selection | select (const std::vector< size_t > &offset, const std::vector< size_t > &count, const std::vector< size_t > &stride={}, const std::vector< size_t > &block={}) const |
| | Select a region in the current Slice/Dataset of count points at offset separated by stride. If strides are not provided they will default to 1 in all dimensions.
|
| |
| Selection | select (const std::vector< size_t > &columns) const |
| | Select a set of columns in the last dimension of this dataset.
|
| |
| Selection | select (const ElementSet &elements) const |
| | Select a region in the current Slice/Dataset out of a list of elements.
|
| |
| Selection | select (const ProductSet &product_set) const |
| | Select a region consisting of a product of slices.
|
| |
| template<typename T > |
| T | read (const DataTransferProps &xfer_props=DataTransferProps()) const |
| |
| template<typename T > |
| void | read (T &array, const DataTransferProps &xfer_props=DataTransferProps()) const |
| |
| template<typename T > |
| void | read_raw (T *array, const DataType &mem_datatype, const DataTransferProps &xfer_props=DataTransferProps()) const |
| |
| template<typename T > |
| void | read_raw (T *array, const DataTransferProps &xfer_props=DataTransferProps()) const |
| |
| template<typename T > |
| void | write (const T &buffer, const DataTransferProps &xfer_props=DataTransferProps()) |
| |
| template<typename T > |
| void | write_raw (const T *buffer, const DataType &mem_datatype, const DataTransferProps &xfer_props=DataTransferProps()) |
| |
| template<typename T > |
| void | write_raw (const T *buffer, const DataTransferProps &xfer_props=DataTransferProps()) |
| |
| Selection | squeezeMemSpace (const std::vector< size_t > &axes) const |
| | Return a Selection with axes squeezed from the memspace.
|
| |
| Selection | reshapeMemSpace (const std::vector< size_t > &dims) const |
| | Return a Selection with a simple memspace with dims.
|
| |
◆ read() [1/2]
template<typename Derivate >
template<typename T >
◆ read() [2/2]
template<typename Derivate >
template<typename T >
Read the entire dataset into a buffer
An exception is raised is if the numbers of dimension of the buffer and of the dataset are different.
The array type can be a N-pointer or a N-vector. For plain pointers not dimensionality checking will be performed, it is the user's responsibility to ensure that the right amount of space has been allocated.
◆ read_raw() [1/2]
template<typename Derivate >
template<typename T >
Read the entire dataset into a raw buffer
Same as read(T*, const DataType&, const DataTransferProps&). However, this overload deduces the HDF5 datatype of the element of array from T. Note, that the file datatype is already fixed.
- Parameters
-
| array | A buffer containing enough space for the data |
| xfer_props | Data Transfer properties |
◆ read_raw() [2/2]
template<typename Derivate >
template<typename T >
Read the entire dataset into a raw buffer
No dimensionality checks will be performed, it is the user's responsibility to ensure that the right amount of space has been allocated.
- Parameters
-
| array | A buffer containing enough space for the data |
| mem_datatype | The type of the data in memory. This prevents deducing it from T. |
| xfer_props | Data Transfer properties |
◆ reshapeMemSpace()
template<typename Derivate >
Return a Selection with a simple memspace with dims.
Returns a selection in which the memspace has been modified to be a simple dataspace with dimensions dims.
Throws if the number of elements changes.
- Since
- 3.0
◆ select() [1/6]
template<typename Derivate >
Select a region in the current Slice/Dataset out of a list of elements.
◆ select() [2/6]
template<typename Derivate >
Select an hyper_slab in the current Slice/Dataset.
HyperSlabs can be either regular or irregular. Irregular hyperslabs are typically generated by taking the union of regular hyperslabs. An irregular hyperslab, in general, does not fit nicely into a multi-dimensional array, but only a subset of such an array.
Therefore, the only memspaces supported for general hyperslabs are one-dimensional arrays.
◆ select() [3/6]
template<typename Derivate >
Select an hyper_slab in the current Slice/Dataset.
If the selection can be read into a simple, multi-dimensional dataspace, then this overload enable specifying the shape of the memory dataspace with memspace. Note, that simple implies no offsets, strides or number of blocks, just the size of the block in each dimension.
◆ select() [4/6]
template<typename Derivate >
Select a region consisting of a product of slices.
- Since
- 3.0
◆ select() [5/6]
template<typename Derivate >
Select a set of columns in the last dimension of this dataset.
The column indices must be smaller than the dimension size.
◆ select() [6/6]
template<typename Derivate >
| Selection HighFive::SliceTraits< Derivate >::select |
( |
const std::vector< size_t > & |
offset, |
|
|
const std::vector< size_t > & |
count, |
|
|
const std::vector< size_t > & |
stride = {}, |
|
|
const std::vector< size_t > & |
block = {} |
|
) |
| const |
|
inline |
Select a region in the current Slice/Dataset of count points at offset separated by stride. If strides are not provided they will default to 1 in all dimensions.
vector offset and count have to be from the same dimension
◆ squeezeMemSpace()
template<typename Derivate >
Return a Selection with axes squeezed from the memspace.
Returns a selection in which the memspace has been modified to not include the axes listed in axes.
Throws if any axis to be squeezes has a dimension other than 1.
- Since
- 3.0
◆ write()
template<typename Derivate >
template<typename T >
Write the integrality N-dimension buffer to this dataset An exception is raised is if the numbers of dimension of the buffer and of the dataset are different
The array type can be a N-pointer or a N-vector ( e.g int** integer two dimensional array )
◆ write_raw() [1/2]
template<typename Derivate >
template<typename T >
Write from a raw pointer into this dataset.
Same as write_raw(const T*, const DataTransferProps&). However, this overload attempts to guess the data type of buffer, i.e. the memory datatype. Note that the file datatype is already fixed.
◆ write_raw() [2/2]
template<typename Derivate >
template<typename T >
Write from a raw pointer into this dataset.
No dimensionality checks will be performed, it is the user's responsibility to ensure that the buffer holds the right amount of elements. For n-dimensional matrices the buffer layout follows H5 default conventions.
Note, this is the shallowest wrapper around H5Dwrite and should be used if full control is needed. Generally prefer write.
- Parameters
-
| buffer | A buffer containing the data to be written |
| dtype | The datatype of buffer, i.e. the memory data type. |
| xfer_props | The HDF5 data transfer properties, e.g. collective MPI-IO. |
The documentation for this class was generated from the following files: