std::ranges:: repeat_view<W, Bound>:: iterator
|
struct
/*iterator*/
;
|
( 説明専用* ) | |
ranges::
repeat_view
<
W, Bound
>
::
iterator
は、
begin()
および
end()
によって返されるイテレータの型です。
ranges::
repeat_view
<
W, Bound
>
の。
ネストされた型
説明専用型 |
|
| 型 | 定義 |
index-type
|
std::
conditional_t
<
std::
same_as
<
Bound,
std::
unreachable_sentinel_t
>
,
std::
ptrdiff_t
, Bound
>
( 説明専用メンバ型* ) |
イテレータプロパティ型 |
|
| 型 | 定義 |
iterator_concept
|
std::random_access_iterator_tag |
iterator_category
|
std::random_access_iterator_tag |
value_type
|
W
|
difference_type
|
std::
conditional_t
<
is-signed-integer-like
<
index-type
>
,
index-type
,
iota-diff-t
<
index-type
>>
|
データメンバ
| メンバー | 定義 |
const
W
*
value_
|
繰り返す値へのポインタ
( 説明専用メンバーオブジェクト* ) |
index-type
current_
|
現在位置
( 説明専用メンバーオブジェクト* ) |
メンバー関数
std::ranges::repeat_view:: iterator :: iterator
|
/*iterator*/
(
)
=
default
;
|
(1) | (since C++23) |
|
constexpr
explicit
/*iterator*/
( const W * value, /*index-type*/ b = /*index-type*/ ( ) ) ; |
(2) |
(since C++23)
( 説明専用* ) |
イテレータを構築します。オーバーロード
(2)
は
begin()
および
end()
によって
ranges::repeat_view
から呼び出されます。
std::ranges::repeat_view:: iterator :: operator*
|
constexpr
const
W
&
operator
*
(
)
const
noexcept
;
|
(C++23以降) | |
value_
を返します。
std::ranges::repeat_view:: iterator :: operator[]
|
constexpr
const
W
&
operator
[
]
(
difference_type n
)
const
noexcept
;
|
(C++23以降) | |
* ( * this + n ) を返します。
std::ranges::repeat_view:: iterator :: operator++
|
constexpr
/*iterator*/
&
operator
++
(
)
;
|
(1) | (since C++23) |
|
constexpr
void
operator
++
(
int
)
;
|
(2) | (since C++23) |
std::ranges::repeat_view:: iterator :: operator--
|
constexpr
/*iterator*/
&
operator
--
(
)
;
|
(1) | (C++23以降) |
|
constexpr
/*iterator*/
operator
--
(
int
)
;
|
(2) | (C++23以降) |
current_
;
return
*
this
;
.
std::ranges::repeat_view:: iterator :: operator+=
|
constexpr
/*iterator*/
&
operator
+
=
(
difference_type n
)
;
|
(C++23以降) | |
current_
+
=
n
;
return
*
this
;
と等価。
Bound
が
std::unreachable_sentinel_t
でなく、かつ
current_
+
n
が負の場合、動作は未定義。
std::ranges::repeat_view:: iterator :: operator-=
|
constexpr
/*iterator*/
&
operator
-
=
(
difference_type n
)
;
|
(C++23以降) | |
current_
-
=
n
;
return
*
this
;
と等価。
Bound
が
std::unreachable_sentinel_t
でなく、かつ
current_
-
n
が負の場合、動作は未定義。
非メンバー関数
operator==, <=> (std::ranges::repeat_view:: iterator )
|
friend
constexpr
bool
operator
==
( const /*iterator*/ & x, const /*iterator*/ & y ) ; |
(1) | (since C++23) |
|
friend
constexpr
auto
operator
<=>
( const /*iterator*/ & x, const /*iterator*/ & y ) ; |
(2) | (since C++23) |
!=
演算子は
operator==
から
合成されます
。
これらの関数は通常の
非修飾名探索
または
修飾名探索
では可視化されず、
iterator
が引数の関連クラスである場合にのみ
実引数依存探索
によって発見されます。
operator+ (std::ranges::repeat_view:: iterator )
|
friend
constexpr
/*iterator*/
operator
+
( /*iterator*/ i, difference_type n ) ; |
(1) | (C++23以降) |
|
friend
constexpr
/*iterator*/
operator
+
( difference_type n, /*iterator*/ i ) ; |
(2) | (C++23以降) |
i + = n ; return i ; と等価。
これらの関数は通常の
非修飾名探索
または
修飾名探索
では可視化されず、
iterator
が引数の関連クラスである場合にのみ
実引数依存の名前探索
によって発見されます。
operator- (std::ranges::repeat_view:: iterator )
|
friend
constexpr
/*iterator*/
operator
-
( /*iterator*/ i, difference_type n ) ; |
(1) | (since C++23) |
|
friend
constexpr
difference_type operator
-
( const /*iterator*/ & x, const /*iterator*/ & y ) ; |
(2) | (since C++23) |
i -= n; return i;
と等価。
static_cast<difference_type>(x.current_) - static_cast<difference_type>(y.current_)
を返す。
これらの関数は通常の
非修飾名探索
または
修飾名探索
では可視化されず、
実引数依存の名前探索
によってのみ、
iterator
が引数の関連クラスである場合に見つけることができる。
注記
iterator
は常に
random_access_iterator
です。