Date: 2019-03-13
Thomas Köppe, Editor (Google DeepMind) <tkoeppe@google.com>There has been one motion since the previous revision:
This paper has been applied with substantial editorial changes, for the following reason: The paper was written, and reviewed by LWG, to target the C++ IS working draft. However, following a decision by LEWG, the motion was to apply it to the Library Fundamentals TS instead. Since the TS is based on C++17, any wording that uses a new style of specification from the IS WD had to be “reverted” to the style used by C++17.
Specific editorial changes:
scope_success
to throw) have been replaced with new wording
in [mods] that describe the edit. Additionally, the added permission for the paragraph
“Remarks:” has been changed to “Throws:”, since
the destructor in question does not actually have a “Remarks:” element,
but only a “Throws:”.
{Destructible,MoveConstructible,CopyConstructible,MoveAssignable,CopyAssignable}
.scope_guard
to scope-guard
, as per our usual convention for names that are not
actual type names.unique_resource
creation”, similar to existing facilities
of this kind.scope_exit
,
scope_fail
, and scope_success
have been merged into
a single specification for the placeholder scope-guard
,
since they are largely analogous. Distinctions are called out by saying, “For
scope_exit
and scope_fail
…”.exit_function
throws” has been replaced with “Throws: Any
exception thrown during the initialization of exit_function
”, which
we already use elsewhere and which seems more precise.All stable labels denoting synopses have been renamed to end in just “.syn”, not “.synop” or “.synopsis”, to follow the style of the IS. Moreover, a leading “header.” has been dropped from the stable labels of synopses.
From the draft sources on GitHub.