HDF5 C++ API Reference Manual

- Main Page
- Namespaces
- Classes
- Files
- Examples

- Class List
- Class Hierarchy
- Class Members

# H5::H5Library Class Reference

`#include <H5Library.h>`

List of all members.

## Static Public Member Functions
static void | open ()
| Initializes the HDF5 library.
static void | close ()
| Flushes all data to disk, closes files, and cleans up memory.
static void | dontAtExit ()
| Instructs library not to install `atexit` cleanup routine.
static void | getLibVersion (unsigned &majnum, unsigned &minnum, unsigned &relnum)
| Returns the HDF library release number.
static void | checkVersion (unsigned majnum, unsigned minnum, unsigned relnum)
| Verifies that the arguments match the version numbers compiled into the library.
static void | garbageCollect ()
| Walks through all the garbage collection routines for the library, which are supposed to free any unused memory they have allocated.
static void | setFreeListLimits (int reg_global_lim, int reg_list_lim, int arr_global_lim, int arr_list_lim, int blk_global_lim, int blk_list_lim)
| Sets limits on the different kinds of free lists.

## Member Function Documentation

void H5::H5Library::open | ( |  | ) | `[static]`

Initializes the HDF5 library.

Exceptions:

  | H5::LibraryIException |

void H5::H5Library::close | ( |  | ) | `[static]`

Flushes all data to disk, closes files, and cleans up memory.

Exceptions:

  | H5::LibraryIException |

void H5::H5Library::dontAtExit | ( |  | ) | `[static]`

Instructs library not to install `atexit` cleanup routine.

Exceptions:

  | H5::LibraryIException |

void H5::H5Library::getLibVersion | ( | unsigned & | majnum,
|  | unsigned & | minnum,
|  | unsigned & | relnum |
| ) |  |  | `[static]`

Returns the HDF library release number.

Parameters:

  | majnum | - OUT: Major version of the library
  | minnum | - OUT: Minor version of the library
  | relnum | - OUT: Release number of the library

Exceptions:

  | H5::LibraryIException |

void H5::H5Library::checkVersion | ( | unsigned | majnum,
|  | unsigned | minnum,
|  | unsigned | relnum |
| ) |  |  | `[static]`

Verifies that the arguments match the version numbers compiled into the library.

Parameters:

  | majnum | - IN: Major version of the library
  | minnum | - IN: Minor version of the library
  | relnum | - IN: Release number of the library

Exceptions:

  | H5::LibraryIException |

Description
  For information about library version, please refer to the C layer Reference Manual at: ../RM_H5.html::Library-VersCheck

void H5::H5Library::garbageCollect | ( |  | ) | `[static]`

Walks through all the garbage collection routines for the library, which are supposed to free any unused memory they have allocated.

Exceptions:

  | H5::LibraryIException |

Description
  It is not required that H5Library::garbageCollect be called at any particular time; it is only necessary in certain situations, such as when the application has performed actions that cause the library to allocate many objects. The application should call H5Library::garbageCollect if it eventually releases those objects and wants to reduce the memory used by the library from the peak usage required.

  The library automatically garbage collects all the free lists when the application ends.

void H5::H5Library::setFreeListLimits | ( | int | reg_global_lim,
|  | int | reg_list_lim,
|  | int | arr_global_lim,
|  | int | arr_list_lim,
|  | int | blk_global_lim,
|  | int | blk_list_lim |
| ) |  |  | `[static]`

Sets limits on the different kinds of free lists.

Parameters:

  | reg_global_lim | - IN: Limit on all "regular" free list memory used
  | reg_list_lim | - IN: Limit on memory used in each "regular" free list
  | arr_global_lim | - IN: Limit on all "array" free list memory used
  | arr_list_lim | - IN: Limit on memory used in each "array" free list
  | blk_global_lim | - IN: Limit on all "block" free list memory used
  | blk_list_lim | - IN: Limit on memory used in each "block" free list

Exceptions:

  | H5::LibraryIException |

Description
  Setting a value of -1 for a limit means no limit of that type. For more information on free list limits, please refer to C layer Reference Manual at: ../RM_H5.html::Library-SetFreeListLimits