My Project  1.10.11
H5FaccProp.h
1 // C++ informative line for the emacs editor: -*- C++ -*-
2 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
3  * Copyright by The HDF Group. *
4  * All rights reserved. *
5  * *
6  * This file is part of HDF5. The full HDF5 copyright notice, including *
7  * terms governing use, modification, and redistribution, is contained in *
8  * the COPYING file, which can be found at the root of the source code *
9  * distribution tree, or in https://www.hdfgroup.org/licenses. *
10  * If you do not have access to either file, you may request a copy from *
11  * help@hdfgroup.org. *
12  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
13 
14 #ifndef H5FileAccPropList_H
15 #define H5FileAccPropList_H
16 
17 namespace H5 {
18 
23 // Inheritance: PropList -> IdComponent
24 class H5_DLLCPP FileAccPropList : public PropList {
25  public:
27  static const FileAccPropList &DEFAULT;
28 
29  // Creates a file access property list.
31 
32  // Modifies this property list to use the H5FD_STDIO driver
33  void setStdio() const;
34 
35  // Set file driver for this property list
36  void setDriver(hid_t new_driver_id, const void *new_driver_info) const;
37 
38  // Returns a low-level file driver identifier.
39  hid_t getDriver() const;
40 
41  // Sets offset for family driver.
42  void setFamilyOffset(hsize_t offset) const;
43 
44  // Gets offset for family driver.
45  hsize_t getFamilyOffset() const;
46 
47  // Modifies this file access property list to use the sec2 driver.
48  void setSec2() const;
49 
50  // Modifies this file access property list to use the H5FD_CORE
51  // driver.
52  void setCore(size_t increment, hbool_t backing_store) const;
53 
54  // Queries H5FD_CORE driver properties.
55  void getCore(size_t &increment, hbool_t &backing_store) const;
56 
57  // Sets this file access properties list to the family driver.
58  void setFamily(hsize_t memb_size, const FileAccPropList &memb_plist) const;
59 
60  // Returns information about the family file access property list.
61  void getFamily(hsize_t &memb_size, FileAccPropList &memb_plist) const;
62  FileAccPropList getFamily(hsize_t &memb_size) const;
63 
64  // Emulates the old split file driver,
65  void setSplit(const FileAccPropList &meta_plist, const FileAccPropList &raw_plist,
66  const char *meta_ext = ".meta", const char *raw_ext = ".raw") const;
67  void setSplit(const FileAccPropList &meta_plist, const FileAccPropList &raw_plist,
68  const H5std_string &meta_ext = ".meta", const H5std_string &raw_ext = ".raw") const;
69 
70  // Sets the maximum size of the data sieve buffer.
71  void setSieveBufSize(size_t bufsize) const;
72 
73  // Returns the current settings for the data sieve buffer size
74  // property
75  size_t getSieveBufSize() const;
76 
77  // Sets the minimum size of metadata block allocations.
78  void setMetaBlockSize(hsize_t &block_size) const;
79 
80  // Returns the current metadata block size setting.
81  hsize_t getMetaBlockSize() const;
82 
83  // Modifies this file access property list to use the logging driver.
84  void setLog(const char *logfile, unsigned flags, size_t buf_size) const;
85  void setLog(const H5std_string &logfile, unsigned flags, size_t buf_size) const;
86 
87  // Sets alignment properties of this file access property list
88  void setAlignment(hsize_t threshold = 1, hsize_t alignment = 1) const;
89 
90  // Retrieves the current settings for alignment properties from
91  // this property list.
92  void getAlignment(hsize_t &threshold, hsize_t &alignment) const;
93 
94  // Sets data type for multi driver.
95  void setMultiType(H5FD_mem_t dtype) const;
96 
97  // Returns the data type property for MULTI driver.
98  H5FD_mem_t getMultiType() const;
99 
100  // Sets the meta data cache and raw data chunk cache parameters.
101  void setCache(int mdc_nelmts, size_t rdcc_nelmts, size_t rdcc_nbytes, double rdcc_w0) const;
102 
103  // Queries the meta data cache and raw data chunk cache parameters.
104  void getCache(int &mdc_nelmts, size_t &rdcc_nelmts, size_t &rdcc_nbytes, double &rdcc_w0) const;
105 
106  // Sets the degree for the file close behavior.
107  void setFcloseDegree(H5F_close_degree_t degree) const;
108 
109  // Returns the degree for the file close behavior.
110  H5F_close_degree_t getFcloseDegree() const;
111 
112  // Sets file access property list to use the H5FD_DIRECT driver.
113  void setFileAccDirect(size_t boundary, size_t block_size, size_t cbuf_size) const;
114 
115  // Retrieves information about the direct file access property list.
116  void getFileAccDirect(size_t &boundary, size_t &block_size, size_t &cbuf_size) const;
117 
118  // Sets garbage collecting references flag.
119  void setGcReferences(unsigned gc_ref = 0) const;
120 
121  // Returns garbage collecting references setting.
122  unsigned getGcReferences() const;
123 
124  // Sets file locking parameters.
125  void setFileLocking(hbool_t use_file_locking, hbool_t ignore_when_disabled) const;
126 
127  // Gets file locking parameters.
128  void getFileLocking(hbool_t &use_file_locking, hbool_t &ignore_when_disabled) const;
129 
130  // Sets bounds on versions of library format to be used when creating
131  // or writing objects.
132  void setLibverBounds(H5F_libver_t libver_low, H5F_libver_t libver_high) const;
133 
134  // Gets the current settings for the library version format bounds.
135  void getLibverBounds(H5F_libver_t &libver_low, H5F_libver_t &libver_high) const;
136 
138  virtual H5std_string
139  fromClass() const
140  {
141  return ("FileAccPropList");
142  }
143 
144  // Copy constructor: same as the original FileAccPropList.
145  FileAccPropList(const FileAccPropList &original);
146 
147  // Creates a copy of an existing file access property list
148  // using the property list id.
149  FileAccPropList(const hid_t plist_id);
150 
151  // Noop destructor
152  virtual ~FileAccPropList();
153 
154 #ifndef DOXYGEN_SHOULD_SKIP_THIS
155 
156  // Deletes the global constant, should only be used by the library
157  static void deleteConstants();
158 
159  private:
160  static FileAccPropList *DEFAULT_;
161 
162  // Creates the global constant, should only be used by the library
163  static FileAccPropList *getConstant();
164 
165 #endif // DOXYGEN_SHOULD_SKIP_THIS
166 
167 }; // end of FileAccPropList
168 } // namespace H5
169 
170 #endif // H5FileAccPropList_H
H5::FileAccPropList::setSec2
void setSec2() const
Modifies this file access property list to use the sec2 driver.
Definition: H5FaccProp.cpp:484
H5::FileAccPropList::setGcReferences
void setGcReferences(unsigned gc_ref=0) const
Sets garbage collecting references flag.
Definition: H5FaccProp.cpp:666
H5::PropListIException
Definition: H5Exception.h:123
H5::FileAccPropList::getMetaBlockSize
hsize_t getMetaBlockSize() const
Returns the current metadata block size setting.
Definition: H5FaccProp.cpp:427
H5::FileAccPropList::getSieveBufSize
size_t getSieveBufSize() const
Returns the current settings for the data sieve buffer size property from this property list.
Definition: H5FaccProp.cpp:370
H5::FileAccPropList::setMetaBlockSize
void setMetaBlockSize(hsize_t &block_size) const
Sets the minimum size of metadata block allocations.
Definition: H5FaccProp.cpp:411
H5::FileAccPropList::setFcloseDegree
void setFcloseDegree(H5F_close_degree_t degree) const
Sets the degree for the file close behavior.
Definition: H5FaccProp.cpp:628
H5::FileAccPropList::~FileAccPropList
virtual ~FileAccPropList()
Noop destructor.
Definition: H5FaccProp.cpp:806
H5::FileAccPropList::getDriver
hid_t getDriver() const
Return the ID of the low-level file driver.
Definition: H5FaccProp.cpp:146
H5::FileAccPropList::getFamily
void getFamily(hsize_t &memb_size, FileAccPropList &memb_plist) const
Returns information about the family file access property list.
Definition: H5FaccProp.cpp:281
H5::FileAccPropList::getFamilyOffset
hsize_t getFamilyOffset() const
Get offset for family driver.
Definition: H5FaccProp.cpp:199
H5::FileAccPropList::setAlignment
void setAlignment(hsize_t threshold=1, hsize_t alignment=1) const
Sets the alignment properties of this property list.
Definition: H5FaccProp.cpp:509
H5::FileAccPropList::getGcReferences
unsigned getGcReferences() const
Returns the garbage collecting references setting.
Definition: H5FaccProp.cpp:682
H5::FileAccPropList::DEFAULT
static const FileAccPropList & DEFAULT
Default file access property list.
Definition: H5FaccProp.h:27
H5::FileAccPropList::getAlignment
void getAlignment(hsize_t &threshold, hsize_t &alignment) const
Returns the current settings for alignment properties from this property list.
Definition: H5FaccProp.cpp:527
H5::FileAccPropList::setFileAccDirect
void setFileAccDirect(size_t boundary, size_t block_size, size_t cbuf_size) const
H5::FileAccPropList::setFileLocking
void setFileLocking(hbool_t use_file_locking, hbool_t ignore_when_disabled) const
Sets file locking flags.
Definition: H5FaccProp.cpp:708
H5::FileAccPropList::setFamilyOffset
void setFamilyOffset(hsize_t offset) const
Sets offset for family driver.
Definition: H5FaccProp.cpp:183
H5::FileAccPropList::fromClass
virtual H5std_string fromClass() const
Returns this class name.
Definition: H5FaccProp.h:139
H5::FileAccPropList::FileAccPropList
FileAccPropList()
Creates a file access property list.
Definition: H5FaccProp.cpp:94
H5::FileAccPropList::getFileAccDirect
void getFileAccDirect(size_t &boundary, size_t &block_size, size_t &cbuf_size) const
H5::FileAccPropList::setLibverBounds
void setLibverBounds(H5F_libver_t libver_low, H5F_libver_t libver_high) const
Sets bounds on versions of library format to be used when creating or writing objects.
Definition: H5FaccProp.cpp:763
H5::FileAccPropList::getCore
void getCore(size_t &increment, hbool_t &backing_store) const
Queries core file driver properties.
Definition: H5FaccProp.cpp:242
H5::FileAccPropList::getCache
void getCache(int &mdc_nelmts, size_t &rdcc_nelmts, size_t &rdcc_nbytes, double &rdcc_w0) const
Queries the meta data cache and raw data chunk cache parameters.
Definition: H5FaccProp.cpp:612
H5::FileAccPropList::setStdio
void setStdio() const
Modifies this property list to use the H5FD_STDIO driver.
Definition: H5FaccProp.cpp:126
H5::FileAccPropList::setCore
void setCore(size_t increment, hbool_t backing_store) const
Modifies this file access property list to use the H5FD_CORE driver.
Definition: H5FaccProp.cpp:224
H5::FileAccPropList::setCache
void setCache(int mdc_nelmts, size_t rdcc_nelmts, size_t rdcc_nbytes, double rdcc_w0) const
Sets the meta data cache and raw data chunk cache parameters.
Definition: H5FaccProp.cpp:593
H5::FileAccPropList::setSieveBufSize
void setSieveBufSize(size_t bufsize) const
Sets the maximum size of the data sieve buffer.
Definition: H5FaccProp.cpp:391
H5::FileAccPropList::getMultiType
H5FD_mem_t getMultiType() const
Returns the data type property for MULTI driver.
Definition: H5FaccProp.cpp:565
H5::PropList::getId
virtual hid_t getId() const
Get the id of this property list.
Definition: H5PropList.cpp:292
H5::FileAccPropList::setLog
void setLog(const char *logfile, unsigned flags, size_t buf_size) const
Modifies this file access property list to use the logging driver.
Definition: H5FaccProp.cpp:451
H5::FileAccPropList::getFcloseDegree
H5F_close_degree_t getFcloseDegree() const
Returns the degree for the file close behavior.
Definition: H5FaccProp.cpp:644
H5
Definition: H5AbstractDs.cpp:33
H5::FileAccPropList::setSplit
void setSplit(const FileAccPropList &meta_plist, const FileAccPropList &raw_plist, const char *meta_ext=".meta", const char *raw_ext=".raw") const
Emulates the old split file driver, which stored meta data in one file and raw data in another file.
Definition: H5FaccProp.cpp:328
H5::FileAccPropList::setFamily
void setFamily(hsize_t memb_size, const FileAccPropList &memb_plist) const
Sets this file access property list to use the family driver.
Definition: H5FaccProp.cpp:262
H5::FileAccPropList::setDriver
void setDriver(hid_t new_driver_id, const void *new_driver_info) const
Set file driver for this property list.
Definition: H5FaccProp.cpp:167
H5::FileAccPropList
Class FileAccPropList inherits from PropList and provides wrappers for the HDF5 file access property ...
Definition: H5FaccProp.h:24
H5::FileAccPropList::setMultiType
void setMultiType(H5FD_mem_t dtype) const
Sets data type for MULTI driver.
Definition: H5FaccProp.cpp:546
H5::FileAccPropList::getLibverBounds
void getLibverBounds(H5F_libver_t &libver_low, H5F_libver_t &libver_high) const
Gets the current settings for the library version format bounds from a file access property list.
Definition: H5FaccProp.cpp:793
H5::FileAccPropList::getFileLocking
void getFileLocking(hbool_t &use_file_locking, hbool_t &ignore_when_disabled) const
Gets file locking flags.
Definition: H5FaccProp.cpp:731
H5::PropList
Class PropList inherits from IdComponent and provides wrappers for the HDF5 generic property list.
Definition: H5PropList.h:24


The HDF Group Help Desk:
  Copyright by The HDF Group