summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKjell Ahlstedt <kjellahlstedt@gmail.com>2017-07-17 15:34:12 +0200
committerKjell Ahlstedt <kjellahlstedt@gmail.com>2017-07-17 15:34:12 +0200
commit58521af49e448fd3d4b794eea19c886320ecd4a1 (patch)
tree086c2c8f34a217ef0aa42c49cb6e4d07ac5c7edc
parent8e78fb470996645767909556b4a1089492ffa380 (diff)
downloadsigc++-58521af49e448fd3d4b794eea19c886320ecd4a1.tar.gz
Remove signal_base::erase() and signal_impl::erase()
They are not used in libsigc++3. Bug 784550
-rw-r--r--sigc++/signal_base.cc25
-rw-r--r--sigc++/signal_base.h13
2 files changed, 1 insertions, 37 deletions
diff --git a/sigc++/signal_base.cc b/sigc++/signal_base.cc
index 875a3ae..5218f20 100644
--- a/sigc++/signal_base.cc
+++ b/sigc++/signal_base.cc
@@ -126,23 +126,6 @@ signal_impl::connect(slot_base&& slot_)
return insert(slots_.end(), std::move(slot_));
}
-signal_impl::iterator_type
-signal_impl::erase(iterator_type i)
-{
- // Don't let signal_impl::notify() erase the slot. It would be more
- // difficult to get the correct return value from signal_impl::erase().
- const bool saved_deferred = deferred_;
- signal_impl_holder exec(shared_from_this());
-
- // Disconnect the slot before it is deleted.
- // signal_impl::notify() will be called and delete the self_and_iter struct.
- i->disconnect();
-
- deferred_ = saved_deferred;
-
- return slots_.erase(i);
-}
-
void
signal_impl::add_notification_to_iter(const signal_impl::iterator_type& iter)
{
@@ -212,7 +195,7 @@ signal_impl::notify_self_and_iter_of_invalidated_slot(notifiable* d)
// This is occurring during signal emission or slot erasure.
// => sweep() will be called from ~signal_impl_holder() after signal emission.
// This is safer because we don't have to care about our
- // iterators in emit(), clear(), and erase().
+ // iterators in emit() and clear().
self->deferred_ = true;
}
}
@@ -293,12 +276,6 @@ signal_base::insert(iterator_type i, slot_base&& slot_)
return impl()->insert(i, std::move(slot_));
}
-signal_base::iterator_type
-signal_base::erase(iterator_type i)
-{
- return impl()->erase(i);
-}
-
signal_base&
signal_base::operator=(const signal_base& src)
{
diff --git a/sigc++/signal_base.h b/sigc++/signal_base.h
index bcff3aa..9b1e815 100644
--- a/sigc++/signal_base.h
+++ b/sigc++/signal_base.h
@@ -143,12 +143,6 @@ struct SIGC_API signal_impl
*/
iterator_type insert(iterator_type i, slot_base&& slot_);
- /** Removes the slot at the given position from the list of slots.
- * @param i An iterator pointing to the slot to be removed.
- * @return An iterator pointing to the slot in the list after the one removed.
- */
- iterator_type erase(iterator_type i);
-
/// Removes invalid slots from the list of slots.
void sweep();
@@ -382,13 +376,6 @@ protected:
*/
iterator_type insert(iterator_type i, slot_base&& slot_);
- /** Removes the slot at the given position from the list of slots.
- * Note that this function does not work during signal emission!
- * @param i An iterator pointing to the slot to be removed.
- * @return An iterator pointing to the slot in the list after the one removed.
- */
- iterator_type erase(iterator_type i);
-
/** Returns the signal_impl object encapsulating the list of slots.
* @return The signal_impl object encapsulating the list of slots.
*/