Spec-Zone.ru › C++
std::ranges::basic_istream_view::iterator
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 Data members Member Description
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.
3) Initializes
parent_ with
std::addressof(parent).
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)
Returns parent_ -> value_ .
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)
Returns !* parent_ -> 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
P2325R3 C++20 default constructor was provided as C++20 iterators must be default_initializable removed along with the requirement