My Project  1.12.2
H5DxferProp.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://www.hdfgroup.org/licenses. *
11  * If you do not have access to either file, you may request a copy from *
12  * help@hdfgroup.org. *
13  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
14 
15 #ifndef H5DSetMemXferPropList_H
16 #define H5DSetMemXferPropList_H
17 
18 namespace H5 {
19 
24 // Inheritance: PropList -> IdComponent
25 class H5_DLLCPP DSetMemXferPropList : public PropList {
26  public:
29 
30  // Creates a dataset memory and transfer property list.
32 
33  // Creates a dataset transform property list.
34  DSetMemXferPropList(const char *expression);
35 
36  // Sets type conversion and background buffers.
37  void setBuffer(size_t size, void *tconv, void *bkg) const;
38 
39  // Reads buffer settings.
40  size_t getBuffer(void **tconv, void **bkg) const;
41 
42  // Sets B-tree split ratios for a dataset transfer property list.
43  void setBtreeRatios(double left, double middle, double right) const;
44 
45  // Gets B-tree split ratios for a dataset transfer property list.
46  void getBtreeRatios(double &left, double &middle, double &right) const;
47 
48  // Sets data transform expression.
49  void setDataTransform(const char *expression) const;
50  void setDataTransform(const H5std_string &expression) const;
51 
52  // Gets data transform expression.
53  ssize_t getDataTransform(char *exp, size_t buf_size = 0) const;
54  H5std_string getDataTransform() const;
55 
56  // Sets the dataset transfer property list status to TRUE or FALSE.
57  void setPreserve(bool status) const;
58 
59  // Checks status of the dataset transfer property list.
60  bool getPreserve() const;
61 
62  // Sets an exception handling callback for datatype conversion.
63  void setTypeConvCB(H5T_conv_except_func_t op, void *user_data) const;
64 
65  // Gets the exception handling callback for datatype conversion.
66  void getTypeConvCB(H5T_conv_except_func_t *op, void **user_data) const;
67 
68  // Sets the memory manager for variable-length datatype
69  // allocation in H5Dread and H5Treclaim.
70  void setVlenMemManager(H5MM_allocate_t alloc, void *alloc_info, H5MM_free_t free, void *free_info) const;
71 
72  // alloc and free are set to NULL, indicating that system
73  // malloc and free are to be used.
74  void setVlenMemManager() const;
75 
76  // Gets the memory manager for variable-length datatype
77  // allocation in H5Dread and H5Treclaim.
78  void getVlenMemManager(H5MM_allocate_t &alloc, void **alloc_info, H5MM_free_t &free,
79  void **free_info) const;
80 
81  // Sets the size of a contiguous block reserved for small data.
82  void setSmallDataBlockSize(hsize_t size) const;
83 
84  // Returns the current small data block size setting.
85  hsize_t getSmallDataBlockSize() const;
86 
87  // Sets number of I/O vectors to be read/written in hyperslab I/O.
88  void setHyperVectorSize(size_t vector_size) const;
89 
90  // Returns the number of I/O vectors to be read/written in
91  // hyperslab I/O.
92  size_t getHyperVectorSize() const;
93 
94  // Enables or disables error-detecting for a dataset reading
95  // process.
96  void setEDCCheck(H5Z_EDC_t check) const;
97 
98  // Determines whether error-detection is enabled for dataset reads.
99  H5Z_EDC_t getEDCCheck() const;
100 
102  virtual H5std_string
103  fromClass() const H5_OVERRIDE
104  {
105  return ("DSetMemXferPropList");
106  }
107 
108  // Copy constructor - same as the original DSetMemXferPropList.
110 
111  // Creates a copy of an existing dataset memory and transfer
112  // property list using the property list id.
113  DSetMemXferPropList(const hid_t plist_id);
114 
115  // Noop destructor
116  virtual ~DSetMemXferPropList() H5_OVERRIDE;
117 
118 #ifndef DOXYGEN_SHOULD_SKIP_THIS
119 
120  // Deletes the global constant, should only be used by the library
121  static void deleteConstants();
122 
123  private:
124  static DSetMemXferPropList *DEFAULT_;
125 
126  // Creates the global constant, should only be used by the library
127  static DSetMemXferPropList *getConstant();
128 
129 #endif // DOXYGEN_SHOULD_SKIP_THIS
130 
131 }; // end of DSetMemXferPropList
132 } // namespace H5
133 
134 #endif // H5DSetMemXferPropList_H
Class DSetCreatPropList inherits from PropList and provides wrappers for the HDF5 dataset memory and ...
Definition: H5DxferProp.h:25
static const DSetMemXferPropList & DEFAULT
Default dataset memory and transfer property list.
Definition: H5DxferProp.h:28
virtual H5std_string fromClass() const H5_OVERRIDE
Returns this class name.
Definition: H5DxferProp.h:103
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