N4530, Editor's Report for the Library Fundamentals TS

Jeffrey Yasskin
Google, Inc.
jyasskin@google.com

New Papers

V1 has 3 issues applied from the Lenexa meeting, and is being sent for publication.

V2 has 5 motions applied from the Lenexa meeting.

Notable Changes to Issues and Papers as Moved

Retargeted N4371 to the Fundamentals TS

This paper was written as changes to the main C++ standard, so I had to adjust headers and section numbers to make it fit into the TS.

Updated the feature testing macros

Not all applied papers proposed feature-test macros, so I invented some. I also gave all new features a value of 201505.

Rearranged the Source Locations paper a bit

Put definitions outside the synopsis section, gave the synopsis a "synop" stable name, and put all creation operations together.

All Changes to V1

A log of all changes to V1 of the Library Fundamentals TS since N4335 is below and on Github.

commit b12eda2ddb8145f9481c112dcb6ab112b5e8737b
Author: Jeffrey Yasskin <jyasskin@gmail.com>
Date:   Sat Nov 22 23:58:53 2014 -0800

    Update the V1 repo after N4335.

commit b3e5cdf7d39c8ded92dcf4bd4dff35308eb06771
Author: Jeffrey Yasskin <jyasskin@gmail.com>
Date:   Sun Nov 23 00:02:38 2014 -0800

    Fix the second instance of #43, wording of "May throw bad_alloc" sentence.

commit 17ad117df927a338989468288d63226c5f2cf5d5
Author: Jeffrey Yasskin <jyasskin@gmail.com>
Date:   Sun Jan 11 15:53:17 2015 -0800

    Remove a description of a char* as a "string" in string.view.cons.

    This handles the PDTS comment FI3 editorially. I didn't include the extra
    description of an "array of charT" from string.cons because the postcondition
    table is sufficient.

commit dc1dd0a9c5176251aca3786aa9ecb745d6b1f9fe
Author: Jeffrey Yasskin <jyasskin@gmail.com>
Date:   Sun Jan 11 16:12:18 2015 -0800

    Make the order of comparison definitions in [optional.comp_with_t] match the synopsis and [optional.nullops].

    Fixes LEWG71.

commit 68068cec402fc90d08242d4917c9913dad866f59
Author: Jeffrey Yasskin <jyasskin@gmail.com>
Date:   Sun Jan 11 16:49:45 2015 -0800

    Update html-doc-framework to support the DTS stage.

commit 0cbde65a57bfadc662e1d11c99dffc7434db4348
Author: Jeffrey Yasskin <jyasskin@gmail.com>
Date:   Thu Feb 5 11:03:00 2015 +0000

    Remove the experimental/net header from Table 1 after be184ef630 removed the header.

commit 4aa93f1a5d20daa9933b12f19c93e7a15edb8f58
Author: Jeffrey Yasskin <jyasskin@gmail.com>
Date:   Mon Apr 6 21:33:15 2015 -0700

    Fix #50, "#include <exerimental/string>"

commit 800ec422d36ea1b6ff0f02005ddfd775a0067a50
Author: Jeffrey Yasskin <jyasskin@gmail.com>
Date:   Mon Apr 6 22:45:56 2015 -0700

    Update the normative reference to the published C++14.

commit 6cda0a00d70f635f42a3ea13ea80ab2ddc62a680
Author: Jeffrey Yasskin <jyasskin@gmail.com>
Date:   Sun May 10 12:12:30 2015 -0500

    Apply LWG2410 from N4383 per LWG Motion 3 at the 2015-05 Lenexa meeting.

    http://wiki.edg.com/twiki/bin/view/Wg21lenexa/StrawPolls

commit 5c563c8dd98980eb861d5bbace6ab841c650ee78
Author: Jeffrey Yasskin <jyasskin@gmail.com>
Date:   Sun May 10 12:20:38 2015 -0500

    Apply LWG2418 from N4383 per LWG Motion 3 at the 2015-05 Lenexa meeting.

    http://wiki.edg.com/twiki/bin/view/Wg21lenexa/StrawPolls

commit 5a7a1bdadbc4222db7f87fc5a4794257f76a344d
Author: Jeffrey Yasskin <jyasskin@gmail.com>
Date:   Sun May 10 12:24:55 2015 -0500

    Apply LWG2463 from N4383 per LWG Motion 3 at the 2015-05 Lenexa meeting.

    http://wiki.edg.com/twiki/bin/view/Wg21lenexa/StrawPolls

All Changes to V2

A log of all changes to V2 of the Library Fundamentals TS since N4336 is below and on Github. Many of these changes are V1 changes included by N4521.

