summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMurray Cumming <murrayc@murrayc.com>2015-11-06 09:29:35 +0100
committerMurray Cumming <murrayc@murrayc.com>2015-11-06 09:29:35 +0100
commit043cfa5ca2cac2bc45facd0cea0a4c500a47e498 (patch)
tree4e6cded568d2015147530a1231a605fd00f6c9db
parent416fc2d6eaf3b79fbc224ad29804a2f7778477d9 (diff)
downloadsigc++-043cfa5ca2cac2bc45facd0cea0a4c500a47e498.tar.gz
typed_slot_rep: =delete unimplemented copy and move operations.
Prevent, copy assignment operator, move constructor and move assignment operators from being generated automatically. These are never used, but this will make sure of that. See https://bugzilla.gnome.org/show_bug.cgi?id=756484#c5
-rw-r--r--sigc++/functors/macros/slot.h.m45
1 files changed, 5 insertions, 0 deletions
diff --git a/sigc++/functors/macros/slot.h.m4 b/sigc++/functors/macros/slot.h.m4
index ff199d5..a6c7288 100644
--- a/sigc++/functors/macros/slot.h.m4
+++ b/sigc++/functors/macros/slot.h.m4
@@ -276,6 +276,11 @@ struct typed_slot_rep : public slot_rep
: slot_rep(cl.call_, &destroy, &dup), functor_(cl.functor_)
{ sigc::visit_each_type<trackable*>(slot_do_bind(this), functor_); }
+ typed_slot_rep& operator=(const typed_slot_rep& src) = delete;
+
+ typed_slot_rep(typed_slot_rep&& src) = delete;
+ typed_slot_rep& operator=(typed_slot_rep&& src) = delete;
+
inline ~typed_slot_rep()
{
call_ = nullptr;