HDF5 C++ API Reference Manual

 

 

 

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

H5FaccProp.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 _H5FileAccPropList_H 00017 #define _H5FileAccPropList_H 00018 00019 #ifndef H5_NO_NAMESPACE 00020 namespace H5 { 00021 #endif 00022 00023 // class for file access properties 00024 class H5_DLLCPP FileAccPropList : public PropList { 00025 public: 00026 static const FileAccPropList DEFAULT; 00027 00028 // Modifies this property list to use the H5FD_STDIO driver 00029 void setStdio() const; 00030 00031 // Set file driver for this property list 00032 void setDriver(hid_t new_driver_id, const void *new_driver_info) const; 00033 00034 // Returns a low-level file driver identifier. 00035 hid_t getDriver() const; 00036 00037 // Sets offset for family driver. 00038 void setFamilyOffset(hsize_t offset) const; 00039 00040 // Gets offset for family driver. 00041 hsize_t getFamilyOffset() const; 00042 00043 // Modifies this file access property list to use the sec2 driver. 00044 void setSec2() const; 00045 00046 // Modifies this file access property list to use the H5FD_CORE 00047 // driver. 00048 void setCore (size_t increment, hbool_t backing_store) const; 00049 00050 // Queries H5FD_CORE driver properties. 00051 void getCore (size_t& increment, hbool_t& backing_store) const; 00052 00053 // Sets this file access properties list to the family driver. 00054 void setFamily( hsize_t memb_size, const FileAccPropList& memb_plist ) const; 00055 00056 // Returns information about the family file access property list. 00057 void getFamily(hsize_t& memb_size, FileAccPropList& memb_plist) const; 00058 FileAccPropList getFamily(hsize_t& memb_size) const; 00059 00060 // Emulates the old split file driver, 00061 void setSplit( FileAccPropList& meta_plist, FileAccPropList& raw_plist, 00062 const char* meta_ext = ".meta", const char* raw_ext = ".raw" ) const; 00063 void setSplit( FileAccPropList& meta_plist, FileAccPropList& raw_plist, 00064 const string& meta_ext, const string& raw_ext ) const; 00065 00066 #ifdef H5_HAVE_STREAM // for Stream Virtual File Driver 00067 // Modifies this file access property list to use the Stream driver. 00068 void setStream(H5FD_stream_fapl_t &fapl) const; 00069 00070 // Retrieves the streaming I/O driver settings 00071 H5FD_stream_fapl_t getStream() const; 00072 #endif 00073 00074 // Sets the maximum size of the data sieve buffer. 00075 void setSieveBufSize(size_t bufsize) const; 00076 00077 // Returns the current settings for the data sieve buffer size 00078 // property 00079 size_t getSieveBufSize() const; 00080 00081 // Sets the minimum size of metadata block allocations. 00082 void setMetaBlockSize(hsize_t &block_size) const; 00083 00084 // Returns the current metadata block size setting. 00085 hsize_t getMetaBlockSize() const; 00086 00087 // Modifies this file access property list to use the logging driver. 00088 void setLog(const char *logfile, unsigned flags, size_t buf_size) const; 00089 void setLog(const string& logfile, unsigned flags, size_t buf_size) const; 00090 00091 // Sets alignment properties of this file access property list 00092 void setAlignment( hsize_t threshold = 1, hsize_t alignment = 1 ) const; 00093 00094 // Retrieves the current settings for alignment properties from 00095 // this property list. 00096 void getAlignment( hsize_t& threshold, hsize_t& alignment ) const; 00097 00098 // Sets data type for multi driver. 00099 void setMultiType(H5FD_mem_t dtype) const; 00100 00101 // Returns the data type property for MULTI driver. 00102 H5FD_mem_t getMultiType() const; 00103 00104 // Sets the meta data cache and raw data chunk cache parameters. 00105 void setCache( int mdc_nelmts, size_t rdcc_nelmts, size_t rdcc_nbytes, double rdcc_w0 ) const; 00106 00107 // Queries the meta data cache and raw data chunk cache parameters. 00108 void getCache( int& mdc_nelmts, size_t& rdcc_nelmts, size_t& rdcc_nbytes, double& rdcc_w0 ) const; 00109 00110 // Sets the degree for the file close behavior. 00111 void setFcloseDegree(H5F_close_degree_t degree); 00112 00113 // Returns the degree for the file close behavior. 00114 H5F_close_degree_t getFcloseDegree(); 00115 00116 // Sets garbage collecting references flag. 00117 void setGcReferences( unsigned gc_ref = 0 ) const; 00118 00119 // Returns garbage collecting references setting. 00120 unsigned getGcReferences() const; 00121 00122 // Creates a file access property list. 00123 FileAccPropList(); 00124 00125 // Copy constructor: creates a copy of a FileAccPropList object. 00126 FileAccPropList( const FileAccPropList& original ); 00127 00128 // Creates a copy of an existing file access property list 00129 // using the property list id. 00130 FileAccPropList (const hid_t plist_id); 00131 00132 // Default destructor 00133 virtual ~FileAccPropList(); 00134 }; 00135 #ifndef H5_NO_NAMESPACE 00136 } 00137 #endif 00138 #endif

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