Files
2025-10-25 03:02:53 +03:00

3.1 KiB
Raw Permalink Blame History

[reverse.iterator]

24 Iterators library [iterators]

24.5 Iterator adaptors [predef.iterators]

24.5.1 Reverse iterators [reverse.iterators]

24.5.1.2 Class template reverse_iterator [reverse.iterator]

🔗

namespace std {templateclass reverse_iterator {public:using iterator_type = Iterator; using iterator_concept = see below; using iterator_category = see below; using value_type = iter_value_t; using difference_type = iter_difference_t; using pointer = typename iterator_traits::pointer; using reference = iter_reference_t; constexpr reverse_iterator(); constexpr explicit reverse_iterator(Iterator x); template constexpr reverse_iterator(const reverse_iterator& u); template constexpr reverse_iterator& operator=(const reverse_iterator& u); constexpr Iterator base() const; constexpr reference operator*() const; constexpr pointer operator->() const requires see below; constexpr reverse_iterator& operator++(); constexpr reverse_iterator operator++(int); constexpr reverse_iterator& operator--(); constexpr reverse_iterator operator--(int); constexpr reverse_iterator operator+ (difference_type n) const; constexpr reverse_iterator& operator+=(difference_type n); constexpr reverse_iterator operator- (difference_type n) const; constexpr reverse_iterator& operator-=(difference_type n); constexpr unspecified operator[](difference_type n) const; friend constexpr iter_rvalue_reference_t iter_move(const reverse_iterator& i) noexcept(see below); template<indirectly_swappable Iterator2>friend constexpr void iter_swap(const reverse_iterator& x, const reverse_iterator& y) noexcept(see below); protected: Iterator current; };}

1

#

The member typedef-name iterator_concept denotes

random_access_iterator_tag if Iterator modelsrandom_access_iterator, and

bidirectional_iterator_tag otherwise.

2

#

The member typedef-name iterator_category denotes

random_access_iterator_tag if the typeiterator_traits<Iterator>::iterator_category modelsderived_from<random_access_iterator_tag>, and

iterator_traits<Iterator>::iterator_category otherwise.