Modifications to the C++ Standard Library

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.