/** \page RM Reference Manual The functions provided by the HDF5 C-API are grouped into the following \Emph{modules}:
Modules
\li \ref H5A "Attributes (H5A)" \li \ref H5D "Datasets (H5D)" \li \ref H5S "Dataspaces (H5S)" \li \ref H5T "Datatypes (H5T)" \li \ref H5E "Error Handling (H5E)" \li \ref H5F "Files (H5F)" \li \ref H5Z "Filters (H5Z)" \li \ref H5G "Groups (H5G)" \li \ref H5I "Identifiers (H5I)" \li \ref H5 "Library General (H5)" \li \ref H5L "Links (H5L)" \li \ref H5O "Objects (H5O)" \li \ref H5P "Property Lists (H5P)" \li \ref H5PL "Dynamically-loaded Plugins (H5PL)" \li \ref H5R "References (H5R)" \li \ref api-compat-macros \li Deprecated functions \li High-level Extensions
\ref H5 \ref H5A \ref H5D \ref H5E \ref H5F \ref H5G \ref H5I \ref H5L \ref H5O \ref H5P \ref H5PL \ref H5R \ref H5S \ref H5T \ref H5Z
Mind the gap
Follow these simple rules and stay out of trouble: \li \Bold{Handle discipline:} The HDF5 C-API is rife with handles or identifiers, which you typically obtain by creating new HDF5 items, copying items, or retrieving facets of items. \Emph{You acquire a handle, you own it!} (Colin Powell) In other words, 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(). (\Bold{Not} the `free` function \Emph{du jour}!) \li \Bold{Be careful with that saw:} 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! Break a leg!
\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. */