diff options
author | Murray Cumming <murrayc@murrayc.com> | 2016-04-21 13:48:10 +0200 |
---|---|---|
committer | Murray Cumming <murrayc@murrayc.com> | 2016-04-21 13:48:10 +0200 |
commit | cf2ba52c794b6434db94f83b3f27f7f8209756a7 (patch) | |
tree | 6b834796e30b3e936d266194737975b3438b5f44 | |
parent | fb5d1a55ddd843a1ded635b0ebce4e5b5301fc36 (diff) | |
download | sigc++-cf2ba52c794b6434db94f83b3f27f7f8209756a7.tar.gz |
Remove now-unused slot_reverse_iterator_buf.
-rw-r--r-- | sigc++/signal.h | 158 |
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. |