From Jason Turner

[conforming]

Diff to HTML by rtfpessoa

Files changed (1) hide show
  1. tmp/tmpbrgw502v/{from.md → to.md} +18 -10
tmp/tmpbrgw502v/{from.md → to.md} RENAMED
@@ -54,17 +54,19 @@ signature with additional default arguments.
54
  Unless otherwise specified, global and non-member functions in the
55
  standard library shall not use functions from another namespace which
56
  are found through *argument-dependent name lookup* (
57
  [[basic.lookup.argdep]]). The phrase “unless otherwise specified” is
58
  intended to allow argument-dependent lookup in cases like that of
59
- `ostream_iterator`s: *Effects:*
 
 
60
 
61
  ``` cpp
62
  *out_stream << value;
63
  if (delim != 0)
64
  *out_stream << delim;
65
- return (*this);
66
  ```
67
 
68
  #### Member functions <a id="member.functions">[[member.functions]]</a>
69
 
70
  It is unspecified whether any member functions in the C++standard
@@ -84,26 +86,30 @@ A call to a member function signature described in the C++standard
84
  library behaves as if the implementation declares no additional member
85
  function signatures.[^29]
86
 
87
  #### `constexpr` functions and constructors <a id="constexpr.functions">[[constexpr.functions]]</a>
88
 
89
- Within any header that provides any non-defining declarations of
90
- `constexpr` functions or constructors an implementation shall provide
91
- corresponding definitions.
 
 
 
92
 
93
  #### Requirements for stable algorithms <a id="algorithm.stable">[[algorithm.stable]]</a>
94
 
95
  When the requirements for an algorithm state that it is “stable” without
96
  further elaboration, it means:
97
 
98
  - For the *sort* algorithms the relative order of equivalent elements is
99
  preserved.
100
- - For the *remove* algorithms the relative order of the elements that
101
- are not removed is preserved.
102
  - For the *merge* algorithms, for equivalent elements in the original
103
- two ranges, the elements from the first range precede the elements
104
- from the second range.
 
105
 
106
  #### Reentrancy <a id="reentrancy">[[reentrancy]]</a>
107
 
108
  Except where explicitly specified in this standard, it is
109
  *implementation-defined* which functions in the Standard C++ library may
@@ -281,10 +287,11 @@ objects shall be placed in a valid but unspecified state.
281
  [conventions]: #conventions
282
  [cpp.include]: cpp.md#cpp.include
283
  [cstdint]: language.md#cstdint
284
  [dcl.array]: dcl.md#dcl.array
285
  [dcl.attr]: dcl.md#dcl.attr
 
286
  [dcl.fct.default]: dcl.md#dcl.fct.default
287
  [dcl.fct.spec]: dcl.md#dcl.fct.spec
288
  [dcl.init]: dcl.md#dcl.init
289
  [dcl.link]: dcl.md#dcl.link
290
  [definitions]: #definitions
@@ -345,10 +352,11 @@ objects shall be placed in a valid but unspecified state.
345
  [nullablepointer.requirements]: #nullablepointer.requirements
346
  [numeric.requirements]: numerics.md#numeric.requirements
347
  [numerics]: numerics.md#numerics
348
  [objects.within.classes]: #objects.within.classes
349
  [organization]: #organization
 
350
  [over.match]: over.md#over.match
351
  [over.oper]: over.md#over.oper
352
  [protection.within.classes]: #protection.within.classes
353
  [re]: re.md#re
354
  [reentrancy]: #reentrancy
@@ -481,11 +489,11 @@ objects shall be placed in a valid but unspecified state.
481
 
482
  [^20]: This is the same as the Standard C library.
483
 
484
  [^21]: The only reliable way to declare an object or function signature
485
  from the Standard C library is by including the header that declares
486
- it, notwithstanding the latitude granted in 7.1.7 of the C Standard.
487
 
488
  [^22]: Any library code that instantiates other library templates must
489
  be prepared to work adequately with any user-supplied specialization
