tmp/tmpai1ksxp_/{from.md → to.md}
RENAMED
|
@@ -1,30 +1,30 @@
|
|
| 1 |
#### Other functions <a id="res.on.functions">[[res.on.functions]]</a>
|
| 2 |
|
| 3 |
In certain cases (replacement functions, handler functions, operations
|
| 4 |
on types used to instantiate standard library template components), the
|
| 5 |
C++ standard library depends on components supplied by a C++ program. If
|
| 6 |
-
these components do not meet their requirements, this
|
| 7 |
-
|
| 8 |
|
| 9 |
In particular, the effects are undefined in the following cases:
|
| 10 |
|
| 11 |
-
-
|
| 12 |
-
|
| 13 |
-
|
| 14 |
-
-
|
| 15 |
the installed handler function does not implement the semantics of the
|
| 16 |
-
applicable *Required behavior:* paragraph
|
| 17 |
-
-
|
| 18 |
component, if the operations on the type do not implement the
|
| 19 |
semantics of the applicable *Requirements* subclause (
|
| 20 |
[[allocator.requirements]], [[container.requirements]],
|
| 21 |
[[iterator.requirements]], [[algorithms.requirements]],
|
| 22 |
[[numeric.requirements]]). Operations on such types can report a
|
| 23 |
failure by throwing an exception unless otherwise specified.
|
| 24 |
-
-
|
| 25 |
operation exits via an exception, unless specifically allowed in the
|
| 26 |
applicable *Required behavior:* paragraph.
|
| 27 |
-
-
|
| 28 |
-
|
| 29 |
-
allowed for that component.
|
| 30 |
|
|
|
|
| 1 |
#### Other functions <a id="res.on.functions">[[res.on.functions]]</a>
|
| 2 |
|
| 3 |
In certain cases (replacement functions, handler functions, operations
|
| 4 |
on types used to instantiate standard library template components), the
|
| 5 |
C++ standard library depends on components supplied by a C++ program. If
|
| 6 |
+
these components do not meet their requirements, this document places no
|
| 7 |
+
requirements on the implementation.
|
| 8 |
|
| 9 |
In particular, the effects are undefined in the following cases:
|
| 10 |
|
| 11 |
+
- For replacement functions [[new.delete]], if the installed replacement
|
| 12 |
+
function does not implement the semantics of the applicable *Required
|
| 13 |
+
behavior:* paragraph.
|
| 14 |
+
- For handler functions ([[new.handler]], [[terminate.handler]]), if
|
| 15 |
the installed handler function does not implement the semantics of the
|
| 16 |
+
applicable *Required behavior:* paragraph.
|
| 17 |
+
- For types used as template arguments when instantiating a template
|
| 18 |
component, if the operations on the type do not implement the
|
| 19 |
semantics of the applicable *Requirements* subclause (
|
| 20 |
[[allocator.requirements]], [[container.requirements]],
|
| 21 |
[[iterator.requirements]], [[algorithms.requirements]],
|
| 22 |
[[numeric.requirements]]). Operations on such types can report a
|
| 23 |
failure by throwing an exception unless otherwise specified.
|
| 24 |
+
- If any replacement function or handler function or destructor
|
| 25 |
operation exits via an exception, unless specifically allowed in the
|
| 26 |
applicable *Required behavior:* paragraph.
|
| 27 |
+
- If an incomplete type [[basic.types]] is used as a template argument
|
| 28 |
+
when instantiating a template component or evaluating a concept,
|
| 29 |
+
unless specifically allowed for that component.
|
| 30 |
|