16 using value_type =
typename std::iterator_traits<It>::value_type;
17 using pointer =
typename std::iterator_traits<It>::pointer;
18 using reference =
typename std::iterator_traits<It>::reference;
25 class = std::enable_if_t<std::is_convertible<U, It>::value>>
27 : current_(other.base())
31 constexpr It
base() const noexcept {
return current_; }
42 return std::addressof(
operator*());
73 return a.current_ == b.current_;
friend constexpr bool operator==(qreverse_iterator a, qreverse_iterator b) noexcept
Definition qiterator.hpp:71
constexpr qreverse_iterator operator--(int) noexcept
Definition qiterator.hpp:64
friend constexpr bool operator!=(qreverse_iterator a, qreverse_iterator b) noexcept
Definition qiterator.hpp:76
typename std::iterator_traits< It >::pointer pointer
Definition qiterator.hpp:17
constexpr qreverse_iterator() noexcept=default
typename std::iterator_traits< It >::value_type value_type
Definition qiterator.hpp:16
constexpr qreverse_iterator(qreverse_iterator< U > const &other) noexcept
Definition qiterator.hpp:26
typename std::iterator_traits< It >::iterator_category iterator_category
Definition qiterator.hpp:19
typename std::iterator_traits< It >::reference reference
Definition qiterator.hpp:18
constexpr qreverse_iterator operator++(int) noexcept
Definition qiterator.hpp:51
constexpr qreverse_iterator & operator--() noexcept
Definition qiterator.hpp:58
constexpr It base() const noexcept
Definition qiterator.hpp:31
constexpr qreverse_iterator & operator++() noexcept
Definition qiterator.hpp:45
It iterator_type
Definition qiterator.hpp:14
constexpr reference operator*() const noexcept
Definition qiterator.hpp:33
constexpr pointer operator->() const noexcept
Definition qiterator.hpp:40
typename std::iterator_traits< It >::difference_type difference_type
Definition qiterator.hpp:15
Definition qiterator.hpp:7