[libsigcplusplus] trackable: Make move operations noexcept.
- From: Murray Cumming <murrayc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [libsigcplusplus] trackable: Make move operations noexcept.
- Date: Fri, 21 Jul 2017 06:24:22 +0000 (UTC)
commit 4824bb537db4c5946ff495a4a9461aa99b43675a
Author: Murray Cumming <murrayc murrayc com>
Date: Fri Apr 21 14:56:47 2017 +0200
trackable: Make move operations noexcept.
I don't think there is any reason not to.
Noticed by clang-tidy.
sigc++/trackable.cc | 5 +++--
sigc++/trackable.h | 4 ++--
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)
{
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]