Thank you to the editing committee, consisting of Alisdair Meredith, Daniel Krügler, and Marshall Clow, for their review of the PDTS.
Special thanks to Jonathan Wakely for applying edits corresponding to motions to the draft working paper, and Daniel Krügler for submitting many editorial issues.
Thanks to all those who have submitted editorial issues.
LWG 2389 and Motion 4 / N4067 conflicted and were merged by applying ALLOCATOR_OF
in matching places in [func.wrap.func.con] after N4067's move.
The table format proved hard to read, so 2653e2ff moved the comments column to independent paragraphs after the table.
This paper uses a void member() const&&;
format when both a const-qualifier and a ref-qualifier apply to a member function.
I've changed this to void member() const &&;
to match the example in [over.load] in the standard.
This paper missed the removal of [optional.defs] after it removed all uses of the definitions there. 40ff9451 removes this section.
I've also added table numbers and captions to the new tables.
The proposed stable names followed a different pattern than the rest of the document, and were renamed back to the prevailing format.
N4077 propagates a mistake in shared_ptr::operator*()
introduced in the application of N3920. I've replaced the incorrect Notes: section with a Remarks:.
Commit 043a78f7 replaces all uses of type traits with their equivalent aliases and variable templates.
I updated the values of the feature testing macro to match the meeting at which the feature last changed. This may make it easier for people to track partial implementations of the TS.
In rebasing N3866 onto the Fundamentals TS, I missed that I produced paragraphs saying "If X && Y then W. If X && Z then W." 0f08d278 merges the redundant paragraphs.
A log of all changes since N4023 is below and on Github.
commit 2653e2ff9f6912029cb54bafb353db06f5a093be Author: Jeffrey Yasskin <jyasskin@gmail.com> Date: Mon Jun 16 23:18:14 2014 +0200 Extract the definitions of the invocation traits into separate paragraphs. This lets us use bullets, etc. to structure the explanation, which is easier to read than stuffing the whole thing into a single table cell. commit 5aaf8ae3fad6fd5704b5556242ca27ce64e0479b Author: Jeffrey Yasskin <jyasskin@gmail.com> Date: Sun Jun 22 12:38:11 2014 +0200 Apply LWG2371 from N4079. commit 92be114325257914b11ad94176036c6db6b5c064 Author: Jeffrey Yasskin <jyasskin@gmail.com> Date: Sun Jun 22 12:41:58 2014 +0200 Apply LWG2374 from N4079. commit 9458ef694db1af1964cf38c1265017f33980afbf Author: Jeffrey Yasskin <jyasskin@gmail.com> Date: Sun Jun 22 15:06:24 2014 +0200 Apply LWG2390 from N4079. commit f06f897eb933d00236ca0fb776f6d150e7d18874 Author: Jeffrey Yasskin <jyasskin@gmail.com> Date: Sun Jun 22 15:09:41 2014 +0200 Apply LWG2395 from N4079: "Preconditions: is defined nowhere" commit 2937962ad1daff54a4fed13bf96ed97bf5b75a08 Author: Jeffrey Yasskin <jyasskin@gmail.com> Date: Sun Jun 22 15:16:05 2014 +0200 Apply LWG2409 from N4079: "SFINAE-friendly common_type/iterator_traits should be removed from the fundamental-ts" commit 7b47f9c82d38cef42a07933376f0319eceff9a21 Author: Jeffrey Yasskin <jyasskin@gmail.com> Date: Mon Jun 23 15:17:19 2014 +0200 Apply N4078: "Fixes for optional objects" commit b3b6b5b0559f4608ff0970be886c7400970ed185 Author: Jonathan Wakely <github@kayari.org> Date: Mon Jun 9 18:55:39 2014 +0100 [any.synop] Rename parameter of move constructor All constructors taking an `any` name that argument `other`, except the move constructor in the synopsis (the move constructor definition says `other` too). commit 1cb62d5e1a30085cac8b97069114ecb15ee3619e Author: Jeffrey Yasskin <jyasskin@gmail.com> Date: Mon Jun 23 20:00:09 2014 +0200 Fix some broken markup in optional.html. commit 6f9a67eef231a0fb7994ba010b78350742ebb757 Author: Jeffrey Yasskin <jyasskin@gmail.com> Date: Mon Jun 23 23:14:04 2014 +0200 Apply N4067: "Experimental std::function etc." commit 36612287f307c08c03bda31991773313365f0d89 Author: Jeffrey Yasskin <jyasskin@gmail.com> Date: Tue Jun 24 13:53:17 2014 +0200 Apply LWG2389 from N4079: "function::operator= is over-specified and handles allocators incorrectly" This applied cleanly to the new section created by N4067. commit 7bad4c1f1a7253ecd80ef88b235e42efbf6251ab Author: Jeffrey Yasskin <jyasskin@gmail.com> Date: Wed Jun 25 13:27:29 2014 +0200 Update the list of headers to match the latest html-doc-framework list-table design. commit 94fefca1cb10ad9e1887b7bd1925c08dd35ff9b8 Author: Jeffrey Yasskin <jyasskin@gmail.com> Date: Wed Jun 25 13:44:31 2014 +0200 Update to html-doc-framework#master, and fix up a few over-long inline code blocks. commit b120c9f5edf09b31fc842a203257a6f564623d10 Author: Jonathan Wakely <jwakely@redhat.com> Date: Fri Jun 20 08:01:32 2014 +0100 N4077 - experimental::shared_ptr changes. Remove [mods.util.smartptr.shared] Add [memory.smartptr] commit 043a78f7823880f469dd8a9092ba58433ced0ed5 Author: Jeffrey Yasskin <jyasskin@gmail.com> Date: Wed Jun 25 18:10:50 2014 +0200 Use the new template aliases and variable templates for type traits to remove ::type and ::value from the TS. commit b3e702f3b8f8f3be665ed40eb56a59242d44effc Author: Jeffrey Yasskin <jyasskin@gmail.com> Date: Wed Jun 25 10:35:17 2014 -0700 Allow a few more line breaks in inline code. commit 610316b266a92d7035ef8267fe96ae7ef7296f52 Author: Jeffrey Yasskin <jyasskin@gmail.com> Date: Wed Jun 25 10:36:52 2014 -0700 Add a missed line break in optional::operator*. commit 3b6b1303cb1da34c99fb8a85136bc8e6fbdbee55 Author: Jeffrey Yasskin <jyasskin@gmail.com> Date: Thu Jun 26 14:22:55 2014 -0700 Fix up some references inside the shared_ptr change. commit 90b32931e8abe0e10b45e507e6e1e8f94b509179 Author: Jeffrey Yasskin <jyasskin@gmail.com> Date: Thu Jun 26 14:25:25 2014 -0700 Update the values of the invocation_type and optional feature-testing macros to reflect the last meeting they were changed. commit 0f08d278c973da1a4c37e4cedb1c86bde64cf899 Author: Jeffrey Yasskin <jyasskin@gmail.com> Date: Fri Jun 27 08:56:33 2014 -0700 Remove redundant conditions from the `invocation parameters` definition. I checked N3866, and the redundancy was there too. It was there in order to fit into the INVOKE definition in [func.require], but since the Fundamentals TS isn't defining INVOKE, we don't need the extra bullets here. commit a286f56ed43acbaff62f40c99a181a768424b311 Author: Jeffrey Yasskin <jyasskin@gmail.com> Date: Sun Jun 29 09:05:12 2014 -0700 Add a missed section from N4067. Thanks to Daniel Krugler for noticing. commit 33cc1ab47a7a40b15902e162446a9559157bc48c Author: Jeffrey Yasskin <jyasskin@gmail.com> Date: Sun Jun 29 09:23:01 2014 -0700 Update the document number for the post-Rapperswil mailing. commit 40ff94517f0dea3b42f891cfbc27079858bfb23a Author: Jeffrey Yasskin <jyasskin@gmail.com> Date: Thu Jul 3 11:08:49 2014 -0700 Remove optional.defs because "engaged" and "disengaged" aren't used anymore. commit ffac0fc7e998c21f2f0d7a078e31ef2718cf1d57 Author: Jeffrey Yasskin <jyasskin@gmail.com> Date: Thu Jul 3 12:34:28 2014 -0700 Explicitly wrap the invocation_type declarations. <wbr> doesn't work on Firefox, and these don't look good on 1 line anyway. commit 38d44e601730ed8d83ee7613e101e1e5a2b555ec Author: Jeffrey Yasskin <jyasskin@gmail.com> Date: Thu Jul 3 12:36:28 2014 -0700 Fix "the the" in optional.object.assign. commit 6a173c72963062326333530079bcbd25c7fa67d2 Author: Jeffrey Yasskin <jyasskin@gmail.com> Date: Thu Jul 3 12:41:09 2014 -0700 Remove a Requires attribute that I missed from N4078. commit 169eea2ecf22a66ce931e28fe0aa4b0f4fcffcd2 Author: Jeffrey Yasskin <jyasskin@gmail.com> Date: Thu Jul 3 12:50:20 2014 -0700 Capitalize all function attributes. One uncaptialized attribute was a member variable, so I wrapped it in <code> instead. commit d9df4c1cb082ce34ef9ac3ec53bf4106d3d18372 Author: Jeffrey Yasskin <jyasskin@gmail.com> Date: Thu Jul 3 12:54:17 2014 -0700 Remove extraneous parentheses and a "the expression" from optional.relops. commit 1983b86c524311ba0aa54899e8ef97583e902d32 Author: Jeffrey Yasskin <jyasskin@gmail.com> Date: Thu Jul 3 12:54:50 2014 -0700 Add "experimental/" to the shared_ptr_arrays feature-test macro as specified by N4077. commit 83beb1e176abad742c5de85e82704b6588975d34 Author: Jeffrey Yasskin <jyasskin@gmail.com> Date: Thu Jul 3 13:13:42 2014 -0700 Fix a <cxx-notes> that was specified as a <cxx-remarks> in N3920. I transcribed this part of the paper wrong in commit 302ca0b93d. commit 362af4baae6660a4292a7a4ef371d48a1c9d3433 Author: Jeffrey Yasskin <jyasskin@gmail.com> Date: Thu Jul 3 17:00:46 2014 -0700 Update the HTML framework to support the PDTS stage and add matching markup in the TS. commit 370d2f4e4b0598e9712ba6cfd31f0f0419f00272 Author: Jeffrey Yasskin <jyasskin@gmail.com> Date: Thu Jul 3 22:11:31 2014 -0700 Remove the reinterpret_pointer_cast(std::shared_ptr) overload. It wasn't included in N4077. commit ad206f1787c9786ac580e603a13e202d4589c34a Author: Jeffrey Yasskin <jyasskin@gmail.com> Date: Fri Jul 4 00:27:53 2014 -0700 Fix up the rest of line breaking in Firefox and Prince. commit 90a119074c92714f1c90d59f1ca4b0fcc54d4f19 Author: Jeffrey Yasskin <jyasskin@gmail.com> Date: Sat Jul 5 15:42:18 2014 -0700 Update the HTML framework, and save the current section index. commit d63c671f8ce45e605ff4e0ee5e0c4e686a3c9119 Author: Jeffrey Yasskin <jyasskin@gmail.com> Date: Sat Jul 5 16:01:34 2014 -0700 Separate ref-qualifiers from 'const' with a space. This matches the one example in the standard and the weak weight of opinion on the editors' list. commit 84031c7e4da1797dff4faf0d0c76cafbbcb417ab Author: Jeffrey Yasskin <jyasskin@gmail.com> Date: Sat Jul 5 20:06:57 2014 -0700 Use rawgit.com for the rendered links Now that we have two branches of the TS, we can't easily use `gh-pages` anymore. 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 362d6b71b0e7be8f6f8b88c558c2b198554b0c30 Author: Jeffrey Yasskin <jyasskin@gmail.com> Date: Sun Jul 6 13:22:24 2014 -0700 Update the doc framework and regenerate the index and standalone document. 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>.