std::ranges:: repeat_view<W, Bound>:: iterator
|
struct
/*iterator*/
;
|
( 仅用于说明* ) | |
ranges::
repeat_view
<
W, Bound
>
::
iterator
是
ranges::
repeat_view
<
W, Bound
>
的
begin()
和
end()
所返回迭代器的类型。
嵌套类型
仅用于说明的类型 |
|
| 类型 | 定义 |
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
;
|
(since C++23) | |
返回
*
value_
。
std::ranges::repeat_view:: iterator :: operator[]
|
constexpr
const
W
&
operator
[
]
(
difference_type n
)
const
noexcept
;
|
(since 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) |
current_
;
return
*
this
;
。
std::ranges::repeat_view:: iterator :: operator--
|
constexpr
/*iterator*/
&
operator
--
(
)
;
|
(1) | (since C++23) |
|
constexpr
/*iterator*/
operator
--
(
int
)
;
|
(2) | (since C++23) |
current_
;
return
*
this
;
。
std::ranges::repeat_view:: iterator :: operator+=
|
constexpr
/*iterator*/
&
operator
+
=
(
difference_type n
)
;
|
(since 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
)
;
|
(since 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) | (since C++23) |
|
friend
constexpr
/*iterator*/
operator
+
( difference_type n, /*iterator*/ i ) ; |
(2) | (since 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) |
difference_type
>
(
x.
current_
)
-
static_cast
<
difference_type
>
(
y.
current_
)
。
这些函数对普通的
非限定查找
或
限定查找
不可见,仅当
iterator
是参数的关联类时,才能通过
实参依赖查找
找到。
注释
iterator
始终是
random_access_iterator
。