File tree 1 file changed +20
-0
lines changed
1 file changed +20
-0
lines changed Original file line number Diff line number Diff line change 1427
1427
\ref {hash.requirements } describes the requirements on hash function objects.
1428
1428
\ref {allocator.requirements } describes the requirements on storage
1429
1429
allocators.
1430
+ \ref {exception.propagation }
1431
+ describes additional requirements and guarantees when propagating exceptions.
1430
1432
1431
1433
\rSec 3[utility.arg.requirements]{Template argument requirements}
1432
1434
2218
2220
other than \tcode {value_type} are complete types.
2219
2221
\end {itemize }
2220
2222
2223
+ \rSec 3[exception.propagation]{Exception propagation requirements}
2224
+
2225
+ \pnum
2226
+ Some functions defined in the \Cpp {} standard library
2227
+ impose requirements and guarantees when an exception is thrown from a described evaluation.
2228
+ Unless stated otherwise,
2229
+ exceptions thrown due to evaluating the subexpression
2230
+ that implements the described evaluation
2231
+ up to the complete evaluation of its enclosing full-expression
2232
+ also have those requirements and guarantees imposed.
2233
+ \begin {note }
2234
+ This includes exceptions thrown as part of
2235
+ initializing parameters,
2236
+ evaluating default arguments, and
2237
+ destroying temporaries (including discarded-value expressions)
2238
+ \iref {expr.call }.
2239
+ \end {note }
2240
+
2221
2241
\rSec 2[constraints]{Constraints on programs}
2222
2242
2223
2243
\rSec 3[constraints.overview]{Overview}
You can’t perform that action at this time.
0 commit comments