From Jason Turner

[reserved.names]

Diff to HTML by rtfpessoa

Files changed (1) hide show
  1. tmp/tmplb26wity/{from.md → to.md} +10 -70
tmp/tmplb26wity/{from.md → to.md} RENAMED
@@ -12,89 +12,29 @@ If a program declares or defines a name in a context where it is
12
  reserved, other than as explicitly allowed by [[library]], its behavior
13
  is undefined.
14
 
15
  ##### Zombie names <a id="zombie.names">[[zombie.names]]</a>
16
 
17
- In namespace `std`, the following names are reserved for previous
18
- standardization:
19
 
20
- - `auto_ptr`,
21
- - `auto_ptr_ref`,
22
- - `binary_function`,
23
- - `binary_negate`,
24
- - `bind1st`,
25
- - `bind2nd`,
26
- - `binder1st`,
27
- - `binder2nd`,
28
- - `const_mem_fun1_ref_t`,
29
- - `const_mem_fun1_t`,
30
- - `const_mem_fun_ref_t`,
31
- - `const_mem_fun_t`,
32
- - `declare_no_pointers`,
33
- - `declare_reachable`,
34
- - `get_pointer_safety`,
35
- - `get_temporary_buffer`,
36
- - `get_unexpected`,
37
- - `gets`,
38
- - `is_literal_type`,
39
- - `is_literal_type_v`,
40
- - `mem_fun1_ref_t`,
41
- - `mem_fun1_t`,
42
- - `mem_fun_ref_t`,
43
- - `mem_fun_ref`,
44
- - `mem_fun_t`,
45
- - `mem_fun`,
46
- - `not1`,
47
- - `not2`,
48
- - `pointer_safety`,
49
- - `pointer_to_binary_function`,
50
- - `pointer_to_unary_function`,
51
- - `ptr_fun`,
52
- - `random_shuffle`,
53
- - `raw_storage_iterator`,
54
- - `result_of`,
55
- - `result_of_t`,
56
- - `return_temporary_buffer`,
57
- - `set_unexpected`,
58
- - `unary_function`,
59
- - `unary_negate`,
60
- - `uncaught_exception`,
61
- - `undeclare_no_pointers`,
62
- - `undeclare_reachable`, and
63
- - `unexpected_handler`.
64
 
65
- The following names are reserved as members for previous
66
- standardization, and may not be used as a name for object-like macros in
67
- portable code:
68
 
69
- - `argument_type`,
70
- - `first_argument_type`,
71
- - `io_state`,
72
- - `open_mode`,
73
- - `preferred`,
74
- - `second_argument_type`,
75
- - `seek_dir`, and.
76
- - `strict`.
77
-
78
- The name `stossc` is reserved as a member function for previous
79
- standardization, and may not be used as a name for function-like macros
80
- in portable code.
81
-
82
- The header names `<ccomplex>`, `<ciso646>`, `<cstdalign>`, `<cstdbool>`,
83
- and `<ctgmath>` are reserved for previous standardization.
84
 
85
  ##### Macro names <a id="macro.names">[[macro.names]]</a>
86
 
87
  A translation unit that includes a standard library header shall not
88
  `#define` or `#undef` names declared in any standard library header.
89
 
90
- A translation unit shall not `#define` or `#undef` names lexically
91
- identical to keywords, to the identifiers listed in
92
- [[lex.name.special]], or to the *attribute-token*s described in 
93
- [[dcl.attr]], except that the names `likely` and `unlikely` may be
94
- defined as function-like macros  [[cpp.replace]].
95
-
96
  ##### External linkage <a id="extern.names">[[extern.names]]</a>
97
 
98
  Each name declared as an object with external linkage in a header is
99
  reserved to the implementation to designate that library object with
100
  external linkage, [^22]
 
12
  reserved, other than as explicitly allowed by [[library]], its behavior
13
  is undefined.
14
 
15
  ##### Zombie names <a id="zombie.names">[[zombie.names]]</a>
16
 
17
+ In namespace `std`, the names shown in [[zombie.names.std]] are reserved
18
+ for previous standardization:
19
 
20
+ The names shown in [[zombie.names.objmacro]] are reserved as members for
21
+ previous standardization, and may not be used as a name for object-like
22
+ macros in portable code:
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
23
 
24
+ The names shown in [[zombie.names.fnmacro]] are reserved as member
25
+ functions for previous standardization, and may not be used as a name
26
+ for function-like macros in portable code:
27
 
28
+ The header names shown in [[zombie.names.header]] are reserved for
29
+ previous standardization:
 
 
 
 
 
 
 
 
 
 
 
 
 
30
 
31
  ##### Macro names <a id="macro.names">[[macro.names]]</a>
32
 
33
  A translation unit that includes a standard library header shall not
34
  `#define` or `#undef` names declared in any standard library header.
35
 
 
 
 
 
 
 
36
  ##### External linkage <a id="extern.names">[[extern.names]]</a>
37
 
38
  Each name declared as an object with external linkage in a header is
39
  reserved to the implementation to designate that library object with
40
  external linkage, [^22]