HDF5 C++ API Reference Manual

 

 

 

Main Page | Namespace List | Class Hierarchy | Class List | File List | Class Members | Examples

H5Library.h

Go to the documentation of this file.
00001 // C++ informative line for the emacs editor: -*- C++ -*- 00002 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00003 * Copyright by the Board of Trustees of the University of Illinois. * 00004 * All rights reserved. * 00005 * * 00006 * This file is part of HDF5. The full HDF5 copyright notice, including * 00007 * terms governing use, modification, and redistribution, is contained in * 00008 * the files COPYING and Copyright.html. COPYING can be found at the root * 00009 * of the source code distribution tree; Copyright.html can be found at the * 00010 * root level of an installed copy of the electronic HDF5 document set and * 00011 * is linked from the top-level documents page. It can also be found at * 00012 * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html. If you do not have * 00013 * access to either file, you may request a copy from hdfhelp@ncsa.uiuc.edu. * 00014 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ 00015 00016 #ifndef _H5Library_H 00017 #define _H5Library_H 00018 00019 #ifndef H5_NO_NAMESPACE 00020 namespace H5 { 00021 #endif 00022 00023 #ifndef DOXYGEN_SHOULD_SKIP_THIS 00024 #define NOTATEXIT (-10) // just in case the HDF5 library use more 00025 #endif // DOXYGEN_SHOULD_SKIP_THIS 00026 // negative constants. Note: the solution used for the atexit/global 00027 // destructors is not reliable, and desperately needs improvement 00028 // It is not even working, inifiteloop message still printed when 00029 // calling H5close 00030 00031 class H5_DLLCPP H5Library { 00032 public: 00033 #ifndef DOXYGEN_SHOULD_SKIP_THIS 00034 static bool need_cleanup; // indicates if H5close should be called 00035 #endif // DOXYGEN_SHOULD_SKIP_THIS 00036 00037 // Initializes the HDF5 library. 00038 static void open(); 00039 00040 // Flushes all data to disk, closes files, and cleans up memory. 00041 static void close(); 00042 00043 // Instructs library not to install atexit cleanup routine 00044 static void dontAtExit(); 00045 00046 // Returns the HDF library release number. 00047 static void getLibVersion( unsigned& majnum, unsigned& minnum, unsigned& relnum ); 00048 00049 // Verifies that the arguments match the version numbers compiled 00050 // into the library 00051 static void checkVersion( unsigned majnum, unsigned minnum, unsigned relnum ); 00052 00053 // Walks through all the garbage collection routines for the library, 00054 // which are supposed to free any unused memory they have allocated. 00055 static void garbageCollect(); 00056 00057 // Sets limits on the different kinds of free lists. 00058 static void setFreeListLimits(int reg_global_lim, int reg_list_lim, int 00059 arr_global_lim, int arr_list_lim, int blk_global_lim, int blk_list_lim); 00060 00061 private: 00062 // Default constructor - no instance ever created 00063 H5Library() {}; 00064 00065 }; 00066 #ifndef H5_NO_NAMESPACE 00067 } 00068 #endif 00069 #endif

Generated on Thu Aug 5 00:22:37 2004 by doxygen 1.3.7-20040718