HDF5 C++ API  1.8.20
 All Classes Namespaces Functions Variables Typedefs Friends Pages
H5DcreatProp.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 __H5DSCreatPropList_H
16 #define __H5DSCreatPropList_H
17 
18 namespace H5 {
19 
24 // Inheritance: ObjCreatPropList -> PropList -> IdComponent
25 
26 class DataType;
27 
28 class H5_DLLCPP DSetCreatPropList : public ObjCreatPropList {
29  public:
31  static const DSetCreatPropList& DEFAULT;
32 
33  // Creates a dataset creation property list.
35 
36  // Queries whether all the filters set in this property list are
37  // available currently.
38  bool allFiltersAvail() const;
39 
40  // Get space allocation time for this property.
41  H5D_alloc_time_t getAllocTime() const;
42 
43  // Set space allocation time for dataset during creation.
44  void setAllocTime(H5D_alloc_time_t alloc_time) const;
45 
46  // Retrieves the size of the chunks used to store a chunked layout dataset.
47  int getChunk(int max_ndims, hsize_t* dim) const;
48 
49  // Sets the size of the chunks used to store a chunked layout dataset.
50  void setChunk(int ndims, const hsize_t* dim) const;
51 
52  // Returns information about an external file.
53  void getExternal(unsigned idx, size_t name_size, char* name, off_t& offset, hsize_t& size) const;
54 
55  // Returns the number of external files for a dataset.
56  int getExternalCount() const;
57 
58  // Gets fill value writing time.
59  H5D_fill_time_t getFillTime() const;
60 
61  // Sets fill value writing time for dataset.
62  void setFillTime(H5D_fill_time_t fill_time) const;
63 
64  // Retrieves a dataset fill value.
65  void getFillValue(const DataType& fvalue_type, void* value) const;
66 
67  // Sets a dataset fill value.
68  void setFillValue(const DataType& fvalue_type, const void* value) const;
69 
70  // Returns information about a filter in a pipeline.
71  H5Z_filter_t getFilter(int filter_number, unsigned int& flags, size_t& cd_nelmts, unsigned int* cd_values, size_t namelen, char name[], unsigned int &filter_config) const;
72 
73  // Returns information about a filter in a pipeline given the filter id.
74  void getFilterById(H5Z_filter_t filter_id, unsigned int &flags, size_t &cd_nelmts, unsigned int* cd_values, size_t namelen, char name[], unsigned int &filter_config) const;
75 
76  // Gets the layout of the raw data storage of the data that uses this
77  // property list.
78  H5D_layout_t getLayout() const;
79 
80  // Sets the type of storage used to store the raw data for the
81  // dataset that uses this property list.
82  void setLayout(H5D_layout_t layout) const;
83 
84  // Returns the number of filters in the pipeline.
85  int getNfilters() const;
86 
87  // Checks if fill value has been defined for this property.
88  H5D_fill_value_t isFillValueDefined() const;
89 
90  // Modifies the specified filter.
91  void modifyFilter(H5Z_filter_t filter_id, unsigned int flags, size_t cd_nelmts, const unsigned int cd_values[]) const;
92 
93  // Remove one or all filters from the filter pipeline.
94  void removeFilter(H5Z_filter_t filter_id) const;
95 
96  // Sets compression method and compression level.
97  void setDeflate(int level) const;
98 
99  // Adds an external file to the list of external files.
100  void setExternal(const char* name, off_t offset, hsize_t size) const;
101 
102  // Adds a filter to the filter pipeline.
103  void setFilter(H5Z_filter_t filter, unsigned int flags = 0, size_t cd_nelmts = 0, const unsigned int cd_values[] = NULL) const;
104 
105  // Sets Fletcher32 checksum of EDC for this property list.
106  void setFletcher32() const;
107 
108  // Sets method of the shuffle filter.
109  void setShuffle() const;
110 
111  // Sets SZIP compression method.
112  void setSzip(unsigned int options_mask, unsigned int pixels_per_block) const;
113 
114  // Sets N-bit compression method.
115  void setNbit() const;
116 
118  virtual H5std_string fromClass () const { return("DSetCreatPropList"); }
119 
120  // Copy constructor: creates a copy of a DSetCreatPropList object.
122 
123  // Creates a copy of an existing dataset creation property list
124  // using the property list id.
125  DSetCreatPropList(const hid_t plist_id);
126 
127  // Noop destructor.
128  virtual ~DSetCreatPropList();
129 
130 #ifndef DOXYGEN_SHOULD_SKIP_THIS
131 
132  // Deletes the global constant, should only be used by the library
133  static void deleteConstants();
134 
135  private:
136  static DSetCreatPropList* DEFAULT_;
137 
138  // Creates the global constant, should only be used by the library
139  static DSetCreatPropList* getConstant();
140 
141 #endif // DOXYGEN_SHOULD_SKIP_THIS
142 
143 }; // end of DSetCreatPropList
144 } // namespace H5
145 
146 #endif // __H5DSCreatPropList_H
Class DSetCreatPropList inherits from ObjCreatPropList and provides wrappers for the HDF5 dataset cre...
Definition: H5DcreatProp.h:28
Class DataType provides generic operations on HDF5 datatypes.
Definition: H5DataType.h:28
virtual H5std_string fromClass() const
Returns this class name.
Definition: H5DcreatProp.h:118
static const DSetCreatPropList & DEFAULT
Default dataset creation property list.
Definition: H5DcreatProp.h:31
Class ObjCreatPropList inherits from PropList and provides wrappers for the HDF5 file create property...
Definition: H5OcreatProp.h:25


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