constexpr istream_iterator();
constexpr istream_iterator(default_sentinel);
Effects: Constructs the end-of-stream iterator. If T is a literal type, then these constructors shall be constexpr constructors.
Postcondition: in_stream == nullptr.
istream_iterator(istream_type& s);
Effects: Initializes in_stream with &s. value may be initialized during construction or the first time it is referenced.
Postcondition: in_stream == &s.
istream_iterator(const istream_iterator& x) = default;
Effects: Constructs a copy of x. If T is a literal type, then this constructor shall be a trivial copy constructor.
Postcondition: in_stream == x.in_stream.
~istream_iterator() = default;
Effects: The iterator is destroyed. If T is a literal type, then this destructor shall be a trivial destructor.