diff options
author | Murray Cumming <murrayc@murrayc.com> | 2017-04-21 14:56:47 +0200 |
---|---|---|
committer | Murray Cumming <murrayc@murrayc.com> | 2017-07-21 08:20:58 +0200 |
commit | 4824bb537db4c5946ff495a4a9461aa99b43675a (patch) | |
tree | 278c83e67a433620bd56a42f5809ed6a67759586 | |
parent | 54dcd80c12322b04117a94af1bb62e3a84412e1b (diff) | |
download | sigc++-4824bb537db4c5946ff495a4a9461aa99b43675a.tar.gz |
trackable: Make move operations noexcept.
I don't think there is any reason not to.
Noticed by clang-tidy.
-rw-r--r-- | sigc++/trackable.cc | 5 | ||||
-rw-r--r-- | sigc++/trackable.h | 4 | ||||
-rw-r--r-- | tests/test_trackable_move.cc | 5 |
3 files changed, 9 insertions, 5 deletions
diff --git a/sigc++/trackable.cc b/sigc++/trackable.cc index 5020bc9..8ee8ee4 100644 --- a/sigc++/trackable.cc +++ b/sigc++/trackable.cc @@ -38,7 +38,8 @@ trackable::trackable(const trackable& /*src*/) noexcept : callback_list_(nullptr // // If trackable's move constructor is modified, check if Glib::Object's // move constructor should be modified similarly. -trackable::trackable(trackable&& src) : callback_list_(nullptr) +trackable::trackable(trackable&& src) noexcept +: callback_list_(nullptr) { src.notify_callbacks(); } @@ -53,7 +54,7 @@ trackable::operator=(const trackable& src) } trackable& -trackable::operator=(trackable&& src) +trackable::operator=(trackable&& src) noexcept { if (this != &src) { diff --git a/sigc++/trackable.h b/sigc++/trackable.h index a6a7829..d26ba61 100644 --- a/sigc++/trackable.h +++ b/sigc++/trackable.h @@ -125,11 +125,11 @@ struct SIGC_API trackable : public notifiable trackable(const trackable& src) noexcept; - trackable(trackable&& src); + trackable(trackable&& src) noexcept; trackable& operator=(const trackable& src); - trackable& operator=(trackable&& src); + trackable& operator=(trackable&& src) noexcept; ~trackable(); diff --git a/tests/test_trackable_move.cc b/tests/test_trackable_move.cc index 24ec47b..90e3aa2 100644 --- a/tests/test_trackable_move.cc +++ b/tests/test_trackable_move.cc @@ -18,7 +18,10 @@ public: my_class(const my_class& src) = delete; my_class& operator=(const my_class& src) = delete; - my_class(my_class&& src) : sigc::trackable(std::move(src)), i(std::move(src.i)) { src.i = 0; } + my_class(my_class&& src) noexcept + : sigc::trackable(std::move(src)), i(std::move(src.i)) { + src.i = 0; + } my_class& operator=(my_class&& src) { |