diff options
-rw-r--r-- | c++/src/H5PropList.cpp | 24 | ||||
-rw-r--r-- | 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; |