From Jason Turner

[res.on.functions]

Diff to HTML by rtfpessoa

Files changed (1) hide show
  1. tmp/tmpai1ksxp_/{from.md → to.md} +12 -12
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 International
7
- Standard places no 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
12
- replacement function does not implement the semantics of the
13
- applicable *Required 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
28
- argument when instantiating a template component, unless specifically
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