HDF5 C++ API Reference Manual

 

 

 

H5FaccProp.h

Go to the documentation of this file.
00001 // C++ informative line for the emacs editor: -*- C++ -*-
00002 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
00003  * Copyright by The HDF Group.                                               *
00004  * Copyright by the Board of Trustees of the University of Illinois.         *
00005  * All rights reserved.                                                      *
00006  *                                                                           *
00007  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
00008  * terms governing use, modification, and redistribution, is contained in    *
00009  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
00010  * of the source code distribution tree; Copyright.html can be found at the  *
00011  * root level of an installed copy of the electronic HDF5 document set and   *
00012  * is linked from the top-level documents page.  It can also be found at     *
00013  * https://support.hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
00014  * access to either file, you may request a copy from help@hdfgroup.org.     *
00015  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
00016 
00017 #ifndef _H5FileAccPropList_H
00018 #define _H5FileAccPropList_H
00019 
00020 #ifndef H5_NO_NAMESPACE
00021 namespace H5 {
00022 #endif
00023 
00024 // class for file access properties
00025 class H5_DLLCPP FileAccPropList : public PropList {
00026    public:
00027         static const FileAccPropList DEFAULT;
00028 
00029         // Creates a file access property list.
00030         FileAccPropList();
00031 
00032         // Modifies this property list to use the H5FD_STDIO driver
00033         void setStdio() const;
00034 
00035         // Set file driver for this property list
00036         void setDriver(hid_t new_driver_id, const void *new_driver_info) const;
00037 
00038         // Returns a low-level file driver identifier.
00039         hid_t getDriver() const;
00040 
00041         // Sets offset for family driver.
00042         void setFamilyOffset(hsize_t offset) const;
00043 
00044         // Gets offset for family driver.
00045         hsize_t getFamilyOffset() const;
00046 
00047         // Modifies this file access property list to use the sec2 driver.
00048         void setSec2() const;
00049 
00050         // Modifies this file access property list to use the H5FD_CORE
00051         // driver.
00052         void setCore (size_t increment, hbool_t backing_store) const;
00053 
00054         // Queries H5FD_CORE driver properties.
00055         void getCore (size_t& increment, hbool_t& backing_store) const;
00056 
00057         // Sets this file access properties list to the family driver.
00058         void setFamily( hsize_t memb_size, const FileAccPropList& memb_plist ) const;
00059 
00060         // Returns information about the family file access property list.
00061         void getFamily(hsize_t& memb_size, FileAccPropList& memb_plist) const;
00062         FileAccPropList getFamily(hsize_t& memb_size) const;
00063 
00064         // Emulates the old split file driver,
00065         void setSplit( FileAccPropList& meta_plist, FileAccPropList& raw_plist,
00066              const char* meta_ext = ".meta", const char* raw_ext = ".raw" ) const;
00067         void setSplit( FileAccPropList& meta_plist, FileAccPropList& raw_plist,
00068              const H5std_string& meta_ext, const H5std_string& raw_ext ) const;
00069 
00070         // Sets the maximum size of the data sieve buffer.
00071         void setSieveBufSize(size_t bufsize) const;
00072 
00073         // Returns the current settings for the data sieve buffer size
00074         // property
00075         size_t getSieveBufSize() const;
00076 
00077         // Sets the minimum size of metadata block allocations.
00078         void setMetaBlockSize(hsize_t &block_size) const;
00079 
00080         // Returns the current metadata block size setting.
00081         hsize_t getMetaBlockSize() const;
00082 
00083         // Modifies this file access property list to use the logging driver.
00084         void setLog(const char *logfile, unsigned flags, size_t buf_size) const;
00085         void setLog(const H5std_string& logfile, unsigned flags, size_t buf_size) const;
00086 
00087         // Sets alignment properties of this file access property list
00088         void setAlignment( hsize_t threshold = 1, hsize_t alignment = 1 ) const;
00089 
00090         // Retrieves the current settings for alignment properties from
00091         // this property list.
00092         void getAlignment( hsize_t& threshold, hsize_t& alignment ) const;
00093 
00094         // Sets data type for multi driver.
00095         void setMultiType(H5FD_mem_t dtype) const;
00096 
00097         // Returns the data type property for MULTI driver.
00098         H5FD_mem_t getMultiType() const;
00099 
00100         // Sets the meta data cache and raw data chunk cache parameters.
00101         void setCache( int mdc_nelmts, size_t rdcc_nelmts, size_t rdcc_nbytes, double rdcc_w0 ) const;
00102 
00103         // Queries the meta data cache and raw data chunk cache parameters.
00104         void getCache( int& mdc_nelmts, size_t& rdcc_nelmts, size_t& rdcc_nbytes, double& rdcc_w0 ) const;
00105 
00106         // Sets the degree for the file close behavior.
00107         void setFcloseDegree(H5F_close_degree_t degree);
00108 
00109         // Returns the degree for the file close behavior.
00110         H5F_close_degree_t getFcloseDegree();
00111 
00112         // Sets garbage collecting references flag.
00113         void setGcReferences( unsigned gc_ref = 0 ) const;
00114 
00115         // Returns garbage collecting references setting.
00116         unsigned getGcReferences() const;
00117 
00118         // Returns this class name
00119         virtual H5std_string fromClass () const { return("FileAccPropList"); }
00120 
00121         // Copy constructor: creates a copy of a FileAccPropList object.
00122         FileAccPropList( const FileAccPropList& original );
00123 
00124         // Creates a copy of an existing file access property list
00125         // using the property list id.
00126         FileAccPropList (const hid_t plist_id);
00127 
00128         // Noop destructor
00129         virtual ~FileAccPropList();
00130 };
00131 #ifndef H5_NO_NAMESPACE
00132 }
00133 #endif
00134 #endif

Generated on Wed Nov 4 14:13:07 2009 by  doxygen 1.4.7