/** \page RM HDF5 Reference Manual The functions provided by the HDF5 API are grouped into the following \Emph{modules}:
Modules
Core Reference Manual Modules
ModuleLanguageDescription
Attributes (H5A)@ref H5A "C"@ref H5::Attribute "C++"@ref FH5A "Fortran"@ref JH5A "Java"HDF5 attribute is a small metadata object describing the nature and/or intended usage of a primary data object.
Datasets (H5D)@ref H5D "C"@ref H5::DataSet "C++"@ref FH5D "Fortran"@ref JH5D "Java"Manage HDF5 datasets, including the transfer of data between memory and disk and the description of dataset properties.
Dataspaces (H5S)@ref H5S "C"@ref H5::DataSpace "C++"@ref FH5S "Fortran"@ref JH5S "Java"HDF5 dataspaces describe the shape of datasets in memory or in HDF5 files.
Datatypes (H5T)@ref H5T "C"@ref H5::DataType "C++"@ref FH5T "Fortran"@ref JH5T "Java"HDF5 datatypes describe the element type of HDF5 datasets and attributes.
Error Handling (H5E)@ref H5E "C"@ref H5::Exception "C++"@ref FH5E "Fortran"@ref JH5E "Java"HDF5 library error reporting.
Event Set (H5ES)@ref H5ES "C""C++""Fortran""Java"HDF5 event set life cycle used with HDF5 VOL connectors that enable the asynchronous feature in HDF5.
Files (H5F)@ref H5F "C"@ref H5::H5File "C++"@ref FH5F "Fortran"@ref JH5F "Java"Manage HDF5 files.
Filters (H5Z)@ref H5Z "C""C++"@ref FH5Z "Fortran"@ref JH5Z "Java"Manage HDF5 user-defined filters
Groups (H5G)@ref H5G "C"@ref H5::Group "C++"@ref FH5G "Fortran"@ref JH5G "Java"Manage HDF5 groups.
Identifiers (H5I)@ref H5I "C"@ref H5::IdComponent "C++"@ref FH5I "Fortran"@ref JH5I "Java"Manage identifiers defined by the HDF5 library.
Library General (%H5)@ref H5 "C"@ref H5::H5Library "C++"@ref FH5 "Fortran"@ref JH5 "Java"Manage the life cycle of HDF5 library instances.
Links (H5L)@ref H5L "C""C++"@ref FH5L "Fortran"@ref JH5L "Java"Manage HDF5 links and link types.
Objects (H5O)@ref H5O "C""C++"@ref FH5O "Fortran"@ref JH5O "Java"Manage HDF5 objects (groups, datasets, datatype objects).
Property Lists (H5P)@ref H5P "C"@ref H5::PropList "C++"@ref FH5P "Fortran"@ref JH5P "Java"HDF5 property lists are the main vehicle to configure the behavior of HDF5 API functions.
Dynamically-loaded Plugins (H5PL)@ref H5PL "C""C++""Fortran"@ref JH5PL "Java"Manage the loading behavior of HDF5 plugins.
References (H5R)@ref H5R "C""C++"@ref FH5R "Fortran"@ref JH5R "Java"Manage HDF5 references (HDF5 objects, attributes, and selections on datasets a.k.a. dataset regions).
VOL Connector (H5VL)@ref H5VL "C""C++"@ref FH5VL "Fortran"@ref JH5VL "Java"Manage HDF5 VOL connector plugins.
Language
High-level Reference Manual Modules
ModuleDescription
HDF5 Lite APIs (H5LT,H5LD)@ref H5LT "C""C++"@ref FH5LT "Fortran""Java"Functions to simplify creating and manipulating datasets, attributes and other features.
HDF5 Images API (H5IM)@ref H5IM "C""C++"@ref FH5IM "Fortran""Java"Creating and manipulating HDF5 datasets intended to be interpreted as images.
HDF5 Table APIs (H5TB)@ref H5TB "C""C++"@ref FH5TB "Fortran""Java"Creating and manipulating HDF5 datasets intended to be interpreted as tables.
HDF5 Packet Table APIs (H5PT)@ref H5PT "C""C++""Fortran""Java"Creating and manipulating HDF5 datasets to support append- and read-only operations on table data.
HDF5 Dimension Scales APIs (H5DS)@ref H5DS "C""C++"@ref FH5DS "Fortran""Java"Creating and manipulating HDF5 datasets that are associated with the dimension of another HDF5 dataset.
HDF5 Optimizations APIs (H5DO)@ref H5DO "C""C++""Fortran""Java"Bypassing default HDF5 behavior in order to optimize for specific use cases.
Extensions (H5LR, H5LT)@ref H5LR "C""C++""Fortran""Java"
Additional Java Reference Manual Modules
@ref HDF5CONSTThis class contains C constants and enumerated types of HDF5 library.
@ref HDFNATIVEThis class encapsulates native methods to deal with arrays of numbers, converting from numbers to bytes and bytes to numbers.
@ref HDFARRAYThis is a class for handling multidimensional arrays for HDF.
@ref ERRORSThe class HDF5Exception returns errors from the Java HDF5 Interface.
\ref predefined_datatypes_tables
Deprecated functions
Functions with \ref ASYNC
\ref api-compat-macros
Follow these simple rules and stay out of trouble: \li \Bold{Handle discipline:} The HDF5 API is rife with handles or identifiers, which you typically obtain by creating new HDF5 items, copying items, or retrieving facets of items. Consequently, \Bold{and most importantly}, you are responsible for releasing the underlying resources via the matching \Code{H5*close()} call, or deal with the consequences of resource leakage. \li \Bold{Closed means closed:} Do not pass identifiers that were previously \Code{H5*close()}-d to other API functions! It will generate an error. \li \Bold{Dynamic memory allocation:} The API contains a few functions in which the HDF5 library dynamically allocates memory on the caller's behalf. The caller owns this memory and eventually must free it by calling H5free_memory() and not language-explicit memory functions. \li \Bold{Don't modify while iterating:} Do not modify the underlying collection when an iteration is in progress! \li \Bold{Use of locations:} Certain API functions, typically called \Code{H5***_by_name} use a combination of identifiers and path names to refer to HDF5 objects. If the identifier fully specifies the object in question, pass \Code{'.'} (a dot) for the name! \cpp_c_api_note \par Don't like what you see? - You can help to improve this Reference Manual Complete the survey linked near the top of this page!\n We treat documentation like code: Fork the HDF5 repo, make changes, and create a pull request !\n See the \ref RMT for general guidance. */