file
Iterator.h
Namespaces
- namespace nCine
- Root namespace of nCine game engine.
Classes
- struct nCine::ForwardIteratorTag
- Dispatching tag for iterators that can only move forward, one element at a time.
- struct nCine::BidirectionalIteratorTag
- Dispatching tag for iterators that can move both ways, one element at a time.
- struct nCine::RandomAccessIteratorTag
- Dispatching tag for iterators that can jump arbitrary distances in both ways.
-
template<class Iterator>struct nCine::IteratorTraits
- Base iterator traits structure.
-
template<class T>struct nCine::IteratorTraits<T*>
- Base iterator traits structure.
-
template<class T>struct nCine::ReversionWrapper
Functions
-
template<class Iterator>void advance(Iterator& it, int n)
- Increments an iterator by n elements.
-
template<class Iterator>auto next(Iterator it, unsigned int n) -> Iterator
- Return the nth successor of an iterator.
-
template<class Iterator>auto next(Iterator it) -> Iterator
- Return the successor of an iterator.
-
template<class Iterator>auto prev(Iterator it, unsigned int n) -> Iterator
- Return the nth predecessor of an iterator.
-
template<class Iterator>auto prev(Iterator it) -> Iterator
- Return the predecessor of an iterator.
-
template<class Iterator>auto distance(Iterator first, const Iterator last) -> int
- Returns the distance between two iterators.
-
template<class T>auto begin(ReversionWrapper<T> c) -> decltype(rBegin(c.iterable))
-
template<class T>auto end(ReversionWrapper<T> c) -> decltype(rEnd(c.iterable))
-
template<class T>auto reverse(T&& iterable) -> ReversionWrapper<T>
-
template<class Container>auto begin(Container& c) -> Container::Iterator
-
template<class Container>auto cbegin(const Container& c) -> Container::ConstIterator
-
template<class Container>auto end(Container& c) -> Container::Iterator
-
template<class Container>auto cend(const Container& c) -> Container::ConstIterator
-
template<class Container>auto rbegin(Container& c) -> Container::ReverseIterator
-
template<class Container>auto crbegin(const Container& c) -> Container::ConstReverseIterator
-
template<class Container>auto rend(Container& c) -> Container::ReverseIterator
-
template<class Container>auto crend(const Container& c) -> Container::ConstReverseIterator