table of contents
        
      
      
    - Tumbleweed 2024.07.05-1.3
 - Leap-16.0
 - Leap-15.6
 
| std::istream_iterator::istream_iterator(3) | C++ Standard Libary | std::istream_iterator::istream_iterator(3) | 
NAME¶
std::istream_iterator::istream_iterator - std::istream_iterator::istream_iterator
Synopsis¶
 istream_iterator(); (until C++11)
  
   constexpr istream_iterator(); (since C++11)
  
   constexpr istream_iterator( (2) (since C++20)
  
   std::default_sentinel_t );
  
   istream_iterator( istream_type& stream ); (1) (3)
  
   istream_iterator( const istream_iterator& other (until C++11)
  
   ); (4)
  
   istream_iterator( const istream_iterator& other (since C++11)
  
   ) = default;
  
   1,2) Constructs the end-of-stream iterator
  
   , value-initializes the stored value. This constructor is constexpr if the
  
   initializer in the definition auto x = T(); is a constant initializer
  
   (since C++11).
  
   3) Initializes the iterator, stores the address of stream in a data member,
    and
  
   performs the first read from the input stream to initialize the cached value
    data
  
   member.
  
   4) Constructs a copy of other.
  
   If std::is_trivially_copy_constructible<T>::value is true, this copy
    constructor is
  
   a trivial copy constructor.
  
   (since C++11)
Parameters¶
 stream - stream to initialize the istream_iterator with
  
   other - another istream_iterator of the same type
Example¶
// Run this code
  
   #include <algorithm>
  
   #include <iostream>
  
   #include <iterator>
  
   #include <sstream>
  
   int main()
  
   {
  
   std::istringstream stream("1 2 3 4 5");
  
   std::copy(
  
   std::istream_iterator<int>(stream),
  
   std::istream_iterator<int>(),
  
   std::ostream_iterator<int>(std::cout, " ")
  
   );
  
   }
Output:¶
1 2 3 4 5
  
   Defect reports
  
   The following behavior-changing defect reports were applied retroactively to
  
   previously published C++ standards.
  
   DR Applied to Behavior as published Correct behavior
  
   LWG 1280 C++98 overload (3) stored stream directly stores its address
    instead
  
   P0738R2 C++98 the first read might be deferred to always performed in the
  
   the first dereference constructor
| 2024.06.10 | http://cppreference.com |