diff options
Diffstat (limited to 'c++/src/H5Library.h')
-rw-r--r-- | c++/src/H5Library.h | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/c++/src/H5Library.h b/c++/src/H5Library.h new file mode 100644 index 0000000..ed2feef --- /dev/null +++ b/c++/src/H5Library.h @@ -0,0 +1,42 @@ +#ifndef _H5Library_H +#define _H5Library_H + +#ifndef H5_NO_NAMESPACE +namespace H5 { +#endif + +#define NOTATEXIT (-10) // just in case the HDF5 library use more + // negative constants. Note: the solution used for the atexit/global + // destructors is not reliable, and desperately needs improvement + // It is not even working, inifiteloop message still printed when + // calling H5close + +class H5Library { + public: + static bool need_cleanup; // indicates if H5close should be called + + // Initializes the HDF5 library. + static void open(); + + // Flushes all data to disk, closes files, and cleans up memory. + static void close(); + + // Instructs library not to install atexit cleanup routine + static void dontAtExit(); + + // Returns the HDF library release number. + static void getLibVersion( unsigned& majnum, unsigned& minnum, unsigned& relnum ); + + // Verifies that the arguments match the version numbers compiled + // into the library + static void checkVersion( unsigned majnum, unsigned minnum, unsigned relnum ); + + private: + // Default constructor - no instance ever created + H5Library() {}; + +}; +#ifndef H5_NO_NAMESPACE +} +#endif +#endif |