C++ Editor's Report, October 2013
Overview
New Papers
N3797 is the latest C++ Working Draft. It contains the changes to the C++14 CD as directed by the committee at the Chicago 2013 meeting. Details of the changes are listed below.
Acknowledgements
Thank you to Mike Miller, Alisdair Meredith, and Hans Boehm for their review of the draft.
Thank you to Richard Smith and Jonathan Wakely for processing editorial fixes.
Thank you to everyone who has contributed editorial fixes and issues. How to submit an editorial issue.
Working Draft Changes
CWG Issues Applied
Resolutions from the following CWG issues were applied: 1287 1307 1417 1567 1575 1583 1608 1648 1424 1460 1508 1509 1514 1551 1562 1569 1570 1576 1587 1592 1593 1595 1601 1618 1649
In applying CWG1417, a word missing in the proposed wording was added: "if the function type cv-qualifiers ..." should have been "if the function type has cv-qualifiers ...".
In applying CWG1575, the word "stotate" was corrected to "storage".
CWG Papers Applied
Wording from the following CWG papers were applied, with editorial changes as noted:
- N3760, [[deprecated]] attribute
- N3781, Single-Quotation-Mark as a Digit Separator
- In [lex.fcon]/1 I moved the sentence explaining that digit separators are ignored to right before its corresponding example, so that the paragraph still starts with an explanation of what a floating literal consists of.
- In [diff.cpp11.lex] I reformatted the code example slightly.
- N3778, C++ Sized Deallocation
- In [expr.delete]/9 I included the (not highlighted as being added) wording starting with "Otherwise" as it seemed to be intended to be added to complete the paragraph.
- In [new.delete.array]/13 I changed the signatures to drop the nothrow_t parameter in this paragraph as this section deals with throwing array deallocation functions, not non-throwing ones.
- In [diff.cpp11.basic] I added a reference to [basic.stc.dynamic.deallocation] for the change description. I reworded the Effect paragraph to match other change descriptions. I fixed the reference to "new.expr" to instead refer to "expr.new".
LWG Issues Applied
Resolutions from the following LWG issues were applied: 2141 2246 2247 2085 2087 2143 2150 2180 2194 2013 2018 2078 2097 2100 2120 2159 2275 2284 2298 2300
In addition to the above issues, I applied the suggested resolutions from NB comments GB-7, ES-15, and GB-9.
I was directed to apply the resolution to LWG issue 2235, but it had already been applied in the post-Bristol working draft.
In applying LWG2298, the second change was in fact in [meta.rel] rather than [meta.unary.prop]
In applying LWG2018, I moved the note that the function protoype is exposition only to its declaration.
In applying LWG2141, I used the decay_t<T>
form of decay instead of typename decay<T>::type
.
LWG Papers Applied
Wording from the following LWG papers were applied, with editorial changes as noted:
- N3779, User-defined Literals for std::complex
- The title for [complex.literals] was changed from "Suffix for..." to "Suffixes for...".
- The first paragraph's second sentence was reordered slightly to avoid an ambiguity.
- N3789, Constexpr Library Additions: functional.
As directed, I reverted the changes previously applied from the following papers:
- N3672, "A proposal to add a utility class to represent optional objects"
- N3639, "Runtime-sized arrays with automatic storage duration (revision 5)"
- N3662, "C++ Dynamic Arrays (dynarray)"
SG1 (Concurrency) Papers Applied
Wording from the following SG1 papers were applied:
Editorial NB comments addressed
I addressed the following NB comments marked as editorial:
- US-15: Use the
_t
form of type traits. - CH-7: [intseq.general] Clarify purpose of index_sequence.
- CH-6: [over.literal]: Mark reserved example as such.
- GB-11: [re.iter], [re.tokiter] Fix exposition-only member formatting.
Minor editorial changes
For a full list of editorial changes, please see the C++ draft repository on GitHub.