std::ranges::basic_istream_view:: iterator
|
struct
/*iterator*/
;
|
( 仅用于说明* ) | |
ranges::
basic_istream_view
<
Val, CharT, Traits
>
::
iterator
是由
ranges::
basic_istream_view
<
Val, CharT, Traits
>
的
begin()
返回的迭代器类型。
iterator
是一个
input_iterator
,但不满足
LegacyInputIterator
的要求,因此无法与 C++20 之前的
algorithms
协同工作。
嵌套类型
| 类型 | 定义 |
iterator_concept
|
std::input_iterator_tag |
difference_type
|
std::ptrdiff_t |
value_type
|
Val
|
数据成员
| 成员 | 定义 |
ranges::
basic_istream_view
<
Val, CharT, Traits
>
parent_
|
指向父视图的指针
( 仅用于说明的成员对象* ) |
成员函数
std::ranges::basic_istream_view:: iterator :: iterator
|
/*iterator*/
(
const
/*iterator*/
&
)
=
delete
;
|
(1) | (since C++20) |
|
/*iterator*/
(
/*iterator*/
&&
)
=
default
;
|
(2) | (since C++20) |
|
constexpr
explicit
/*iterator*/
(
basic_istream_view
&
parent
)
;
|
(3) | (since C++20) |
std::ranges::basic_istream_view:: iterator :: operator=
|
/*iterator*/
&
operator
=
(
const
/*iterator*/
&
)
=
delete
;
|
(1) | (since C++20) |
|
/*iterator*/
&
operator
=
(
/*iterator*/
&&
)
=
default
;
|
(2) | (since C++20) |
std::ranges::basic_istream_view:: iterator :: operator++
|
/*iterator*/
&
operator
++
(
)
;
|
(1) | (since C++20) |
|
void
operator
++
(
int
)
;
|
(2) | (since C++20) |
std::ranges::basic_istream_view:: iterator :: operator*
|
Val
&
operator
*
(
)
const
;
|
(since C++20) | |
非成员函数
operator== (std::ranges::basic_istream_view:: iterator , std::default_sentinel)
|
friend
bool
operator
==
(
const
/*iterator*/
&
x,
std::
default_sentinel_t
)
;
|
(since C++20) | |
返回
!
*
parent_
-
>
stream_
。
此函数对普通的
非限定查找
或
限定查找
不可见,仅当
std::ranges::basic_istream_view::
iterator
作为参数的关联类时,才能通过
实参依赖查找
找到。
缺陷报告
下列行为变更缺陷报告被追溯应用于先前发布的C++标准。
| 缺陷报告 | 应用于 | 发布时的行为 | 正确行为 |
|---|---|---|---|
| P2325R3 | C++20 |
默认构造函数作为C++20提供
迭代器必须满足
default_initializable
|
随同要求
一并移除 |