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
|
|
|
|
|
|
|
| 60 |
|
| 61 |
``` cpp
|
| 62 |
*out_stream << value;
|
| 63 |
if (delim != 0)
|
| 64 |
*out_stream << delim;
|
| 65 |
-
return
|
| 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 |
-
|
| 90 |
-
`constexpr`
|
| 91 |
-
|
|
|
|
|
|
|
|
|
|
| 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
|
| 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
|
| 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.
|
| 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 |
|