Page tree

 

JAVA

FORTRAN

C++

C

 

Link

H5LR_CREATE_REGION_REFERENCES

Creates an array of region references using an array of paths to datasets and an array of corresponding hyperslab descriptions.

Procedure:

H5LR_CREATE_REGION_REFERENCES(loc_id, num_elem, path, block_coord, ref_buf)

Signature:

herr_t H5LRcreate_region_references( hid_t loc_id, size_t num_elem, const char **path, const hsize_t *block_coord, hdset_reg_ref_t *ref_buf )

SUBROUTINE H5LRcreate_region_references_f(loc_id, num_elem, path, block_coord, buf, error)
    
  IMPLICIT NONE
    
  INTEGER(hid_t), INTENT(IN)  :: loc_id                                       ! File identifier for the HDF5 file containing the 
                                                                              !  referenced regions or 
                                                                              !  an object identifier for any object in that file
  INTEGER(size_t), INTENT(IN) :: num_elem                                     ! Number of elements in the path and ref_buf arrays
  CHARACTER(LEN=*), DIMENSION(1:num_elem), INTENT(IN) :: path                 ! Array of strings, which contain the paths to the 
                                                                              !  target datasets for the region references
  INTEGER(hsize_t), DIMENSION(:), INTENT(IN) :: block_coord                   ! Array of hyperslab coordinates  
  TYPE(hdset_reg_ref_t_f), DIMENSION(1:num_elem), INTENT(OUT) :: buff         ! Buffer for returning an array of region references 
  INTEGER, INTENT(OUT) :: error                                               ! Error code:
                                                                              !  0 on success and -1 on failure
END SUBROUTINE H5LRcreate_region_references_f

Parameters:
hid_t loc_id    IN: File identifier for the HDF5 file containing the referenced regions or an object identifier for any object in that file
size_t num_elem IN: Number of elements in the path and ref_buf arrays
const char **path IN: Array of pointers to strings, which contain the paths to the target datasets for the region references
const hsize_t *block_coord IN: Array of hyperslab coordinates
hdset_reg_ref_t *ref_buf OUT: Buffer for returning an array of region references

Description:

Motivation:

H5LRcreate_region_references is useful when creating large numbers of similar region references.

H5LRcreate_region_references creates a list of region references given an array of paths to datasets and another array listing the corner coordinates of the corresponding hyperslabs.

path parameter is an array of pointers to strings.

num_elem specifies the number of region references to be created, thus specifying the size of the path and ref_buf arrays.

Buffer block_coord has size 2*rank and is the coordinates of the starting point following by the coordinates of the ending point of the hyperslab, repeated num_elem times for each hyperslab. For example, creating two region references to two hyperslabs, one with a rectangular hyperslab region starting at element (2,2) to element (5,4) and the second rectangular region starting at element (7,7) to element (9,10), results in block_coord being {2,2,5,4, 7,7,9,10}.

The rank of the hyperslab will be the same as the rank of the target dataset. H5LRcreate_region_references will retrieve the rank for each dataset and will use those values to interpret the values in the buffer. Please note that rank may vary from one dataset to another.

Returns:

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

Example:

Coming Soon!

History:
Release    Change
1.0C function introduced in this release.
1.1Fortran wrapper introduced in this release.

--- Last Modified: December 04, 2017 | 07:28 AM