diff options
author | Binh-Minh Ribler <bmribler@hdfgroup.org> | 2018-05-07 04:58:06 (GMT) |
---|---|---|
committer | Binh-Minh Ribler <bmribler@hdfgroup.org> | 2018-05-07 04:58:06 (GMT) |
commit | 01b3b7bf479477c60f11dcbb101fcfd29becbdc1 (patch) | |
tree | 508729c465052bf56fb3ad4e752293bdba72aacf /c++/src/H5LcreatProp.h | |
parent | c1e82e516fb6c8c7fe40be385ef09dd5502205f0 (diff) | |
download | hdf5-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/H5LcreatProp.h')
-rw-r--r-- | c++/src/H5LcreatProp.h | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/c++/src/H5LcreatProp.h b/c++/src/H5LcreatProp.h new file mode 100644 index 0000000..2a3b700 --- /dev/null +++ b/c++/src/H5LcreatProp.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 __H5LinkCreatPropList_H +#define __H5LinkCreatPropList_H + +namespace H5 { + +/*! \class LinkCreatPropList + \brief Class LinkCreatPropList inherits from StrCreatPropList and provides + wrappers for the HDF5 link creation property list. +*/ +// Inheritance: StrCreatPropList -> PropList -> IdComponent +class H5_DLLCPP LinkCreatPropList : public StrCreatPropList { + public: + ///\brief Default link creation property list. + static const LinkCreatPropList& DEFAULT; + + // Creates a link creation property list. + LinkCreatPropList(); + + ///\brief Returns this class name. + virtual H5std_string fromClass () const { return("LinkCreatPropList"); } + + // Copy constructor: same as the original LinkCreatPropList. + LinkCreatPropList(const LinkCreatPropList& original); + + // Creates a copy of an existing link creation property list + // using the property list id. + LinkCreatPropList(const hid_t lcpl_id); + + // Noop destructor + virtual ~LinkCreatPropList(); + +#ifndef DOXYGEN_SHOULD_SKIP_THIS + + // Deletes the global constant, should only be used by the library + static void deleteConstants(); + + private: + static LinkCreatPropList* DEFAULT_; + + // Creates the global constant, should only be used by the library + static LinkCreatPropList* getConstant(); + +#endif // DOXYGEN_SHOULD_SKIP_THIS +}; // end of LinkCreatPropList + +} // namespace H5 + +#endif // __H5LinkCreatPropList_H |