490
  that meets the minimum requirements of the Standard.
491
 
 
54
  Unless otherwise specified, global and non-member functions in the
55
  standard library shall not use functions from another namespace which
56
  are found through *argument-dependent name lookup* (
57
  [[basic.lookup.argdep]]). The phrase “unless otherwise specified” is
58
  intended to allow argument-dependent lookup in cases like that of
59
+ `ostream_iterator::operator=` ([[ostream.iterator.ops]]):
60
+
61
+ *Effects:*
62
 
63
  ``` cpp
64
  *out_stream << value;
65
  if (delim != 0)
66
  *out_stream << delim;
67
+ return *this;
68
  ```
69
 
70
  #### Member functions <a id="member.functions">[[member.functions]]</a>
71
 
72
  It is unspecified whether any member functions in the C++standard
 
86
  library behaves as if the implementation declares no additional member
87
  function signatures.[^29]
88
 
89
  #### `constexpr` functions and constructors <a id="constexpr.functions">[[constexpr.functions]]</a>
90
 
91
+ This standard explicitly requires that certain standard library
92
+ functions are `constexpr` ([[dcl.constexpr]]). An implementation shall
93
+ not declare any standard library function signature as `constexpr`
94
+ except for those where it is explicitly required. Within any header that
95
+ provides any non-defining declarations of `constexpr` functions or
96
+ constructors an implementation shall provide corresponding definitions.
97
 
98
  #### Requirements for stable algorithms <a id="algorithm.stable">[[algorithm.stable]]</a>
99
 
100
  When the requirements for an algorithm state that it is “stable” without
101
  further elaboration, it means:
102
 
103
  - For the *sort* algorithms the relative order of equivalent elements is
104
  preserved.
105
+ - For the *remove* and *copy* algorithms the relative order of the
106
+ elements that are not removed is preserved.
107
  - For the *merge* algorithms, for equivalent elements in the original
108
+ two ranges, the elements from the first range (preserving their
109
+ original order) precede the elements from the second range (preserving
110
+ their original order).
111
 
112
  #### Reentrancy <a id="reentrancy">[[reentrancy]]</a>
113
 
114
  Except where explicitly specified in this standard, it is
115
  *implementation-defined* which functions in the Standard C++ library may
 
287
  [conventions]: #conventions
288
  [cpp.include]: cpp.md#cpp.include
289
  [cstdint]: language.md#cstdint
290
  [dcl.array]: dcl.md#dcl.array
291
  [dcl.attr]: dcl.md#dcl.attr
292
+ [dcl.constexpr]: dcl.md#dcl.constexpr
293
  [dcl.fct.default]: dcl.md#dcl.fct.default
294
  [dcl.fct.spec]: dcl.md#dcl.fct.spec
295
  [dcl.init]: dcl.md#dcl.init
296
  [dcl.link]: dcl.md#dcl.link
297
  [definitions]: #definitions
 
352
  [nullablepointer.requirements]: #nullablepointer.requirements
353
  [numeric.requirements]: numerics.md#numeric.requirements
354
  [numerics]: numerics.md#numerics
355
  [objects.within.classes]: #objects.within.classes
356
  [organization]: #organization
357
+ [ostream.iterator.ops]: iterators.md#ostream.iterator.ops
358
  [over.match]: over.md#over.match
359
  [over.oper]: over.md#over.oper
360
  [protection.within.classes]: #protection.within.classes
361
  [re]: re.md#re
362
  [reentrancy]: #reentrancy
 
489
 
490
  [^20]: This is the same as the Standard C library.
491
 
492
  [^21]: The only reliable way to declare an object or function signature
493
  from the Standard C library is by including the header that declares
494
+ it, notwithstanding the latitude granted in 7.1.4 of the C Standard.
495
 
496
  [^22]: Any library code that instantiates other library templates must
497
  be prepared to work adequately with any user-supplied specialization
498
  that meets the minimum requirements of the Standard.
499