[libsigcplusplus] trackable: Make move operations noexcept.



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]