tetl 0.1.0
Embedded Template Library
Loading...
Searching...
No Matches
reverse_iterator.hpp File Reference

Go to the source code of this file.

Classes

struct  reverse_iterator< Iter >
 reverse_iterator is an iterator adaptor that reverses the direction of a given iterator. In other words, when provided with a bidirectional iterator, reverse_iterator produces a new iterator that moves from the end to the beginning of the sequence defined by the underlying bidirectional iterator. This is the iterator returned by member functions rbegin() and rend() of the standard library containers. More...
 

Namespaces

namespace  etl
 

Functions

template<typename Iter>
constexpr auto make_reverse_iterator (Iter i) noexcept -> etl::reverse_iterator< Iter >
 Convenience function template that constructs a etl::reverse_iterator for the given iterator i (which must be a LegacyBidirectionalIterator) with the type deduced from the type of the argument.
 
template<typename Iter1, typename Iter2>
constexpr auto operator!= (etl::reverse_iterator< Iter1 > const &lhs, etl::reverse_iterator< Iter2 > const &rhs) -> bool
 Compares the underlying iterators. Inverse comparisons are applied in order to take into account that the iterator order is reversed.
 
template<typename Iter>
constexpr auto operator+ (typename reverse_iterator< Iter >::difference_type n, reverse_iterator< Iter > const &it) noexcept(noexcept(it.base() - n)) -> reverse_iterator< Iter >
 Returns the iterator it incremented by n.
 
template<typename Iterator1, typename Iterator2>
constexpr auto operator- (reverse_iterator< Iterator1 > const &lhs, reverse_iterator< Iterator2 > const &rhs) noexcept(noexcept(rhs.base() - lhs.base())) -> decltype(rhs.base() - lhs.base())
 Returns the distance between two iterator adaptors.
 
template<typename Iter1, typename Iter2>
constexpr auto operator< (etl::reverse_iterator< Iter1 > const &lhs, etl::reverse_iterator< Iter2 > const &rhs) -> bool
 Compares the underlying iterators. Inverse comparisons are applied in order to take into account that the iterator order is reversed.
 
template<typename Iter1, typename Iter2>
constexpr auto operator<= (etl::reverse_iterator< Iter1 > const &lhs, etl::reverse_iterator< Iter2 > const &rhs) -> bool
 Compares the underlying iterators. Inverse comparisons are applied in order to take into account that the iterator order is reversed.
 
template<typename Iter1, typename Iter2>
constexpr auto operator== (etl::reverse_iterator< Iter1 > const &lhs, etl::reverse_iterator< Iter2 > const &rhs) -> bool
 Compares the underlying iterators. Inverse comparisons are applied in order to take into account that the iterator order is reversed.
 
template<typename Iter1, typename Iter2>
constexpr auto operator> (etl::reverse_iterator< Iter1 > const &lhs, etl::reverse_iterator< Iter2 > const &rhs) -> bool
 Compares the underlying iterators. Inverse comparisons are applied in order to take into account that the iterator order is reversed.
 
template<typename Iter1, typename Iter2>
constexpr auto operator>= (etl::reverse_iterator< Iter1 > const &lhs, etl::reverse_iterator< Iter2 > const &rhs) -> bool
 Compares the underlying iterators. Inverse comparisons are applied in order to take into account that the iterator order is reversed.