summaryrefslogtreecommitdiffstats
path: root/c++/src/H5DcreatProp.h
diff options
context:
space:
mode:
Diffstat (limited to 'c++/src/H5DcreatProp.h')
-rw-r--r--c++/src/H5DcreatProp.h203
1 files changed, 117 insertions, 86 deletions
diff --git a/c++/src/H5DcreatProp.h b/c++/src/H5DcreatProp.h
index 7434b9b..94ecbb5 100644
--- a/c++/src/H5DcreatProp.h
+++ b/c++/src/H5DcreatProp.h
@@ -1,130 +1,161 @@
// C++ informative line for the emacs editor: -*- C++ -*-
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* Copyright by The HDF Group. *
- * Copyright by the Board of Trustees of the University of Illinois. *
* All rights reserved. *
* *
* This file is part of HDF5. The full HDF5 copyright notice, including *
* terms governing use, modification, and redistribution, is contained in *
- * the files COPYING and Copyright.html. COPYING can be found at the root *
- * of the source code distribution tree; Copyright.html can be found at the *
- * root level of an installed copy of the electronic HDF5 document set and *
- * is linked from the top-level documents page. It can also be found at *
- * http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have *
- * access to either file, you may request a copy from help@hdfgroup.org. *
+ * the COPYING file, which can be found at the root of the source code *
+ * distribution tree, or in https://www.hdfgroup.org/licenses. *
+ * If you do not have access to either file, you may request a copy from *
+ * help@hdfgroup.org. *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-#ifndef __H5DSCreatPropList_H
-#define __H5DSCreatPropList_H
+#ifndef H5DSCreatPropList_H
+#define H5DSCreatPropList_H
-#ifndef H5_NO_NAMESPACE
namespace H5 {
-#endif
+
+// Class forwarding
+class DataType;
+class DataSpace;
/*! \class DSetCreatPropList
- \brief Class DSetCreatPropList represents the dataset creation property
- list.
+ \brief Class DSetCreatPropList inherits from ObjCreatPropList and provides
+ wrappers for the HDF5 dataset creation property functions.
*/
-class H5_DLLCPP DSetCreatPropList : public PropList {
- public:
- // Default dataset creation property list.
- static const DSetCreatPropList DEFAULT;
+// Inheritance: ObjCreatPropList -> PropList -> IdComponent
+class H5_DLLCPP DSetCreatPropList : public ObjCreatPropList {
+ public:
+ ///\brief Default dataset creation property list.
+ static const DSetCreatPropList &DEFAULT;
+
+ // Creates a dataset creation property list.
+ DSetCreatPropList();
+
+ // Queries whether all the filters set in this property list are
+ // available currently.
+ bool allFiltersAvail() const;
+
+ // Get space allocation time for this property.
+ H5D_alloc_time_t getAllocTime() const;
+
+ // Set space allocation time for dataset during creation.
+ void setAllocTime(H5D_alloc_time_t alloc_time) const;
+
+ // Retrieves the size of the chunks used to store a chunked layout dataset.
+ int getChunk(int max_ndims, hsize_t *dim) const;
+
+ // Sets the size of the chunks used to store a chunked layout dataset.
+ void setChunk(int ndims, const hsize_t *dim) const;
+
+ // Returns information about an external file.
+ void getExternal(unsigned idx, size_t name_size, char *name, off_t &offset, hsize_t &size) const;
+
+ // Returns the number of external files for a dataset.
+ int getExternalCount() const;
+
+ // Gets fill value writing time.
+ H5D_fill_time_t getFillTime() const;
- // Creates a dataset creation property list.
- DSetCreatPropList();
+ // Sets fill value writing time for dataset.
+ void setFillTime(H5D_fill_time_t fill_time) const;
- // Queries whether all the filters set in this property list are
- // available currently.
- bool allFiltersAvail();
+ // Retrieves a dataset fill value.
+ void getFillValue(const DataType &fvalue_type, void *value) const;
- // Get space allocation time for this property.
- H5D_alloc_time_t getAllocTime();
+ // Sets a dataset fill value.
+ void setFillValue(const DataType &fvalue_type, const void *value) const;
- // Set space allocation time for dataset during creation.
- void setAllocTime(H5D_alloc_time_t alloc_time);
+ // Returns information about a filter in a pipeline.
+ 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;
- // Retrieves the size of the chunks used to store a chunked layout dataset.
- int getChunk( int max_ndims, hsize_t* dim ) const;
+ // Returns information about a filter in a pipeline given the filter id.
+ 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;
- // Sets the size of the chunks used to store a chunked layout dataset.
- void setChunk( int ndims, const hsize_t* dim ) const;
+ // Gets the layout of the raw data storage of the data that uses this
+ // property list.
+ H5D_layout_t getLayout() const;
- // Returns information about an external file.
- void getExternal( unsigned idx, size_t name_size, char* name, off_t& offset, hsize_t& size ) const;
+ // Sets the type of storage used to store the raw data for the
+ // dataset that uses this property list.
+ void setLayout(H5D_layout_t layout) const;
- // Returns the number of external files for a dataset.
- int getExternalCount() const;
+ // Returns the number of filters in the pipeline.
+ int getNfilters() const;
- // Gets fill value writing time.
- H5D_fill_time_t getFillTime();
+ // Checks if fill value has been defined for this property.
+ H5D_fill_value_t isFillValueDefined() const;
- // Sets fill value writing time for dataset.
- void setFillTime(H5D_fill_time_t fill_time);
+ // Modifies the specified filter.
+ void modifyFilter(H5Z_filter_t filter_id, unsigned int flags, size_t cd_nelmts,
+ const unsigned int cd_values[]) const;
- // Retrieves a dataset fill value.
- void getFillValue( const DataType& fvalue_type, void* value ) const;
+ // Remove one or all filters from the filter pipeline.
+ void removeFilter(H5Z_filter_t filter_id) const;
- // Sets a dataset fill value.
- void setFillValue( const DataType& fvalue_type, const void* value ) const;
+ // Sets compression method and compression level.
+ void setDeflate(int level) const;
- // Returns information about a filter in a pipeline.
- 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;
+ // Adds an external file to the list of external files.
+ void setExternal(const char *name, off_t offset, hsize_t size) const;
- // Returns information about a filter in a pipeline given the filter id.
- 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;
+ // Adds a filter to the filter pipeline.
+ void setFilter(H5Z_filter_t filter, unsigned int flags = 0, size_t cd_nelmts = 0,
+ const unsigned int cd_values[] = NULL) const;
- // Gets the layout of the raw data storage of the data that uses this
- // property list.
- H5D_layout_t getLayout() const;
+ // Sets Fletcher32 checksum of EDC for this property list.
+ void setFletcher32() const;
- // Sets the type of storage used to store the raw data for the
- // dataset that uses this property list.
- void setLayout(H5D_layout_t layout) const;
+ // Sets method of the shuffle filter.
+ void setShuffle() const;
- // Returns the number of filters in the pipeline.
- int getNfilters() const;
+ // Sets SZIP compression method.
+ void setSzip(unsigned int options_mask, unsigned int pixels_per_block) const;
- // Checks if fill value has been defined for this property.
- H5D_fill_value_t isFillValueDefined();
+ // Sets N-bit compression method.
+ void setNbit() const;
- // Modifies the specified filter.
- void modifyFilter( H5Z_filter_t filter_id, unsigned int flags, size_t cd_nelmts, const unsigned int cd_values[] ) const;
+ // Maps elements of a virtual dataset to elements of the source dataset.
+ void setVirtual(const DataSpace &vspace, const char *src_fname, const char *src_dsname,
+ const DataSpace &sspace) const;
+ void setVirtual(const DataSpace &vspace, const H5std_string src_fname, const H5std_string src_dsname,
+ const DataSpace &sspace) const;
- // Remove one or all filters from the filter pipeline.
- void removeFilter( H5Z_filter_t filter_id) const;
+ ///\brief Returns this class name.
+ virtual H5std_string
+ fromClass() const override
+ {
+ return ("DSetCreatPropList");
+ }
- // Sets compression method and compression level.
- void setDeflate( int level ) const;
+ // Copy constructor - same as the original DSetCreatPropList.
+ DSetCreatPropList(const DSetCreatPropList &orig);
- // Adds an external file to the list of external files.
- void setExternal( const char* name, off_t offset, hsize_t size ) const;
+ // Creates a copy of an existing dataset creation property list
+ // using the property list id.
+ DSetCreatPropList(const hid_t plist_id);
- // Adds a filter to the filter pipeline.
- void setFilter( H5Z_filter_t filter, unsigned int flags = 0, size_t cd_nelmts = 0, const unsigned int cd_values[] = NULL) const;
+ // Noop destructor.
+ virtual ~DSetCreatPropList() override;
- // Sets Fletcher32 checksum of EDC for this property list.
- void setFletcher32() const;
+#ifndef DOXYGEN_SHOULD_SKIP_THIS
- // Sets method of the shuffle filter.
- void setShuffle() const;
+ // Deletes the global constant, should only be used by the library
+ static void deleteConstants();
- // Sets SZIP compression method.
- void setSzip(unsigned int options_mask, unsigned int pixels_per_block) const;
+ private:
+ static DSetCreatPropList *DEFAULT_;
- ///\brief Returns this class name.
- virtual H5std_string fromClass () const { return("DSetCreatPropList"); }
+ // Creates the global constant, should only be used by the library
+ static DSetCreatPropList *getConstant();
- // Copy constructor: creates a copy of a DSetCreatPropList object.
- DSetCreatPropList(const DSetCreatPropList& orig);
+#endif // DOXYGEN_SHOULD_SKIP_THIS
- // Creates a copy of an existing dataset creation property list
- // using the property list id.
- DSetCreatPropList(const hid_t plist_id);
+}; // end of DSetCreatPropList
+} // namespace H5
- // Noop destructor.
- virtual ~DSetCreatPropList();
-};
-#ifndef H5_NO_NAMESPACE
-}
-#endif
-#endif // __H5DSCreatPropList_H
+#endif // H5DSCreatPropList_H