operator+,- (ranges::elements_view:: iterator )
From cppreference.net
<
cpp
|
ranges
|
elements view
|
iterator
C++
Ranges library
|
||||||||||||||||||||||
| Range primitives | |||||||
|
|||||||
| Range concepts | |||||||||||||||||||
|
|||||||||||||||||||
| Range factories | |||||||||
|
|||||||||
| Range adaptors | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||
| Helper items | |||||||||||||||||
|
|
||||||||||||||||
std::ranges::elements_view
| Member functions | ||||
|
(C++26)
|
||||
| Nested classes | ||||
| Iterator | ||||
|
operator+
(elements_view::
iterator
)
operator- (elements_view:: iterator ) |
||||
| Sentinel | ||||
|
friend
constexpr
/*iterator*/
operator
+
(
const
/*iterator*/
&
i, difference_type n
)
requires ranges:: random_access_range < Base > ; |
(1) | (C++20以降) |
|
friend
constexpr
/*iterator*/
operator
+
(
difference_type n,
const
/*iterator*/
&
i
)
requires ranges:: random_access_range < Base > ; |
(2) | (C++20以降) |
|
friend
constexpr
/*iterator*/
operator
-
(
const
/*iterator*/
&
i, difference_type n
)
requires ranges:: random_access_range < Base > ; |
(3) | (C++20以降) |
|
friend
constexpr
difference_type operator
-
(
const
/*iterator*/
&
x,
const
/*iterator*/
&
y
)
|
(4) | (C++20以降) |
1,2)
イテレータを
i
に
n
を加算して返します。
3)
イテレータを
i
から
n
だけデクリメントした値を返す。
4)
x
と
y
の間の距離を返します。
これらの関数は通常の
unqualified lookup
や
qualified lookup
では可視化されず、
argument-dependent lookup
によってのみ発見され、その際
elements_view::
iterator
<Const>
が引数の関連クラスである場合に限られます。
目次 |
パラメータ
| i, x, y | - | イテレータ |
| n | - | 現在位置からの相対位置 |
戻り値
1,2)
[
&
]
{
auto
j
=
i
;
j
+
=
n
;
return
j
;
}
(
)
3)
[
&
]
{
auto
j
=
i
;
j
-
=
n
;
return
j
;
}
(
)
4)
x.
base
(
)
-
y.
base
(
)
例
|
このセクションは不完全です
理由: 例がありません |
不具合報告
以下の動作変更の欠陥報告書は、以前に公開されたC++規格に対して遡及的に適用されました。
| DR | 適用対象 | 公開時の動作 | 正しい動作 |
|---|---|---|---|
| LWG 3483 | C++20 |
elements_view::iterator
のdifferenceが過度に制約されている
|
要件が緩和された |