N4528 Editor's Report -- Working Draft, Standard for Programming Language C++

2015-05-22
Richard Smith
Google Inc
<cxxeditor@gmail.com>

Acknowledgements

Very special thanks to Dawn Perchik, who performed nearly all the edits for motions moved at Lenexa (any errors are mine).

Thanks to all those who have submitted editorial issues and those who have provided pull requests with fixes.

New Papers

Notable Changes to Issues and Papers as Moved

LWG motion 16

Subclause [thread.sharedtimedmutex.requirements], "Shared timed mutex types", remains nested directly under [thread.mutex.requirements], "Mutex requirements", rather than being made a subclause of [thread.sharedmutex.requirements], "Shared mutex types". This is consistent with the existing treatment of the sibling subclauses "Mutex types" and "Timed mutex types".

Other Notable Editorial Changes:

No major editorial changes have been made since N4431.

Minor Editorial Fixes

A log of all editorial fixes made since N4431 is below:

commit fa7a721afa87126a59a74bfe2e7344a92d4ebc44
Author: Richard Smith <richard@metafoo.co.uk>
Date:   Sat May 9 14:50:47 2015 -0500

    [dcl.spec.auto] Deduction of auto in direct-list-initialization from a
    double-braced init list will always fail. Use a more specific term here
    to avoid suggesting otherwise.

commit 84161dfb53dbc90564ec28da6e50d29c8bc379bd
Author: Richard Smith <richard@metafoo.co.uk>
Date:   Sat May 9 09:41:12 2015 -0500

    [class.union] Fix example to not use an ill-formed empty anonymous union.

commit 1cfd96e0913891a1ebe491f66dd7ff88ed671901
Author: Richard Smith <richard@metafoo.co.uk>
Date:   Fri May 8 10:11:30 2015 -0500

    Punctuation following canonical type strings, such as "pointer to int",
    go outside the quotation marks, because the quotation marks are part of
    the technical content. Punctuation stays inside other quotation marks.

commit 8ea266298379028a842d8d496441c0cec2e941a4
Author: Richard Smith <richard@metafoo.co.uk>
Date:   Tue Apr 14 03:15:18 2015 -0700

    [intro.defs] Formatting fixes and addition of some cross-references.

commit d7544f51553e7db455a67aa014967f8ac079433c
Author: Jonathan Wakely <cxx@kayari.org>
Date:   Fri May 8 17:56:24 2015 +0100

    [c.math] Add rand to index of library names.

commit df5a2ddc32934e7539063997888d1fc6c1189d0f
Author: AbleBacon <AbleBacon@users.noreply.github.com>
Date:   Wed May 6 11:41:17 2015 -0500

    Update intro.tex

commit cfabe9354fe3fdc8e93dbc0ddc082102f385c0db
Author: FrankHB <frankhb1989@gmail.com>
Date:   Sun May 3 00:36:50 2015 +0800

    [char.traits.require]: Use "class template" instead of "struct template".

commit 3b580b26fe49d01e352d6c24fc054ad586c76f78
Author: FrankHB <frankhb1989@gmail.com>
Date:   Sun May 3 00:36:05 2015 +0800

    [char.traits]: Use "class template" instead of "struct template".

commit 95c971d52cee1558d607703a209ea70b84d6aa93
Author: FrankHB <frankhb1989@gmail.com>
Date:   Sun May 3 00:34:33 2015 +0800

    [char.traits.specializations]: Use "class template" instead of "template struct".

commit ed49c8a8cc7b9899ce2ace9020e4eb6ee426ca25
Author: FrankHB <frankhb1989@gmail.com>
Date:   Sun May 3 00:32:36 2015 +0800

    [allocator.requirements]: Use "class template" instead of "template struct".

commit eb009db79c0563aefffc923722639467fd98a88a
Author: Jonathan Wakely <cxx@kayari.org>
Date:   Tue Apr 28 12:35:36 2015 +0100

    [support.exception] Add reference to [depr.uncaught].

    [ostream::sentry] Use uncaught_exceptions() instead of deprecated
    uncaught_exception().

commit 81c3fb58df9b03098aee3cc0c78647e304833c21
Author: Eelis van der Weegen <eelis@eelis.net>
Date:   Wed Apr 15 00:23:04 2015 +0200

    [re.badexp] Remove redundant colon.

commit 6ebd25d6958ac69eddc0664f4fe9581006249dc2
Author: S. B. Tam <cpplearner@outlook.com>
Date:   Sun Jan 25 21:31:36 2015 +0800

    [valarray.syn] Footnote should reference Annex B.

commit bcda144f2d9c33dcdd8ca9b2879f5e3f660b69cc
Author: Arthur O'Dwyer <arthur.j.odwyer@gmail.com>
Date:   Sat Dec 27 19:30:34 2014 -0800

    [util.smartptr.enab] Fix test of shared ownership in example.

