IO Module¶
All the definitions in the IO module can be accessed by including the header file <hippio.h>.
Classes, functions and variables are all defined within the HIPP::IO namespace.
Code that uses the IO module would be like
/* src.cpp */
#include <hippio.h> // include all definitions in HIPP IO
int main(int argc, char const *argv[]){
HIPP::IO::H5File file("list.h5", "w"); // create a new file of HDF5 format
// perform IO on the file instance
}
To generate the executable binary, the links to “libhippio.so” and “libhippcntl.so” are necessary. Depending on your installation of the HDF5 library, the link to libhdf5.so would also be required. The compiling command in an Unix-like system would be like
$ g++ -std=c++17 src.cpp -lhippio -lhippcntl -lhdf5
To avoid confusion, we list the convetions used in this API reference:
The term Standard means the HDF5 standard C APIs (types, functions, variables, macros, etc.) defined by the HDF5 Group. E.g., the Standard
hid_tmeans the generic object type defined by HDF5 C API.The HIPP IO library has three components: the High-level API, the Extended API, and the Intermediate-level API (see below for the detail API references of each component).
The documentation text of one definition would probably refer to other definitions. If they are in the same namespace (
HIPP::IOhere), we drop the namespace specifiers for clarity (e.g., classH5Filemeans classHIPP::IO::H5File).The example code that uses C++ standard library may ignore the
std::namespace specifier (namely, assume a globalusing namespace stdis used). This is not good in practice, but makes the example code more compact.
High-level API
Extended API
Intermediate-level API