9#ifndef slimsig_slot_iterator_h 
   10#define slimsig_slot_iterator_h 
   17template <
class Container, 
class Traits = std::iterator_traits<
typename Container::iterator>>
 
   19                          typename Traits::iterator_category,
 
   20                          typename Traits::value_type,
 
   21                          typename Traits::difference_type,
 
   22                          typename Traits::pointer,
 
   23                          std::forward_iterator_tag>
 
   25using traits = std::iterator_traits<offset_iterator>;
 
   43    return !(*
this == rhs);
 
   76  operator bool()
 const {
 
   82template <
class Container, 
class Traits = std::iterator_traits<
typename Container::iterator>>
 
   95  using base::operator ==;
 
   96  using base::operator !=;
 
   97  using base::operator >;
 
   98  using base::operator <;
 
   99  using base::operator >=;
 
  100  using base::operator <=;
 
  101  operator bool()
 const {
 
  102    return bool(*
this) && bool(**
this);
 
  107    } 
while (
bool(*
this) && !(
bool(**
this)));
 
offset_iterator(container_type &container, size_type offset=0)
bool operator>(const offset_iterator rhs) const
bool operator>=(const offset_iterator rhs) const
typename Container::size_type size_type
offset_iterator(const offset_iterator &)=default
typename traits::reference reference
offset_iterator operator++(int)
bool operator!=(const offset_iterator rhs) const
typename traits::difference_type difference_type
offset_iterator & operator=(const offset_iterator &)=default
offset_iterator & operator++()
typename std::decay< Container >::type container_type
bool operator==(const offset_iterator &rhs) const
bool operator<(const offset_iterator rhs) const
offset_iterator & operator=(offset_iterator &&)=default
offset_iterator(offset_iterator &&)=default
typename traits::value_type value_type
bool operator<=(const offset_iterator rhs) const
typename traits::pointer pointer
const container_type * p_container
slot_iterator & operator++(int)
slot_iterator & operator++()