My Project 1.10.10
Loading...
Searching...
No Matches
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
17namespace H5 {
18
23// Inheritance: PropList -> IdComponent
24class 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
Class FileAccPropList inherits from PropList and provides wrappers for the HDF5 file access property ...
Definition H5FaccProp.h:24
static const FileAccPropList & DEFAULT
Default file access property list.
Definition H5FaccProp.h:27
void setFileAccDirect(size_t boundary, size_t block_size, size_t cbuf_size) const
virtual H5std_string fromClass() const
Returns this class name.
Definition H5FaccProp.h:139
void getFileAccDirect(size_t &boundary, size_t &block_size, size_t &cbuf_size) const
Class PropList inherits from IdComponent and provides wrappers for the HDF5 generic property list.
Definition H5PropList.h:24
Definition H5AbstractDs.cpp:33


The HDF Group Help Desk:
  Copyright by The HDF Group