std::ranges::zip_view<Views...>::iterator<Const>::operator++,--,+=,-=
From cppreference.com
| constexpr /*iterator*/& operator++(); |
(1) | (C++23から) |
| constexpr void operator++( int ); |
(2) | (C++23から) |
| constexpr /*iterator*/ operator++( int ) requires /*all-forward*/<Const, Views...>; |
(3) | (C++23から) |
| constexpr /*iterator*/& operator--() requires /*all-bidirectional*/<Const, Views...>; |
(4) | (C++23から) |
| constexpr /*iterator*/ operator--( int ) requires /*all-bidirectional*/<Const, Views...>; |
(5) | (C++23から) |
| constexpr /*iterator*/& operator+=( difference_type n ) requires /*all-random-access*/<Const, Views...>; |
(6) | (C++23から) |
| constexpr /*iterator*/& operator-=( difference_type n ) requires /*all-random-access*/<Const, Views...>; |
(7) | (C++23から) |
基底となるタプルライクオブジェクトの current_ 内の、基底となる is_... イテレータをそれぞれインクリメントまたはデクリメントします。
1) /*tuple-for-each*/([](auto& i) { ++i; }, current_); return *this;に相当します。
2) ++*this;に相当します。
3) auto tmp = *this; ++*this; return tmp; と同等です。
4) /*tuple-for-each*/([](auto& i) { --i; }, current_); return *this;に相当します。
5) auto tmp = *this; --*this; return tmp; と同等です。
6) /*tuple-for-each*/([&]<class I>(I& i) { i += iter_difference_t<I>(x); }, current_); return *this;に相当します。
7) /*tuple-for-each*/([&]<class I>(I& i) { i -= iter_difference_t<I>(x); }, current_); return *this;に相当します。
[編集] パラメータ
| n | - | 現在の位置からの相対位置 |
[編集] 戻り値
1,4,6,7) *this
2) (なし)
3,5) 変更前の *this のコピー
[編集] 例
| このセクションは未完成です 理由: 例がありません |