From Jason Turner

[res.on.functions]

Diff to HTML by rtfpessoa

tmp/tmpth12526z/{from.md → to.md} RENAMED
@@ -1,26 +1,26 @@
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, the Standard 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
12
  replacement function does not implement the semantics of the
13
  applicable *Required behavior:* paragraph.
14
- - for handler functions ([[new.handler]], [[terminate.handler]],
15
- [[unexpected.handler]]), if the installed handler function does not
16
- implement the semantics of the applicable *Required behavior:*
17
- paragraph
18
  - for types used as template arguments when instantiating a template
19
  component, if the operations on the type do not implement the
20
- semantics of the applicable subclause ([[allocator.requirements]],
21
- [[container.requirements]], [[iterator.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.
 
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.