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 [email protected]. *
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         // Returns this class name
00123         virtual string fromClass () const { return("FileAccPropList"); }
00124 
00125         // Creates a file access property list.
00126         FileAccPropList();
00127 
00128         // Copy constructor: creates a copy of a FileAccPropList object.
00129         FileAccPropList( const FileAccPropList& original );
00130 
00131         // Creates a copy of an existing file access property list
00132         // using the property list id.
00133         FileAccPropList (const hid_t plist_id);
00134 
00135         // Noop destructor
00136         virtual ~FileAccPropList();
00137 };
00138 #ifndef H5_NO_NAMESPACE
00139 }
00140 #endif
00141 #endif

Generated on Mon Oct 31 04:59:47 2005 by  doxygen 1.4.2