aboutsummaryrefslogtreecommitdiff
path: root/libcxx/docs/DesignDocs/NoexceptPolicy.rst
blob: 74c8ca406ed847691007d5c389ed23633e8a1562 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
===================
``noexcept`` Policy
===================

Extended applications of ``noexcept``
-------------------------------------

As of version 13 libc++ may mark functions that do not throw (i.e.,
"Throws: Nothing") as ``noexcept``. This has two primary consequences:
first, functions might not report precondition violations by throwing.
Second, user-provided functions, such as custom predicates or custom
traits, which throw might not be propagated up to the caller (unless
specified otherwise by the Standard).