General
Implementations that conform to this document shall
behave as if the modifications contained in this section are made to ISO/IEC 14882:2020.
References to clauses within ISO/IEC 14882:2020 are written as "C++20 §3.2".
Unless otherwise specified, the whole of
the Library introduction of ISO/IEC 14882:2020 ()
is included into this document by reference.
Exception Requirements
The following modifications to the Library introduction ()
allow the destructor of scope_success () to throw exceptions.
The requirements of
shall apply with the following modification:
An applicable Throws: paragraph
(in addition to any applicable Required behavior: paragraph)
can allow a replacement function or handler function or destructor operation
to exit via an exception.
The requirements of
shall apply with the following modifications:
Destructor operations defined in the C++ standard library are permitted to throw exceptions
if this is explicitly specified.
Only those destructors in the C++ standard library that do not have an exception specification
shall behave as if they had a non-throwing exception specification.