5namespace CXXIter::concepts {
15 template<
typename TContainer>
17 TContainer& container,
18 const TContainer& constContainer,
19 typename trait::Source<TContainer>::IteratorState& iterState,
20 typename trait::Source<TContainer>::ConstIteratorState& constIterState,
26 typename trait::Source<TContainer>::IteratorState;
27 typename trait::Source<TContainer>::ConstIteratorState;
53 template<
typename TContainer>
55 TContainer& container,
56 const TContainer& constContainer,
57 typename trait::Source<TContainer>::IteratorState& iterState,
58 typename trait::Source<TContainer>::ConstIteratorState& constIterState,
Concept that checks whether the given TContainer supports double-ended iteration when using CXXIter's...
Concept that checks whether the given TContainer is supported by CXXIter's standard source classes CX...
static constexpr ItemRef next(TContainer &container, IteratorState &iter)
Return the next item in the iteration with the given iter state on the given container.
static constexpr ItemRef nextBack(TContainer &container, IteratorState &iter)
Return the next item from the back of the iteration with the given iter state on the given container.
typename TContainer::value_type Item
Type of the item TContainer holds and provides for the iterator.
static constexpr size_t skipNBack(const TContainer &container, IteratorState &iter, size_t n)
Skip the next n elements from the back of this iterator.
static constexpr ItemRef peekNext(TContainer &container, IteratorState &iter)
Return the next item in the iteration with the given iter state on the given container,...
static constexpr IteratorState initIterator(TContainer &container)
Return an initial IteratorState instance for iteration on the given container.
static constexpr bool hasNext(TContainer &container, IteratorState &iter)
Checks whether there is a next item in the iteration with the given iter state on the given container...
static constexpr size_t skipN(const TContainer &container, IteratorState &iter, size_t n)
Skip the next n elements from the container.
typename TContainer::reference ItemRef
Type of the item TContainer holds and provides for the iterator, in referenced form.
typename TContainer::const_reference ItemConstRef
Type of the item TContainer holds and provides for the iterator, in const referenced form.