summaryrefslogtreecommitdiffstats
path: root/c++/src/H5AcreatProp.h
diff options
context:
space:
mode:
authorBinh-Minh Ribler <bmribler@hdfgroup.org>2018-05-07 04:58:06 (GMT)
committerBinh-Minh Ribler <bmribler@hdfgroup.org>2018-05-07 04:58:06 (GMT)
commit01b3b7bf479477c60f11dcbb101fcfd29becbdc1 (patch)
tree508729c465052bf56fb3ad4e752293bdba72aacf /c++/src/H5AcreatProp.h
parentc1e82e516fb6c8c7fe40be385ef09dd5502205f0 (diff)
downloadhdf5-01b3b7bf479477c60f11dcbb101fcfd29becbdc1.zip
hdf5-01b3b7bf479477c60f11dcbb101fcfd29becbdc1.tar.gz
hdf5-01b3b7bf479477c60f11dcbb101fcfd29becbdc1.tar.bz2
C++ API improvement
Description: - Added another argument, LinkCreatPropList& lcpl, to the CommonFG::createGroup() functions for the use of link creation property list. The new argument has a default value. Group createGroup(const char* name, size_t size_hint = 0, const LinkCreatPropList& lcpl = LinkCreatPropList::DEFAULT) Group createGroup(const H5std_string& name, size_t size_hint = 0, const LinkCreatPropList& lcpl = LinkCreatPropList::DEFAULT) - Removed memory leaks caused by accidentally invoking p_get_member_type (in H5CompType.cpp, user reported via email, maybe no jira issue) - Made H5Location::closeObjId static, so no object is needed to close an hdf5 id. - Added classes StrCreatPropList, LinkCreatPropList, AttrCreatPropList for the C property list classes H5P_STRING_CREATE, H5P_LINK_CREATE, and H5P_ATTRIBUTE_CREATE. Platforms tested: Linux/64 (jelly) Linux/64 (platypus) Darwin (osx1010test)
Diffstat (limited to 'c++/src/H5AcreatProp.h')
-rw-r--r--c++/src/H5AcreatProp.h62
1 files changed, 62 insertions, 0 deletions
diff --git a/c++/src/H5AcreatProp.h b/c++/src/H5AcreatProp.h
new file mode 100644
index 0000000..9f81897
--- /dev/null
+++ b/c++/src/H5AcreatProp.h
@@ -0,0 +1,62 @@
+// 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://support.hdfgroup.org/ftp/HDF5/releases. *
+ * If you do not have access to either file, you may request a copy from *
+ * help@hdfgroup.org. *
+ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+
+#ifndef __H5AttrCreatPropList_H
+#define __H5AttrCreatPropList_H
+
+namespace H5 {
+
+/*! \class AttrCreatPropList
+ \brief Class AttrCreatPropList inherits from StrCreatPropList and provides
+ wrappers for the HDF5 attribute creation property list.
+*/
+// Inheritance: StrCreatPropList -> PropList -> IdComponent
+class H5_DLLCPP AttrCreatPropList : public StrCreatPropList {
+ public:
+ ///\brief Default attribute creation property list.
+ static const AttrCreatPropList& DEFAULT;
+
+ // Creates a attribute creation property list.
+ AttrCreatPropList();
+
+ ///\brief Returns this class name.
+ virtual H5std_string fromClass () const { return("AttrCreatPropList"); }
+
+ // Copy constructor: same as the original AttrCreatPropList.
+ AttrCreatPropList(const AttrCreatPropList& original);
+
+ // Creates a copy of an existing attribute creation property list
+ // using the property list id.
+ AttrCreatPropList(const hid_t acpl_id);
+
+ // Noop destructor
+ virtual ~AttrCreatPropList();
+
+#ifndef DOXYGEN_SHOULD_SKIP_THIS
+
+ // Deletes the global constant, should only be used by the library
+ static void deleteConstants();
+
+ private:
+ static AttrCreatPropList* DEFAULT_;
+
+ // Creates the global constant, should only be used by the library
+ static AttrCreatPropList* getConstant();
+
+#endif // DOXYGEN_SHOULD_SKIP_THIS
+}; // end of AttrCreatPropList
+
+} // namespace H5
+
+#endif // __H5AttrCreatPropList_H