@@ -18,6 +18,9 @@ Phases of translation => cpp/language/translation_phases
18
18
The main() function => cpp/language/main_function
19
19
Preprocessor => cpp/preprocessor
20
20
#if directive => cpp/preprocessor/conditional
21
+ #else directive => cpp/preprocessor/conditional
22
+ #elif directive => cpp/preprocessor/conditional
23
+ #endif directive => cpp/preprocessor/conditional
21
24
#ifdef directive => cpp/preprocessor/conditional
22
25
#ifndef directive => cpp/preprocessor/conditional
23
26
#define directive => cpp/preprocessor/replace
@@ -84,6 +87,7 @@ inline specifier => cpp/language/inline
84
87
Argument-dependent lookup => cpp/language/adl
85
88
Overload resolution => cpp/language/overload_resolution
86
89
Operator overloading => cpp/language/operators
90
+ Undefined behavior => cpp/language/ub
87
91
Address of an overload => cpp/language/overloaded_address
88
92
Exceptions => cpp/language/exceptions
89
93
throw expression => cpp/language/throw
@@ -100,7 +104,6 @@ Static members => cpp/language/static
100
104
Nested types => cpp/language/nested_types
101
105
Member templates => cpp/language/member_template
102
106
Derived class => cpp/language/derived_class
103
- using-declaration => cpp/language/using_declaration
104
107
Virtual function => cpp/language/virtual
105
108
Abstract class => cpp/language/abstract_class
106
109
Bit fields => cpp/language/bit_field
@@ -130,9 +133,130 @@ Extending the namespace std => cpp/language/extending_std
130
133
RAII => cpp/language/raii
131
134
Rule of three => cpp/language/rule_of_three
132
135
As-if rule => cpp/language/as_if
136
+ Return value optimization => cpp/language/copy_elision
133
137
Copy elision => cpp/language/copy_elision
134
138
Empty base optimization => cpp/language/ebo
135
139
static_cast conversion => cpp/language/static_cast
136
140
dynamic_cast conversion => cpp/language/dynamic_cast
137
141
reinterpret_cast conversion => cpp/language/reinterpret_cast
138
142
const_cast conversion => cpp/language/const_cast
143
+ default constructible => cpp/concept/DefaultConstructible
144
+ move constructible => cpp/concept/MoveConstructible
145
+ copy constructible => cpp/concept/CopyConstructible
146
+ move assignable => cpp/concept/MoveAssignable
147
+ copy assignable => cpp/concept/CopyAssignable
148
+ destructible => cpp/concept/Destructible
149
+ trivially copyable => cpp/concept/TriviallyCopyable
150
+ trivial type => cpp/concept/TrivialType
151
+ standard layout type => cpp/concept/StandardLayoutType
152
+ POD type => cpp/concept/PODType
153
+ equality comparable => cpp/concept/EqualityComparable
154
+ less than comparable => cpp/concept/LessThanComparable
155
+ swappable => cpp/concept/Swappable
156
+ value swappable => cpp/concept/ValueSwappable
157
+ nullable pointer => cpp/concept/NullablePointer
158
+ hash => cpp/concept/Hash
159
+ allocator => cpp/concept/Allocator
160
+ function object => cpp/concept/FunctionObject
161
+ callable => cpp/concept/Callable
162
+ predicate => cpp/concept/Predicate
163
+ binary predicate => cpp/concept/BinaryPredicate
164
+ compare => cpp/concept/Compare
165
+ container => cpp/concept/Container
166
+ reversible container => cpp/concept/ReversibleContainer
167
+ allocator aware container => cpp/concept/AllocatorAwareContainer
168
+ sequence container => cpp/concept/SequenceContainer
169
+ associative container => cpp/concept/AssociativeContainer
170
+ unordered associative container => cpp/concept/UnorderedAssociativeContainer
171
+ default insertable => cpp/concept/DefaultInsertable
172
+ copy insertable => cpp/concept/CopyInsertable
173
+ move insertable => cpp/concept/MoveInsertable
174
+ emplace constructible => cpp/concept/EmplaceConstructible
175
+ erasable => cpp/concept/Erasable
176
+ iterator => cpp/concept/Iterator
177
+ input iterator => cpp/concept/InputIterator
178
+ output iterator => cpp/concept/OutputIterator
179
+ forward iterator => cpp/concept/ForwardIterator
180
+ bidirectional iterator => cpp/concept/BidirectionalIterator
181
+ random access iterator => cpp/concept/RandomAccessIterator
182
+ unformatted input function => cpp/concept/UnformattedInputFunction
183
+ formatted input function => cpp/concept/FormattedInputFunction
184
+ unformatted output function => cpp/concept/UnformattedOutputFunction
185
+ formatted output function => cpp/concept/FormattedOutputFunction
186
+ seed sequence => cpp/concept/SeedSequence
187
+ uniform random number generator => cpp/concept/UniformRandomNumberGenerator
188
+ random number distribution => cpp/concept/RandomNumberDistribution
189
+ basic lockable => cpp/concept/BasicLockable
190
+ lockable => cpp/concept/Lockable
191
+ timed lockable => cpp/concept/TimedLockable
192
+ mutex (concept) => cpp/concept/Mutex
193
+ timed mutex (concept) => cpp/concept/TimedMutex
194
+ shared mutex (concept) => cpp/concept/SharedMutex
195
+ shared timed mutex (concept) => cpp/concept/SharedTimedMutex
196
+ clock => cpp/concept/Clock
197
+ trivial clock => cpp/concept/TrivialClock
198
+ bitmask type => cpp/concept/BitmaskType
199
+ numeric type => cpp/concept/NumericType
200
+ literal type => cpp/concept/LiteralType
201
+ concept (core language feature) => cpp/language/concepts
202
+ concept (library type requirement) => cpp/concept
203
+ constraint => cpp/language/constraints
204
+ and keyword => cpp/language/operator_alternative
205
+ and_eq keyword => cpp/language/operator_alternative
206
+ asm keyword => cpp/language/asm
207
+ bitand keyword => cpp/language/operator_alternative
208
+ bitor keyword => cpp/language/operator_alternative
209
+ bool type => cpp/language/types#Boolean_type
210
+ case label => cpp/language/switch
211
+ default label => cpp/language/switch
212
+ type char => cpp/language/types
213
+ char16_t type => cpp/language/types#Character_types
214
+ char32_t type => cpp/language/types#Character_types
215
+ compl keyword => cpp/language/operator_alternative
216
+ defaulted function => cpp/language/member_functions#Special_member_functions
217
+ deleted function => cpp/language/function#Deleted_functions
218
+ type double => cpp/language/types#Floating_point_types
219
+ else keyword => cpp/language/if
220
+ enum declaration => cpp/language/enum
221
+ explicit constructor => cpp/language/explicit
222
+ explicit conversion function => cpp/language/explicit
223
+ extern keyword => cpp/keyword/extern
224
+ extern declaration => cpp/language/storage_duration
225
+ language linkage => cpp/language/language_linkage
226
+ extern template => cpp/language/class_template
227
+ false literal => cpp/language/bool_literal
228
+ type float => cpp/language/types#Floating_point_types
229
+ type int => cpp/language/types
230
+ inline namespace => cpp/language/namespace
231
+ type long => cpp/language/types
232
+ keyword mutable => cpp/keyword/mutable
233
+ not keyword => cpp/language/operator_alternative
234
+ not_eq keyword => cpp/language/operator_alternative
235
+ nullptr literal => cpp/language/nullptr
236
+ or keyword => cpp/language/operator_alternative
237
+ or_eq keyword => cpp/language/operator_alternative
238
+ private inheritance => cpp/language/derived_class#Private_inheritance
239
+ private member access => cpp/language/access#Private_member_access
240
+ protected inheritance => cpp/language/derived_class#Protected_inheritance
241
+ protected member access => cpp/language/access#Protected_member_access
242
+ public inheritance => cpp/language/derived_class#Public_inheritance
243
+ public member access => cpp/language/access#Public_member_access
244
+ register storage duration => cpp/language/storage_duration
245
+ requires expression => cpp/language/constraints
246
+ type short => cpp/language/types
247
+ signed types => cpp/language/types
248
+ static storage duration => cpp/language/storage_duration
249
+ struct declaration => cpp/language/class
250
+ thread_local storage duration => cpp/language/storage_duration
251
+ true literal => cpp/language/bool_literal
252
+ typename keyword => cpp/keyword/typename
253
+ unsigned types => cpp/language/types
254
+ virtual base => cpp/language/derived_class
255
+ void type => cpp/language/types
256
+ wchar_t type => cpp/language/types
257
+ xor keyword => cpp/language/operator_alternative
258
+ xor_eq keyword => cpp/language/operator_alternative
259
+ using directive => cpp/language/namespace
260
+ using declaration (namespace) => cpp/language/namespace
261
+ using declaration (class member) => cpp/language/using
262
+ using (type alias, alias template) => cpp/language/type_alias
0 commit comments