Doc. no.: P0220R0
Date: 2016-02-12
Reply to: Beman Dawes <bdawes at acm dot org>
Audience: Library, Library Evolution

Adopt Library Fundamentals V1 TS Components for C++17

There are currently several proposals in flight to adopt portions of the Library Fundamentals Technical Specification for C++17.

The difficulty of such a piecemeal approach is twofold. It adds a lot of unnecessary overhead to process many proposals rather than a single proposal. It may cause useful but unexciting components to get dropped on the floor because no one notices or because no one is willing to go through the drudgery of writing yet another proposal and shepherding it through the committee.

This paper proposes that the components of TS 19568, C++ Extensions for Library Fundamentals, listed below be adopted into the C++17 working paper. The list was initialized with all of the components from N4480, the Library Fundamentals DTS. The intent is that LWG/LEWG will strike any components they do not want included in C++17 or wish to process as separate proposals.

Directions to the C++ working paper project editor

Add the components in the above list to the C++ working paper using the content for each component from the latest version of the Library Fundamentals V2 working paper. Move this content from the std::experimental::fundamentals_v2 namespace to the std namespace.

Note: Although we are adopting only the specified Library Fundamentals V1 components into the C++ working paper, the wording from those components comes from Library Fundamentals V2 to ensure the wording includes the latest corrections.