[gtkmm] C++11: Object: Add move operations.
- From: Murray Cumming <murrayc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtkmm] C++11: Object: Add move operations.
- Date: Sat, 22 Aug 2015 20:09:05 +0000 (UTC)
commit 15b794ce00c35438c606ede3e56350f9bc8e8ff9
Author: Murray Cumming <murrayc murrayc com>
Date: Sat Aug 22 12:43:48 2015 +0200
C++11: Object: Add move operations.
gtk/gtkmm/object.cc | 15 +++++++++++++++
gtk/gtkmm/object.h | 3 +++
2 files changed, 18 insertions(+), 0 deletions(-)
---
diff --git a/gtk/gtkmm/object.cc b/gtk/gtkmm/object.cc
index 12d8ae3..96ac9ff 100644
--- a/gtk/gtkmm/object.cc
+++ b/gtk/gtkmm/object.cc
@@ -155,6 +155,21 @@ void Object::_release_c_instance()
}
}
+Object::Object(Object&& src) noexcept
+: Glib::Object(std::move(src)),
+ referenced_(std::move(src.referenced_)),
+ gobject_disposed_(std::move(src.gobject_disposed_))
+{}
+
+Object& Object::operator=(Object&& src) noexcept
+{
+ Glib::Object::operator=(std::move(src));
+ referenced_ = std::move(src.referenced_);
+ gobject_disposed_ = std::move(src.gobject_disposed_);
+ return *this;
+}
+
+
Object::~Object()
{
#ifdef GLIBMM_DEBUG_REFCOUNTING
diff --git a/gtk/gtkmm/object.h b/gtk/gtkmm/object.h
index 8c58843..5aa1c33 100644
--- a/gtk/gtkmm/object.h
+++ b/gtk/gtkmm/object.h
@@ -63,6 +63,9 @@ class GTKMM_API Object : public Glib::Object
typedef GObjectClass BaseClassType;
#endif /* DOXYGEN_SHOULD_SKIP_THIS */
+ Object(Object&& src) noexcept;
+ Object& operator=(Object&& src) noexcept;
+
virtual ~Object();
#ifndef DOXYGEN_SHOULD_SKIP_THIS
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]