Scroll to navigation

std::ranges::transform_view::iterator::operator++,--,+=,-=(3) C++ Standard Libary std::ranges::transform_view::iterator::operator++,--,+=,-=(3)

NAME

std::ranges::transform_view::iterator::operator++,--,+=,-= - std::ranges::transform_view::iterator::operator++,--,+=,-=

Synopsis


constexpr /*iterator*/& operator++(); (1) (since C++20)
constexpr void operator++( int ); (2) (since C++20)
constexpr /*iterator*/ operator++( int ) (3) (since C++20)
requires ranges::forward_range<Base>;
constexpr /*iterator*/& operator--() (4) (since C++20)
requires ranges::bidirectional_range<Base>;
constexpr /*iterator*/ operator--( int ) (5) (since C++20)
requires ranges::bidirectional_range<Base>;
constexpr /*iterator*/& operator+=( difference_type n ) (6) (since C++20)
requires ranges::random_access_range<Base>;
constexpr /*iterator*/& operator-=( difference_type n ) (7) (since C++20)
requires ranges::random_access_range<Base>;


Increments or decrements the iterator.


Let current_ be the underlying iterator.


1) Equivalent to ++current_; return *this;
2) Equivalent to ++current_;
3) Equivalent to auto tmp = *this; ++*this; return tmp;
4) Equivalent to --current_; return *this;
5) Equivalent to auto tmp = *this; --*this; return tmp;
6) Equivalent to current_ += n; return *this;
7) Equivalent to current_ -= n; return *this;

Parameters


n - position relative to current location

Return value


1,4,6,7) *this
3,5) a copy of *this that was made before the change

2024.06.10 http://cppreference.com