diff options
author | Sean McBride <sean@rogue-research.com> | 2024-03-09 05:09:47 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-03-09 05:09:47 (GMT) |
commit | 16255aa8c3ff923bb33b54a77607bc5d35fabef0 (patch) | |
tree | 3f2e391a35d84f840532f62ce5eaff7c72b0d9b9 /c++ | |
parent | 114d2d02112e52cfdd52c6db1e4e590a6ebb9971 (diff) | |
download | hdf5-16255aa8c3ff923bb33b54a77607bc5d35fabef0.zip hdf5-16255aa8c3ff923bb33b54a77607bc5d35fabef0.tar.gz hdf5-16255aa8c3ff923bb33b54a77607bc5d35fabef0.tar.bz2 |
Fixed -Wdeprecated-copy-dtor warnings by implementing a copy assignment operator (#3306)
Example warning was:
warning: definition of implicit copy assignment operator for 'Group' is deprecated because it has a user-declared destructor [-Wdeprecated-copy-dtor]
Diffstat (limited to 'c++')
-rw-r--r-- | c++/src/H5Attribute.cpp | 12 | ||||
-rw-r--r-- | c++/src/H5Attribute.h | 3 | ||||
-rw-r--r-- | c++/src/H5Group.cpp | 12 | ||||
-rw-r--r-- | c++/src/H5Group.h | 3 |
4 files changed, 30 insertions, 0 deletions
diff --git a/c++/src/H5Attribute.cpp b/c++/src/H5Attribute.cpp index e838b4f..e629a80 100644 --- a/c++/src/H5Attribute.cpp +++ b/c++/src/H5Attribute.cpp @@ -605,4 +605,16 @@ Attribute::~Attribute() } } +//-------------------------------------------------------------------------- +// Function: Copy assignment operator +Attribute & +Attribute::operator=(const Attribute &original) +{ + if (&original != this) { + setId(original.id); + } + + return *this; +} + } // namespace H5 diff --git a/c++/src/H5Attribute.h b/c++/src/H5Attribute.h index 6851e1a..9701102 100644 --- a/c++/src/H5Attribute.h +++ b/c++/src/H5Attribute.h @@ -78,6 +78,9 @@ class H5_DLLCPP Attribute : public AbstractDs, public H5Location { // Destructor: properly terminates access to this attribute. virtual ~Attribute() override; + // Copy assignment operator. + Attribute &operator=(const Attribute &original); + #ifndef DOXYGEN_SHOULD_SKIP_THIS protected: // Sets the attribute id. diff --git a/c++/src/H5Group.cpp b/c++/src/H5Group.cpp index 35e9d26..248e71f 100644 --- a/c++/src/H5Group.cpp +++ b/c++/src/H5Group.cpp @@ -274,4 +274,16 @@ Group::~Group() } } +//-------------------------------------------------------------------------- +// Function: Copy assignment operator +Group & +Group::operator=(const Group &original) +{ + if (&original != this) { + setId(original.id); + } + + return *this; +} + } // namespace H5 diff --git a/c++/src/H5Group.h b/c++/src/H5Group.h index cb9b092..9c89dd1 100644 --- a/c++/src/H5Group.h +++ b/c++/src/H5Group.h @@ -67,6 +67,9 @@ class H5_DLLCPP Group : public H5Object, public CommonFG { // Destructor virtual ~Group() override; + // Copy assignment operator. + Group &operator=(const Group &original); + // Creates a copy of an existing group using its id. Group(const hid_t group_id); |