Please, help us to better serve our user community by answering the following short survey:
HDF5  1.15.0
API Reference
No Matches
Variable-length Sequence Datatypes

Detailed Description

+ Collaboration diagram for Variable-length Sequence Datatypes:


hid_t H5Tvlen_create (hid_t base_id)
 Creates a new variable-length array datatype.
herr_t H5Treclaim (hid_t type_id, hid_t space_id, hid_t plist_id, void *buf)
 Reclaims the variable length (VL) datatype memory buffers.

Function Documentation

◆ H5Treclaim()

herr_t H5Treclaim ( hid_t  type_id,
hid_t  space_id,
hid_t  plist_id,
void *  buf 

Reclaims the variable length (VL) datatype memory buffers.

[in]type_idDatatype identifier
[in]space_idDataspace identifier
[in]plist_idDataset transfer property list identifier used to create the buffer
[in]bufPointer to the buffer to be reclaimed
Returns a non-negative value if successful; otherwise, returns a negative value.

H5Treclaim() reclaims memory buffers created to store VL datatypes. It only frees the variable length data in the selection defined in the dataspace specified by space_id. The dataset transfer property list plist_id is required to find the correct allocation and/or free methods for the variable-length data in the buffer.


◆ H5Tvlen_create()

hid_t H5Tvlen_create ( hid_t  base_id)

Creates a new variable-length array datatype.

[in]base_idDatatype identifier, the element type of the datatype to create
Returns a variable-length datatype identifier if successful; otherwise returns H5I_INVALID_HID.

H5Tvlen_create() creates a new one-dimensional array datatype of variable-length (VL) with the base datatype base_id.

This one-dimensional array often represents a data sequence of the base datatype, such as characters for character sequences or vertex coordinates for polygon lists. The base type specified for the VL datatype can be any HDF5 datatype, including another VL datatype, a compound datatype, or an atomic datatype.

When necessary, use H5Tget_super() to determine the base type of the VL datatype.

The datatype identifier returned from this function should be released with H5Tclose() or resource leaks will result. Under certain circumstances, H5Dvlen_reclaim() must also be used.

H5Tvlen_create() cannot be used to create a variable-length string datatype. H5Tvlen_create() called with a string or character base type creates a variable-length sequence of strings (a variable-length, 1-dimensional array), with each element of the array being of the string or character base type.
To create a variable-length string datatype, see Creating variable-length string datatypes.