tmp/tmp_xic6on2/{from.md → to.md}
RENAMED
|
@@ -6,20 +6,21 @@ The behavior of a C++program is undefined if it adds declarations or
|
|
| 6 |
definitions to namespace `std` or to a namespace within namespace `std`
|
| 7 |
unless otherwise specified. A program may add a template specialization
|
| 8 |
for any standard library template to namespace `std` only if the
|
| 9 |
declaration depends on a user-defined type and the specialization meets
|
| 10 |
the standard library requirements for the original template and is not
|
| 11 |
-
explicitly prohibited.[^
|
| 12 |
|
| 13 |
The behavior of a C++program is undefined if it declares
|
| 14 |
|
| 15 |
- an explicit specialization of any member function of a standard
|
| 16 |
library class template, or
|
| 17 |
- an explicit specialization of any member function template of a
|
| 18 |
standard library class or class template, or
|
| 19 |
- an explicit or partial specialization of any member class template of
|
| 20 |
-
a standard library class or class template
|
|
|
|
| 21 |
|
| 22 |
A program may explicitly instantiate a template defined in the standard
|
| 23 |
library only if the declaration depends on the name of a user-defined
|
| 24 |
type and the instantiation meets the standard library requirements for
|
| 25 |
the original template.
|
|
@@ -32,5 +33,15 @@ namespace ([[namespace.def]]).
|
|
| 32 |
The behavior of a C++program is undefined if it adds declarations or
|
| 33 |
definitions to namespace `posix` or to a namespace within namespace
|
| 34 |
`posix` unless otherwise specified. The namespace `posix` is reserved
|
| 35 |
for use by ISO/IEC 9945 and other POSIX standards.
|
| 36 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 6 |
definitions to namespace `std` or to a namespace within namespace `std`
|
| 7 |
unless otherwise specified. A program may add a template specialization
|
| 8 |
for any standard library template to namespace `std` only if the
|
| 9 |
declaration depends on a user-defined type and the specialization meets
|
| 10 |
the standard library requirements for the original template and is not
|
| 11 |
+
explicitly prohibited.[^21]
|
| 12 |
|
| 13 |
The behavior of a C++program is undefined if it declares
|
| 14 |
|
| 15 |
- an explicit specialization of any member function of a standard
|
| 16 |
library class template, or
|
| 17 |
- an explicit specialization of any member function template of a
|
| 18 |
standard library class or class template, or
|
| 19 |
- an explicit or partial specialization of any member class template of
|
| 20 |
+
a standard library class or class template, or
|
| 21 |
+
- a deduction guide for any standard library class template.
|
| 22 |
|
| 23 |
A program may explicitly instantiate a template defined in the standard
|
| 24 |
library only if the declaration depends on the name of a user-defined
|
| 25 |
type and the instantiation meets the standard library requirements for
|
| 26 |
the original template.
|
|
|
|
| 33 |
The behavior of a C++program is undefined if it adds declarations or
|
| 34 |
definitions to namespace `posix` or to a namespace within namespace
|
| 35 |
`posix` unless otherwise specified. The namespace `posix` is reserved
|
| 36 |
for use by ISO/IEC 9945 and other POSIX standards.
|
| 37 |
|
| 38 |
+
##### Namespaces for future standardization <a id="namespace.future">[[namespace.future]]</a>
|
| 39 |
+
|
| 40 |
+
Top level namespaces with a name starting with `std` and followed by a
|
| 41 |
+
non-empty sequence of digits are reserved for future standardization.
|
| 42 |
+
The behavior of a C++program is undefined if it adds declarations or
|
| 43 |
+
definitions to such a namespace.
|
| 44 |
+
|
| 45 |
+
[*Example 1*: The top level namespace `std2` is reserved for use by
|
| 46 |
+
future revisions of this International Standard. — *end example*]
|
| 47 |
+
|