summaryrefslogtreecommitdiffstats
path: root/c++/src/H5Group.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'c++/src/H5Group.cpp')
-rw-r--r--c++/src/H5Group.cpp292
1 files changed, 1 insertions, 291 deletions
diff --git a/c++/src/H5Group.cpp b/c++/src/H5Group.cpp
index aa27a18..c4c7017 100644
--- a/c++/src/H5Group.cpp
+++ b/c++/src/H5Group.cpp
@@ -27,6 +27,7 @@
#include "H5OcreatProp.h"
#include "H5DcreatProp.h"
#include "H5DxferProp.h"
+#include "H5LcreatProp.h"
#include "H5LaccProp.h"
#include "H5Location.h"
#include "H5Object.h"
@@ -76,297 +77,6 @@ void Group::closeObjId(hid_t obj_id) const
}
}
-/*** For H5L API ***/
-
-//--------------------------------------------------------------------------
-// Function: Group::newLink
-///\brief Creates a soft link from \a link_name to \a target_name.
-///\param target_name - IN: Name of object, can be a non-existing object
-///\param link_name - IN: Link name for the target name
-///\param lcpl - IN: Link creation plist - default to PropList::DEFAULT
-///\param lapl - IN: Link access plist - default to PropList::DEFAULT
-///\exception H5::FileIException or H5::GroupIException
-///\par Description
-/// Note that both names are interpreted relative to the current
-/// location.
-/// For information on creating a soft link, please refer to the
-/// H5Lcreate_soft APIs in the HDF5 C Reference Manual.
-// March 2018
-//--------------------------------------------------------------------------
-void Group::newLink(const char *target_name, const char *link_name,
- const PropList& lcpl, const PropList& lapl) const
-{
- herr_t ret_value = -1;
- hid_t lcpl_id = lcpl.getId();
- hid_t lapl_id = lapl.getId();
-
- ret_value = H5Lcreate_soft(target_name, id, link_name, lcpl_id, lapl_id);
- if (ret_value < 0)
- throwException("newLink", "creating soft link failed");
-}
-
-//--------------------------------------------------------------------------
-// Function: Group::newLink
-///\brief This is an overloaded member function, provided for convenience.
-/// It differs from the above function in that it takes an
-/// \c H5std_string for \a target_name and \a link_name.
-///\exception H5::FileIException or H5::GroupIException
-// March, 2018
-//--------------------------------------------------------------------------
-void Group::newLink(const H5std_string& target_name, const H5std_string&
- link_name, const PropList& lcpl, const PropList& lapl) const
-{
- newLink(target_name.c_str(), link_name.c_str(), lcpl, lapl);
-}
-
-//--------------------------------------------------------------------------
-// Function: Group::newLink
-///\brief Creates a hard link from \a new_name to \a curr_name.
-///\param curr_name - IN: Name of the existing object
-///\param new_name - IN: New name for the object
-///\param lcpl - IN: Link creation plist - default to PropList::DEFAULT
-///\param lapl - IN: Link access plist - default to PropList::DEFAULT
-///\exception H5::FileIException or H5::GroupIException
-///\par Description
-/// Note that both names are interpreted relative to the
-/// specified location.
-/// For information on creating a hard link, please refer to the
-/// H5Lcreate_hard APIs in the HDF5 C Reference Manual.
-// March 2018
-//--------------------------------------------------------------------------
-void Group::newLink(const char *curr_name, const Group& new_loc,
- const char *new_name, const PropList& lcpl, const PropList& lapl) const
-{
- herr_t ret_value = -1;
- hid_t new_loc_id = new_loc.getId();
- hid_t lcpl_id = lcpl.getId();
- hid_t lapl_id = lapl.getId();
-
- ret_value = H5Lcreate_hard(getId(), curr_name, new_loc.getId(), new_name, H5P_DEFAULT, H5P_DEFAULT);
- if (ret_value < 0)
- throwException("newLink", "creating link failed");
-}
-
-//--------------------------------------------------------------------------
-// Function: Group::newLink
-///\brief This is an overloaded member function, provided for convenience.
-/// It differs from the above function in that it takes an
-/// \c H5std_string for \a curr_name and \a new_name.
-///\exception H5::FileIException or H5::GroupIException
-// March, 2018
-//--------------------------------------------------------------------------
-void Group::newLink(const H5std_string& curr_name, const Group& new_loc,
- const H5std_string& new_name, const PropList& lcpl, const PropList& lapl) const
-{
- newLink(curr_name.c_str(), new_loc, new_name.c_str(), lcpl, lapl);
-}
-
-//--------------------------------------------------------------------------
-// Function: Group::newLink
-///\brief Creates a hard link from \a new_name to \a curr_name - can be
-/// used to pass in H5L_SAME_LOC.
-///\param curr_name - IN: Name of the existing object
-///\param new_name - IN: New name for the object
-///\param lcpl - IN: Link creation plist - default to PropList::DEFAULT
-///\param lapl - IN: Link access plist - default to PropList::DEFAULT
-///\exception H5::FileIException or H5::GroupIException
-///\par Description
-/// Note that both names are interpreted relative to the
-/// specified location.
-/// For information on creating a hard link, please refer to the
-/// H5Lcreate_hard APIs in the HDF5 C Reference Manual.
-// March 2018
-//--------------------------------------------------------------------------
-void Group::newLink(const char *curr_name, const hid_t same_loc,
- const char *new_name, const PropList& lcpl, const PropList& lapl) const
-{
- herr_t ret_value = -1;
- hid_t lcpl_id = lcpl.getId();
- hid_t lapl_id = lapl.getId();
-
- ret_value = H5Lcreate_hard(getId(), curr_name, same_loc, new_name, H5P_DEFAULT, H5P_DEFAULT);
-
- if (ret_value < 0)
- throwException("newLink", "creating link failed");
-}
-
-//--------------------------------------------------------------------------
-// Function: Group::newLink
-///\brief This is an overloaded member function, provided for convenience.
-/// It differs from the above function in that it takes an
-/// \c H5std_string for \a curr_name and \a new_name.
-///\exception H5::FileIException or H5::GroupIException
-// March, 2018
-//--------------------------------------------------------------------------
-void Group::newLink(const H5std_string& curr_name, const hid_t same_loc,
- const H5std_string& new_name, const PropList& lcpl, const PropList& lapl) const
-{
- newLink(curr_name.c_str(), same_loc, new_name.c_str(), lcpl, lapl);
-}
-
-
-//--------------------------------------------------------------------------
-// Function: Group::copyLink
-///\brief Copies a link from one location to another.
-///\param src - IN: Source location
-///\param src_name - IN: Original name
-///\param dst - IN: Destination location
-///\param dst_name - IN: New name
-///\param lcpl - IN: Link creation plist - default PropList::DEFAULT
-///\param lapl - IN: Link access plist - default PropList::DEFAULT
-///\exception H5::FileIException or H5::GroupIException
-// March, 2018
-//--------------------------------------------------------------------------
-void Group::copyLink(const char *src_name,
- const Group& dst, const char *dst_name, const PropList& lcpl,
- const PropList& lapl) const
-{
- herr_t ret_value;
- hid_t dst_id = dst.getId();
- hid_t lcpl_id = lcpl.getId();
- hid_t lapl_id = lapl.getId();
-
- ret_value = H5Lcopy(getId(), src_name, dst_id, dst_name, lcpl_id, lapl_id);
- if(ret_value < 0)
- throwException("copyLink", "H5Lcopy failed");
-}
-
-//--------------------------------------------------------------------------
-// Function: Group::copyLink
-///\brief This is an overloaded member function, provided for convenience.
-/// It differs from the above function in that it takes an
-/// \c H5std_string for \a src_name and \a dst_name.
-///\exception H5::FileIException or H5::GroupIException
-// March, 2018
-//--------------------------------------------------------------------------
-void Group::copyLink(const H5std_string& src_name,
- const Group& dst, const H5std_string& dst_name, const PropList& lcpl,
- const PropList& lapl) const
-{
- copyLink(src_name.c_str(), dst, dst_name.c_str(), lcpl, lapl);
-}
-
-//--------------------------------------------------------------------------
-// Function: Group::copyLink
-///\brief Copies a link to the same location.
-///\param src - IN: Source location
-///\param src_name - IN: Original name
-///\param dst_name - IN: New name
-///\param lcpl - IN: Link creation plist - default PropList::DEFAULT
-///\param lapl - IN: Link access plist - default PropList::DEFAULT
-///\exception H5::FileIException or H5::GroupIException
-// March, 2018
-//--------------------------------------------------------------------------
-void Group::copyLink(const char *src_name,
- const char *dst_name, const PropList& lcpl,
- const PropList& lapl) const
-{
- herr_t ret_value;
- hid_t lcpl_id = lcpl.getId();
- hid_t lapl_id = lapl.getId();
-
- ret_value = H5Lcopy(getId(), src_name, H5L_SAME_LOC, dst_name, lcpl_id, lapl_id);
- if(ret_value < 0)
- throwException("copyLink", "H5Lcopy H5L_SAME_LOC failed");
-}
-
-//--------------------------------------------------------------------------
-// Function: Group::copyLink
-///\brief This is an overloaded member function, provided for convenience.
-/// It differs from the above function in that it takes an
-/// \c H5std_string for \a src_name and \a dst_name.
-///\exception H5::FileIException or H5::GroupIException
-// March, 2018
-//--------------------------------------------------------------------------
-void Group::copyLink(const H5std_string& src_name,
- const H5std_string& dst_name, const PropList& lcpl,
- const PropList& lapl) const
-{
- copyLink(src_name.c_str(), dst_name.c_str(), lcpl, lapl);
-}
-
-//--------------------------------------------------------------------------
-// Function: Group::moveLink
-///\brief Renames an object in a group/file and moves it to a new location.
-///\param src - IN: Source location
-///\param src_name - IN: Original name
-///\param dst - IN: Destination location
-///\param dst_name - IN: New name
-///\param lcpl - IN: Link creation plist - default PropList::DEFAULT
-///\param lapl - IN: Link access plist - default PropList::DEFAULT
-///\exception H5::FileIException or H5::GroupIException
-///\note
-/// Exercise care in moving groups as it is possible to render
-/// data in a file inaccessible with Group::moveLink. Please refer
-/// to the Group Interface in the HDF5 User's Guide for details.
-// March, 2018
-//--------------------------------------------------------------------------
-void Group::moveLink(const char* src_name, const Group& dst, const char* dst_name, const PropList& lcpl, const PropList& lapl) const
-{
- herr_t ret_value;
- hid_t dst_id = dst.getId();
- hid_t lcpl_id = lcpl.getId();
- hid_t lapl_id = lapl.getId();
-
- ret_value = H5Lmove(getId(), src_name, dst_id, dst_name, lcpl_id, lapl_id);
- if (ret_value < 0)
- throwException("moveLink", "H5Lmove failed");
-}
-
-//--------------------------------------------------------------------------
-// Function: Group::moveLink
-///\brief This is an overloaded member function, provided for convenience.
-/// It differs from the above function in that it takes an
-/// \c H5std_string for \a src_name and \a dst_name.
-///\exception H5::FileIException or H5::GroupIException
-// March, 2018
-//--------------------------------------------------------------------------
-void Group::moveLink(const H5std_string& src_name, const Group& dst, const H5std_string& dst_name, const PropList& lcpl, const PropList& lapl) const
-{
- moveLink(src_name.c_str(), dst, dst_name.c_str(), lcpl, lapl);
-}
-
-//--------------------------------------------------------------------------
-// Function: Group::moveLink
-///\brief Renames an object in a group or file to the same location.
-///\param src - IN: Source location
-///\param src_name - IN: Original name
-///\param dst_name - IN: New name
-///\param lcpl - IN: Link creation plist - default PropList::DEFAULT
-///\param lapl - IN: Link access plist - default PropList::DEFAULT
-///\exception H5::FileIException or H5::GroupIException
-///\note
-/// Exercise care in moving groups as it is possible to render
-/// data in a file inaccessible with Group::moveLink. Please refer
-/// to the Group Interface in the HDF5 User's Guide for details.
-// March, 2018
-//--------------------------------------------------------------------------
-void Group::moveLink(const char* src_name, const char* dst_name, const PropList& lcpl, const PropList& lapl) const
-{
- herr_t ret_value;
- hid_t lcpl_id = lcpl.getId();
- hid_t lapl_id = lapl.getId();
-
- ret_value = H5Lmove(getId(), src_name, H5L_SAME_LOC, dst_name, lcpl_id, lapl_id);
- if (ret_value < 0)
- throwException("moveLink", "H5Lmove H5L_SAME_LOC failed");
-}
-
-//--------------------------------------------------------------------------
-// Function: Group::moveLink
-///\brief This is an overloaded member function, provided for convenience.
-/// It differs from the above function in that it takes an
-/// \c H5std_string for \a src_name and \a dst_name.
-///\exception H5::FileIException or H5::GroupIException
-// March, 2018
-//--------------------------------------------------------------------------
-void Group::moveLink(const H5std_string& src_name, const H5std_string& dst_name, const PropList& lcpl, const PropList& lapl) const
-{
- moveLink(src_name.c_str(), H5L_SAME_LOC, dst_name.c_str(), lcpl, lapl);
-}
-
-/*** End of H5L API section ***/
-
//--------------------------------------------------------------------------
// Function: Group::getLocId
// Purpose: Get the id of this group