home | help
std::istrea...eam_iterator(3)  C++ Standard Libary std::istrea...eam_iterator(3)

NAME
     std::istream_iterator::istream_iterator	    -	     std::istream_itera-
     tor::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 mem-
     ber, 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 retroac-
     tively to
	previously published C++ standards.

	   DR	 Applied to	   Behavior  as  published		 Correct
     behavior
	LWG  1280 C++98      overload (3) stored stream directly  stores its ad-
     dress instead
	P0738R2  C++98	    the first read might be  deferred  to   always  per-
     formed in the
			    the first dereference		 constructor

http://cppreference.com 	   2024.06.10	   std::istrea...eam_iterator(3)

home | help