tmp/tmps5ylgj1i/{from.md → to.md}
RENAMED
|
@@ -0,0 +1,32 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
### General <a id="basic.namespace.general">[[basic.namespace.general]]</a>
|
| 2 |
+
|
| 3 |
+
A namespace is an optionally-named entity whose scope can contain
|
| 4 |
+
declarations of any kind of entity. The name of a namespace can be used
|
| 5 |
+
to access entities that belong to that namespace; that is, the *members*
|
| 6 |
+
of the namespace. Unlike other entities, the definition of a namespace
|
| 7 |
+
can be split over several parts of one or more translation units and
|
| 8 |
+
modules.
|
| 9 |
+
|
| 10 |
+
[*Note 1*: A *namespace-definition* is exported if it contains any
|
| 11 |
+
*export-declaration*s [[module.interface]]. A namespace is never
|
| 12 |
+
attached to a named module and never has a name with module
|
| 13 |
+
linkage. — *end note*]
|
| 14 |
+
|
| 15 |
+
[*Example 1*:
|
| 16 |
+
|
| 17 |
+
``` cpp
|
| 18 |
+
export module M;
|
| 19 |
+
namespace N1 {} // N1 is not exported
|
| 20 |
+
export namespace N2 {} // N2 is exported
|
| 21 |
+
namespace N3 { export int n; } // N3 is exported
|
| 22 |
+
```
|
| 23 |
+
|
| 24 |
+
— *end example*]
|
| 25 |
+
|
| 26 |
+
There is a *global namespace* with no declaration; see
|
| 27 |
+
[[basic.scope.namespace]]. The global namespace belongs to the global
|
| 28 |
+
scope; it is not an unnamed namespace [[namespace.unnamed]].
|
| 29 |
+
|
| 30 |
+
[*Note 2*: Lacking a declaration, it cannot be found by name
|
| 31 |
+
lookup. — *end note*]
|
| 32 |
+
|