Page tree

The license could not be verified: License Certificate has expired!

 

JAVA

FORTRAN

C++

C

 

Link

H5S_SEL_ITER_GET_SEQ_LIST

Retrieves a list of offset / length sequences for the elements in an iterator

Procedure:

H5S_SEL_ITER_GET_SEQ_LIST ( sel_iter_id, maxseq, maxbytes, nseq, nbytes, off, len )

Signature:

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 )

Parameters:
hid_t   sel_iter_idIN: Identifier of the dataspace selection iterator to retrieve sequence from
size_t  maxseqIN: Max. # of sequences to retrieve
size_t  maxbytesIN: Max. # of bytes to retrieve in sequences
size_t *nseqOUT: # of sequences retrieved
size_t *nbytesOUT: # of bytes retrieved, in all sequences
hsize_t *offOUT: Array of sequence offsets
size_t *lenOUT: Array of sequence lengths

Description:

H5S_SEL_ITER_GET_SEQ_LIST retrieves a list of offset / length pairs (a list of "sequences") matching the selected elements for an iterator sel_iter_id, according to the iteration order for the iterator.  The lengths returned are in bytes, not elements.

Note that the iteration order for "all" and "hyperslab" selections is row-major (i.e. "C-ordered"), but the iteration order for "point" selections is "in order selected", unless the H5S_SEL_ITER_GET_SEQ_LIST_SORTED flag is passed to H5S_SEL_ITER_CREATE for a point selection.

maxseq and maxbytes specify the most sequences or bytes possible to place into the off and len arrays. *nseq and *nbytes return the actual number of sequences and bytes put into the arrays.

Each call to H5S_SEL_ITER_GET_SEQ_LIST will retrieve the next set of sequences for the selection being iterated over.

The total number of bytes possible to retrieve from a selection iterator is the elmt_size passed to H5S_SEL_ITER_CREATE multiplied by the number of elements selected in the dataspace the iterator was created from (which can be retrieved with H5S_GET_SELECT_NPOINTS).  When there are no further sequences of elements to retrieve, calls to this routine will set *nseq and *nbytes to zero.

Returns:

Non-negative on success / Negative on failure

Example:

test / tselect.c [15070:15072]  hdf5_1_12  HDFFV/hdf5
            /* Try retrieving no sequences, with 0 for maxseq & maxbytes */
            ret = H5Ssel_iter_get_seq_list(iter_id, (size_t)0, (size_t)1, &nseq, &nbytes, off, len);
            CHECK(ret, FAIL, "H5Ssel_iter_get_seq_list");

History:
ReleaseChange
1.12.0Function introduced in this release.

--- Last Modified: December 16, 2019 | 02:30 PM