From 3f4184c6d3795acad440206f0bd88d89df21a137 Mon Sep 17 00:00:00 2001 From: Binh-Minh Ribler Date: Fri, 1 Mar 2002 14:01:23 -0500 Subject: [svn-r5029] Purpose: Adding new member function Description: Added PropList::copyProp according to the new api H5Pcopy_prop in the C library. I'm still working on adding more tests so test for this will be added as well. Platforms tested: SunOS 5.7 (arabica) Linux 6.2 (eirene) FreeBSD 4.4 (sleipnir) --- c++/src/H5PropList.cpp | 24 ++++++++++++++++++++---- c++/src/H5PropList.h | 4 ++++ 2 files changed, 24 insertions(+), 4 deletions(-) diff --git a/c++/src/H5PropList.cpp b/c++/src/H5PropList.cpp index c489983..7adfda8 100644 --- a/c++/src/H5PropList.cpp +++ b/c++/src/H5PropList.cpp @@ -77,15 +77,31 @@ PropList& PropList::operator=( const PropList& rhs ) return(*this); } +// Copies a property from one list or class to another +void PropList::copyProp( PropList& dest, PropList& src, const string& name ) +{ + copyProp( dest, src, name.c_str()); +} + +// Copies a property from one list or class to another +void PropList::copyProp( PropList& dest, PropList& src, const char *name ) +{ + hid_t dst_id = dest.getId(); + hid_t src_id = src.getId(); + herr_t ret_value = H5Pcopy_prop(dst_id, src_id, name); + if( ret_value < 0 ) + { + throw PropListIException("PropList::copyProp", "H5Pcopy_prop failed"); + } + +} + // Closes the property list if it is not a default one void PropList::p_close() const { if( id != H5P_NO_CLASS ) // not a constant, should call H5Pclose { - herr_t ret_value; - - ret_value = H5Pclose( id ); - + herr_t ret_value = H5Pclose( id ); if( ret_value < 0 ) { throw PropListIException(NULL, "property list close failed" ); diff --git a/c++/src/H5PropList.h b/c++/src/H5PropList.h index fecadcd..186bf22 100644 --- a/c++/src/H5PropList.h +++ b/c++/src/H5PropList.h @@ -28,6 +28,10 @@ class __DLLCPP__ PropList : public IdComponent { // Make a copy of the given property list using assignment statement PropList& operator=( const PropList& rhs ); + // Copies a property from one property list or property class to another + void copyProp( PropList& dest, PropList& src, const string& name); + void copyProp( PropList& dest, PropList& src, const char* name); + // Gets the class of this property list, i.e. H5P_FILE_CREATE, // H5P_FILE_ACCESS, ... hid_t getClass() const; -- cgit v0.12