#include <di/container/iterator/counted_iterator.h>
Public Member Functions | |
CountedIterator ()=default | |
CountedIterator (CountedIterator const &)=default | |
CountedIterator (CountedIterator &&)=default | |
auto | operator= (CountedIterator const &) -> CountedIterator &=default |
auto | operator= (CountedIterator &&) -> CountedIterator &=default |
CountedIterator (CountedIterator const &)=delete | |
auto | operator= (CountedIterator const &) -> CountedIterator &requires(!concepts::ForwardIterator< Iter >)=delete |
constexpr | CountedIterator (Iter iterator, SSizeType n) |
template<typename It> requires (concepts::ConvertibleTo<It const&, Iter>) | |
constexpr | CountedIterator (CountedIterator< It > const &other) |
constexpr auto | base () const &-> Iter const & |
constexpr auto | base () &&-> Iter |
constexpr auto | count () const -> SSizeType |
constexpr auto | operator* () -> decltype(auto) |
constexpr auto | operator* () const -> decltype(auto) requires(concepts::Dereferenceable< Iter const >) |
constexpr auto | operator-> () const |
constexpr void | advance_one () |
constexpr void | back_one () |
constexpr void | advance_n (SSizeType n) |
![]() | |
IteratorBase ()=default | |
IteratorBase (IteratorBase const &)=default | |
IteratorBase (IteratorBase &&)=default | |
IteratorBase (IteratorBase const &)=delete | |
auto | operator= (IteratorBase const &) -> IteratorBase &=default |
auto | operator= (IteratorBase &&) -> IteratorBase &=default |
auto | operator= (IteratorBase const &) -> IteratorBase &requires(concepts::SameAs< meta::IteratorCategory< Iter >, InputIteratorTag >)=delete |
constexpr auto | operator++ () -> CountedIterator< Iter > & |
constexpr void | operator++ (int) |
constexpr auto | operator++ (int) -> CountedIterator< Iter > requires(concepts::DerivedFrom< meta::IteratorCategory< Iter >, ForwardIteratorTag >) |
constexpr auto | operator-- () -> CountedIterator< Iter > &requires(concepts::DerivedFrom< meta::IteratorCategory< Iter >, BidirectionalIteratorTag >) |
constexpr auto | operator-- (int) -> CountedIterator< Iter > requires(concepts::DerivedFrom< meta::IteratorCategory< Iter >, BidirectionalIteratorTag >) |
constexpr auto | operator[] (meta::IteratorSSizeType< Iter > n) const -> decltype(auto) requires(concepts::DerivedFrom< meta::IteratorCategory< Iter >, RandomAccessIteratorTag >) |
constexpr auto | operator+= (meta::IteratorSSizeType< Iter > n) -> CountedIterator< Iter > &requires(concepts::DerivedFrom< meta::IteratorCategory< Iter >, RandomAccessIteratorTag >) |
constexpr auto | operator-= (meta::IteratorSSizeType< Iter > n) -> CountedIterator< Iter > &requires(concepts::DerivedFrom< meta::IteratorCategory< Iter >, RandomAccessIteratorTag >) |
Friends | |
constexpr friend auto | operator== (CountedIterator const &a, CountedIterator const &b) -> bool |
constexpr friend auto | operator== (CountedIterator const &a, DefaultSentinel) -> bool |
constexpr friend auto | operator<=> (CountedIterator const &a, CountedIterator const &b) -> strong_ordering |
constexpr friend auto | operator- (CountedIterator const &a, CountedIterator const &b) -> SSizeType |
constexpr friend auto | operator- (CountedIterator const &a, DefaultSentinel) -> SSizeType |
constexpr friend auto | operator- (DefaultSentinel, CountedIterator const &b) -> SSizeType |
constexpr friend auto | tag_invoke (types::Tag< iterator_move >, CountedIterator const &self) -> decltype(auto) requires(concepts::InputIterator< Iter >) |
template<concepts::IndirectlySwappable< Iter > It> | |
constexpr friend void | tag_invoke (types::Tag< iterator_swap >, CountedIterator const &a, CountedIterator< It > const &b) |
|
default |
|
default |
|
default |
|
delete |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
default |
|
default |
|
delete |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |