[libsigcplusplus] Remove now-unused slot_reverse_iterator_buf.



commit cf2ba52c794b6434db94f83b3f27f7f8209756a7
Author: Murray Cumming <murrayc murrayc com>
Date:   Thu Apr 21 13:48:10 2016 +0200

    Remove now-unused slot_reverse_iterator_buf.

 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.


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]