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