commit 4c96a60e0d78c531ba798f065a65367d654c8d93
Author: Jeffrey Yasskin <jyasskin@gmail.com>
Date:   Sun Nov 23 00:05:36 2014 -0800

    Update the V2 repo after N4336.

commit 26a09a0f0d37bd2d26c1c3184a0118175bbf5d70
Author: Jonathan Wakely <cxx@kayari.org>
Date:   Sat May 2 16:41:39 2015 +0100

    [iterator.ostream.joiner] Reorder constructors in synopsis.

    Also use injected-class-name and typedef to de-clutter.

    Fixes #53.

commit 2a4ad77eacce5433b4fb1185beaa646475b78c98
Author: Jonathan Wakely <github@kayari.org>
Date:   Sat May 2 16:36:51 2015 +0100

    [iterator.ostream.joiner.ops] Remove redundant parentheses.

commit e09928fef4382c4f294ebf5bf4383684585a7e58
Author: Jonathan Wakely <cxx@kayari.org>
Date:   Sat May 2 16:40:36 2015 +0100

    [iterator.ostream.joiner.cons] Use addressof.

    Fixes #52.

commit f1f4e29774a448163dec2af3f0dce073801c3c82
Author: Jeffrey Yasskin <jyasskin@gmail.com>
Date:   Mon Apr 6 22:45:56 2015 -0700

    Update the normative reference to the published C++14.

commit 69a4cb8a10438542df2216963a9b49af782dca86
Author: Jeffrey Yasskin <jyasskin@gmail.com>
Date:   Sat Apr 11 12:27:32 2015 -0700

    Apply N4388 per LWG Motion 4 at the 2015-05 Lenexa meeting.

    http://wiki.edg.com/twiki/bin/view/Wg21lenexa/StrawPolls

commit 2dc989ca7554fd471c45bf0f7240d1b5762a5b68
Author: Jeffrey Yasskin <jyasskin@gmail.com>
Date:   Sat Apr 11 13:32:52 2015 -0700

    Apply N4391 per LWG Motion 5 at the 2015-05 Lenexa meeting.

    http://wiki.edg.com/twiki/bin/view/Wg21lenexa/StrawPolls

commit 5b1db9b06a572f940d89d0b91c2762859dc6fb2f
Author: Jeffrey Yasskin <jyasskin@gmail.com>
Date:   Sun May 10 12:19:24 2015 -0700

    Apply N4519 per LWG Motion 7 at the 2015-05 Lenexa meeting.

    http://wiki.edg.com/twiki/bin/view/Wg21lenexa/StrawPolls

commit adb5fad3dc645fcdda745463c6d8c7b6e2911d66
Author: Jeffrey Yasskin <jyasskin@gmail.com>
Date:   Sun May 10 13:16:05 2015 -0700

    Add the reflection clause, forgotten in the previous commit.

commit 5b69ee0d44ee07a6ced16cd65ffcce5cd4fa6df9
Author: Jeffrey Yasskin <jyasskin@gmail.com>
Date:   Sun May 10 13:57:46 2015 -0700

    Update the HTML document framework to 0.3.1.

commit 71599b4c689e090414a058cb416643a37d319b16
Author: Jeffrey Yasskin <jyasskin@gmail.com>
Date:   Sun Jul 6 11:00:34 2014 -0700

    Rename mods.allocator.uses to allocator.uses.trait.

commit 05b8ad087fe8b602d1e7ecca637d3d304b12a0ff
Author: Jeffrey Yasskin <jyasskin@gmail.com>
Date:   Sun Jul 6 11:01:11 2014 -0700

    Use a real reference for BinaryTypeTrait.

commit da29e15b4b8fe5d35b04f15533ab15e883dccfda
Author: Jeffrey Yasskin <jyasskin@gmail.com>
Date:   Sun Jul 6 11:15:03 2014 -0700

    Section references are now against the C++14 DIS.

commit 5f2655c80ed5103bb4ba55a22a940aa5182e38ba
Author: Jeffrey Yasskin <jyasskin@gmail.com>
Date:   Sun Jul 6 11:36:42 2014 -0700

    Put a missed string_view table caption in code font.

commit 550ef7a9dcf0b32c25a972d75d1194c2177bad12
Author: Jeffrey Yasskin <jyasskin@gmail.com>
Date:   Sun Jul 6 13:05:50 2014 -0700

    Number and caption the new optional<> tables.

commit 06b8e0e89d08db74427ef1cc1df497f52f774e7d
Author: Jeffrey Yasskin <jyasskin@gmail.com>
Date:   Sun Jul 6 13:06:56 2014 -0700

    Use std::move() instead of move() in optional<>.

