Files
2025-10-25 03:02:53 +03:00

2.6 KiB

[istream.iterator.cons]

24 Iterators library [iterators]

24.6 Stream iterators [stream.iterators]

24.6.2 Class template istream_iterator [istream.iterator]

24.6.2.2 Constructors and destructor [istream.iterator.cons]

🔗

constexpr istream_iterator(); constexpr istream_iterator(default_sentinel_t);

1

#

Effects: Constructs the end-of-stream iterator, value-initializing value.

2

#

Postconditions: in_stream == nullptr is true.

3

#

Remarks: If the initializer T() in the declaration auto x = T(); is a constant initializer ([expr.const]), then these constructors are constexpr constructors.

🔗

istream_iterator(istream_type& s);

4

#

Effects: Initializes in_stream with addressof(s), value-initializes value, and then calls operator++().

🔗

constexpr istream_iterator(const istream_iterator& x) noexcept(see below);

5

#

Effects: Initializes in_stream with x.in_stream and initializes value with x.value.

6

#

Remarks: An invocation of this constructor may be used in a core constant expression if and only if the initialization of value from x.value is a constant subexpression ([defns.const.subexpr]).

The exception specification is equivalent tois_nothrow_copy_constructible_v.

🔗

~istream_iterator() = default;

7

#

Remarks: If is_trivially_destructible_v is true, then this destructor is trivial.