From Jason Turner

[reserved.names]

Diff to HTML by rtfpessoa

Files changed (1) hide show
  1. tmp/tmprrq4xo07/{from.md → to.md} +41 -8
tmp/tmprrq4xo07/{from.md → to.md} RENAMED
@@ -14,71 +14,104 @@ is undefined.
14
 
15
  In namespace `std`, the following names are reserved for previous
16
  standardization:
17
 
18
  - `auto_ptr`,
 
19
  - `binary_function`,
 
20
  - `bind1st`,
21
  - `bind2nd`,
22
  - `binder1st`,
23
  - `binder2nd`,
24
  - `const_mem_fun1_ref_t`,
25
  - `const_mem_fun1_t`,
26
  - `const_mem_fun_ref_t`,
27
  - `const_mem_fun_t`,
 
28
  - `get_unexpected`,
 
 
 
29
  - `mem_fun1_ref_t`,
30
  - `mem_fun1_t`,
31
  - `mem_fun_ref_t`,
32
  - `mem_fun_ref`,
33
  - `mem_fun_t`,
34
  - `mem_fun`,
 
 
35
  - `pointer_to_binary_function`,
36
  - `pointer_to_unary_function`,
37
  - `ptr_fun`,
38
  - `random_shuffle`,
 
 
 
 
39
  - `set_unexpected`,
40
  - `unary_function`,
 
 
41
  - `unexpected`, and
42
  - `unexpected_handler`.
43
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
44
  ##### Macro names <a id="macro.names">[[macro.names]]</a>
45
 
46
  A translation unit that includes a standard library header shall not
47
  `#define` or `#undef` names declared in any standard library header.
48
 
49
  A translation unit shall not `#define` or `#undef` names lexically
50
- identical to keywords, to the identifiers listed in Table 
51
- [[tab:identifiers.special]], or to the *attribute-token*s described in 
52
- [[dcl.attr]].
 
53
 
54
  ##### External linkage <a id="extern.names">[[extern.names]]</a>
55
 
56
  Each name declared as an object with external linkage in a header is
57
  reserved to the implementation to designate that library object with
58
- external linkage, [^22] both in namespace `std` and in the global
59
  namespace.
60
 
61
  Each global function signature declared with external linkage in a
62
  header is reserved to the implementation to designate that function
63
- signature with external linkage.[^23]
64
 
65
  Each name from the C standard library declared with external linkage is
66
  reserved to the implementation for use as a name with `extern "C"`
67
  linkage, both in namespace `std` and in the global namespace.
68
 
69
  Each function signature from the C standard library declared with
70
  external linkage is reserved to the implementation for use as a function
71
- signature with both `extern "C"` and `extern "C++"` linkage,[^24] or as
72
  a name of namespace scope in the global namespace.
73
 
74
  ##### Types <a id="extern.types">[[extern.types]]</a>
75
 
76
- For each type T from the C standard library,[^25] the types `::T` and
77
  `std::T` are reserved to the implementation and, when defined, `::T`
78
  shall be identical to `std::T`.
79
 
80
  ##### User-defined literal suffixes <a id="usrlit.suffix">[[usrlit.suffix]]</a>
81
 
82
- Literal suffix identifiers ([[over.literal]]) that do not start with an
83
  underscore are reserved for future standardization.
84
 
 
14
 
15
  In namespace `std`, the following names are reserved for previous
16
  standardization:
17
 
18
  - `auto_ptr`,
19
+ - `auto_ptr_ref`,
20
  - `binary_function`,
21
+ - `binary_negate`,
22
  - `bind1st`,
23
  - `bind2nd`,
24
  - `binder1st`,
25
  - `binder2nd`,
26
  - `const_mem_fun1_ref_t`,
27
  - `const_mem_fun1_t`,
28
  - `const_mem_fun_ref_t`,
29
  - `const_mem_fun_t`,
30
+ - `get_temporary_buffer`,
31
  - `get_unexpected`,
32
+ - `gets`,
33
+ - `is_literal_type`,
34
+ - `is_literal_type_v`,
35
  - `mem_fun1_ref_t`,
36
  - `mem_fun1_t`,
37
  - `mem_fun_ref_t`,
38
  - `mem_fun_ref`,
39
  - `mem_fun_t`,
40
  - `mem_fun`,
41
+ - `not1`,
42
+ - `not2`,
43
  - `pointer_to_binary_function`,
44
  - `pointer_to_unary_function`,
45
  - `ptr_fun`,
46
  - `random_shuffle`,
47
+ - `raw_storage_iterator`,
48
+ - `result_of`,
49
+ - `result_of_t`,
50
+ - `return_temporary_buffer`,
51
  - `set_unexpected`,
52
  - `unary_function`,
53
+ - `unary_negate`,
54
+ - `uncaught_exception`,
55
  - `unexpected`, and
56
  - `unexpected_handler`.
57
 
58
+ The following names are reserved as member types for previous
59
+ standardization, and may not be used as a name for object-like macros in
60
+ portable code:
61
+
62
+ - `argument_type`,
63
+ - `first_argument_type`,
64
+ - `io_state`,
65
+ - `open_mode`,
66
+ - `second_argument_type`, and
67
+ - `seek_dir`.
68
+
69
+ The name `stossc` is reserved as a member function for previous
70
+ standardization, and may not be used as a name for function-like macros
71
+ in portable code.
72
+
73
+ The header names `<ccomplex>`, `<ciso646>`, `<cstdalign>`, `<cstdbool>`,
74
+ and `<ctgmath>` are reserved for previous standardization.
75
+
76
  ##### Macro names <a id="macro.names">[[macro.names]]</a>
77
 
78
  A translation unit that includes a standard library header shall not
79
  `#define` or `#undef` names declared in any standard library header.
80
 
81
  A translation unit shall not `#define` or `#undef` names lexically
82
+ identical to keywords, to the identifiers listed in
83
+ [[lex.name.special]], or to the *attribute-token*s described in 
84
+ [[dcl.attr]], except that the names `likely` and `unlikely` may be
85
+ defined as function-like macros  [[cpp.replace]].
86
 
87
  ##### External linkage <a id="extern.names">[[extern.names]]</a>
88
 
89
  Each name declared as an object with external linkage in a header is
90
  reserved to the implementation to designate that library object with
91
+ external linkage, [^23] both in namespace `std` and in the global
92
  namespace.
93
 
94
  Each global function signature declared with external linkage in a
95
  header is reserved to the implementation to designate that function
96
+ signature with external linkage.[^24]
97
 
98
  Each name from the C standard library declared with external linkage is
99
  reserved to the implementation for use as a name with `extern "C"`
100
  linkage, both in namespace `std` and in the global namespace.
101
 
102
  Each function signature from the C standard library declared with
103
  external linkage is reserved to the implementation for use as a function
104
+ signature with both `extern "C"` and `extern "C++"` linkage,[^25] or as
105
  a name of namespace scope in the global namespace.
106
 
107
  ##### Types <a id="extern.types">[[extern.types]]</a>
108
 
109
+ For each type `T` from the C standard library, the types `::T` and
110
  `std::T` are reserved to the implementation and, when defined, `::T`
111
  shall be identical to `std::T`.
112
 
113
  ##### User-defined literal suffixes <a id="usrlit.suffix">[[usrlit.suffix]]</a>
114
 
115
+ Literal suffix identifiers [[over.literal]] that do not start with an
116
  underscore are reserved for future standardization.
117