Please, help us to better serve our user community by answering the following short survey: https://www.hdfgroup.org/website-survey/
HDF5  1.15.0
API Reference
H5Spublic.h File Reference
#include "H5public.h"
#include "H5Ipublic.h"
+ Include dependency graph for H5Spublic.h:
+ This graph shows which files directly or indirectly include this file:

Macros

#define H5S_ALL   0 /* (hid_t) */
 
#define H5S_BLOCK   1 /* (hid_t) */
 
#define H5S_PLIST   2 /* (hid_t) */
 
#define H5S_UNLIMITED   HSIZE_UNDEF
 
#define H5S_MAX_RANK   32
 
#define H5S_SEL_ITER_GET_SEQ_LIST_SORTED    0x0001
 
#define H5S_SEL_ITER_SHARE_WITH_DATASPACE    0x0002
 

Enumerations

enum  H5S_class_t {
  H5S_NO_CLASS = -1 , H5S_SCALAR = 0 , H5S_SIMPLE = 1 , H5S_NULL = 2 ,
  H5S_NO_CLASS = -1 , H5S_SCALAR = 0 , H5S_SIMPLE = 1 , H5S_NULL = 2
}
 
enum  H5S_seloper_t {
  H5S_SELECT_NOOP = -1 , H5S_SELECT_SET = 0 , H5S_SELECT_OR , H5S_SELECT_AND ,
  H5S_SELECT_XOR , H5S_SELECT_NOTB , H5S_SELECT_NOTA , H5S_SELECT_APPEND ,
  H5S_SELECT_PREPEND , H5S_SELECT_INVALID , H5S_SELECT_NOOP = -1 , H5S_SELECT_SET = 0 ,
  H5S_SELECT_OR , H5S_SELECT_AND , H5S_SELECT_XOR , H5S_SELECT_NOTB ,
  H5S_SELECT_NOTA , H5S_SELECT_APPEND , H5S_SELECT_PREPEND , H5S_SELECT_INVALID
}
 
enum  H5S_sel_type {
  H5S_SEL_ERROR = -1 , H5S_SEL_NONE = 0 , H5S_SEL_POINTS = 1 , H5S_SEL_HYPERSLABS = 2 ,
  H5S_SEL_ALL = 3 , H5S_SEL_N , H5S_SEL_ERROR = -1 , H5S_SEL_NONE = 0 ,
  H5S_SEL_POINTS = 1 , H5S_SEL_HYPERSLABS = 2 , H5S_SEL_ALL = 3 , H5S_SEL_N
}
 

Functions

herr_t H5Sclose (hid_t space_id)
 Releases and terminates access to a dataspace. More...
 
hid_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[])
 Performs an operation on a hyperslab and an existing selection and returns the resulting selection. More...
 
hid_t H5Scombine_select (hid_t space1_id, H5S_seloper_t op, hid_t space2_id)
 Combine two hyperslab selections with an operation, returning a dataspace with the resulting selection. More...
 
hid_t H5Scopy (hid_t space_id)
 Creates an exact copy of a dataspace. More...
 
hid_t H5Screate (H5S_class_t type)
 Creates a new dataspace of a specified type. More...
 
hid_t H5Screate_simple (int rank, const hsize_t dims[], const hsize_t maxdims[])
 Creates a new simple dataspace and opens it for access. More...
 
hid_t H5Sdecode (const void *buf)
 Decodes a binary object description of data space and returns a new object handle. More...
 
herr_t H5Sencode2 (hid_t obj_id, void *buf, size_t *nalloc, hid_t fapl)
 Encodes a data space object description into a binary buffer. More...
 
herr_t H5Sextent_copy (hid_t dst_id, hid_t src_id)
 Copies the extent of a dataspace. More...
 
htri_t H5Sextent_equal (hid_t space1_id, hid_t space2_id)
 Determines whether two dataspace extents are equal. More...
 
htri_t H5Sget_regular_hyperslab (hid_t spaceid, hsize_t start[], hsize_t stride[], hsize_t count[], hsize_t block[])
 Retrieves a regular hyperslab selection. More...
 
herr_t H5Sget_select_bounds (hid_t spaceid, hsize_t start[], hsize_t end[])
 Gets the bounding box containing the current selection. More...
 
hssize_t H5Sget_select_elem_npoints (hid_t spaceid)
 Gets the number of element points in the current selection. More...
 
herr_t H5Sget_select_elem_pointlist (hid_t spaceid, hsize_t startpoint, hsize_t numpoints, hsize_t buf[])
 Gets the list of element points currently selected. More...
 
herr_t H5Sget_select_hyper_blocklist (hid_t spaceid, hsize_t startblock, hsize_t numblocks, hsize_t buf[])
 Gets the list of hyperslab blocks currently selected. More...
 
