std::ranges::basic_istream_view::iterator
From cppreference.com
< cpp | ranges | basic istream view
struct /*iterator*/; |
(exposition only*) | |
ranges::basic_istream_view<Val, CharT, Traits>::iterator
is the type of the iterators returned by begin()
of ranges::basic_istream_view<Val, CharT, Traits>.
iterator
is an input_iterator
, but does not satisfy LegacyInputIterator, and thus does not work with pre-C++20 algorithms.
Nested types
Type | Definition |
iterator_concept
|
std::input_iterator_tag |
difference_type
|
std::ptrdiff_t |
value_type
|
Val
|
Data members
Member | Definition |
ranges::basic_istream_view<Val, CharT, Traits> parent_
|
a pointer to the parent view (exposition-only member object*) |
Member functions
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) |
1) The copy constructor is deleted. The iterator is not copyable.
2) The move constructor is defaulted.
std::ranges::basic_istream_view::iterator::operator=
/*iterator*/& operator=( const /*iterator*/& ) = delete; |
(1) | (since C++20) |
/*iterator*/& operator=( /*iterator*/&& ) = default; |
(2) | (since C++20) |
1) The copy assignment operator is deleted. The iterator is not copyable.
2) The move assignment operator is defaulted.
std::ranges::basic_istream_view::iterator::operator++
/*iterator*/& operator++(); |
(1) | (since C++20) |
void operator++(int); |
(2) | (since C++20) |
2) Equivalent to ++*this.
std::ranges::basic_istream_view::iterator::operator*
Val& operator*() const; |
(since C++20) | |
Non-member functions
operator==(std::ranges::basic_istream_view::iterator, std::default_sentinel)
friend bool operator==( const /*iterator*/& x, std::default_sentinel_t ); |
(since C++20) | |
This function is not visible to ordinary unqualified or qualified lookup, and can only be found by argument-dependent lookup when std::ranges::basic_istream_view::iterator
is an associated class of the arguments.
Defect reports
The following behavior-changing defect reports were applied retroactively to previously published C++ standards.
DR | Applied to | Behavior as published | Correct behavior |
---|---|---|---|
P2325R3 | C++20 | default constructor was provided as C++20 iterators must be default_initializable
|
removed along with the requirement |