Title
Unconditional constexpr default constructor for istream_iterator
Status
c++17
Section
[istream.iterator.cons]
Submitter
United States

Created on 2016-11-09.00:00:00 last changed 89 months ago

Messages

Date: 2016-12-16.20:56:38

Proposed resolution:

In the class synopsis in 24.6.1 [istream.iterator] change the default constructor:

see belowconstexpr istream_iterator();
istream_iterator(istream_type& s);
istream_iterator(const istream_iterator& x) = default;
~istream_iterator() = default;

Change [istream.iterator.cons] before paragraph 1:

see belowconstexpr istream_iterator();

-1- Effects: ...
Date: 2017-02-02.00:41:18

[ Issues Telecon 16-Dec-2016 ]

Jonathan provides wording, Move to Tentatively Ready

Date: 2016-11-09.00:00:00

Addresses US 152

see below for the default constructor should simply be spelled constexpr. The current declaration looks like a member function, not a constructor, and the constexpr keyword implicitly does not apply unless the instantiation could make it so, under the guarantees al ready present in the Effects clause.

Proposed change:

Replace see below with constexpr in the declaration of the default constructor for istream_iterator in the class definition, and function specification.

History
Date User Action Args
2017-07-30 20:15:43adminsetstatus: wp -> c++17
2017-03-05 23:41:16adminsetstatus: ready -> wp
2016-12-16 20:56:38adminsetmessages: + msg8735
2016-12-16 20:56:38adminsetmessages: + msg8734
2016-12-16 20:56:38adminsetstatus: new -> ready
2016-11-09 00:00:00admincreate