hssize_t H5Sget_select_hyper_nblocks (hid_t spaceid)
 Get number of hyperslab blocks. More...
 
hssize_t H5Sget_select_npoints (hid_t spaceid)
 Determines the number of elements in a dataspace selection. More...
 
H5S_sel_type H5Sget_select_type (hid_t spaceid)
 Determines the type of the dataspace selection. More...
 
int H5Sget_simple_extent_dims (hid_t space_id, hsize_t dims[], hsize_t maxdims[])
 Retrieves dataspace dimension size and maximum size. More...
 
int H5Sget_simple_extent_ndims (hid_t space_id)
 Determines the dimensionality of a dataspace. More...
 
hssize_t H5Sget_simple_extent_npoints (hid_t space_id)
 Determines the number of elements in a dataspace. More...
 
H5S_class_t H5Sget_simple_extent_type (hid_t space_id)
 Determines the current class of a dataspace. More...
 
htri_t H5Sis_regular_hyperslab (hid_t spaceid)
 Determines if a hyperslab selection is regular. More...
 
htri_t H5Sis_simple (hid_t space_id)
 Determines whether a dataspace is a simple dataspace. More...
 
herr_t H5Smodify_select (hid_t space1_id, H5S_seloper_t op, hid_t space2_id)
 Refines a hyperslab selection with an operation, using a second hyperslab to modify it. More...
 
herr_t H5Soffset_simple (hid_t space_id, const hssize_t *offset)
 Sets the offset of a simple dataspace. More...
 
herr_t H5Ssel_iter_close (hid_t sel_iter_id)
 Closes a dataspace selection iterator. More...
 
hid_t H5Ssel_iter_create (hid_t spaceid, size_t elmt_size, unsigned flags)
 Creates a dataspace selection iterator for a dataspace's selection. More...
 
herr_t H5Ssel_iter_get_seq_list (hid_t sel_iter_id, size_t maxseq, size_t maxbytes, size_t *nseq, size_t *nbytes, hsize_t *off, size_t *len)
 Retrieves a list of offset / length sequences for the elements in an iterator. More...
 
herr_t H5Ssel_iter_reset (hid_t sel_iter_id, hid_t space_id)
 Resets a dataspace selection iterator back to an initial state. More...
 
herr_t H5Sselect_adjust (hid_t spaceid, const hssize_t *offset)
 Adjusts a selection by subtracting an offset. More...
 
herr_t H5Sselect_all (hid_t spaceid)
 Selects an entire dataspace. More...
 
herr_t H5Sselect_copy (hid_t dst_id, hid_t src_id)
 Copies a selection from one dataspace to another. More...
 
herr_t H5Sselect_elements (hid_t space_id, H5S_seloper_t op, size_t num_elem, const hsize_t *coord)
 Selects array elements to be included in the selection for a dataspace. More...
 
herr_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 to add to the current selected region. More...
 
htri_t H5Sselect_intersect_block (hid_t space_id, const hsize_t *start, const hsize_t *end)
 Checks if current selection intersects with a block. More...
 
herr_t H5Sselect_none (hid_t spaceid)
 Resets the selection region to include no elements. More...
 
hid_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 source selections to a destination selection. More...
 
htri_t H5Sselect_shape_same (hid_t space1_id, hid_t space2_id)
 Checks if two selections are the same shape. More...
 
htri_t H5Sselect_valid (hid_t spaceid)
 Verifies that the selection is within the extent of the dataspace. More...
 
herr_t H5Sset_extent_none (hid_t space_id)
 Resets the extent of a dataspace back to "none". More...
 
herr_t H5Sset_extent_simple (hid_t space_id, int rank, const hsize_t dims[], const hsize_t max[])
 Sets or resets the size of an existing dataspace. More...
 
herr_t H5Sencode1 (hid_t obj_id, void *buf, size_t *nalloc)
 Encodes a data space object description into a binary buffer. More...
 

Macro Definition Documentation

◆ H5S_ALL

#define H5S_ALL   0 /* (hid_t) */

◆ H5S_BLOCK

#define H5S_BLOCK   1 /* (hid_t) */

◆ H5S_MAX_RANK

#define H5S_MAX_RANK   32

The maximum dataspace rank or number of dimensions

◆ H5S_PLIST

#define H5S_PLIST   2 /* (hid_t) */

◆ H5S_SEL_ITER_GET_SEQ_LIST_SORTED

#define H5S_SEL_ITER_GET_SEQ_LIST_SORTED    0x0001

