MISR Toolkit  1.5.1
H5FaccProp.h
Go to the documentation of this file.
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 
18 namespace H5 {
19 
24 // Inheritance: PropList -> IdComponent
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 garbage collecting references flag.
118  void setGcReferences(unsigned gc_ref = 0) const;
119 
120  // Returns garbage collecting references setting.
121  unsigned getGcReferences() const;
122 
123  // Sets bounds on versions of library format to be used when creating
124  // or writing objects.
125  void setLibverBounds(H5F_libver_t libver_low, H5F_libver_t libver_high) const;
126 
127  // Gets the current settings for the library version format bounds.
128  void getLibverBounds(H5F_libver_t& libver_low, H5F_libver_t& libver_high) const;
129 
131  virtual H5std_string fromClass () const { return("FileAccPropList"); }
132 
133  // Copy constructor: creates a copy of a FileAccPropList object.
134  FileAccPropList(const FileAccPropList& original);
135 
136  // Creates a copy of an existing file access property list
137  // using the property list id.
138  FileAccPropList (const hid_t plist_id);
139 
140  // Noop destructor
141  virtual ~FileAccPropList();
142 
143 #ifndef DOXYGEN_SHOULD_SKIP_THIS
144 
145  // Deletes the global constant, should only be used by the library
146  static void deleteConstants();
147 
148  private:
150 
151  // Creates the global constant, should only be used by the library
152  static FileAccPropList* getConstant();
153 
154 #endif // DOXYGEN_SHOULD_SKIP_THIS
155 
156 }; // end of FileAccPropList
157 } // namespace H5
158 
159 #endif // __H5FileAccPropList_H
#define H5_DLLCPP
Definition: H5api_adpt.h:262
unsigned int hbool_t
Definition: H5public.h:142
HDFFCLIBAPI intf * block_size
unsigned long long hsize_t
Definition: H5public.h:169
static const FileAccPropList & DEFAULT
Default file access property list.
Definition: H5FaccProp.h:28
virtual H5std_string fromClass() const
Returns this class name.
Definition: H5FaccProp.h:131
H5F_libver_t
Definition: H5Fpublic.h:140
#define H5std_string
Definition: H5Exception.h:25
static FileAccPropList * DEFAULT_
Definition: H5FaccProp.h:149
Class FileAccPropList inherits from PropList and provides wrappers for the HDF5 file access property ...
Definition: H5FaccProp.h:25
int hid_t
Definition: H5Ipublic.h:54
enum H5F_mem_t H5FD_mem_t
Definition: H5FDpublic.h:28
Class PropList provides operations for generic property lists.
Definition: H5PropList.h:26
HDFFCLIBAPI intf intf * flags
H5F_close_degree_t
Definition: H5Fpublic.h:95
HDFFCLIBAPI intf _fcd intf * dtype
HDFFCLIBAPI intf * offset

MISR Toolkit - Copyright © 2005 - 2020 Jet Propulsion Laboratory
Generated on Fri Jun 19 2020 22:49:52