table of contents
std::ranges::basic_istream_view::iterator(3) | C++ Standard Libary | std::ranges::basic_istream_view::iterator(3) |
NAME¶
std::ranges::basic_istream_view::iterator - std::ranges::basic_istream_view::iterator
Synopsis¶
struct /*iterator*/; (since C++20)
(exposition only*)
The return type of basic_istream_view::begin.
/*iterator*/ is an input_iterator, but does not satisfy LegacyInputIterator,
and
thus does not work with pre-C++20 algorithms.
Member types¶
Member type Definition
iterator_concept (C++20) std::input_iterator_tag
difference_type (C++20) std::ptrdiff_t
value_type (C++20) Val
Member functions¶
constructor constructs an iterator
(C++20) (public member function)
operator= the copy assignment operator is deleted; /*iterator*/ is move-only
(C++20) (public member function)
operator++ advances the iterator
(C++20) (public member function)
operator* returns the current element
(C++20) (public member function)
std::ranges::basic_istream_view::iterator::iterator
constexpr explicit /*iterator*/( basic_istream_view& parent ); (1)
(since C++20)
/*iterator*/( const /*iterator*/& ) = delete; (2) (since
C++20)
/*iterator*/( /*iterator*/&& ) = default; (3) (since
C++20)
1) Constructs an iterator from the parent basic_istream_view.
2) The copy constructor is deleted. The iterator is not copyable.
3) The move constructor is defaulted. The iterator is movable.
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. The iterator is movable.
std::ranges::basic_istream_view::iterator::operator++
/*iterator*/& operator++(); (1) (since C++20)
void operator++(int); (2) (since C++20)
Reads a value from the underlying stream and stores it into the parent
basic_istream_view.
Return value¶
1) *this
2) (none)
std::ranges::basic_istream_view::iterator::operator*
Val& operator*() const; (since C++20)
Returns a reference to the stored value.
Non-member functions¶
operator== compares with a std::default_sentinel_t
(C++20) (public member function)
operator==(std::ranges::basic_istream_view::iterator, std::default_sentinel)
friend bool operator==( const /*iterator*/& x, (since C++20)
std::default_sentinel_t );
Compares an iterator with std::default_sentinel_t.
Returns true if *this does not have a parent basic_istream_view, or if an
error has
occurred on the underlying stream.
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
default constructor was provided as C++20 removed along with the
P2325R3 C++20 iterators requirement
must be default_initializable
2024.06.10 | http://cppreference.com |