commit 2b0f6193bbb9be002d7febc831b9c1d18880fb39
Author: Jeffrey Yasskin <jyasskin@gmail.com>
Date:   Sun Jul 6 13:11:12 2014 -0700

    Insert "Then" at the beginning of [meta.trans.other] p6 b3.

commit 9cbc31423020a2ff7fca98d920aa8f4a38d28340
Author: Jeffrey Yasskin <jyasskin@gmail.com>
Date:   Sun Jul 6 13:13:23 2014 -0700

    It's <cxx-postconditions>, not <cxx-postcondition>.

    Filed cplusplus/html-doc-framework#12.

commit b030b2235daef34b73a565eb5c158f071aa016b2
Author: Jeffrey Yasskin <jyasskin@gmail.com>
Date:   Sun Jul 6 13:20:05 2014 -0700

    Change alg.search to "Equivalent to *return*".

commit b178466490eb77ff8fb7c43f3dacd971817e2d0c
Author: Jeffrey Yasskin <jyasskin@gmail.com>
Date:   Sun Jul 6 14:01:41 2014 -0700

    Revert "Rename mods.allocator.uses to allocator.uses.trait."

    This reverts commit 71599b4c689e090414a058cb416643a37d319b16.

commit 6fdf23b4046e006ee8b07ab92aaa85b4be41108a
Author: Jeffrey Yasskin <jyasskin@gmail.com>
Date:   Mon Jul 7 22:07:11 2014 -0700

    Fix the font size of <pre> blocks.

commit 69d0bb154f311a8e9db2ddebb8b97c2c5799c761
Author: Jeffrey Yasskin <jyasskin@gmail.com>
Date:   Mon Jul 7 22:36:31 2014 -0700

    Add a missed </code>.

commit be184ef6309314a127b0ec5ec38f0ca3d26c4aef
Author: Jeffrey Yasskin <jyasskin@gmail.com>
Date:   Sun Nov 16 21:44:21 2014 -0800

    Apply LWG motion 5, striking the Network Byte Order clause and removing the reference to the Unicode standard RFC2781

    http://wiki.edg.com/twiki/bin/view/Wg21urbana-champaign/StrawPolls

commit f083f7339e10295975f29345137ab878fc60393b
Author: Jeffrey Yasskin <jyasskin@gmail.com>
Date:   Sun Nov 16 22:31:03 2014 -0800

    Apply LWG motion 6, N4270, Collected Edits to the Library Fundamentals TS.

    http://wiki.edg.com/twiki/bin/view/Wg21urbana-champaign/StrawPolls

commit 24a76c592dc6fc5b329ea128fc8f67f95aec2801
Author: Jeffrey Yasskin <jyasskin@gmail.com>
Date:   Sun Nov 16 23:08:34 2014 -0800

    Apply LWG motion 7, N4288, Strike string_view::clear

    http://wiki.edg.com/twiki/bin/view/Wg21urbana-champaign/StrawPolls

commit 2b1454357372d7120d6784565f02e10f1d005e5a
Author: Jeffrey Yasskin <jyasskin@gmail.com>
Date:   Sun Nov 16 23:14:02 2014 -0800

    Update the feature test macros for changes in the 2014-11 meeting.

commit c748daef3033d83b078a9c53f47c3c994c0624e5
Author: Jeffrey Yasskin <jyasskin@gmail.com>
Date:   Fri Nov 21 23:26:52 2014 -0800

    Fix #43, wording of "May throw bad_alloc" sentence.

commit b12eda2ddb8145f9481c112dcb6ab112b5e8737b
Author: Jeffrey Yasskin <jyasskin@gmail.com>
Date:   Sat Nov 22 23:58:53 2014 -0800

    Update the V1 repo after N4335.

commit b3e5cdf7d39c8ded92dcf4bd4dff35308eb06771
Author: Jeffrey Yasskin <jyasskin@gmail.com>
Date:   Sun Nov 23 00:02:38 2014 -0800

    Fix the second instance of #43, wording of "May throw bad_alloc" sentence.

commit 17ad117df927a338989468288d63226c5f2cf5d5
Author: Jeffrey Yasskin <jyasskin@gmail.com>
Date:   Sun Jan 11 15:53:17 2015 -0800

    Remove a description of a char* as a "string" in string.view.cons.

    This handles the PDTS comment FI3 editorially. I didn't include the extra
    description of an "array of charT" from string.cons because the postcondition
    table is sufficient.

commit dc1dd0a9c5176251aca3786aa9ecb745d6b1f9fe
Author: Jeffrey Yasskin <jyasskin@gmail.com>
Date:   Sun Jan 11 16:12:18 2015 -0800

    Make the order of comparison definitions in [optional.comp_with_t] match the synopsis and [optional.nullops].

    Fixes LEWG71.

