summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMurray Cumming <murrayc@murrayc.com>2016-04-21 13:48:10 +0200
committerMurray Cumming <murrayc@murrayc.com>2016-04-21 13:48:10 +0200
commitcf2ba52c794b6434db94f83b3f27f7f8209756a7 (patch)
tree6b834796e30b3e936d266194737975b3438b5f44
parentfb5d1a55ddd843a1ded635b0ebce4e5b5301fc36 (diff)
downloadsigc++-cf2ba52c794b6434db94f83b3f27f7f8209756a7.tar.gz
Remove now-unused slot_reverse_iterator_buf.
-rw-r--r--sigc++/signal.h158
1 files changed, 0 insertions, 158 deletions
diff --git a/sigc++/signal.h b/sigc++/signal.h
index 52ac9fe..c8409fd 100644
--- a/sigc++/signal.h
+++ b/sigc++/signal.h
@@ -398,163 +398,6 @@ private:
mutable bool invoked_;
};
-/** Reverse version of sigc::internal::slot_iterator_buf. */
-template <typename T_emitter, typename T_result = typename T_emitter::result_type>
-struct slot_reverse_iterator_buf
-{
- using size_type = std::size_t;
- using difference_type = std::ptrdiff_t;
- using iterator_category = std::bidirectional_iterator_tag;
-
- // These are needed just to make this a proper C++ iterator,
- // that can be used with standard C++ algorithms.
- using value_type = T_result;
- using reference = T_result&;
- using pointer = T_result*;
-
- using emitter_type = T_emitter;
- using slot_type = typename T_emitter::slot_type;
-
- using iterator_type = signal_impl::const_iterator_type;
-
- slot_reverse_iterator_buf() : c_(nullptr), invoked_(false) {}
-
- slot_reverse_iterator_buf(const iterator_type& i, const emitter_type* c)
- : i_(i), c_(c), invoked_(false)
- {
- }
-
- decltype(auto) operator*() const
- {
- auto tmp(i_);
- --tmp;
- if (!tmp->empty() && !tmp->blocked() && !invoked_)
- {
- r_ = (*c_)(static_cast<const slot_type&>(*tmp));
- invoked_ = true;
- }
- return r_;
- }
-
- slot_reverse_iterator_buf& operator++()
- {
- --i_;
- invoked_ = false;
- return *this;
- }
-
- slot_reverse_iterator_buf operator++(int)
- {
- slot_reverse_iterator_buf tmp(*this);
- --i_;
- invoked_ = false;
- return tmp;
- }
-
- slot_reverse_iterator_buf& operator--()
- {
- ++i_;
- invoked_ = false;
- return *this;
- }
-
- slot_reverse_iterator_buf operator--(int)
- {
- slot_reverse_iterator_buf tmp(*this);
- ++i_;
- invoked_ = false;
- return tmp;
- }
-
- bool operator==(const slot_reverse_iterator_buf& other) const
- {
- return (!c_ || (i_ == other.i_));
- } /* If '!c_' the iterators are empty.
- * Unfortunately, empty stl iterators are not equal.
- * We are forcing equality so that 'first==last'
- * in the accumulator's emit function yields true. */
-
- bool operator!=(const slot_reverse_iterator_buf& other) const { return (c_ && (i_ != other.i_)); }
-
-private:
- iterator_type i_;
- const emitter_type* c_;
- mutable T_result r_;
- mutable bool invoked_;
-};
-
-/** Template specialization of slot_reverse_iterator_buf for void return signals.
- */
-template <typename T_emitter>
-struct slot_reverse_iterator_buf<T_emitter, void>
-{
- using size_type = std::size_t;
- using difference_type = std::ptrdiff_t;
- using iterator_category = std::bidirectional_iterator_tag;
-
- using emitter_type = T_emitter;
- using slot_type = typename T_emitter::slot_type;
-
- using iterator_type = signal_impl::const_iterator_type;
-
- slot_reverse_iterator_buf() : c_(nullptr), invoked_(false) {}
-
- slot_reverse_iterator_buf(const iterator_type& i, const emitter_type* c)
- : i_(i), c_(c), invoked_(false)
- {
- }
-
- void operator*() const
- {
- auto tmp(i_);
- --tmp;
- if (!tmp->empty() && !tmp->blocked() && !invoked_)
- {
- (*c_)(static_cast<const slot_type&>(*tmp));
- invoked_ = true;
- }
- }
-
- slot_reverse_iterator_buf& operator++()
- {
- --i_;
- invoked_ = false;
- return *this;
- }
-
- slot_reverse_iterator_buf operator++(int)
- {
- slot_reverse_iterator_buf tmp(*this);
- --i_;
- invoked_ = false;
- return tmp;
- }
-
- slot_reverse_iterator_buf& operator--()
- {
- ++i_;
- invoked_ = false;
- return *this;
- }
-
- slot_reverse_iterator_buf operator--(int)
- {
- slot_reverse_iterator_buf tmp(*this);
- ++i_;
- invoked_ = false;
- return tmp;
- }
-
- bool operator==(const slot_reverse_iterator_buf& other) const { return i_ == other.i_; }
-
- bool operator!=(const slot_reverse_iterator_buf& other) const { return i_ != other.i_; }
-
-private:
- iterator_type i_;
- const emitter_type* c_;
- mutable bool invoked_;
-};
-
/** Temporary slot list used during signal emission.
* Through evolution this class is slightly misnamed. It is now
* an index into the slot_list passed into it. It simply keeps track
@@ -598,7 +441,6 @@ struct signal_emit
using self_type = signal_emit<T_return, T_accumulator, T_arg...>;
using slot_type = slot<T_return(T_arg...)>;
using slot_iterator_buf_type = internal::slot_iterator_buf<self_type, T_return>;
- using slot_reverse_iterator_buf_type = internal::slot_reverse_iterator_buf<self_type, T_return>;
using iterator_type = signal_impl::const_iterator_type;
/** Instantiates the class.