difference_type
    distance_to(counting_iterator<OtherIncrementable> const& y) const
    {
      typedef typename mpl::if_<
          detail::is_numeric<Incrementable>
        , detail::number_distance<difference_type, Incrementable, OtherIncrementable>
        , detail::iterator_distance<difference_type, Incrementable, OtherIncrementable>
      >::type d;

      return d::distance(this->base(), y.base());
    }
 counting_iterator(counting_iterator const& rhs) : super_t(rhs.base()) {}
 counting_iterator(
     counting_iterator<OtherIncrementable> const& t
   , typename enable_if_convertible<OtherIncrementable, Incrementable>::type* = 0
 )
   : super_t(t.base())
 {}
Esempio n. 4
0
 counting_iterator(
     counting_iterator<OtherIncrementable, CategoryOrTraversal, Difference> const& t
   , typename enable_if_convertible<OtherIncrementable, Incrementable>::type* = 0
 )
   : super_t(t.base())
 {}