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