Retrieve elements from iterator in increasing offset order, for \ each call to retrieve sequences. Currently, this only applies to \ point selections, as hyperslab selections are always returned in \ increasing offset order. Note that the order is only increasing \ for each call to H5Sget_seq_list(), the next set of sequences \ could start with an earlier offset than the previous one. \

◆ H5S_SEL_ITER_SHARE_WITH_DATASPACE

#define H5S_SEL_ITER_SHARE_WITH_DATASPACE    0x0002

Don't copy the dataspace selection when creating the selection \ iterator. This can improve performance of creating the iterator, \ but the dataspace MUST NOT be modified or closed until the \ selection iterator is closed or the iterator's behavior will be \ undefined. \

◆ H5S_UNLIMITED

#define H5S_UNLIMITED   HSIZE_UNDEF

Value for 'unlimited' dimensions

Enumeration Type Documentation

◆ H5S_class_t

Types of dataspaces

Enumerator
H5S_NO_CLASS 

Error

H5S_SCALAR 

Singleton (scalar)

H5S_SIMPLE 

Regular grid

H5S_NULL 

Empty set

H5S_NO_CLASS 

Error

H5S_SCALAR 

Singleton (scalar)

H5S_SIMPLE 

Regular grid

H5S_NULL 

Empty set

◆ H5S_sel_type

Selection type

Enumerator
H5S_SEL_ERROR 

Error

H5S_SEL_NONE 

Empty selection

H5S_SEL_POINTS 

Set of points

H5S_SEL_HYPERSLABS 

Hyperslab

H5S_SEL_ALL 

Everything

H5S_SEL_N 

Sentinel

H5S_SEL_ERROR 

Error

H5S_SEL_NONE 

Empty selection

H5S_SEL_POINTS 

Set of points

H5S_SEL_HYPERSLABS 

Hyperslab

H5S_SEL_ALL 

Everything

H5S_SEL_N 

Sentinel

◆ H5S_seloper_t

Different ways of combining selections

Enumerator
H5S_SELECT_NOOP 

Error

H5S_SELECT_SET 

Select "set" operation

H5S_SELECT_OR 

Binary "or" operation for hyperslabs (add new selection to existing selection)

Original region: AAAAAAAAAA
New region: BBBBBBBBBB
A or B: CCCCCCCCCCCCCCCC
H5S_SELECT_AND 

Binary "and" operation for hyperslabs (only leave overlapped regions in selection)

Original region: AAAAAAAAAA
New region: BBBBBBBBBB
A and B: CCCC
H5S_SELECT_XOR 

Binary "xor" operation for hyperslabs (only leave non-overlapped regions in selection)

Original region: AAAAAAAAAA
New region: BBBBBBBBBB
A xor B: CCCCCC CCCCCC
H5S_SELECT_NOTB 

Binary "not" operation for hyperslabs (only leave non-overlapped regions in original selection)

Original region: AAAAAAAAAA
New region: BBBBBBBBBB
A not B: CCCCCC
H5S_SELECT_NOTA 

Binary "not" operation for hyperslabs (only leave non-overlapped regions in new selection)

Original region: AAAAAAAAAA
New region: BBBBBBBBBB
B not A: CCCCCC
H5S_SELECT_APPEND 

Append elements to end of point selection

H5S_SELECT_PREPEND 

Prepend elements to beginning of point selection

H5S_SELECT_INVALID 

Invalid upper bound on selection operations

H5S_SELECT_NOOP 

Error

H5S_SELECT_SET 

Select "set" operation

H5S_SELECT_OR 

Binary "or" operation for hyperslabs (add new selection to existing selection)

Original region: AAAAAAAAAA
New region: BBBBBBBBBB
A or B: CCCCCCCCCCCCCCCC
H5S_SELECT_AND 

Binary "and" operation for hyperslabs (only leave overlapped regions in selection)

Original region: AAAAAAAAAA
New region: BBBBBBBBBB
A and B: CCCC
H5S_SELECT_XOR 

Binary "xor" operation for hyperslabs (only leave non-overlapped regions in selection)

Original region: AAAAAAAAAA
New region: BBBBBBBBBB
A xor B: CCCCCC CCCCCC
H5S_SELECT_NOTB 

Binary "not" operation for hyperslabs (only leave non-overlapped regions in original selection)

Original region: AAAAAAAAAA
New region: BBBBBBBBBB
A not B: CCCCCC
H5S_SELECT_NOTA 

Binary "not" operation for hyperslabs (only leave non-overlapped regions in new selection)

Original region: AAAAAAAAAA
New region: BBBBBBBBBB
B not A: CCCCCC
H5S_SELECT_APPEND 

Append elements to end of point selection

H5S_SELECT_PREPEND 

Prepend elements to beginning of point selection

H5S_SELECT_INVALID 

Invalid upper bound on selection operations