ddn.lib.hdf5.h5s

HDF5 Dataspace Binding

This module provides D bindings for HDF5 dataspace operations (H5S API). These functions allow creating, manipulating, and querying dataspaces which describe the shape and selection of data.

License

BSD-3-Clause

Types 3

enumH5S_class_t : int

Dataspace class type.

Identifies the type of a dataspace.

NO_CLASS = - 1Error indicator
SCALAR = 0Singleton (scalar) dataspace
SIMPLE = 1Simple (regular grid) dataspace
NULL_ = 2Empty set (null) dataspace
enumH5S_seloper_t : int

Selection operation type.

Specifies how to combine a new selection with an existing selection.

SELECT_NOOP = - 1Error indicator
SELECT_SET = 0Replace existing selection
SELECT_OR = 1Binary OR - add new selection to existing
SELECT_AND = 2Binary AND - keep only overlapped regions
SELECT_XOR = 3Binary XOR - keep only non-overlapped regions
SELECT_NOTB = 4Binary NOT B - keep parts of first selection not in second
SELECT_NOTA = 5Binary NOT A - keep parts of second selection not in first
SELECT_APPEND = 6Append elements to end of point selection
SELECT_PREPEND = 7Prepend elements to beginning of point selection
SELECT_INVALID = 8Invalid upper bound on selection operations
enumH5S_sel_type : int

Selection type.

Identifies the type of selection in a dataspace.

SEL_ERROR = - 1Error indicator
SEL_NONE = 0Empty selection
SEL_POINTS = 1Set of points
SEL_HYPERSLABS = 2Hyperslab selection
SEL_ALL = 3All elements selected
SEL_N = 4Sentinel value (must be last)

Functions 43

fnhid_t H5Screate(H5S_class_t type)Creates a new dataspace.
fnhid_t H5Screate_simple(int rank, const hsize_t * dims, const hsize_t * maxdims)Creates a simple dataspace.
fnherr_t H5Sclose(hid_t space_id)Closes a dataspace.
fnhid_t H5Scopy(hid_t space_id)Creates a copy of a dataspace.
fnint H5Sget_simple_extent_ndims(hid_t space_id)Gets the number of dimensions in a dataspace.
fnint H5Sget_simple_extent_dims(hid_t space_id, hsize_t * dims, hsize_t * maxdims)Gets the dimensions of a dataspace.
fnhssize_t H5Sget_simple_extent_npoints(hid_t space_id)Gets the number of elements in a dataspace.
fnH5S_class_t H5Sget_simple_extent_type(hid_t space_id)Gets the dataspace class type.
fnhtri_t H5Sis_simple(hid_t space_id)Determines whether a dataspace is simple.
fnherr_t H5Sselect_hyperslab(hid_t space_id, H5S_seloper_t op, const hsize_t * start, const hsize_t * stride, const hsize_t * count, const hsize_t * block)Selects a hyperslab region.
fnherr_t H5Sselect_elements(hid_t space_id, H5S_seloper_t op, size_t num_elem, const hsize_t * coord)Selects array elements by coordinate.
fnherr_t H5Sselect_all(hid_t spaceid)Selects the entire dataspace.
fnherr_t H5Sselect_none(hid_t spaceid)Resets the selection to no elements.
fnhtri_t H5Sselect_valid(hid_t spaceid)Verifies that a selection is valid.
fnhssize_t H5Sget_select_npoints(hid_t spaceid)Gets the number of selected elements.
fnH5S_sel_type H5Sget_select_type(hid_t spaceid)Gets the selection type.
fnherr_t H5Sget_select_bounds(hid_t spaceid, hsize_t * start, hsize_t * end)Gets the bounding box of a selection.
fnhssize_t H5Sget_select_hyper_nblocks(hid_t spaceid)Gets the number of hyperslab blocks in a selection.
fnhssize_t H5Sget_select_elem_npoints(hid_t spaceid)Gets the number of element points in a selection.
fnherr_t H5Sget_select_hyper_blocklist(hid_t spaceid, hsize_t startblock, hsize_t numblocks, hsize_t * buf)Gets the hyperslab block list.
fnherr_t H5Sget_select_elem_pointlist(hid_t spaceid, hsize_t startpoint, hsize_t numpoints, hsize_t * buf)Gets the element point list.
fnherr_t H5Sextent_copy(hid_t dst_id, hid_t src_id)Copies the extent from one dataspace to another.
fnhtri_t H5Sextent_equal(hid_t space1_id, hid_t space2_id)Determines whether two dataspaces have the same extent.
fnherr_t H5Soffset_simple(hid_t space_id, const hssize_t * offset)Sets the offset of a simple dataspace.
fnherr_t H5Sselect_copy(hid_t dst_id, hid_t src_id)Copies a selection from one dataspace to another.
fnherr_t H5Sselect_adjust(hid_t spaceid, const hssize_t * offset)Adjusts a selection by an offset.
fnhtri_t H5Sselect_shape_same(hid_t space1_id, hid_t space2_id)Determines whether two selections have the same shape.
fnhtri_t H5Sselect_intersect_block(hid_t space_id, const hsize_t * start, const hsize_t * end)Determines whether a selection intersects a block.
fnhid_t H5Scombine_hyperslab(hid_t space_id, H5S_seloper_t op, const hsize_t * start, const hsize_t * stride, const hsize_t * count, const hsize_t * block)Combines a hyperslab with an existing dataspace selection.
fnhid_t H5Scombine_select(hid_t space1_id, H5S_seloper_t op, hid_t space2_id)Combines two dataspace selections.
fnherr_t H5Smodify_select(hid_t space1_id, H5S_seloper_t op, hid_t space2_id)Modifies a dataspace selection with another.
fnhid_t H5Sdecode(const void * buf)Decodes a dataspace from a binary buffer.
fnherr_t H5Sencode2(hid_t obj_id, void * buf, size_t * nalloc, hid_t fapl)Encodes a dataspace into a binary buffer.
fnhtri_t H5Sis_regular_hyperslab(hid_t spaceid)Determines whether a hyperslab selection is regular.
fnhtri_t H5Sget_regular_hyperslab(hid_t spaceid, hsize_t * start, hsize_t * stride, hsize_t * count, hsize_t * block)Gets the parameters of a regular hyperslab selection.
fnherr_t H5Sencode1(hid_t obj_id, void * buf, size_t * nalloc)Encodes a dataspace (version 1, deprecated).
fnherr_t H5Sset_extent_none(hid_t space_id)Sets a dataspace to have no extent.
fnherr_t H5Sset_extent_simple(hid_t space_id, int rank, const hsize_t * dims, const hsize_t * max)Sets the extent of a simple dataspace.
fnhid_t H5Ssel_iter_create(hid_t spaceid, size_t elmt_size, uint flags)Creates a selection iterator.
fnherr_t H5Ssel_iter_close(hid_t sel_iter_id)Closes a selection iterator.
fnherr_t H5Ssel_iter_reset(hid_t sel_iter_id, hid_t space_id)Resets a selection iterator.
fnherr_t H5Ssel_iter_get_seq_list(hid_t sel_iter_id, size_t maxseq, size_t maxelmts, size_t * nseq, size_t * nelmts, hsize_t * off, size_t * len)Gets a sequence list from a selection iterator.
fnhid_t H5Sselect_project_intersection(hid_t src_space_id, hid_t dst_space_id, hid_t src_intersect_space_id)Projects the intersection of two dataspaces into a third dataspace.

Variables 2

enumvarH5S_UNLIMITED = hsize_t.max

Unlimited dimension size constant

enumvarH5S_MAX_RANK = 32

Maximum number of dimensions