table of contents
        
      
      
    - Tumbleweed 2024.07.05-1.3
 - Leap-16.0
 
| 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 |