名前空間
変種
操作

std::ranges::zip_view<Views...>::iterator<Const>::operator++,--,+=,-=

From cppreference.com
< cpp‎ | ranges‎ | zip view‎ | iterator
 
 
Rangesライブラリ
Rangeアダプタ
 
 
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 のコピー

[編集]

English 日本語 中文(简体) 中文(繁體)