commit 68068cec402fc90d08242d4917c9913dad866f59
Author: Jeffrey Yasskin <jyasskin@gmail.com>
Date:   Sun Jan 11 16:49:45 2015 -0800

    Update html-doc-framework to support the DTS stage.

commit 0cbde65a57bfadc662e1d11c99dffc7434db4348
Author: Jeffrey Yasskin <jyasskin@gmail.com>
Date:   Thu Feb 5 11:03:00 2015 +0000

    Remove the experimental/net header from Table 1 after be184ef630 removed the header.

commit 4aa93f1a5d20daa9933b12f19c93e7a15edb8f58
Author: Jeffrey Yasskin <jyasskin@gmail.com>
Date:   Mon Apr 6 21:33:15 2015 -0700

    Fix #50, "#include <exerimental/string>"

commit 800ec422d36ea1b6ff0f02005ddfd775a0067a50
Author: Jeffrey Yasskin <jyasskin@gmail.com>
Date:   Mon Apr 6 22:45:56 2015 -0700

    Update the normative reference to the published C++14.

commit 6cda0a00d70f635f42a3ea13ea80ab2ddc62a680
Author: Jeffrey Yasskin <jyasskin@gmail.com>
Date:   Sun May 10 12:12:30 2015 -0500

    Apply LWG2410 from N4383 per LWG Motion 3 at the 2015-05 Lenexa meeting.

    http://wiki.edg.com/twiki/bin/view/Wg21lenexa/StrawPolls

commit 5c563c8dd98980eb861d5bbace6ab841c650ee78
Author: Jeffrey Yasskin <jyasskin@gmail.com>
Date:   Sun May 10 12:20:38 2015 -0500

    Apply LWG2418 from N4383 per LWG Motion 3 at the 2015-05 Lenexa meeting.

    http://wiki.edg.com/twiki/bin/view/Wg21lenexa/StrawPolls

commit 5a7a1bdadbc4222db7f87fc5a4794257f76a344d
Author: Jeffrey Yasskin <jyasskin@gmail.com>
Date:   Sun May 10 12:24:55 2015 -0500

    Apply LWG2463 from N4383 per LWG Motion 3 at the 2015-05 Lenexa meeting.

    http://wiki.edg.com/twiki/bin/view/Wg21lenexa/StrawPolls

commit 34cd87e183efc128cf12c43eb0dd50b0aa8c182b
Author: Jeffrey Yasskin <jyasskin@gmail.com>
Date:   Sun May 10 17:10:11 2015 -0700

    Apply N4502 per LWG Motion 8 at the 2015-05 Lenexa meeting.

    http://wiki.edg.com/twiki/bin/view/Wg21lenexa/StrawPolls

commit 05f0afca43ee35a6093a456227edea0dd6dd174b
Author: Jeffrey Yasskin <jyasskin@gmail.com>
Date:   Sun May 10 17:14:26 2015 -0700

    Fix a merge mistake after [syserror].

commit b593ba723121c9d863c0070843140e29ca4c8c5a
Author: Jeffrey Yasskin <jyasskin@gmail.com>
Date:   Sun May 10 17:28:49 2015 -0700

    Rearrange [reflection.src_loc] to put definitions outside the synopsis section,
    give the synopsis a "synop" stable name,
    and to put all creation operations together.

commit 06ba46a152530f77aae62bc19790c558ccebb8cd
Author: Jeffrey Yasskin <jyasskin@gmail.com>
Date:   Sun May 10 17:49:12 2015 -0700

    Assign the next paper number and regenerate the single-page HTML.

commit a1decaa31cc8fa1adac7e4c269bddbf6d7605652
Author: Jeffrey Yasskin <jyasskin@gmail.com>
Date:   Mon May 11 09:59:06 2015 -0700

    Fix the make_array and propagate_const paper numbers and feature test values.

    Zhihao Yuan noticed I had the versions from the tentative V2 draft, not the adopted versions.

commit 4f9efaa685ba54f53f40e5b3619447f5cbdce471
Author: timsong-cpp <rs2740@gmail.com>
Date:   Tue May 12 16:56:45 2015 -0400

    Fix wrong examples in [meta.detect]

    It's `is_detected<Op, Args...>`, so `copy_assign_t` first, then `T`. Similarly, it's `is_detected_exact<Expected, Op, Args...>`, so `T&`, then `copy_assign_t`, then `T`.

commit 27f0b8c8ffa89aea1831dd5d3efbd334d7d076de
Author: Jeffrey Yasskin <jyasskin@gmail.com>
Date:   Fri May 22 01:06:29 2015 -0700

    Release N4529, the Library Fundamentals v2 working paper.