HDF5 C++ API Reference Manual

- Main Page
- Namespaces
- Classes
- Files
- Examples

- File List
- File Members

# 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  * http://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