From Jason Turner

[namespace.alias]

Diff to HTML by rtfpessoa

Files changed (1) hide show
  1. tmp/tmpwible0zk/{from.md → to.md} +11 -11
tmp/tmpwible0zk/{from.md → to.md} RENAMED
@@ -18,28 +18,28 @@ qualified-namespace-specifier:
18
  nested-name-specifierₒₚₜ namespace-name
19
  ```
20
 
21
  The *identifier* in a *namespace-alias-definition* is a synonym for the
22
  name of the namespace denoted by the *qualified-namespace-specifier* and
23
- becomes a *namespace-alias*. When looking up a *namespace-name* in a
 
 
24
  *namespace-alias-definition*, only namespace names are considered, see 
25
- [[basic.lookup.udir]].
26
 
27
  In a declarative region, a *namespace-alias-definition* can be used to
28
  redefine a *namespace-alias* declared in that declarative region to
29
- refer only to the namespace to which it already refers. the following
30
- declarations are well-formed:
 
 
 
31
 
32
  ``` cpp
33
- namespace Company_with_very_long_name { /* ... */ }
34
  namespace CWVLN = Company_with_very_long_name;
35
  namespace CWVLN = Company_with_very_long_name; // OK: duplicate
36
  namespace CWVLN = CWVLN;
37
  ```
38
 
39
- A *namespace-name* or *namespace-alias* shall not be declared as the
40
- name of any other entity in the same declarative region. A
41
- *namespace-name* defined at global scope shall not be declared as the
42
- name of any other entity in any global scope of the program. No
43
- diagnostic is required for a violation of this rule by declarations in
44
- different translation units.
45
 
 
18
  nested-name-specifierₒₚₜ namespace-name
19
  ```
20
 
21
  The *identifier* in a *namespace-alias-definition* is a synonym for the
22
  name of the namespace denoted by the *qualified-namespace-specifier* and
23
+ becomes a *namespace-alias*.
24
+
25
+ [*Note 1*: When looking up a *namespace-name* in a
26
  *namespace-alias-definition*, only namespace names are considered, see 
27
+ [[basic.lookup.udir]]. — *end note*]
28
 
29
  In a declarative region, a *namespace-alias-definition* can be used to
30
  redefine a *namespace-alias* declared in that declarative region to
31
+ refer only to the namespace to which it already refers.
32
+
33
+ [*Example 1*:
34
+
35
+ The following declarations are well-formed:
36
 
37
  ``` cpp
38
+ namespace Company_with_very_long_name { ... }
39
  namespace CWVLN = Company_with_very_long_name;
40
  namespace CWVLN = Company_with_very_long_name; // OK: duplicate
41
  namespace CWVLN = CWVLN;
42
  ```
43
 
44
+ *end example*]
 
 
 
 
 
45