HDF5 C++ API  1.10.0-patch1 currently under development
 All Classes Namespaces Functions Variables Typedefs Friends Pages
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 files COPYING and Copyright.html. COPYING can be found at the root *
10  * of the source code distribution tree; Copyright.html can be found at the *
11  * root level of an installed copy of the electronic HDF5 document set and *
12  * is linked from the top-level documents page. It can also be found at *
13  * http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have *
14  * access to either file, you may request a copy from help@hdfgroup.org. *
15  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
16 
17 // Class DSetMemXferPropList represents the HDF5 dataset transfer property list
18 // and inherits from PropList.
19 
20 #ifndef __H5DSetMemXferPropList_H
21 #define __H5DSetMemXferPropList_H
22 
23 #ifndef H5_NO_NAMESPACE
24 namespace H5 {
25 #endif
26 
31 class H5_DLLCPP DSetMemXferPropList : public PropList {
32  public:
35 
36  // Creates a dataset memory and transfer property list.
38 
39  // Creates a dataset transform property list.
40  DSetMemXferPropList(const char* expression);
41 
42  // Sets type conversion and background buffers.
43  void setBuffer( size_t size, void* tconv, void* bkg ) const;
44 
45  // Reads buffer settings.
46  size_t getBuffer( void** tconv, void** bkg ) const;
47 
48  // Sets B-tree split ratios for a dataset transfer property list.
49  void setBtreeRatios( double left, double middle, double right ) const;
50 
51  // Gets B-tree split ratios for a dataset transfer property list.
52  void getBtreeRatios( double& left, double& middle, double& right ) const;
53 
54  // Sets data transform expression.
55  void setDataTransform(const char* expression) const;
56  void setDataTransform(const H5std_string& expression) const;
57 
58  // Gets data transform expression.
59  ssize_t getDataTransform(char* exp, size_t buf_size=0) const;
60  H5std_string getDataTransform() const;
61 
62  // Sets the dataset transfer property list status to TRUE or FALSE.
63  void setPreserve( bool status ) const;
64 
65  // Checks status of the dataset transfer property list.
66  bool getPreserve() const;
67 
68  // Sets an exception handling callback for datatype conversion.
69  void setTypeConvCB( H5T_conv_except_func_t op, void *user_data) const;
70 
71  // Gets the exception handling callback for datatype conversion.
72  void getTypeConvCB( H5T_conv_except_func_t *op, void **user_data) const;
73 
74  // Sets the memory manager for variable-length datatype
75  // allocation in H5Dread and H5Dvlen_reclaim.
76  void setVlenMemManager( H5MM_allocate_t alloc, void* alloc_info,
77  H5MM_free_t free, void* free_info ) const;
78 
79  // alloc and free are set to NULL, indicating that system
80  // malloc and free are to be used.
81  void setVlenMemManager() const;
82 
83  // Gets the memory manager for variable-length datatype
84  // allocation in H5Dread and H5Tvlen_reclaim.
85  void getVlenMemManager( H5MM_allocate_t& alloc, void** alloc_info,
86  H5MM_free_t& free, void** free_info ) const;
87 
88  // Sets the size of a contiguous block reserved for small data.
89  void setSmallDataBlockSize(hsize_t size);
90 
91  // Returns the current small data block size setting.
92  hsize_t getSmallDataBlockSize();
93 
94  // Sets number of I/O vectors to be read/written in hyperslab I/O.
95  void setHyperVectorSize(size_t vector_size);
96 
97  // Returns the number of I/O vectors to be read/written in
98  // hyperslab I/O.
99  size_t getHyperVectorSize();
100 
101  // Enables or disables error-detecting for a dataset reading
102  // process.
103  void setEDCCheck(H5Z_EDC_t check);
104 
105  // Determines whether error-detection is enabled for dataset reads.
106  H5Z_EDC_t getEDCCheck();
107 
109  virtual H5std_string fromClass () const { return("DSetMemXferPropList"); }
110 
111  // Copy constructor: makes a copy of a DSetMemXferPropList object.
113 
114  // Creates a copy of an existing dataset memory and transfer
115  // property list using the property list id.
116  DSetMemXferPropList(const hid_t plist_id);
117 
118  // Noop destructor
119  virtual ~DSetMemXferPropList();
120 
121 #ifndef DOXYGEN_SHOULD_SKIP_THIS
122 
123  // Deletes the global constant, should only be used by the library
124  static void deleteConstants();
125 
126  private:
127  static DSetMemXferPropList* DEFAULT_;
128 
129  // Creates the global constant, should only be used by the library
130  static DSetMemXferPropList* getConstant();
131 
132 #endif // DOXYGEN_SHOULD_SKIP_THIS
133 };
134 #ifndef H5_NO_NAMESPACE
135 }
136 #endif
137 #endif // __H5DSetMemXferPropList_H
Definition: H5AbstractDs.cpp:31
virtual H5std_string fromClass() const
Returns this class name.
Definition: H5DxferProp.h:109
Class DSetMemXferPropList represents the dataset memory and transfer property list.
Definition: H5DxferProp.h:31
static const DSetMemXferPropList & DEFAULT
Default dataset memory and transfer property list.
Definition: H5DxferProp.h:34
Class PropList provides operations for generic property lists.
Definition: H5PropList.h:25


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