123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147 |
- // 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 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 H5PropList_H
- #define H5PropList_H
- namespace H5 {
- /*! \class PropList
- \brief Class PropList inherits from IdComponent and provides wrappers for
- the HDF5 generic property list.
- */
- // Inheritance: IdComponent
- class H5_DLLCPP PropList : public IdComponent {
- public:
- ///\brief Default property list
- static const PropList &DEFAULT;
- // Creates a property list of a given type or creates a copy of an
- // existing property list giving the property list id.
- PropList(const hid_t plist_id);
- // Make a copy of the given property list using assignment statement
- PropList &operator=(const PropList &rhs);
- // Compares this property list or class against the given list or class.
- bool operator==(const PropList &rhs) const;
- // Close this property list.
- virtual void close() override;
- // Close a property list class.
- void closeClass() const;
- // Makes a copy of the given property list.
- void copy(const PropList &like_plist);
- // Copies a property from this property list or class to another
- void copyProp(PropList &dest, const char *name) const;
- void copyProp(PropList &dest, const H5std_string &name) const;
- // Copies a property from one property list or property class to another
- void copyProp(PropList &dest, PropList &src, const char *name) const;
- void copyProp(PropList &dest, PropList &src, const H5std_string &name) const;
- // Gets the class of this property list, i.e. H5P_FILE_CREATE,
- // H5P_FILE_ACCESS, ...
- hid_t getClass() const;
- // Return the name of a generic property list class.
- H5std_string getClassName() const;
- // Returns the parent class of a generic property class.
- PropList getClassParent() const;
- // Returns the number of properties in this property list or class.
- size_t getNumProps() const;
- // Query the value of a property in a property list.
- void getProperty(const char *name, void *value) const;
- void getProperty(const H5std_string &name, void *value) const;
- H5std_string getProperty(const char *name) const;
- H5std_string getProperty(const H5std_string &name) const;
- // Set a property's value in a property list.
- void setProperty(const char *name, const char *charptr) const;
- void setProperty(const char *name, const void *value) const;
- void setProperty(const char *name, const H5std_string &strg) const;
- void setProperty(const H5std_string &name, const void *value) const;
- void setProperty(const H5std_string &name, const H5std_string &strg) const;
- // Deprecated after 1.10.1, missing const
- void setProperty(const char *name, void *value) const;
- void setProperty(const char *name, H5std_string &strg) const;
- void setProperty(const H5std_string &name, void *value) const;
- void setProperty(const H5std_string &name, H5std_string &strg) const;
- // Query the size of a property in a property list or class.
- size_t getPropSize(const char *name) const;
- size_t getPropSize(const H5std_string &name) const;
- // Determines whether a property list is a certain class.
- bool isAClass(const PropList &prop_class) const;
- /// Query the existence of a property in a property object.
- bool propExist(const char *name) const;
- bool propExist(const H5std_string &name) const;
- // Removes a property from a property list.
- void removeProp(const char *name) const;
- void removeProp(const H5std_string &name) const;
- ///\brief Returns this class name.
- virtual H5std_string
- fromClass() const override
- {
- return ("PropList");
- }
- // Default constructor: creates a stub PropList object.
- PropList();
- // Copy constructor: same as the original PropList.
- PropList(const PropList &original);
- // Gets the property list id.
- virtual hid_t getId() const override;
- // Destructor: properly terminates access to this property list.
- virtual ~PropList() override;
- #ifndef DOXYGEN_SHOULD_SKIP_THIS
- // Deletes the PropList global constant
- static void deleteConstants();
- protected:
- hid_t id; // HDF5 property list id
- // Sets the property list id.
- virtual void p_setId(const hid_t new_id) override;
- private:
- static PropList *DEFAULT_;
- // Dynamically allocates the PropList global constant
- static PropList *getConstant();
- // Friend function to set PropList id. For library use only.
- friend void f_PropList_setId(PropList *plist, hid_t new_id);
- #endif // DOXYGEN_SHOULD_SKIP_THIS
- }; // end of PropList
- } // namespace H5
- #endif // H5PropList_H
|