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


The HDF Group Help Desk:
  Copyright by The HDF Group
and the Board of Trustees of the University of Illinois