constexpr /*iterator*/& operator++(); | (1) | (since C++23) |
constexpr void operator++( int ); | (2) | (since C++23) |
constexpr /*iterator*/ operator++( int ) requires std::is_reference_v<InnerBase> && ranges::forward_range<Base> && ranges::forward_range<InnerBase>; | (3) | (since C++23) |
constexpr /*iterator*/& operator--() requires std::is_reference_v<InnerBase> && ranges::bidirectional_range<Base> && ranges::bidirectional_range<InnerBase> && ranges::common_range<InnerBase> && ranges::bidirectional_range<PatternBase> && ranges::common_range<PatternBase>; | (4) | (since C++23) |
constexpr /*iterator*/ operator--( int ) requires std::is_reference_v<InnerBase> && ranges::bidirectional_range<Base> && ranges::bidirectional_range<InnerBase> && ranges::common_range<InnerBase> && ranges::bidirectional_range<PatternBase> && ranges::common_range<PatternBase>; | (5) | (since C++23) |
Increments or decrements the iterator.
1) Increments the stored inner iterator. (The inner iterator may point to eitherInnerBase
or PatternBase
.) ++*this;
auto tmp = *this; ++*this; return tmp;
auto tmp = *this; --*this; return tmp;
If InnerBase
is not a reference, the inner range is stored in the parent join_with_view
for iteration. The inner range need not be movable.
If InnerBase
is a reference, and the outer iterator reaches the end, the inner iterator points to the beginning of the pattern range.
(none).
*this
*this
that was made before the change.
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/ranges/join_with_view/iterator/operator_arith