One minor issue:

Libraries that want to do empty-base optimization could reasonably want to use <ins>!</ins>is_final && is_empty if is_final exists, and fall back to just using is_empty otherwise.

Otherwise, this LGTM.

For the "removed from C++14" features, are we documenting the former state, or the state of the TS? That is, should [47] say <experimental/optional> now, and should [3.8.1] say experimental/ for <optional> and <dynarray>?

On Thu, Aug 21, 2014 at 4:09 PM, Nelson, Clark <> wrote:
Here is the updated draft, hopefully ready for "formal" publication on

Does anyone have any comment on whether we should publish before or after
the Urbana meeting? Please see the "Formally revising" message I posted
Tuesday for brief discussion.

I made a few changes we did not discuss in the meeting:

Fixed the grammar of __has_cpp_attribute, as suggested by Aaron.

Moved the rationale for __has_include from N3662 (<dynarray>, which is no
longer a C++14 feature) to N3659 (<shared_mutex>, which is).

Fixed up the HTML somewhat, mainly in the use of <ins> tags.

Clark Nelson            Vice chair, PL22.16 (ANSI C++ standard committee)
Intel Corporation       Chair, SG10 (C++ SG for feature-testing)  Chair, CPLEX (C SG for parallel language extensions)

Features mailing list