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