Page tree

 

JAVA

FORTRAN

C++

C

 

Link

H5S_GET_SELECT_HYPER_BLOCKLIST

Gets the list of hyperslab blocks currently selected

Procedure:

H5S_GET_SELECT_HYPER_BLOCKLIST ( space_id, startblock, numblocks, buf )

Signature:

herr_t H5Sget_select_hyper_blocklist(hid_t space_id,
        hsize_t startblock,
        hsize_t numblocks,
        hsize_t *buf
    )

Fortran90 Interface: h5sget_select_hyper_blocklist_f
   
SUBROUTINE h5sget_select_hyper_blocklist_f(space_id, startblock, num_blocks,
                                           buf, hdferr)
  IMPLICIT NONE
  INTEGER(HID_T), INTENT(IN)   :: space_id   ! Dataspace identifier
  INTEGER(HSIZE_T), INTENT(IN) :: startblock ! Hyperslab block to start with
                                             ! NOTE: numbering starts at 0
  INTEGER, INTENT(OUT) :: num_blocks         ! Number of hyperslab blocks to 
                                             ! get in the current hyperslab 
                                             ! selection
  INTEGER(HSIZE_T), DIMENSION(*), INTENT(OUT) :: buf
                                             ! List of hyperslab blocks selected
  INTEGER, INTENT(OUT) :: hdferr             ! Error code
END SUBROUTINE h5sget_select_hyper_blocklist_f
	

Parameters:
hid_t space_idIN: Dataspace identifier of selection to query
hsize_t startblock    IN: Hyperslab block to start with
hsize_t numblocksIN: Number of hyperslab blocks to get
hsize_t *bufOUT: List of hyperslab blocks selected

Description:

H5S_GET_SELECT_HYPER_BLOCKLIST returns a list of the hyperslab blocks currently selected. Starting with the startblock-th block in the list of blocks, numblocks blocks are put into the user's buffer. If the user's buffer fills up before numblocks blocks are inserted, the buffer will contain only as many blocks as fit.

The block coordinates have the same dimensionality (rank) as the dataspace they are located within. The list of blocks is formatted as follows:

     <"start" coordinate>, immediately followed by

     <"opposite" corner coordinate>, followed by

     the next "start" and "opposite" coordinates,

     etc. until all of the selected blocks have been listed.

No guarantee is implied as the order in which blocks are listed.

Returns:

Returns a non-negative value if successful; otherwise returns a negative value.

Example:

examples / h5_vds.c [190:194]  1.10/master  HDFFV/hdf5
        /* Make sure that this is a hyperslab selection and then print information. */
        if (H5Sget_select_type(vspace) == H5S_SEL_HYPERSLABS) { 
            nblocks = H5Sget_select_hyper_nblocks (vspace);
            buf = (hsize_t *)malloc(sizeof(hsize_t)*2*RANK2*nblocks);
            status = H5Sget_select_hyper_blocklist (vspace, (hsize_t)0, nblocks, buf);

Coming Soon!

History:

None

--- Last Modified: September 27, 2018 | 11:46 AM