commit 248c164a7d0f335732e15e521ab8101301ce804b
Author: Thomas Köppe <tkoeppe@google.com>
Date:   Tue Apr 14 12:41:05 2015 +0100

    [containers] Consistency cleanups (cf. Issue #400): Ordering of members, whitespace

commit d27b3932b4cba931730bdd5b78fc2968a49f0afa
Author: Thomas Köppe <tkoeppe@google.com>
Date:   Thu Nov 6 10:34:18 2014 -0600

    Fix formatting of DECAY_COPY

commit 51a00b7c7e98c7b0b117f2e01dbba95d4a8543a7
Author: Thomas Köppe <tkoeppe@google.com>
Date:   Fri Aug 1 22:25:05 2014 +0100

    [strings] Fix spacing around index entry.

commit d8073a6030e14683a7d8e4f393a81f3ae7e4419b
Author: Thomas Köppe <tkoeppe@google.com>
Date:   Fri Aug 1 22:18:42 2014 +0100

    [strings] Add line break to table caption.

commit 1186a38e8aa92fa33123dc46b02a10a60d710ff4
Author: Aaron Jacobs <aaronjjacobs@gmail.com>
Date:   Thu Sep 18 13:36:12 2014 +1000

    [unord.req] Made intro wording for Table 103 more consistent.

    Both internally (it was inconsistent in "value" vs. "object") and externally
    (Tables 100 and 102 use "value"). While I was at it, fixed capitalization of
    the word "table" and fixed up TeX formatting.

commit 9416ba8a051ef247c9b865edbb7b4ecd8771e7b8
Author: Aaron Jacobs <aaronjjacobs@gmail.com>
Date:   Thu Sep 18 13:30:30 2014 +1000

    [associative.reqmts] Made Table 102 consistent in the use of u.

    In other tables of requirements, the identifier 'u' is used for
    variables being declared. Made that the case here, too.

commit 32279827a46305adb2219cc1317b491818f2978b
Author: Aaron Jacobs <aaronjjacobs@gmail.com>
Date:   Thu Sep 18 13:27:20 2014 +1000

     [sequence.reqmts] Made Table 100 consistent in the use of u.

    In other tables of requirements, the identifier 'u' is used for
    variables being declared. Made that the case here, too.

commit 79f8b319b0bcecefaf47c13807b68f2b085f18ef
Author: Aaron Jacobs <aaronjjacobs@gmail.com>
Date:   Thu Sep 18 13:17:56 2014 +1000

    [allocator.requirements] Made Tables 27/28 consistent in the use of u.

    In other tables of requirements, the identifier 'u' is used for
    variables being declared. Made that the case here, too. This
    necessitated a reflow of other variable names.

commit 9f9d2e712ce5b99034e2b24a5bebe7c25aeecbfd
Author: Aaron Jacobs <aaronjjacobs@gmail.com>
Date:   Thu Sep 18 11:57:16 2014 +1000

    [containers] Made phrasing for "a value of type X" more consistent.

commit 6eae2a23986d866474826f4e17f935cdf28394b1
Author: Aaron Jacobs <aaronjjacobs@gmail.com>
Date:   Thu Sep 18 11:35:01 2014 +1000

    [allocator.requirements] Fixed types for a, a1, a2 in Table 27.

    It doesn't make sense to re-use values of type X& when declaring a new
    X, as in the use of these variables in Table 28.

commit f0fba72c0d49e855f5615bc2c0d387dae14fcfa6
Author: Aaron Jacobs <aaronjjacobs@gmail.com>
Date:   Thu Sep 18 11:48:40 2014 +1000

    [allocator.requirements] Removed unused variables V and v in Table 27.

commit d2afc9a9b06e8fc495d94506620e54c0b62b36fc
Author: Aaron Jacobs <aaronjjacobs@gmail.com>
Date:   Thu Sep 18 11:45:50 2014 +1000

    [allocator.requirements] Removed unused variables r and s in Table 27.

commit 763d486babd897123e2194e6e170864befdc2bcc
Author: Aaron Jacobs <aaronjjacobs@gmail.com>
Date:   Thu Sep 18 11:41:26 2014 +1000

    [allocator.requirements] Removed unused variable t in Table 27.

commit ea164769bb932efd4c72a0ec060bf3ca719c4a87
Author: Aaron Jacobs <aaronjjacobs@gmail.com>
Date:   Thu Sep 18 11:33:58 2014 +1000

    [allocator.requirements] Removed unused variable a3 in Table 27.

commit 99c10dbdf0534b149f3a8aae51099cb97ef12f39
Author: Thomas Köppe <tkoeppe@google.com>
Date:   Sun Mar 22 21:05:36 2015 +0000

    Consistency cleanups in [containers] (cf. Issue #400). This part of the cleanup changes only whitespace: inserted before commas, removed after namespace braces, improved indentation consistency, removed some extraneous linebreaks for things that fit well on one line

commit 284772e40896fe702dbec79477af2735624565fe
Author: cpplearner <cpplearner@outlook.com>
Date:   Fri Nov 7 20:10:19 2014 +0800

    [priqueue.special] fix typo

    N4140 23.6.4.4 [priqueue.special] says "template <class T, class Container, Compare>". It should say "template <class T, class Container, class Compare>".

commit 0eff4c29bd0655dbe13ac5acf3411060803da69e
Author: Kazutoshi SATODA <k_satoda@f2.dion.ne.jp>
Date:   Sat Aug 2 19:40:22 2014 +0900

    Make the note for both two conditions, not for just the latter of two

    as the note says "Under these conditions...".

    This changes numbering of the items in the note from "(4.2.1) ..." to
    "(4.3) ...".