BS ISO/IEC 14882:2020
$165.47
Programming languages. C++
Published By | Publication Date | Number of Pages |
BSI | 2020 | 1868 |
PDF Catalog
PDF Pages | PDF Title |
---|---|
2 | undefined |
3 | 79358.pdf |
5 | Contents |
12 | Foreword |
14 | Blank Page |
15 | 1 Scope |
16 | 2 Normative references |
17 | 3 Terms and definitions |
23 | 4 General principles 4.1 Implementation compliance 4.1.1 General |
24 | 4.1.2 Abstract machine 4.2 Structure of this document |
25 | 4.3 Syntax notation |
26 | 5 Lexical conventions 5.1 Separate translation 5.2 Phases of translation |
27 | 5.3 Character sets |
28 | 5.4 Preprocessing tokens |
29 | 5.5 Alternative tokens 5.6 Tokens 5.7 Comments |
30 | 5.8 Header names 5.9 Preprocessing numbers 5.10 Identifiers |
31 | 5.11 Keywords |
32 | 5.12 Operators and punctuators |
33 | 5.13 Literals 5.13.1 Kinds of literals 5.13.2 Integer literals |
34 | 5.13.3 Character literals |
36 | 5.13.4 Floating-point literals |
37 | 5.13.5 String literals |
39 | 5.13.6 Boolean literals 5.13.7 Pointer literals 5.13.8 User-defined literals |
42 | 6 Basics 6.1 Preamble 6.2 Declarations and definitions |
44 | 6.3 One-definition rule |
48 | 6.4 Scope 6.4.1 Declarative regions and scopes |
49 | 6.4.2 Point of declaration |
51 | 6.4.3 Block scope 6.4.4 Function parameter scope 6.4.5 Function scope 6.4.6 Namespace scope |
52 | 6.4.7 Class scope |
53 | 6.4.8 Enumeration scope 6.4.9 Template parameter scope |
54 | 6.4.10 Name hiding 6.5 Name lookup 6.5.1 General |
55 | 6.5.2 Unqualified name lookup |
58 | 6.5.3 Argument-dependent name lookup |
60 | 6.5.4 Qualified name lookup 6.5.4.1 General |
61 | 6.5.4.2 Class members |
62 | 6.5.4.3 Namespace members |
65 | 6.5.5 Elaborated type specifiers |
66 | 6.5.6 Class member access |
67 | 6.5.7 Using-directives and namespace aliases 6.6 Program and linkage |
71 | 6.7 Memory and objects 6.7.1 Memory model |
72 | 6.7.2 Object model |
74 | 6.7.3 Lifetime |
77 | 6.7.4 Indeterminate values |
78 | 6.7.5 Storage duration 6.7.5.1 General 6.7.5.2 Static storage duration 6.7.5.3 Thread storage duration 6.7.5.4 Automatic storage duration |
79 | 6.7.5.5 Dynamic storage duration 6.7.5.5.1 General 6.7.5.5.2 Allocation functions |
80 | 6.7.5.5.3 Deallocation functions |
81 | 6.7.5.5.4 Safely-derived pointers 6.7.5.6 Duration of subobjects 6.7.6 Alignment |
82 | 6.7.7 Temporary objects |
85 | 6.8 Types 6.8.1 General |
87 | 6.8.2 Fundamental types |
89 | 6.8.3 Compound types |
91 | 6.8.4 CV-qualifiers 6.8.5 Integer conversion rank |
92 | 6.9 Program execution 6.9.1 Sequential execution |
95 | 6.9.2 Multi-threaded executions and data races 6.9.2.1 General 6.9.2.2 Data races |
98 | 6.9.2.3 Forward progress |
100 | 6.9.3 Start and termination 6.9.3.1 main function 6.9.3.2 Static initialization |
101 | 6.9.3.3 Dynamic initialization of non-local variables |
102 | 6.9.3.4 Termination |
104 | 7 Expressions 7.1 Preamble |
105 | 7.2 Properties of expressions 7.2.1 Value category |
106 | 7.2.2 Type |
107 | 7.2.3 Context dependence |
108 | 7.3 Standard conversions 7.3.1 General |
109 | 7.3.2 Lvalue-to-rvalue conversion 7.3.3 Array-to-pointer conversion 7.3.4 Function-to-pointer conversion 7.3.5 Temporary materialization conversion |
110 | 7.3.6 Qualification conversions 7.3.7 Integral promotions |
111 | 7.3.8 Floating-point promotion 7.3.9 Integral conversions 7.3.10 Floating-point conversions 7.3.11 Floating-integral conversions |
112 | 7.3.12 Pointer conversions 7.3.13 Pointer-to-member conversions 7.3.14 Function pointer conversions 7.3.15 Boolean conversions |
113 | 7.4 Usual arithmetic conversions 7.5 Primary expressions 7.5.1 Literals 7.5.2 This |
114 | 7.5.3 Parentheses 7.5.4 Names 7.5.4.1 General |
115 | 7.5.4.2 Unqualified names |
116 | 7.5.4.3 Qualified names 7.5.4.4 Destruction |
117 | 7.5.5 Lambda expressions 7.5.5.1 General 7.5.5.2 Closure types |
121 | 7.5.5.3 Captures |
126 | 7.5.6 Fold expressions |
127 | 7.5.7 Requires expressions 7.5.7.1 General |
128 | 7.5.7.2 Simple requirements 7.5.7.3 Type requirements 7.5.7.4 Compound requirements |
129 | 7.5.7.5 Nested requirements |
130 | 7.6 Compound expressions 7.6.1 Postfix expressions 7.6.1.1 General 7.6.1.2 Subscripting 7.6.1.3 Function call |
132 | 7.6.1.4 Explicit type conversion (functional notation) |
133 | 7.6.1.5 Class member access |
134 | 7.6.1.6 Increment and decrement 7.6.1.7 Dynamic cast |
135 | 7.6.1.8 Type identification |
136 | 7.6.1.9 Static cast |
138 | 7.6.1.10 Reinterpret cast |
139 | 7.6.1.11 Const cast |
140 | 7.6.2 Unary expressions 7.6.2.1 General 7.6.2.2 Unary operators |
141 | 7.6.2.3 Increment and decrement |
142 | 7.6.2.4 Await |
143 | 7.6.2.5 Sizeof |
144 | 7.6.2.6 Alignof 7.6.2.7 noexcept operator 7.6.2.8 New |
149 | 7.6.2.9 Delete |
150 | 7.6.3 Explicit type conversion (cast notation) |
151 | 7.6.4 Pointer-to-member operators |
152 | 7.6.5 Multiplicative operators |
153 | 7.6.6 Additive operators 7.6.7 Shift operators |
154 | 7.6.8 Three-way comparison operator 7.6.9 Relational operators |
155 | 7.6.10 Equality operators |
156 | 7.6.11 Bitwise AND operator |
157 | 7.6.12 Bitwise exclusive OR operator 7.6.13 Bitwise inclusive OR operator 7.6.14 Logical AND operator 7.6.15 Logical OR operator 7.6.16 Conditional operator |
159 | 7.6.17 Yielding a value 7.6.18 Throwing an exception |
160 | 7.6.19 Assignment and compound assignment operators |
161 | 7.6.20 Comma operator 7.7 Constant expressions |
167 | 8 Statements 8.1 Preamble |
168 | 8.2 Labeled statement 8.3 Expression statement 8.4 Compound statement or block 8.5 Selection statements 8.5.1 General |
169 | 8.5.2 The if statement |
170 | 8.5.3 The switch statement 8.6 Iteration statements 8.6.1 General |
171 | 8.6.2 The while statement 8.6.3 The do statement |
172 | 8.6.4 The for statement 8.6.5 The range-based for statement |
173 | 8.7 Jump statements 8.7.1 General 8.7.2 The break statement 8.7.3 The continue statement |
174 | 8.7.4 The return statement 8.7.5 The co_return statement 8.7.6 The goto statement |
175 | 8.8 Declaration statement 8.9 Ambiguity resolution |
177 | 9 Declarations 9.1 Preamble |
179 | 9.2 Specifiers 9.2.1 General 9.2.2 Storage class specifiers |
181 | 9.2.3 Function specifiers 9.2.4 The typedef specifier |
183 | 9.2.5 The friend specifier 9.2.6 The constexpr and consteval specifiers |
186 | 9.2.7 The constinit specifier 9.2.8 The inline specifier |
187 | 9.2.9 Type specifiers 9.2.9.1 General |
188 | 9.2.9.2 The cv-qualifiers |
189 | 9.2.9.3 Simple type specifiers 9.2.9.4 Elaborated type specifiers |
191 | 9.2.9.5 Decltype specifiers |
192 | 9.2.9.6 Placeholder type specifiers 9.2.9.6.1 General |
194 | 9.2.9.6.2 Placeholder type deduction |
196 | 9.2.9.7 Deduced class template specialization types 9.3 Declarators 9.3.1 General |
198 | 9.3.2 Type names 9.3.3 Ambiguity resolution |
200 | 9.3.4 Meaning of declarators 9.3.4.1 General 9.3.4.2 Pointers |
201 | 9.3.4.3 References |
202 | 9.3.4.4 Pointers to members |
203 | 9.3.4.5 Arrays |
204 | 9.3.4.6 Functions |
208 | 9.3.4.7 Default arguments |
211 | 9.4 Initializers 9.4.1 General |
215 | 9.4.2 Aggregates |
220 | 9.4.3 Character arrays 9.4.4 References |
223 | 9.4.5 List-initialization |
227 | 9.5 Function definitions 9.5.1 In general |
228 | 9.5.2 Explicitly-defaulted functions |
229 | 9.5.3 Deleted definitions |
230 | 9.5.4 Coroutine definitions |
233 | 9.6 Structured binding declarations |
234 | 9.7 Enumerations 9.7.1 Enumeration declarations |
237 | 9.7.2 The using enum declaration |
238 | 9.8 Namespaces 9.8.1 General 9.8.2 Namespace definition 9.8.2.1 General |
240 | 9.8.2.2 Unnamed namespaces 9.8.2.3 Namespace member definitions |
242 | 9.8.3 Namespace alias 9.8.4 Using namespace directive |
245 | 9.9 The using declaration |
250 | 9.10 The asm declaration |
251 | 9.11 Linkage specifications |
253 | 9.12 Attributes 9.12.1 Attribute syntax and semantics |
255 | 9.12.2 Alignment specifier |
256 | 9.12.3 Carries dependency attribute |
257 | 9.12.4 Deprecated attribute 9.12.5 Fallthrough attribute |
258 | 9.12.6 Likelihood attributes 9.12.7 Maybe unused attribute |
259 | 9.12.8 Nodiscard attribute |
260 | 9.12.9 Noreturn attribute 9.12.10 No unique address attribute |
261 | 10 Modules 10.1 Module units and purviews |
262 | 10.2 Export declaration |
265 | 10.3 Import declaration |
266 | 10.4 Global module fragment |
268 | 10.5 Private module fragment |
269 | 10.6 Instantiation context |
270 | 10.7 Reachability |
272 | 11 Classes 11.1 Preamble |
273 | 11.2 Properties of classes |
274 | 11.3 Class names |
276 | 11.4 Class members 11.4.1 General |
279 | 11.4.2 Member functions |
280 | 11.4.3 Non-static member functions 11.4.3.1 General |
281 | 11.4.3.2 The this pointer |
282 | 11.4.4 Special member functions |
283 | 11.4.5 Constructors 11.4.5.1 General 11.4.5.2 Default constructors |
284 | 11.4.5.3 Copy/move constructors |
287 | 11.4.6 Copy/move assignment operator |
289 | 11.4.7 Destructors |
292 | 11.4.8 Conversions 11.4.8.1 General |
293 | 11.4.8.2 Conversion by constructor 11.4.8.3 Conversion functions |
295 | 11.4.9 Static members 11.4.9.1 General 11.4.9.2 Static member functions |
296 | 11.4.9.3 Static data members 11.4.10 Bit-fields |
297 | 11.4.11 Nested class declarations |
298 | 11.4.12 Nested type names 11.5 Unions 11.5.1 General |
300 | 11.5.2 Anonymous unions |
301 | 11.6 Local class declarations 11.7 Derived classes 11.7.1 General |
303 | 11.7.2 Multiple base classes |
304 | 11.7.3 Virtual functions |
308 | 11.7.4 Abstract classes |
309 | 11.8 Member name lookup |
312 | 11.9 Member access control 11.9.1 General |
314 | 11.9.2 Access specifiers |
315 | 11.9.3 Accessibility of base classes and base class members |
317 | 11.9.4 Friends |
320 | 11.9.5 Protected member access 11.9.6 Access to virtual functions |
321 | 11.9.7 Multiple access 11.9.8 Nested classes |
322 | 11.10 Initialization 11.10.1 General 11.10.2 Explicit initialization |
323 | 11.10.3 Initializing bases and members |
327 | 11.10.4 Initialization by inherited constructor |
328 | 11.10.5 Construction and destruction |
331 | 11.10.6 Copy/move elision |
333 | 11.11 Comparisons 11.11.1 Defaulted comparison operator functions |
334 | 11.11.2 Equality operator |
335 | 11.11.3 Three-way comparison 11.11.4 Secondary comparison operators |
336 | 11.12 Free store |
338 | 12 Overloading 12.1 Preamble 12.2 Overloadable declarations |
340 | 12.3 Declaration matching |
341 | 12.4 Overload resolution 12.4.1 General |
342 | 12.4.2 Candidate functions and argument lists 12.4.2.1 General |
343 | 12.4.2.2 Function call syntax 12.4.2.2.1 General |
344 | 12.4.2.2.2 Call to named function 12.4.2.2.3 Call to object of class type |
345 | 12.4.2.3 Operators in expressions |
348 | 12.4.2.4 Initialization by constructor 12.4.2.5 Copy-initialization of class by user-defined conversion 12.4.2.6 Initialization by conversion function |
349 | 12.4.2.7 Initialization by conversion function for direct reference binding 12.4.2.8 Initialization by list-initialization 12.4.2.9 Class template argument deduction |
353 | 12.4.3 Viable functions 12.4.4 Best viable function 12.4.4.1 General |
356 | 12.4.4.2 Implicit conversion sequences 12.4.4.2.1 General |
358 | 12.4.4.2.2 Standard conversion sequences 12.4.4.2.3 User-defined conversion sequences |
359 | 12.4.4.2.4 Ellipsis conversion sequences 12.4.4.2.5 Reference binding 12.4.4.2.6 List-initialization sequence |
362 | 12.4.4.3 Ranking implicit conversion sequences |
365 | 12.5 Address of overloaded function |
366 | 12.6 Overloaded operators 12.6.1 General |
367 | 12.6.2 Unary operators |
368 | 12.6.3 Binary operators 12.6.3.1 General 12.6.3.2 Simple assignment 12.6.4 Function call |
369 | 12.6.5 Subscripting 12.6.6 Class member access 12.6.7 Increment and decrement |
370 | 12.7 Built-in operators |
372 | 12.8 User-defined literals |
374 | 13 Templates 13.1 Preamble |
375 | 13.2 Template parameters |
379 | 13.3 Names of template specializations |
382 | 13.4 Template arguments 13.4.1 General |
384 | 13.4.2 Template type arguments 13.4.3 Template non-type arguments |
386 | 13.4.4 Template template arguments |
387 | 13.5 Template constraints 13.5.1 General |
388 | 13.5.2 Constraints 13.5.2.1 General 13.5.2.2 Logical operations |
389 | 13.5.2.3 Atomic constraints |
390 | 13.5.3 Constrained declarations |
391 | 13.5.4 Constraint normalization |
392 | 13.5.5 Partial ordering by constraints |
393 | 13.6 Type equivalence |
394 | 13.7 Template declarations 13.7.1 General 13.7.2 Class templates 13.7.2.1 General |
395 | 13.7.2.2 Member functions of class templates |
396 | 13.7.2.3 Deduction guides 13.7.2.4 Member classes of class templates 13.7.2.5 Static data members of class templates |
397 | 13.7.2.6 Enumeration members of class templates 13.7.3 Member templates |
399 | 13.7.4 Variadic templates |
402 | 13.7.5 Friends |
404 | 13.7.6 Class template partial specializations 13.7.6.1 General |
405 | 13.7.6.2 Matching of class template partial specializations |
406 | 13.7.6.3 Partial ordering of class template specializations |
407 | 13.7.6.4 Members of class template specializations |
408 | 13.7.7 Function templates 13.7.7.1 General 13.7.7.2 Function template overloading |
410 | 13.7.7.3 Partial ordering of function templates |
413 | 13.7.8 Alias templates |
414 | 13.7.9 Concept definitions |
415 | 13.8 Name resolution 13.8.1 General |
419 | 13.8.2 Locally declared names |
421 | 13.8.3 Dependent names 13.8.3.1 General |
422 | 13.8.3.2 Dependent types |
425 | 13.8.3.3 Type-dependent expressions |
426 | 13.8.3.4 Value-dependent expressions |
427 | 13.8.3.5 Dependent template arguments 13.8.4 Non-dependent names |
428 | 13.8.5 Dependent name resolution 13.8.5.1 Point of instantiation 13.8.5.2 Candidate functions |
431 | 13.8.6 Friend names declared within a class template 13.9 Template instantiation and specialization 13.9.1 General |
433 | 13.9.2 Implicit instantiation |
437 | 13.9.3 Explicit instantiation |
440 | 13.9.4 Explicit specialization |
445 | 13.10 Function template specializations 13.10.1 General 13.10.2 Explicit template argument specification |
447 | 13.10.3 Template argument deduction 13.10.3.1 General |
451 | 13.10.3.2 Deducing template arguments from a function call |
454 | 13.10.3.3 Deducing template arguments taking the address of a function template 13.10.3.4 Deducing conversion function template arguments |
455 | 13.10.3.5 Deducing template arguments during partial ordering |
456 | 13.10.3.6 Deducing template arguments from a type |
462 | 13.10.3.7 Deducing template arguments from a function declaration |
463 | 13.10.4 Overload resolution |
465 | 14 Exception handling 14.1 Preamble |
466 | 14.2 Throwing an exception |
467 | 14.3 Constructors and destructors |
468 | 14.4 Handling an exception |
470 | 14.5 Exception specifications |
472 | 14.6 Special functions 14.6.1 General 14.6.2 The std::terminate function |
473 | 14.6.3 The std::uncaught_exceptions function |
474 | 15 Preprocessing directives 15.1 Preamble |
476 | 15.2 Conditional inclusion |
478 | 15.3 Source file inclusion |
479 | 15.4 Module directive |
480 | 15.5 Header unit importation |
481 | 15.6 Macro replacement 15.6.1 General |
482 | 15.6.2 Argument substitution |
484 | 15.6.3 The # operator 15.6.4 The ## operator |
485 | 15.6.5 Rescanning and further replacement |
486 | 15.6.6 Scope of macro definitions 15.7 Line control |
487 | 15.8 Error directive 15.9 Pragma directive 15.10 Null directive 15.11 Predefined macro names |
489 | 15.12 Pragma operator |
491 | 16 Library introduction 16.1 General |
492 | 16.2 The C standard library 16.3 Method of description 16.3.1 General 16.3.2 Structure of each clause 16.3.2.1 Elements 16.3.2.2 Summary 16.3.2.3 Requirements |
493 | 16.3.2.4 Detailed specifications |
494 | 16.3.2.5 C library 16.3.3 Other conventions 16.3.3.1 General |
495 | 16.3.3.2 Exposition-only functions 16.3.3.3 Type descriptions 16.3.3.3.1 General 16.3.3.3.2 Exposition-only types 16.3.3.3.3 Enumerated types |
496 | 16.3.3.3.4 Bitmask types |
497 | 16.3.3.3.5 Character sequences 16.3.3.3.5.1 General 16.3.3.3.5.2 Byte strings 16.3.3.3.5.3 Multibyte strings 16.3.3.3.6 Customization Point Object types |
498 | 16.3.3.4 Functions within classes 16.3.3.5 Private members 16.4 Library-wide requirements 16.4.1 General 16.4.2 Library contents and organization 16.4.2.1 General 16.4.2.2 Library contents 16.4.2.3 Headers |
500 | 16.4.2.4 Freestanding implementations 16.4.3 Using the library 16.4.3.1 Overview |
501 | 16.4.3.2 Headers 16.4.3.3 Linkage 16.4.4 Requirements on types and expressions 16.4.4.1 General |
502 | 16.4.4.2 Template argument requirements 16.4.4.3 Swappable requirements |
504 | 16.4.4.4 Cpp17NullablePointer requirements 16.4.4.5 Cpp17Hash requirements |
505 | 16.4.4.6 Cpp17Allocator requirements 16.4.4.6.1 General |
510 | 16.4.4.6.2 Allocator completeness requirements 16.4.5 Constraints on programs 16.4.5.1 Overview 16.4.5.2 Namespace use 16.4.5.2.1 Namespace std |
511 | 16.4.5.2.2 Namespace posix 16.4.5.2.3 Namespaces for future standardization 16.4.5.3 Reserved names 16.4.5.3.1 General 16.4.5.3.2 Zombie names |
513 | 16.4.5.3.3 Macro names 16.4.5.3.4 External linkage 16.4.5.3.5 Types 16.4.5.3.6 User-defined literal suffixes 16.4.5.4 Headers 16.4.5.5 Derived classes 16.4.5.6 Replacement functions |
514 | 16.4.5.7 Handler functions 16.4.5.8 Other functions 16.4.5.9 Function arguments |
515 | 16.4.5.10 Library object access 16.4.5.11 Semantic requirements 16.4.6 Conforming implementations 16.4.6.1 Overview 16.4.6.2 Headers 16.4.6.3 Restrictions on macro definitions |
516 | 16.4.6.4 Non-member functions 16.4.6.5 Member functions 16.4.6.6 Friend functions 16.4.6.7 Constexpr functions and constructors 16.4.6.8 Requirements for stable algorithms 16.4.6.9 Reentrancy |
517 | 16.4.6.10 Data race avoidance 16.4.6.11 Protection within classes 16.4.6.12 Derived classes 16.4.6.13 Restrictions on exception handling |
518 | 16.4.6.14 Restrictions on storage of pointers 16.4.6.15 Value of error codes 16.4.6.16 Moved-from state of library types |
519 | 17 Language support library 17.1 General 17.2 Common definitions 17.2.1 Header synopsis |
520 | 17.2.2 Header synopsis |
521 | 17.2.3 Null pointers 17.2.4 Sizes, alignments, and offsets |
522 | 17.2.5 byte type operations |
523 | 17.3 Implementation properties 17.3.1 General 17.3.2 Header synopsis |
525 | 17.3.3 Header synopsis |
526 | 17.3.4 Floating-point type properties 17.3.4.1 Type float_round_style 17.3.4.2 Type float_denorm_style 17.3.5 Class template numeric_limits 17.3.5.1 General |
527 | 17.3.5.2 numeric_limits members |
531 | 17.3.5.3 numeric_limits specializations |
532 | 17.3.6 Header synopsis |
533 | 17.3.7 Header synopsis 17.4 Integer types 17.4.1 General 17.4.2 Header synopsis |
534 | 17.5 Startup and termination |
536 | 17.6 Dynamic memory management 17.6.1 General 17.6.2 Header synopsis |
537 | 17.6.3 Storage allocation and deallocation 17.6.3.1 General 17.6.3.2 Single-object forms |
539 | 17.6.3.3 Array forms |
540 | 17.6.3.4 Non-allocating forms |
541 | 17.6.3.5 Data races 17.6.4 Storage allocation errors 17.6.4.1 Class bad_alloc 17.6.4.2 Class bad_array_new_length 17.6.4.3 Type new_handler 17.6.4.4 set_new_handler |
542 | 17.6.4.5 get_new_handler 17.6.5 Pointer optimization barrier 17.6.6 Hardware interference size |
543 | 17.7 Type identification 17.7.1 General 17.7.2 Header synopsis 17.7.3 Class type_info |
544 | 17.7.4 Class bad_cast 17.7.5 Class bad_typeid 17.8 Source location 17.8.1 Header synopsis 17.8.2 Class source_location 17.8.2.1 General |
545 | 17.8.2.2 Creation |
546 | 17.8.2.3 Observers 17.9 Exception handling 17.9.1 General 17.9.2 Header synopsis |
547 | 17.9.3 Class exception 17.9.4 Class bad_exception |
548 | 17.9.5 Abnormal termination 17.9.5.1 Type terminate_handler 17.9.5.2 set_terminate 17.9.5.3 get_terminate 17.9.5.4 terminate 17.9.6 uncaught_exceptions 17.9.7 Exception propagation |
549 | 17.9.8 nested_exception |
550 | 17.10 Initializer lists 17.10.1 General 17.10.2 Header synopsis |
551 | 17.10.3 Initializer list constructors 17.10.4 Initializer list access 17.10.5 Initializer list range access 17.11 Comparisons 17.11.1 Header synopsis |
552 | 17.11.2 Comparison category types 17.11.2.1 Preamble 17.11.2.2 Class partial_ordering |
553 | 17.11.2.3 Class weak_ordering |
554 | 17.11.2.4 Class strong_ordering |
556 | 17.11.3 Class template common_comparison_category 17.11.4 Concept three_way_comparable |
557 | 17.11.5 Result of three-way comparison 17.11.6 Comparison algorithms |
559 | 17.12 Coroutines 17.12.1 General 17.12.2 Header synopsis |
560 | 17.12.3 Coroutine traits 17.12.3.1 General 17.12.3.2 Class template coroutine_traits 17.12.4 Class template coroutine_handle 17.12.4.1 General |
561 | 17.12.4.2 Construct/reset 17.12.4.3 Export/import 17.12.4.4 Observers 17.12.4.5 Resumption 17.12.4.6 Promise access |
562 | 17.12.4.7 Comparison operators 17.12.4.8 Hash support 17.12.5 No-op coroutines 17.12.5.1 Class noop_coroutine_promise 17.12.5.2 Class coroutine_handle 17.12.5.2.1 Observers 17.12.5.2.2 Resumption |
563 | 17.12.5.2.3 Promise access 17.12.5.2.4 Address 17.12.5.3 Function noop_coroutine 17.12.6 Trivial awaitables 17.13 Other runtime support 17.13.1 General 17.13.2 Header synopsis |
564 | 17.13.3 Header synopsis 17.13.4 Header synopsis 17.13.5 Signal handlers |
566 | 18 Concepts library 18.1 General 18.2 Equality preservation |
567 | 18.3 Header synopsis |
569 | 18.4 Language-related concepts 18.4.1 General 18.4.2 Concept same_as 18.4.3 Concept derived_from |
570 | 18.4.4 Concept convertible_to 18.4.5 Concept common_reference_with 18.4.6 Concept common_with |
571 | 18.4.7 Arithmetic concepts 18.4.8 Concept assignable_from |
572 | 18.4.9 Concept swappable |
573 | 18.4.10 Concept destructible 18.4.11 Concept constructible_from 18.4.12 Concept default_initializable |
574 | 18.4.13 Concept move_constructible 18.4.14 Concept copy_constructible 18.5 Comparison concepts 18.5.1 General 18.5.2 Boolean testability |
575 | 18.5.3 Concept equality_comparable |
576 | 18.5.4 Concept totally_ordered |
577 | 18.6 Object concepts 18.7 Callable concepts 18.7.1 General 18.7.2 Concept invocable 18.7.3 Concept regular_invocable 18.7.4 Concept predicate 18.7.5 Concept relation |
578 | 18.7.6 Concept equivalence_relation 18.7.7 Concept strict_weak_order |
579 | 19 Diagnostics library 19.1 General 19.2 Exception classes 19.2.1 General 19.2.2 Header synopsis 19.2.3 Class logic_error |
580 | 19.2.4 Class domain_error 19.2.5 Class invalid_argument 19.2.6 Class length_error 19.2.7 Class out_of_range |
581 | 19.2.8 Class runtime_error 19.2.9 Class range_error 19.2.10 Class overflow_error |
582 | 19.2.11 Class underflow_error 19.3 Assertions 19.3.1 General 19.3.2 Header synopsis 19.3.3 The assert macro 19.4 Error numbers 19.4.1 General 19.4.2 Header synopsis |
584 | 19.5 System error support 19.5.1 General 19.5.2 Header synopsis |
586 | 19.5.3 Class error_category 19.5.3.1 Overview 19.5.3.2 Virtual members |
587 | 19.5.3.3 Non-virtual members 19.5.3.4 Program-defined classes derived from error_category 19.5.3.5 Error category objects |
588 | 19.5.4 Class error_code 19.5.4.1 Overview 19.5.4.2 Constructors 19.5.4.3 Modifiers |
589 | 19.5.4.4 Observers 19.5.4.5 Non-member functions 19.5.5 Class error_condition 19.5.5.1 Overview |
590 | 19.5.5.2 Constructors 19.5.5.3 Modifiers 19.5.5.4 Observers 19.5.5.5 Non-member functions 19.5.6 Comparison operator functions |
591 | 19.5.7 System error hash support 19.5.8 Class system_error 19.5.8.1 Overview 19.5.8.2 Members |
593 | 20 General utilities library 20.1 General 20.2 Utility components 20.2.1 Header synopsis |
595 | 20.2.2 swap |
596 | 20.2.3 exchange 20.2.4 Forward/move helpers |
597 | 20.2.5 Function template as_const 20.2.6 Function template declval 20.2.7 Integer comparison functions |
598 | 20.3 Compile-time integer sequences 20.3.1 In general 20.3.2 Class template integer_sequence 20.3.3 Alias template make_integer_sequence |
599 | 20.4 Pairs 20.4.1 In general 20.4.2 Class template pair |
601 | 20.4.3 Specialized algorithms |
602 | 20.4.4 Tuple-like access to pair |
603 | 20.4.5 Piecewise construction 20.5 Tuples 20.5.1 In general 20.5.2 Header synopsis |
604 | 20.5.3 Class template tuple |
606 | 20.5.3.1 Construction |
608 | 20.5.3.2 Assignment |
609 | 20.5.3.3 swap 20.5.4 Tuple creation functions |
610 | 20.5.5 Calling a function with a tuple of arguments 20.5.6 Tuple helper classes |
611 | 20.5.7 Element access |
612 | 20.5.8 Relational operators 20.5.9 Tuple traits 20.5.10 Tuple specialized algorithms |
613 | 20.6 Optional objects 20.6.1 In general 20.6.2 Header synopsis |
614 | 20.6.3 Class template optional 20.6.3.1 General |
615 | 20.6.3.2 Constructors |
617 | 20.6.3.3 Destructor 20.6.3.4 Assignment |
620 | 20.6.3.5 Swap |
621 | 20.6.3.6 Observers |
622 | 20.6.3.7 Modifiers 20.6.4 No-value state indicator 20.6.5 Class bad_optional_access 20.6.6 Relational operators |
623 | 20.6.7 Comparison with nullopt 20.6.8 Comparison with T |
624 | 20.6.9 Specialized algorithms |
625 | 20.6.10 Hash support 20.7 Variants 20.7.1 In general 20.7.2 Header synopsis |
627 | 20.7.3 Class template variant 20.7.3.1 General |
628 | 20.7.3.2 Constructors |
630 | 20.7.3.3 Destructor 20.7.3.4 Assignment |
631 | 20.7.3.5 Modifiers |
632 | 20.7.3.6 Value status 20.7.3.7 Swap |
633 | 20.7.4 variant helper classes 20.7.5 Value access |
634 | 20.7.6 Relational operators |
635 | 20.7.7 Visitation 20.7.8 Class monostate 20.7.9 monostate relational operators 20.7.10 Specialized algorithms 20.7.11 Class bad_variant_access |
636 | 20.7.12 Hash support 20.8 Storage for any type 20.8.1 General 20.8.2 Header synopsis 20.8.3 Class bad_any_cast |
637 | 20.8.4 Class any 20.8.4.1 General 20.8.4.2 Construction and destruction |
638 | 20.8.4.3 Assignment |
639 | 20.8.4.4 Modifiers |
640 | 20.8.4.5 Observers 20.8.5 Non-member functions |
641 | 20.9 Bitsets 20.9.1 Header synopsis 20.9.2 Class template bitset 20.9.2.1 General |
643 | 20.9.2.2 Constructors 20.9.2.3 Members |
646 | 20.9.3 bitset hash support 20.9.4 bitset operators 20.10 Memory 20.10.1 In general |
647 | 20.10.2 Header synopsis |
654 | 20.10.3 Pointer traits 20.10.3.1 General 20.10.3.2 Member types |
655 | 20.10.3.3 Member functions 20.10.3.4 Optional members 20.10.4 Pointer conversion 20.10.5 Pointer safety |
656 | 20.10.6 Pointer alignment 20.10.7 Allocator argument tag |
657 | 20.10.8 uses_allocator 20.10.8.1 uses_allocator trait 20.10.8.2 Uses-allocator construction |
659 | 20.10.9 Allocator traits 20.10.9.1 General 20.10.9.2 Member types |
660 | 20.10.9.3 Static member functions |
661 | 20.10.10 The default allocator 20.10.10.1 General 20.10.10.2 Members |
662 | 20.10.10.3 Operators 20.10.11 addressof 20.10.12 C library memory allocation 20.11 Smart pointers 20.11.1 Class template unique_ptr 20.11.1.1 General |
663 | 20.11.1.2 Default deleters 20.11.1.2.1 In general 20.11.1.2.2 default_delete 20.11.1.2.3 default_delete 20.11.1.3 unique_ptr for single objects 20.11.1.3.1 General |
664 | 20.11.1.3.2 Constructors |
666 | 20.11.1.3.3 Destructor 20.11.1.3.4 Assignment 20.11.1.3.5 Observers |
667 | 20.11.1.3.6 Modifiers 20.11.1.4 unique_ptr for array objects with a runtime length 20.11.1.4.1 General |
668 | 20.11.1.4.2 Constructors |
669 | 20.11.1.4.3 Assignment 20.11.1.4.4 Observers 20.11.1.4.5 Modifiers 20.11.1.5 Creation |
670 | 20.11.1.6 Specialized algorithms |
671 | 20.11.1.7 I/O 20.11.2 Class bad_weak_ptr |
672 | 20.11.3 Class template shared_ptr 20.11.3.1 General |
673 | 20.11.3.2 Constructors |
675 | 20.11.3.3 Destructor 20.11.3.4 Assignment 20.11.3.5 Modifiers |
676 | 20.11.3.6 Observers |
677 | 20.11.3.7 Creation |
680 | 20.11.3.8 Comparison 20.11.3.9 Specialized algorithms 20.11.3.10 Casts |
681 | 20.11.3.11 get_deleter 20.11.3.12 I/O 20.11.4 Class template weak_ptr 20.11.4.1 General |
682 | 20.11.4.2 Constructors |
683 | 20.11.4.3 Destructor 20.11.4.4 Assignment 20.11.4.5 Modifiers 20.11.4.6 Observers 20.11.4.7 Specialized algorithms |
684 | 20.11.5 Class template owner_less 20.11.6 Class template enable_shared_from_this |
685 | 20.11.7 Smart pointer hash support 20.12 Memory resources 20.12.1 Header synopsis |
686 | 20.12.2 Class memory_resource 20.12.2.1 General 20.12.2.2 Public member functions 20.12.2.3 Private virtual member functions |
687 | 20.12.2.4 Equality 20.12.3 Class template polymorphic_allocator 20.12.3.1 General |
688 | 20.12.3.2 Constructors 20.12.3.3 Member functions |
689 | 20.12.3.4 Equality 20.12.4 Access to program-wide memory_resource objects |
690 | 20.12.5 Pool resource classes 20.12.5.1 Classes synchronized_pool_resource and unsynchronized_pool_resource |
691 | 20.12.5.2 pool_options data members |
692 | 20.12.5.3 Constructors and destructors 20.12.5.4 Members |
693 | 20.12.6 Class monotonic_buffer_resource 20.12.6.1 General 20.12.6.2 Constructors and destructor |
694 | 20.12.6.3 Members 20.13 Class template scoped_allocator_adaptor 20.13.1 Header synopsis |
696 | 20.13.2 Member types 20.13.3 Constructors |
697 | 20.13.4 Members |
698 | 20.13.5 Operators 20.14 Function objects 20.14.1 General 20.14.2 Header synopsis |
700 | 20.14.3 Definitions |
701 | 20.14.4 Requirements |
702 | 20.14.5 Function template invoke 20.14.6 Class template reference_wrapper 20.14.6.1 General 20.14.6.2 Constructors and destructor |
703 | 20.14.6.3 Assignment 20.14.6.4 Access 20.14.6.5 Invocation 20.14.6.6 Helper functions 20.14.7 Arithmetic operations 20.14.7.1 General 20.14.7.2 Class template plus |
704 | 20.14.7.3 Class template minus 20.14.7.4 Class template multiplies 20.14.7.5 Class template divides 20.14.7.6 Class template modulus |
705 | 20.14.7.7 Class template negate 20.14.8 Comparisons 20.14.8.1 General 20.14.8.2 Class template equal_to |
706 | 20.14.8.3 Class template not_equal_to 20.14.8.4 Class template greater 20.14.8.5 Class template less |
707 | 20.14.8.6 Class template greater_equal 20.14.8.7 Class template less_equal 20.14.8.8 Class compare_three_way |
708 | 20.14.9 Concept-constrained comparisons |
709 | 20.14.10 Logical operations 20.14.10.1 General 20.14.10.2 Class template logical_and |
710 | 20.14.10.3 Class template logical_or 20.14.10.4 Class template logical_not 20.14.11 Bitwise operations 20.14.11.1 General 20.14.11.2 Class template bit_and |
711 | 20.14.11.3 Class template bit_or 20.14.11.4 Class template bit_xor 20.14.11.5 Class template bit_not |
712 | 20.14.12 Class identity 20.14.13 Function template not_fn 20.14.14 Function template bind_front |
713 | 20.14.15 Function object binders 20.14.15.1 General 20.14.15.2 Class template is_bind_expression 20.14.15.3 Class template is_placeholder 20.14.15.4 Function template bind |
714 | 20.14.15.5 Placeholders 20.14.16 Function template mem_fn 20.14.17 Polymorphic function wrappers 20.14.17.1 General |
715 | 20.14.17.2 Class bad_function_call 20.14.17.3 Class template function 20.14.17.3.1 General |
716 | 20.14.17.3.2 Constructors and destructor |
717 | 20.14.17.3.3 Modifiers 20.14.17.3.4 Capacity 20.14.17.3.5 Invocation 20.14.17.3.6 Target access |
718 | 20.14.17.3.7 Null pointer comparison operator functions 20.14.17.3.8 Specialized algorithms 20.14.18 Searchers 20.14.18.1 General 20.14.18.2 Class template default_searcher |
719 | 20.14.18.3 Class template boyer_moore_searcher |
720 | 20.14.18.4 Class template boyer_moore_horspool_searcher |
721 | 20.14.19 Class template hash 20.15 Metaprogramming and type traits 20.15.1 General 20.15.2 Requirements |
722 | 20.15.3 Header synopsis |
728 | 20.15.4 Helper classes |
729 | 20.15.5 Unary type traits 20.15.5.1 General 20.15.5.2 Primary type categories |
730 | 20.15.5.3 Composite type traits 20.15.5.4 Type properties |
736 | 20.15.6 Type property queries |
737 | 20.15.7 Relationships between types |
739 | 20.15.8 Transformations between types 20.15.8.1 General 20.15.8.2 Const-volatile modifications 20.15.8.3 Reference modifications 20.15.8.4 Sign modifications |
740 | 20.15.8.5 Array modifications 20.15.8.6 Pointer modifications |
741 | 20.15.8.7 Other transformations |
744 | 20.15.9 Logical operator traits |
745 | 20.15.10 Member relationships |
746 | 20.15.11 Constant evaluation context 20.16 Compile-time rational arithmetic 20.16.1 In general 20.16.2 Header synopsis |
747 | 20.16.3 Class template ratio 20.16.4 Arithmetic on ratios |
748 | 20.16.5 Comparison of ratios 20.16.6 SI types for ratio 20.17 Class type_index 20.17.1 Header synopsis |
749 | 20.17.2 type_index overview 20.17.3 type_index members |
750 | 20.17.4 Hash support 20.18 Execution policies 20.18.1 In general 20.18.2 Header synopsis |
751 | 20.18.3 Execution policy type trait 20.18.4 Sequenced execution policy 20.18.5 Parallel execution policy 20.18.6 Parallel and unsequenced execution policy 20.18.7 Unsequenced execution policy 20.18.8 Execution policy objects |
752 | 20.19 Primitive numeric conversions 20.19.1 Header synopsis |
753 | 20.19.2 Primitive numeric output conversion |
754 | 20.19.3 Primitive numeric input conversion 20.20 Formatting 20.20.1 Header synopsis |
756 | 20.20.2 Format string 20.20.2.1 In general |
757 | 20.20.2.2 Standard format specifiers |
761 | 20.20.3 Error reporting 20.20.4 Formatting functions |
764 | 20.20.5 Formatter 20.20.5.1 Formatter requirements 20.20.5.2 Formatter specializations |
766 | 20.20.5.3 Class template basic_format_parse_context |
767 | 20.20.5.4 Class template basic_format_context |
768 | 20.20.6 Arguments 20.20.6.1 Class template basic_format_arg |
771 | 20.20.6.2 Class template format-arg-store 20.20.6.3 Class template basic_format_args |
772 | 20.20.7 Class format_error |
773 | 21 Strings library 21.1 General 21.2 Character traits 21.2.1 General 21.2.2 Character traits requirements |
775 | 21.2.3 Traits typedefs 21.2.4 char_traits specializations 21.2.4.1 General 21.2.4.2 struct char_traits |
776 | 21.2.4.3 struct char_traits 21.2.4.4 struct char_traits |
777 | 21.2.4.5 struct char_traits 21.2.4.6 struct char_traits |
778 | 21.3 String classes 21.3.1 General 21.3.2 Header synopsis |
781 | 21.3.3 Class template basic_string 21.3.3.1 General |
786 | 21.3.3.2 General requirements 21.3.3.3 Constructors and assignment operators |
789 | 21.3.3.4 Iterator support 21.3.3.5 Capacity |
790 | 21.3.3.6 Element access 21.3.3.7 Modifiers 21.3.3.7.1 basic_string::operator+= |
791 | 21.3.3.7.2 basic_string::append |
792 | 21.3.3.7.3 basic_string::assign |
793 | 21.3.3.7.4 basic_string::insert |
794 | 21.3.3.7.5 basic_string::erase 21.3.3.7.6 basic_string::replace |
796 | 21.3.3.7.7 basic_string::copy 21.3.3.7.8 basic_string::swap 21.3.3.8 String operations 21.3.3.8.1 Accessors |
797 | 21.3.3.8.2 Searching |
798 | 21.3.3.8.3 basic_string::substr 21.3.3.8.4 basic_string::compare |
799 | 21.3.3.8.5 basic_string::starts_with 21.3.3.8.6 basic_string::ends_with 21.3.4 Non-member functions 21.3.4.1 operator+ |
800 | 21.3.4.2 Non-member comparison operator functions |
801 | 21.3.4.3 swap 21.3.4.4 Inserters and extractors |
802 | 21.3.4.5 Erasure 21.3.5 Numeric conversions |
804 | 21.3.6 Hash support 21.3.7 Suffix for basic_string literals 21.4 String view classes 21.4.1 General |
805 | 21.4.2 Header synopsis 21.4.3 Class template basic_string_view 21.4.3.1 General |
807 | 21.4.3.2 Construction and assignment |
808 | 21.4.3.3 Iterator support 21.4.3.4 Capacity |
809 | 21.4.3.5 Element access 21.4.3.6 Modifiers 21.4.3.7 String operations |
811 | 21.4.3.8 Searching |
812 | 21.4.4 Deduction guide 21.4.5 Non-member comparison functions |
813 | 21.4.6 Inserters and extractors 21.4.7 Hash support 21.4.8 Suffix for basic_string_view literals |
814 | 21.5 Null-terminated sequence utilities 21.5.1 Header synopsis 21.5.2 Header synopsis 21.5.3 Header synopsis |
815 | 21.5.4 Header synopsis |
817 | 21.5.5 Header synopsis 21.5.6 Multibyte / wide string and character conversion functions |
819 | 22 Containers library 22.1 General 22.2 Container requirements 22.2.1 General container requirements |
825 | 22.2.2 Container data races 22.2.3 Sequence containers |
829 | 22.2.4 Node handles 22.2.4.1 Overview |
831 | 22.2.4.2 Constructors, copy, and assignment 22.2.4.3 Destructor 22.2.4.4 Observers |
832 | 22.2.4.5 Modifiers 22.2.5 Insert return type 22.2.6 Associative containers 22.2.6.1 General |
841 | 22.2.6.2 Exception safety guarantees 22.2.7 Unordered associative containers 22.2.7.1 General |
853 | 22.2.7.2 Exception safety guarantees 22.3 Sequence containers 22.3.1 In general 22.3.2 Header synopsis |
854 | 22.3.3 Header synopsis 22.3.4 Header synopsis |
855 | 22.3.5 Header synopsis 22.3.6 Header synopsis |
856 | 22.3.7 Class template array 22.3.7.1 Overview |
857 | 22.3.7.2 Constructors, copy, and assignment 22.3.7.3 Member functions 22.3.7.4 Specialized algorithms |
858 | 22.3.7.5 Zero-sized arrays 22.3.7.6 Array creation functions 22.3.7.7 Tuple interface 22.3.8 Class template deque 22.3.8.1 Overview |
860 | 22.3.8.2 Constructors, copy, and assignment |
861 | 22.3.8.3 Capacity 22.3.8.4 Modifiers |
862 | 22.3.8.5 Erasure 22.3.9 Class template forward_list 22.3.9.1 Overview |
864 | 22.3.9.2 Constructors, copy, and assignment |
865 | 22.3.9.3 Iterators 22.3.9.4 Element access 22.3.9.5 Modifiers |
867 | 22.3.9.6 Operations |
868 | 22.3.9.7 Erasure 22.3.10 Class template list 22.3.10.1 Overview |
871 | 22.3.10.2 Constructors, copy, and assignment 22.3.10.3 Capacity 22.3.10.4 Modifiers |
872 | 22.3.10.5 Operations |
874 | 22.3.10.6 Erasure 22.3.11 Class template vector 22.3.11.1 Overview |
876 | 22.3.11.2 Constructors |
877 | 22.3.11.3 Capacity |
878 | 22.3.11.4 Data 22.3.11.5 Modifiers 22.3.11.6 Erasure |
879 | 22.3.12 Class vector |
881 | 22.4 Associative containers 22.4.1 In general 22.4.2 Header |
882 | 22.4.3 Header synopsis |
883 | 22.4.4 Class template map 22.4.4.1 Overview |
886 | 22.4.4.2 Constructors, copy, and assignment |
887 | 22.4.4.3 Element access 22.4.4.4 Modifiers |
888 | 22.4.4.5 Erasure 22.4.5 Class template multimap 22.4.5.1 Overview |
891 | 22.4.5.2 Constructors |
892 | 22.4.5.3 Modifiers 22.4.5.4 Erasure 22.4.6 Class template set 22.4.6.1 Overview |
895 | 22.4.6.2 Constructors, copy, and assignment 22.4.6.3 Erasure 22.4.7 Class template multiset 22.4.7.1 Overview |
898 | 22.4.7.2 Constructors 22.4.7.3 Erasure |
899 | 22.5 Unordered associative containers 22.5.1 In general 22.5.2 Header synopsis |
900 | 22.5.3 Header synopsis |
901 | 22.5.4 Class template unordered_map 22.5.4.1 Overview |
905 | 22.5.4.2 Constructors 22.5.4.3 Element access 22.5.4.4 Modifiers |
907 | 22.5.4.5 Erasure 22.5.5 Class template unordered_multimap 22.5.5.1 Overview |
911 | 22.5.5.2 Constructors 22.5.5.3 Modifiers 22.5.5.4 Erasure |
912 | 22.5.6 Class template unordered_set 22.5.6.1 Overview |
915 | 22.5.6.2 Constructors |
916 | 22.5.6.3 Erasure 22.5.7 Class template unordered_multiset 22.5.7.1 Overview |
920 | 22.5.7.2 Constructors 22.5.7.3 Erasure 22.6 Container adaptors 22.6.1 In general |
921 | 22.6.2 Header synopsis 22.6.3 Header synopsis |
922 | 22.6.4 Class template queue 22.6.4.1 Definition |
923 | 22.6.4.2 Constructors 22.6.4.3 Constructors with allocators 22.6.4.4 Operators |
924 | 22.6.4.5 Specialized algorithms 22.6.5 Class template priority_queue 22.6.5.1 Overview |
925 | 22.6.5.2 Constructors 22.6.5.3 Constructors with allocators |
926 | 22.6.5.4 Members 22.6.5.5 Specialized algorithms 22.6.6 Class template stack 22.6.6.1 General 22.6.6.2 Definition |
927 | 22.6.6.3 Constructors 22.6.6.4 Constructors with allocators |
928 | 22.6.6.5 Operators 22.6.6.6 Specialized algorithms 22.7 Views 22.7.1 General 22.7.2 Header synopsis |
929 | 22.7.3 Class template span 22.7.3.1 Overview |
930 | 22.7.3.2 Constructors, copy, and assignment |
932 | 22.7.3.3 Deduction guides 22.7.3.4 Subviews |
933 | 22.7.3.5 Observers 22.7.3.6 Element access |
934 | 22.7.3.7 Iterator support 22.7.3.8 Views of object representation |
935 | 23 Iterators library 23.1 General 23.2 Header synopsis |
942 | 23.3 Iterator requirements 23.3.1 In general |
943 | 23.3.2 Associated types 23.3.2.1 Incrementable traits |
944 | 23.3.2.2 Indirectly readable traits |
945 | 23.3.2.3 Iterator traits |
947 | 23.3.3 Customization points 23.3.3.1 ranges::iter_move 23.3.3.2 ranges::iter_swap |
948 | 23.3.4 Iterator concepts 23.3.4.1 General |
949 | 23.3.4.2 Concept indirectly_readable 23.3.4.3 Concept indirectly_writable 23.3.4.4 Concept weakly_incrementable |
951 | 23.3.4.5 Concept incrementable 23.3.4.6 Concept input_or_output_iterator 23.3.4.7 Concept sentinel_for |
952 | 23.3.4.8 Concept sized_sentinel_for 23.3.4.9 Concept input_iterator 23.3.4.10 Concept output_iterator |
953 | 23.3.4.11 Concept forward_iterator 23.3.4.12 Concept bidirectional_iterator |
954 | 23.3.4.13 Concept random_access_iterator 23.3.4.14 Concept contiguous_iterator |
955 | 23.3.5 C++17 iterator requirements 23.3.5.1 General 23.3.5.2 Cpp17Iterator 23.3.5.3 Input iterators |
956 | 23.3.5.4 Output iterators |
957 | 23.3.5.5 Forward iterators 23.3.5.6 Bidirectional iterators 23.3.5.7 Random access iterators |
959 | 23.3.6 Indirect callable requirements 23.3.6.1 General 23.3.6.2 Indirect callables |
960 | 23.3.6.3 Class template projected 23.3.7 Common algorithm requirements 23.3.7.1 General 23.3.7.2 Concept indirectly_movable |
961 | 23.3.7.3 Concept indirectly_copyable 23.3.7.4 Concept indirectly_swappable 23.3.7.5 Concept indirectly_comparable 23.3.7.6 Concept permutable |
962 | 23.3.7.7 Concept mergeable 23.3.7.8 Concept sortable 23.4 Iterator primitives 23.4.1 General 23.4.2 Standard iterator tags |
963 | 23.4.3 Iterator operations 23.4.4 Range iterator operations 23.4.4.1 General |
964 | 23.4.4.2 ranges::advance |
965 | 23.4.4.3 ranges::distance 23.4.4.4 ranges::next 23.4.4.5 ranges::prev 23.5 Iterator adaptors 23.5.1 Reverse iterators 23.5.1.1 General |
966 | 23.5.1.2 Class template reverse_iterator 23.5.1.3 Requirements |
967 | 23.5.1.4 Construction and assignment 23.5.1.5 Conversion 23.5.1.6 Element access 23.5.1.7 Navigation |
968 | 23.5.1.8 Comparisons |
969 | 23.5.1.9 Non-member functions |
970 | 23.5.2 Insert iterators 23.5.2.1 General 23.5.2.2 Class template back_insert_iterator 23.5.2.2.1 Operations |
971 | 23.5.2.2.2 back_inserter 23.5.2.3 Class template front_insert_iterator 23.5.2.3.1 Operations |
972 | 23.5.2.3.2 front_inserter 23.5.2.4 Class template insert_iterator 23.5.2.4.1 Operations |
973 | 23.5.2.4.2 inserter 23.5.3 Move iterators and sentinels 23.5.3.1 General 23.5.3.2 Class template move_iterator |
974 | 23.5.3.3 Requirements 23.5.3.4 Construction and assignment 23.5.3.5 Conversion |
975 | 23.5.3.6 Element access 23.5.3.7 Navigation 23.5.3.8 Comparisons |
976 | 23.5.3.9 Non-member functions |
977 | 23.5.3.10 Class template move_sentinel 23.5.3.11 Operations |
978 | 23.5.4 Common iterators 23.5.4.1 Class template common_iterator |
979 | 23.5.4.2 Associated types 23.5.4.3 Constructors and conversions |
980 | 23.5.4.4 Accessors 23.5.4.5 Navigation |
981 | 23.5.4.6 Comparisons 23.5.4.7 Customizations 23.5.5 Default sentinel 23.5.6 Counted iterators 23.5.6.1 Class template counted_iterator |
983 | 23.5.6.2 Constructors and conversions 23.5.6.3 Accessors |
984 | 23.5.6.4 Element access 23.5.6.5 Navigation |
985 | 23.5.6.6 Comparisons |
986 | 23.5.6.7 Customizations 23.5.7 Unreachable sentinel 23.6 Stream iterators 23.6.1 General 23.6.2 Class template istream_iterator 23.6.2.1 General |
987 | 23.6.2.2 Constructors and destructor 23.6.2.3 Operations |
988 | 23.6.3 Class template ostream_iterator 23.6.3.1 General 23.6.3.2 Constructors and destructor |
989 | 23.6.3.3 Operations 23.6.4 Class template istreambuf_iterator 23.6.4.1 General |
990 | 23.6.4.2 Class istreambuf_iterator::proxy 23.6.4.3 Constructors 23.6.4.4 Operations |
991 | 23.6.5 Class template ostreambuf_iterator 23.6.5.1 General 23.6.5.2 Constructors 23.6.5.3 Operations |
992 | 23.7 Range access |
994 | 24 Ranges library 24.1 General 24.2 Header synopsis |
999 | 24.3 Range access 24.3.1 General 24.3.2 ranges::begin 24.3.3 ranges::end |
1000 | 24.3.4 ranges::cbegin 24.3.5 ranges::cend 24.3.6 ranges::rbegin 24.3.7 ranges::rend |
1001 | 24.3.8 ranges::crbegin 24.3.9 ranges::crend 24.3.10 ranges::size |
1002 | 24.3.11 ranges::ssize 24.3.12 ranges::empty 24.3.13 ranges::data |
1003 | 24.3.14 ranges::cdata 24.4 Range requirements 24.4.1 General 24.4.2 Ranges |
1004 | 24.4.3 Sized ranges 24.4.4 Views |
1005 | 24.4.5 Other range refinements |
1006 | 24.5 Range utilities 24.5.1 General 24.5.2 Helper concepts 24.5.3 View interface 24.5.3.1 General |
1007 | 24.5.3.2 Members 24.5.4 Sub-ranges 24.5.4.1 General |
1009 | 24.5.4.2 Constructors and conversions |
1010 | 24.5.4.3 Accessors |
1011 | 24.5.5 Dangling iterator handling 24.6 Range factories 24.6.1 General |
1012 | 24.6.2 Empty view 24.6.2.1 Overview 24.6.2.2 Class template empty_view 24.6.3 Single view 24.6.3.1 Overview 24.6.3.2 Class template single_view |
1013 | 24.6.4 Iota view 24.6.4.1 Overview 24.6.4.2 Class template iota_view |
1015 | 24.6.4.3 Class iota_view::iterator |
1018 | 24.6.4.4 Class iota_view::sentinel |
1019 | 24.6.5 Istream view 24.6.5.1 Overview 24.6.5.2 Class template basic_istream_view |
1020 | 24.6.5.3 Class template basic_istream_view::iterator |
1021 | 24.7 Range adaptors 24.7.1 General 24.7.2 Range adaptor objects |
1022 | 24.7.3 Semiregular wrapper 24.7.4 All view 24.7.4.1 General 24.7.4.2 Class template ref_view |
1023 | 24.7.5 Filter view 24.7.5.1 Overview 24.7.5.2 Class template filter_view |
1024 | 24.7.5.3 Class filter_view::iterator |
1026 | 24.7.5.4 Class filter_view::sentinel 24.7.6 Transform view 24.7.6.1 Overview |
1027 | 24.7.6.2 Class template transform_view |
1028 | 24.7.6.3 Class template transform_view::iterator |
1031 | 24.7.6.4 Class template transform_view::sentinel |
1032 | 24.7.7 Take view 24.7.7.1 Overview |
1033 | 24.7.7.2 Class template take_view |
1034 | 24.7.7.3 Class template take_view::sentinel |
1035 | 24.7.8 Take while view 24.7.8.1 Overview 24.7.8.2 Class template take_while_view |
1036 | 24.7.8.3 Class template take_while_view::sentinel 24.7.9 Drop view 24.7.9.1 Overview |
1037 | 24.7.9.2 Class template drop_view |
1038 | 24.7.10 Drop while view 24.7.10.1 Overview 24.7.10.2 Class template drop_while_view |
1039 | 24.7.11 Join view 24.7.11.1 Overview 24.7.11.2 Class template join_view |
1040 | 24.7.11.3 Class template join_view::iterator |
1043 | 24.7.11.4 Class template join_view::sentinel |
1044 | 24.7.12 Split view 24.7.12.1 Overview 24.7.12.2 Class template split_view |
1045 | 24.7.12.3 Class template split_view::outer-iterator |
1047 | 24.7.12.4 Class split_view::outer-iterator::value_type 24.7.12.5 Class template split_view::inner-iterator |
1049 | 24.7.13 Counted view 24.7.14 Common view 24.7.14.1 Overview |
1050 | 24.7.14.2 Class template common_view |
1051 | 24.7.15 Reverse view 24.7.15.1 Overview 24.7.15.2 Class template reverse_view |
1052 | 24.7.16 Elements view 24.7.16.1 Overview |
1053 | 24.7.16.2 Class template elements_view |
1054 | 24.7.16.3 Class template elements_view::iterator |
1057 | 24.7.16.4 Class template elements_view::sentinel |
1058 | 25 Algorithms library 25.1 General 25.2 Algorithms requirements |
1060 | 25.3 Parallel algorithms 25.3.1 Preamble |
1061 | 25.3.2 Requirements on user-provided function objects 25.3.3 Effect of execution policies on algorithm execution |
1062 | 25.3.4 Parallel algorithm exceptions |
1063 | 25.3.5 ExecutionPolicy algorithm overloads 25.4 Header synopsis |
1098 | 25.5 Algorithm result types |
1101 | 25.6 Non-modifying sequence operations 25.6.1 All of 25.6.2 Any of 25.6.3 None of |
1102 | 25.6.4 For each |
1103 | 25.6.5 Find |
1104 | 25.6.6 Find end |
1105 | 25.6.7 Find first |
1106 | 25.6.8 Adjacent find |
1107 | 25.6.9 Count |
1108 | 25.6.10 Mismatch |
1109 | 25.6.11 Equal |
1110 | 25.6.12 Is permutation |
1111 | 25.6.13 Search |
1113 | 25.7 Mutating sequence operations 25.7.1 Copy |
1115 | 25.7.2 Move |
1116 | 25.7.3 Swap |
1117 | 25.7.4 Transform |
1118 | 25.7.5 Replace |
1120 | 25.7.6 Fill |
1121 | 25.7.7 Generate |
1122 | 25.7.8 Remove |
1124 | 25.7.9 Unique |
1125 | 25.7.10 Reverse |
1126 | 25.7.11 Rotate |
1127 | 25.7.12 Sample |
1128 | 25.7.13 Shuffle |
1129 | 25.7.14 Shift 25.8 Sorting and related operations 25.8.1 General |
1130 | 25.8.2 Sorting 25.8.2.1 sort 25.8.2.2 stable_sort |
1131 | 25.8.2.3 partial_sort |
1132 | 25.8.2.4 partial_sort_copy |
1133 | 25.8.2.5 is_sorted |
1134 | 25.8.3 Nth element |
1135 | 25.8.4 Binary search 25.8.4.1 General 25.8.4.2 lower_bound 25.8.4.3 upper_bound |
1136 | 25.8.4.4 equal_range 25.8.4.5 binary_search |
1137 | 25.8.5 Partitions |
1140 | 25.8.6 Merge |
1141 | 25.8.7 Set operations on sorted structures 25.8.7.1 General |
1142 | 25.8.7.2 includes 25.8.7.3 set_union |
1143 | 25.8.7.4 set_intersection |
1144 | 25.8.7.5 set_difference |
1145 | 25.8.7.6 set_symmetric_difference |
1146 | 25.8.8 Heap operations 25.8.8.1 General 25.8.8.2 push_heap |
1147 | 25.8.8.3 pop_heap 25.8.8.4 make_heap |
1148 | 25.8.8.5 sort_heap 25.8.8.6 is_heap |
1149 | 25.8.9 Minimum and maximum |
1153 | 25.8.10 Bounded value 25.8.11 Lexicographical comparison |
1154 | 25.8.12 Three-way comparison algorithms |
1155 | 25.8.13 Permutation generators |
1156 | 25.9 Header synopsis |
1159 | 25.10 Generalized numeric operations 25.10.1 General 25.10.2 Definitions 25.10.3 Accumulate |
1160 | 25.10.4 Reduce 25.10.5 Inner product |
1161 | 25.10.6 Transform reduce |
1162 | 25.10.7 Partial sum |
1163 | 25.10.8 Exclusive scan |
1164 | 25.10.9 Inclusive scan |
1165 | 25.10.10 Transform exclusive scan 25.10.11 Transform inclusive scan |
1167 | 25.10.12 Adjacent difference 25.10.13 Iota |
1168 | 25.10.14 Greatest common divisor 25.10.15 Least common multiple 25.10.16 Midpoint 25.11 Specialized algorithms 25.11.1 General |
1169 | 25.11.2 Special memory concepts 25.11.3 uninitialized_default_construct |
1170 | 25.11.4 uninitialized_value_construct |
1171 | 25.11.5 uninitialized_copy |
1172 | 25.11.6 uninitialized_move |
1173 | 25.11.7 uninitialized_fill 25.11.8 construct_at 25.11.9 destroy |
1174 | 25.12 C library algorithms |
1175 | 26 Numerics library 26.1 General 26.2 Numeric type requirements 26.3 The floating-point environment 26.3.1 Header synopsis |
1176 | 26.3.2 Threads 26.4 Complex numbers 26.4.1 General |
1177 | 26.4.2 Header synopsis |
1178 | 26.4.3 Class template complex 26.4.4 Specializations |
1180 | 26.4.5 Member functions 26.4.6 Member operators |
1181 | 26.4.7 Non-member operations |
1182 | 26.4.8 Value operations 26.4.9 Transcendentals |
1184 | 26.4.10 Additional overloads 26.4.11 Suffixes for complex number literals 26.5 Bit manipulation 26.5.1 General 26.5.2 Header synopsis |
1185 | 26.5.3 Function template bit_cast 26.5.4 Integral powers of 2 |
1186 | 26.5.5 Rotating 26.5.6 Counting |
1187 | 26.5.7 Endian 26.6 Random number generation 26.6.1 General |
1188 | 26.6.2 Header synopsis |
1190 | 26.6.3 Requirements 26.6.3.1 General requirements 26.6.3.2 Seed sequence requirements |
1191 | 26.6.3.3 Uniform random bit generator requirements |
1192 | 26.6.3.4 Random number engine requirements |
1193 | 26.6.3.5 Random number engine adaptor requirements |
1194 | 26.6.3.6 Random number distribution requirements |
1196 | 26.6.4 Random number engine class templates 26.6.4.1 General |
1197 | 26.6.4.2 Class template linear_congruential_engine |
1198 | 26.6.4.3 Class template mersenne_twister_engine |
1199 | 26.6.4.4 Class template subtract_with_carry_engine |
1200 | 26.6.5 Random number engine adaptor class templates 26.6.5.1 In general 26.6.5.2 Class template discard_block_engine |
1201 | 26.6.5.3 Class template independent_bits_engine |
1202 | 26.6.5.4 Class template shuffle_order_engine |
1203 | 26.6.6 Engines and engine adaptors with predefined parameters |
1204 | 26.6.7 Class random_device |
1205 | 26.6.8 Utilities 26.6.8.1 Class seed_seq |
1207 | 26.6.8.2 Function template generate_canonical 26.6.9 Random number distribution class templates 26.6.9.1 In general 26.6.9.2 Uniform distributions 26.6.9.2.1 Class template uniform_int_distribution |
1208 | 26.6.9.2.2 Class template uniform_real_distribution |
1209 | 26.6.9.3 Bernoulli distributions 26.6.9.3.1 Class bernoulli_distribution 26.6.9.3.2 Class template binomial_distribution |
1210 | 26.6.9.3.3 Class template geometric_distribution |
1211 | 26.6.9.3.4 Class template negative_binomial_distribution 26.6.9.4 Poisson distributions 26.6.9.4.1 Class template poisson_distribution |
1212 | 26.6.9.4.2 Class template exponential_distribution |
1213 | 26.6.9.4.3 Class template gamma_distribution |
1214 | 26.6.9.4.4 Class template weibull_distribution 26.6.9.4.5 Class template extreme_value_distribution |
1215 | 26.6.9.5 Normal distributions 26.6.9.5.1 Class template normal_distribution |
1216 | 26.6.9.5.2 Class template lognormal_distribution |
1217 | 26.6.9.5.3 Class template chi_squared_distribution 26.6.9.5.4 Class template cauchy_distribution |
1218 | 26.6.9.5.5 Class template fisher_f_distribution |
1219 | 26.6.9.5.6 Class template student_t_distribution 26.6.9.6 Sampling distributions 26.6.9.6.1 Class template discrete_distribution |
1221 | 26.6.9.6.2 Class template piecewise_constant_distribution |
1222 | 26.6.9.6.3 Class template piecewise_linear_distribution |
1224 | 26.6.10 Low-quality random number generation 26.7 Numeric arrays 26.7.1 Header synopsis |
1227 | 26.7.2 Class template valarray 26.7.2.1 Overview |
1228 | 26.7.2.2 Constructors |
1229 | 26.7.2.3 Assignment |
1230 | 26.7.2.4 Element access 26.7.2.5 Subset operations |
1231 | 26.7.2.6 Unary operators |
1232 | 26.7.2.7 Compound assignment 26.7.2.8 Member functions |
1233 | 26.7.3 valarray non-member operations 26.7.3.1 Binary operators |
1234 | 26.7.3.2 Logical operators |
1235 | 26.7.3.3 Transcendentals |
1236 | 26.7.3.4 Specialized algorithms 26.7.4 Class slice 26.7.4.1 Overview 26.7.4.2 Constructors 26.7.4.3 Access functions 26.7.4.4 Operators |
1237 | 26.7.5 Class template slice_array 26.7.5.1 Overview 26.7.5.2 Assignment 26.7.5.3 Compound assignment 26.7.5.4 Fill function |
1238 | 26.7.6 The gslice class 26.7.6.1 Overview |
1239 | 26.7.6.2 Constructors 26.7.6.3 Access functions 26.7.7 Class template gslice_array 26.7.7.1 Overview |
1240 | 26.7.7.2 Assignment 26.7.7.3 Compound assignment 26.7.7.4 Fill function 26.7.8 Class template mask_array 26.7.8.1 Overview |
1241 | 26.7.8.2 Assignment 26.7.8.3 Compound assignment 26.7.8.4 Fill function 26.7.9 Class template indirect_array 26.7.9.1 Overview |
1242 | 26.7.9.2 Assignment 26.7.9.3 Compound assignment 26.7.9.4 Fill function 26.7.10 valarray range access |
1243 | 26.8 Mathematical functions for floating-point types 26.8.1 Header synopsis |
1251 | 26.8.2 Absolute values |
1252 | 26.8.3 Three-dimensional hypotenuse 26.8.4 Linear interpolation 26.8.5 Classification / comparison functions 26.8.6 Mathematical special functions 26.8.6.1 General 26.8.6.2 Associated Laguerre polynomials |
1253 | 26.8.6.3 Associated Legendre functions 26.8.6.4 Beta function 26.8.6.5 Complete elliptic integral of the first kind 26.8.6.6 Complete elliptic integral of the second kind |
1254 | 26.8.6.7 Complete elliptic integral of the third kind 26.8.6.8 Regular modified cylindrical Bessel functions 26.8.6.9 Cylindrical Bessel functions of the first kind 26.8.6.10 Irregular modified cylindrical Bessel functions |
1255 | 26.8.6.11 Cylindrical Neumann functions 26.8.6.12 Incomplete elliptic integral of the first kind 26.8.6.13 Incomplete elliptic integral of the second kind 26.8.6.14 Incomplete elliptic integral of the third kind |
1256 | 26.8.6.15 Exponential integral 26.8.6.16 Hermite polynomials 26.8.6.17 Laguerre polynomials 26.8.6.18 Legendre polynomials 26.8.6.19 Riemann zeta function |
1257 | 26.8.6.20 Spherical Bessel functions of the first kind 26.8.6.21 Spherical associated Legendre functions 26.8.6.22 Spherical Neumann functions |
1258 | 26.9 Numbers 26.9.1 Header synopsis 26.9.2 Mathematical constants |
1259 | 27 Time library 27.1 General 27.2 Header synopsis |
1273 | 27.3 Cpp17Clock requirements 27.4 Time-related traits 27.4.1 treat_as_floating_point |
1274 | 27.4.2 duration_values 27.4.3 Specializations of common_type 27.4.4 Class template is_clock |
1275 | 27.5 Class template duration 27.5.1 General |
1276 | 27.5.2 Constructors 27.5.3 Observer 27.5.4 Arithmetic |
1277 | 27.5.5 Special values 27.5.6 Non-member arithmetic |
1278 | 27.5.7 Comparisons |
1279 | 27.5.8 Conversions |
1280 | 27.5.9 Suffixes for duration literals 27.5.10 Algorithms |
1281 | 27.5.11 I/O |
1282 | 27.6 Class template time_point 27.6.1 General 27.6.2 Constructors |
1283 | 27.6.3 Observer 27.6.4 Arithmetic 27.6.5 Special values 27.6.6 Non-member arithmetic |
1284 | 27.6.7 Comparisons 27.6.8 Conversions |
1285 | 27.7 Clocks 27.7.1 General 27.7.2 Class system_clock 27.7.2.1 Overview 27.7.2.2 Members 27.7.2.3 Non-member functions |
1286 | 27.7.3 Class utc_clock 27.7.3.1 Overview |
1287 | 27.7.3.2 Member functions 27.7.3.3 Non-member functions |
1288 | 27.7.4 Class tai_clock 27.7.4.1 Overview |
1289 | 27.7.4.2 Member functions 27.7.4.3 Non-member functions |
1290 | 27.7.5 Class gps_clock 27.7.5.1 Overview 27.7.5.2 Member functions |
1291 | 27.7.5.3 Non-member functions 27.7.6 Type file_clock 27.7.6.1 Overview 27.7.6.2 Member functions |
1292 | 27.7.6.3 Non-member functions 27.7.7 Class steady_clock 27.7.8 Class high_resolution_clock |
1293 | 27.7.9 Local time 27.7.10 time_point conversions 27.7.10.1 Class template clock_time_conversion 27.7.10.2 Identity conversions |
1294 | 27.7.10.3 Conversions between system_clock and utc_clock 27.7.10.4 Conversions between system_clock and other clocks |
1295 | 27.7.10.5 Conversions between utc_clock and other clocks 27.7.10.6 Function template clock_cast |
1296 | 27.8 The civil calendar 27.8.1 In general 27.8.2 Class last_spec 27.8.3 Class day 27.8.3.1 Overview 27.8.3.2 Member functions |
1297 | 27.8.3.3 Non-member functions |
1298 | 27.8.4 Class month 27.8.4.1 Overview 27.8.4.2 Member functions |
1299 | 27.8.4.3 Non-member functions |
1300 | 27.8.5 Class year 27.8.5.1 Overview 27.8.5.2 Member functions |
1301 | 27.8.5.3 Non-member functions |
1302 | 27.8.6 Class weekday 27.8.6.1 Overview |
1303 | 27.8.6.2 Member functions |
1304 | 27.8.6.3 Non-member functions 27.8.7 Class weekday_indexed 27.8.7.1 Overview |
1305 | 27.8.7.2 Member functions 27.8.7.3 Non-member functions 27.8.8 Class weekday_last 27.8.8.1 Overview |
1306 | 27.8.8.2 Member functions 27.8.8.3 Non-member functions 27.8.9 Class month_day 27.8.9.1 Overview 27.8.9.2 Member functions |
1307 | 27.8.9.3 Non-member functions 27.8.10 Class month_day_last |
1308 | 27.8.11 Class month_weekday 27.8.11.1 Overview 27.8.11.2 Member functions |
1309 | 27.8.11.3 Non-member functions 27.8.12 Class month_weekday_last 27.8.12.1 Overview 27.8.12.2 Member functions 27.8.12.3 Non-member functions |
1310 | 27.8.13 Class year_month 27.8.13.1 Overview 27.8.13.2 Member functions |
1311 | 27.8.13.3 Non-member functions |
1312 | 27.8.14 Class year_month_day 27.8.14.1 Overview 27.8.14.2 Member functions |
1314 | 27.8.14.3 Non-member functions |
1315 | 27.8.15 Class year_month_day_last 27.8.15.1 Overview 27.8.15.2 Member functions |
1316 | 27.8.15.3 Non-member functions |
1317 | 27.8.16 Class year_month_weekday 27.8.16.1 Overview |
1318 | 27.8.16.2 Member functions |
1319 | 27.8.16.3 Non-member functions |
1320 | 27.8.17 Class year_month_weekday_last 27.8.17.1 Overview 27.8.17.2 Member functions |
1321 | 27.8.17.3 Non-member functions |
1322 | 27.8.18 Conventional syntax operators |
1325 | 27.9 Class template hh_mm_ss 27.9.1 Overview |
1326 | 27.9.2 Members |
1327 | 27.9.3 Non-members 27.10 12/24 hours functions 27.11 Time zones 27.11.1 In general |
1328 | 27.11.2 Time zone database 27.11.2.1 Class tzdb 27.11.2.2 Class tzdb_list |
1329 | 27.11.2.3 Time zone database access 27.11.2.4 Remote time zone database support |
1330 | 27.11.3 Exception classes 27.11.3.1 Class nonexistent_local_time |
1331 | 27.11.3.2 Class ambiguous_local_time 27.11.4 Information classes 27.11.4.1 Class sys_info |
1332 | 27.11.4.2 Class local_info |
1333 | 27.11.5 Class time_zone 27.11.5.1 Overview 27.11.5.2 Member functions |
1334 | 27.11.5.3 Non-member functions 27.11.6 Class template zoned_traits 27.11.7 Class template zoned_time 27.11.7.1 Overview |
1336 | 27.11.7.2 Constructors |
1337 | 27.11.7.3 Member functions |
1338 | 27.11.7.4 Non-member functions 27.11.8 Class leap_second 27.11.8.1 Overview |
1339 | 27.11.8.2 Member functions 27.11.8.3 Non-member functions |
1340 | 27.11.9 Class time_zone_link 27.11.9.1 Overview 27.11.9.2 Member functions 27.11.9.3 Non-member functions 27.12 Formatting |
1344 | 27.13 Parsing |
1348 | 27.14 Header synopsis |
1349 | 28 Localization library 28.1 General 28.2 Header synopsis |
1350 | 28.3 Locales 28.3.1 Class locale 28.3.1.1 General |
1352 | 28.3.1.2 Types 28.3.1.2.1 Type locale::category |
1353 | 28.3.1.2.2 Class locale::facet |
1354 | 28.3.1.2.3 Class locale::id 28.3.1.3 Constructors and destructor |
1355 | 28.3.1.4 Members 28.3.1.5 Operators 28.3.1.6 Static members |
1356 | 28.3.2 locale globals 28.3.3 Convenience interfaces 28.3.3.1 Character classification 28.3.3.2 Character conversions 28.4 Standard locale categories 28.4.1 General |
1357 | 28.4.2 The ctype category 28.4.2.1 General 28.4.2.2 Class template ctype 28.4.2.2.1 General |
1358 | 28.4.2.2.2 ctype members 28.4.2.2.3 ctype virtual functions |
1359 | 28.4.2.3 Class template ctype_byname |
1360 | 28.4.2.4 ctype specialization 28.4.2.4.1 General 28.4.2.4.2 Destructor |
1361 | 28.4.2.4.3 Members 28.4.2.4.4 Static members 28.4.2.4.5 Virtual functions |
1362 | 28.4.2.5 Class template codecvt 28.4.2.5.1 General |
1363 | 28.4.2.5.2 Members 28.4.2.5.3 Virtual functions |
1365 | 28.4.2.6 Class template codecvt_byname 28.4.3 The numeric category 28.4.3.1 General |
1366 | 28.4.3.2 Class template num_get 28.4.3.2.1 General |
1367 | 28.4.3.2.2 Members 28.4.3.2.3 Virtual functions |
1369 | 28.4.3.3 Class template num_put 28.4.3.3.1 General |
1370 | 28.4.3.3.2 Members 28.4.3.3.3 Virtual functions |
1373 | 28.4.4 The numeric punctuation facet 28.4.4.1 Class template numpunct 28.4.4.1.1 General |
1374 | 28.4.4.1.2 Members 28.4.4.1.3 Virtual functions 28.4.4.2 Class template numpunct_byname |
1375 | 28.4.5 The collate category 28.4.5.1 Class template collate 28.4.5.1.1 General 28.4.5.1.2 Members 28.4.5.1.3 Virtual functions |
1376 | 28.4.5.2 Class template collate_byname 28.4.6 The time category 28.4.6.1 General 28.4.6.2 Class template time_get 28.4.6.2.1 General |
1377 | 28.4.6.2.2 Members |
1378 | 28.4.6.2.3 Virtual functions |
1379 | 28.4.6.3 Class template time_get_byname |
1380 | 28.4.6.4 Class template time_put 28.4.6.4.1 Members 28.4.6.4.2 Virtual functions |
1381 | 28.4.6.5 Class template time_put_byname 28.4.7 The monetary category 28.4.7.1 General 28.4.7.2 Class template money_get |
1382 | 28.4.7.2.1 Members 28.4.7.2.2 Virtual functions |
1383 | 28.4.7.3 Class template money_put 28.4.7.3.1 Members 28.4.7.3.2 Virtual functions |
1384 | 28.4.7.4 Class template moneypunct 28.4.7.4.1 General |
1385 | 28.4.7.4.2 Members 28.4.7.4.3 Virtual functions |
1386 | 28.4.7.5 Class template moneypunct_byname 28.4.8 The message retrieval category 28.4.8.1 General 28.4.8.2 Class template messages 28.4.8.2.1 General |
1387 | 28.4.8.2.2 Members 28.4.8.2.3 Virtual functions |
1388 | 28.4.8.3 Class template messages_byname 28.5 C library locales 28.5.1 Header synopsis 28.5.2 Data races |
1389 | 29 Input/output library 29.1 General 29.2 Iostreams requirements 29.2.1 Imbue limitations |
1390 | 29.2.2 Positioning type limitations 29.2.3 Thread safety 29.3 Forward declarations 29.3.1 Header synopsis |
1392 | 29.3.2 Overview 29.4 Standard iostream objects 29.4.1 Header synopsis 29.4.2 Overview |
1393 | 29.4.3 Narrow stream objects 29.4.4 Wide stream objects |
1394 | 29.5 Iostreams base classes 29.5.1 Header synopsis |
1395 | 29.5.2 Types 29.5.3 Class ios_base 29.5.3.1 General |
1397 | 29.5.3.2 Types 29.5.3.2.1 Class ios_base::failure 29.5.3.2.2 Type ios_base::fmtflags 29.5.3.2.3 Type ios_base::iostate 29.5.3.2.4 Type ios_base::openmode 29.5.3.2.5 Type ios_base::seekdir |
1399 | 29.5.3.2.6 Class ios_base::Init 29.5.3.3 State functions |
1400 | 29.5.3.4 Functions 29.5.3.5 Static members 29.5.3.6 Storage functions |
1401 | 29.5.3.7 Callbacks 29.5.3.8 Constructors and destructor 29.5.4 Class template fpos |
1402 | 29.5.4.1 Members 29.5.4.2 Requirements |
1403 | 29.5.5 Class template basic_ios 29.5.5.1 Overview |
1404 | 29.5.5.2 Constructors 29.5.5.3 Member functions |
1406 | 29.5.5.4 Flags functions 29.5.6 ios_base manipulators 29.5.6.1 fmtflags manipulators |
1408 | 29.5.6.2 adjustfield manipulators 29.5.6.3 basefield manipulators 29.5.6.4 floatfield manipulators |
1409 | 29.5.7 Error reporting 29.6 Stream buffers 29.6.1 Header synopsis 29.6.2 Stream buffer requirements |
1410 | 29.6.3 Class template basic_streambuf 29.6.3.1 General |
1411 | 29.6.3.2 Constructors |
1412 | 29.6.3.3 Public member functions 29.6.3.3.1 Locales 29.6.3.3.2 Buffer management and positioning 29.6.3.3.3 Get area |
1413 | 29.6.3.3.4 Putback 29.6.3.3.5 Put area 29.6.3.4 Protected member functions 29.6.3.4.1 Assignment 29.6.3.4.2 Get area access |
1414 | 29.6.3.4.3 Put area access 29.6.3.5 Virtual functions 29.6.3.5.1 Locales 29.6.3.5.2 Buffer management and positioning |
1415 | 29.6.3.5.3 Get area |
1416 | 29.6.3.5.4 Putback 29.6.3.5.5 Put area |
1417 | 29.7 Formatting and manipulators 29.7.1 Header synopsis 29.7.2 Header synopsis 29.7.3 Header synopsis |
1418 | 29.7.4 Input streams 29.7.4.1 General 29.7.4.2 Class template basic_istream 29.7.4.2.1 General |
1420 | 29.7.4.2.2 Constructors 29.7.4.2.3 Assignment and swap 29.7.4.2.4 Class basic_istream::sentry |
1421 | 29.7.4.3 Formatted input functions 29.7.4.3.1 Common requirements 29.7.4.3.2 Arithmetic extractors |
1422 | 29.7.4.3.3 basic_istream::operator>> |
1423 | 29.7.4.4 Unformatted input functions |
1427 | 29.7.4.5 Standard basic_istream manipulators 29.7.4.6 Rvalue stream extraction |
1428 | 29.7.4.7 Class template basic_iostream 29.7.4.7.1 General 29.7.4.7.2 Constructors 29.7.4.7.3 Destructor 29.7.4.7.4 Assignment and swap |
1429 | 29.7.5 Output streams 29.7.5.1 General 29.7.5.2 Class template basic_ostream 29.7.5.2.1 General |
1431 | 29.7.5.2.2 Constructors 29.7.5.2.3 Assignment and swap 29.7.5.2.4 Class basic_ostream::sentry |
1432 | 29.7.5.2.5 Seek members 29.7.5.3 Formatted output functions 29.7.5.3.1 Common requirements |
1433 | 29.7.5.3.2 Arithmetic inserters |
1434 | 29.7.5.3.3 basic_ostream::operator<< 29.7.5.3.4 Character inserter function templates |
1435 | 29.7.5.4 Unformatted output functions |
1436 | 29.7.5.5 Standard manipulators 29.7.5.6 Rvalue stream insertion |
1437 | 29.7.6 Standard manipulators |
1438 | 29.7.7 Extended manipulators |
1440 | 29.7.8 Quoted manipulators |
1441 | 29.8 String-based streams 29.8.1 Header synopsis 29.8.2 Class template basic_stringbuf 29.8.2.1 General |
1443 | 29.8.2.2 Constructors |
1444 | 29.8.2.3 Assignment and swap 29.8.2.4 Member functions |
1446 | 29.8.2.5 Overridden virtual functions |
1447 | 29.8.3 Class template basic_istringstream 29.8.3.1 General |
1448 | 29.8.3.2 Constructors |
1449 | 29.8.3.3 Assignment and swap 29.8.3.4 Member functions |
1450 | 29.8.4 Class template basic_ostringstream 29.8.4.1 General |
1451 | 29.8.4.2 Constructors |
1452 | 29.8.4.3 Assignment and swap 29.8.4.4 Member functions |
1453 | 29.8.5 Class template basic_stringstream 29.8.5.1 General |
1454 | 29.8.5.2 Constructors 29.8.5.3 Assignment and swap |
1455 | 29.8.5.4 Member functions 29.9 File-based streams 29.9.1 Header synopsis |
1456 | 29.9.2 Class template basic_filebuf 29.9.2.1 General |
1457 | 29.9.2.2 Constructors |
1458 | 29.9.2.3 Assignment and swap 29.9.2.4 Member functions |
1459 | 29.9.2.5 Overridden virtual functions |
1461 | 29.9.3 Class template basic_ifstream 29.9.3.1 General |
1462 | 29.9.3.2 Constructors |
1463 | 29.9.3.3 Assignment and swap 29.9.3.4 Member functions 29.9.4 Class template basic_ofstream 29.9.4.1 General |
1464 | 29.9.4.2 Constructors 29.9.4.3 Assignment and swap |
1465 | 29.9.4.4 Member functions 29.9.5 Class template basic_fstream 29.9.5.1 General |
1466 | 29.9.5.2 Constructors 29.9.5.3 Assignment and swap |
1467 | 29.9.5.4 Member functions 29.10 Synchronized output streams 29.10.1 Header synopsis 29.10.2 Class template basic_syncbuf 29.10.2.1 Overview |
1468 | 29.10.2.2 Construction and destruction |
1469 | 29.10.2.3 Assignment and swap 29.10.2.4 Member functions |
1470 | 29.10.2.5 Overridden virtual functions 29.10.2.6 Specialized algorithms 29.10.3 Class template basic_osyncstream 29.10.3.1 Overview |
1471 | 29.10.3.2 Construction and destruction 29.10.3.3 Member functions |
1472 | 29.11 File systems 29.11.1 General 29.11.2 Conformance 29.11.2.1 General 29.11.2.2 POSIX conformance |
1473 | 29.11.2.3 Operating system dependent behavior conformance 29.11.2.4 File system race behavior 29.11.3 Requirements 29.11.3.1 General 29.11.3.2 Namespaces and headers 29.11.4 Header synopsis |
1476 | 29.11.5 Error reporting |
1477 | 29.11.6 Class path 29.11.6.1 General |
1480 | 29.11.6.2 Generic pathname format |
1481 | 29.11.6.3 Conversions 29.11.6.3.1 Argument format conversions |
1482 | 29.11.6.3.2 Type and encoding conversions 29.11.6.4 Requirements |
1483 | 29.11.6.5 Members 29.11.6.5.1 Constructors |
1484 | 29.11.6.5.2 Assignments 29.11.6.5.3 Appends |
1485 | 29.11.6.5.4 Concatenation 29.11.6.5.5 Modifiers |
1486 | 29.11.6.5.6 Native format observers |
1487 | 29.11.6.5.7 Generic format observers 29.11.6.5.8 Compare |
1488 | 29.11.6.5.9 Decomposition |
1489 | 29.11.6.5.10 Query 29.11.6.5.11 Generation |
1490 | 29.11.6.6 Iterators |
1491 | 29.11.6.7 Inserter and extractor 29.11.6.8 Non-member functions |
1492 | 29.11.7 Class filesystem_error 29.11.7.1 General 29.11.7.2 Members |
1493 | 29.11.8 Enumerations 29.11.8.1 Enum path::format 29.11.8.2 Enum class file_type 29.11.8.3 Enum class copy_options |
1495 | 29.11.8.4 Enum class perms 29.11.8.5 Enum class perm_options 29.11.8.6 Enum class directory_options 29.11.9 Class file_status 29.11.9.1 General |
1496 | 29.11.9.2 Constructors 29.11.9.3 Observers 29.11.9.4 Modifiers 29.11.10 Class directory_entry 29.11.10.1 General |
1498 | 29.11.10.2 Constructors 29.11.10.3 Modifiers 29.11.10.4 Observers |
1500 | 29.11.11 Class directory_iterator 29.11.11.1 General |
1501 | 29.11.11.2 Members 29.11.11.3 Non-member functions |
1502 | 29.11.12 Class recursive_directory_iterator 29.11.12.1 General |
1503 | 29.11.12.2 Members |
1504 | 29.11.12.3 Non-member functions 29.11.13 Filesystem operation functions 29.11.13.1 General |
1505 | 29.11.13.2 Absolute 29.11.13.3 Canonical 29.11.13.4 Copy |
1507 | 29.11.13.5 Copy file |
1508 | 29.11.13.6 Copy symlink 29.11.13.7 Create directories 29.11.13.8 Create directory 29.11.13.9 Create directory symlink |
1509 | 29.11.13.10 Create hard link 29.11.13.11 Create symlink 29.11.13.12 Current path 29.11.13.13 Equivalent |
1510 | 29.11.13.14 Exists 29.11.13.15 File size 29.11.13.16 Hard link count 29.11.13.17 Is block file 29.11.13.18 Is character file |
1511 | 29.11.13.19 Is directory 29.11.13.20 Is empty 29.11.13.21 Is fifo 29.11.13.22 Is other |
1512 | 29.11.13.23 Is regular file 29.11.13.24 Is socket 29.11.13.25 Is symlink 29.11.13.26 Last write time |
1513 | 29.11.13.27 Permissions 29.11.13.28 Proximate 29.11.13.29 Read symlink 29.11.13.30 Relative |
1514 | 29.11.13.31 Remove 29.11.13.32 Remove all 29.11.13.33 Rename 29.11.13.34 Resize file 29.11.13.35 Space |
1515 | 29.11.13.36 Status |
1516 | 29.11.13.37 Status known 29.11.13.38 Symlink status 29.11.13.39 Temporary directory path 29.11.13.40 Weakly canonical |
1517 | 29.12 C library files 29.12.1 Header synopsis |
1518 | 29.12.2 Header synopsis |
1520 | 30 Regular expressions library 30.1 General 30.2 Definitions |
1521 | 30.3 Requirements |
1522 | 30.4 Header synopsis |
1526 | 30.5 Namespace std::regex_constants 30.5.1 General 30.5.2 Bitmask type syntax_option_type 30.5.3 Bitmask type match_flag_type |
1528 | 30.5.4 Implementation-defined error_type |
1529 | 30.6 Class regex_error 30.7 Class template regex_traits |
1531 | 30.8 Class template basic_regex 30.8.1 General |
1533 | 30.8.2 Constructors |
1534 | 30.8.3 Assignment |
1535 | 30.8.4 Constant operations 30.8.5 Locale 30.8.6 Swap |
1536 | 30.8.7 Non-member functions 30.9 Class template sub_match 30.9.1 General 30.9.2 Members 30.9.3 Non-member operators |
1537 | 30.10 Class template match_results 30.10.1 General |
1539 | 30.10.2 Constructors |
1540 | 30.10.3 State 30.10.4 Size 30.10.5 Element access |
1541 | 30.10.6 Formatting 30.10.7 Allocator 30.10.8 Swap |
1542 | 30.10.9 Non-member functions 30.11 Regular expression algorithms 30.11.1 Exceptions 30.11.2 regex_match |
1543 | 30.11.3 regex_search |
1545 | 30.11.4 regex_replace |
1546 | 30.12 Regular expression iterators 30.12.1 Class template regex_iterator 30.12.1.1 General |
1547 | 30.12.1.2 Constructors 30.12.1.3 Comparisons 30.12.1.4 Indirection |
1548 | 30.12.1.5 Increment 30.12.2 Class template regex_token_iterator 30.12.2.1 General |
1550 | 30.12.2.2 Constructors |
1551 | 30.12.2.3 Comparisons 30.12.2.4 Indirection 30.12.2.5 Increment 30.13 Modified ECMAScript regular expression grammar |
1554 | 31 Atomic operations library 31.1 General 31.2 Header synopsis |
1558 | 31.3 Type aliases 31.4 Order and consistency |
1560 | 31.5 Lock-free property 31.6 Waiting and notifying |
1561 | 31.7 Class template atomic_ref 31.7.1 General |
1562 | 31.7.2 Operations |
1564 | 31.7.3 Specializations for integral types |
1565 | 31.7.4 Specializations for floating-point types |
1566 | 31.7.5 Partial specialization for pointers |
1567 | 31.7.6 Member operators common to integers and pointers to objects 31.8 Class template atomic 31.8.1 General |
1568 | 31.8.2 Operations on atomic types |
1572 | 31.8.3 Specializations for integers |
1574 | 31.8.4 Specializations for floating-point types |
1575 | 31.8.5 Partial specialization for pointers |
1577 | 31.8.6 Member operators common to integers and pointers to objects 31.8.7 Partial specializations for smart pointers 31.8.7.1 General |
1578 | 31.8.7.2 Partial specialization for shared_ptr |
1580 | 31.8.7.3 Partial specialization for weak_ptr |
1582 | 31.9 Non-member functions 31.10 Flag type and operations |
1584 | 31.11 Fences |
1586 | 32 Thread support library 32.1 General 32.2 Requirements 32.2.1 Template parameter names 32.2.2 Exceptions 32.2.3 Native handles 32.2.4 Timing specifications |
1587 | 32.2.5 Requirements for Cpp17Lockable types 32.2.5.1 In general |
1588 | 32.2.5.2 Cpp17BasicLockable requirements 32.2.5.3 Cpp17Lockable requirements 32.2.5.4 Cpp17TimedLockable requirements 32.3 Stop tokens 32.3.1 Introduction |
1589 | 32.3.2 Header 32.3.3 Class stop_token 32.3.3.1 General |
1590 | 32.3.3.2 Constructors, copy, and assignment 32.3.3.3 Members 32.3.3.4 Non-member functions 32.3.4 Class stop_source 32.3.4.1 General |
1591 | 32.3.4.2 Constructors, copy, and assignment |
1592 | 32.3.4.3 Members 32.3.4.4 Non-member functions 32.3.5 Class template stop_callback 32.3.5.1 General |
1593 | 32.3.5.2 Constructors and destructor 32.4 Threads 32.4.1 General 32.4.2 Header synopsis |
1594 | 32.4.3 Class thread 32.4.3.1 General 32.4.3.2 Class thread::id |
1595 | 32.4.3.3 Constructors |
1596 | 32.4.3.4 Destructor 32.4.3.5 Assignment 32.4.3.6 Members |
1597 | 32.4.3.7 Static members 32.4.3.8 Specialized algorithms 32.4.4 Class jthread 32.4.4.1 General |
1598 | 32.4.4.2 Constructors, move, and assignment |
1599 | 32.4.4.3 Members |
1600 | 32.4.4.4 Stop token handling 32.4.4.5 Specialized algorithms 32.4.4.6 Static members 32.4.5 Namespace this_thread 32.5 Mutual exclusion 32.5.1 General |
1601 | 32.5.2 Header synopsis 32.5.3 Header synopsis 32.5.4 Mutex requirements 32.5.4.1 In general 32.5.4.2 Mutex types 32.5.4.2.1 General |
1602 | 32.5.4.2.2 Class mutex |
1603 | 32.5.4.2.3 Class recursive_mutex |
1604 | 32.5.4.3 Timed mutex types 32.5.4.3.1 General 32.5.4.3.2 Class timed_mutex |
1605 | 32.5.4.3.3 Class recursive_timed_mutex |
1606 | 32.5.4.4 Shared mutex types 32.5.4.4.1 General |
1607 | 32.5.4.4.2 Class shared_mutex 32.5.4.5 Shared timed mutex types 32.5.4.5.1 General |
1608 | 32.5.4.5.2 Class shared_timed_mutex |
1609 | 32.5.5 Locks 32.5.5.1 General 32.5.5.2 Class template lock_guard |
1610 | 32.5.5.3 Class template scoped_lock 32.5.5.4 Class template unique_lock 32.5.5.4.1 General |
1611 | 32.5.5.4.2 Constructors, destructor, and assignment |
1612 | 32.5.5.4.3 Locking |
1613 | 32.5.5.4.4 Modifiers |
1614 | 32.5.5.4.5 Observers 32.5.5.5 Class template shared_lock 32.5.5.5.1 General |
1615 | 32.5.5.5.2 Constructors, destructor, and assignment |
1616 | 32.5.5.5.3 Locking |
1617 | 32.5.5.5.4 Modifiers 32.5.5.5.5 Observers 32.5.6 Generic locking algorithms |
1618 | 32.5.7 Call once 32.5.7.1 Struct once_flag 32.5.7.2 Function call_once |
1619 | 32.6 Condition variables 32.6.1 General 32.6.2 Header synopsis 32.6.3 Non-member functions |
1620 | 32.6.4 Class condition_variable |
1623 | 32.6.5 Class condition_variable_any 32.6.5.1 General |
1624 | 32.6.5.2 Noninterruptible waits |
1625 | 32.6.5.3 Interruptible waits |
1626 | 32.7 Semaphore 32.7.1 General 32.7.2 Header synopsis 32.7.3 Class template counting_semaphore |
1628 | 32.8 Coordination types 32.8.1 General 32.8.2 Latches 32.8.2.1 General 32.8.2.2 Header synopsis 32.8.2.3 Class latch |
1629 | 32.8.3 Barriers 32.8.3.1 General 32.8.3.2 Header synopsis 32.8.3.3 Class template barrier |
1631 | 32.9 Futures 32.9.1 Overview 32.9.2 Header synopsis |
1632 | 32.9.3 Error handling |
1633 | 32.9.4 Class future_error 32.9.5 Shared state |
1634 | 32.9.6 Class template promise |
1636 | 32.9.7 Class template future |
1638 | 32.9.8 Class template shared_future |
1641 | 32.9.9 Function template async |
1642 | 32.9.10 Class template packaged_task 32.9.10.1 General |
1643 | 32.9.10.2 Member functions |
1645 | 32.9.10.3 Globals |
1646 | A Grammar summary A.1 General A.2 Keywords A.3 Lexical conventions |
1650 | A.4 Basics |
1651 | A.5 Expressions |
1655 | A.6 Statements A.7 Declarations |
1661 | A.8 Modules |
1662 | A.9 Classes |
1663 | A.10 Overloading A.11 Templates |
1665 | A.12 Exception handling A.13 Preprocessing directives |
1667 | B Implementation quantities |
1669 | C Compatibility C.1 C++ and ISO C++ 2017 C.1.1 General C.1.2 Clause 5: lexical conventions |
1670 | C.1.3 Clause 6: basics |
1671 | C.1.4 Clause 7: expressions C.1.5 Clause 9: declarations |
1672 | C.1.6 Clause 11: classes |
1673 | C.1.7 Clause 12: overloading C.1.8 Clause 13: templates C.1.9 Clause 14: exception handling |
1674 | C.1.10 Clause 16: library introduction C.1.11 Clause 22: containers library C.1.12 Clause 23: iterators library C.1.13 Clause 25: algorithms library |
1675 | C.1.14 Clause 29: input/output library C.1.15 Annex D: compatibility features |
1676 | C.2 C++ and ISO C++ 2014 C.2.1 General C.2.2 Clause 5: lexical conventions |
1677 | C.2.3 Clause 7: expressions C.2.4 Clause 9: declarations |
1678 | C.2.5 Clause 11: classes C.2.6 Clause 13: templates C.2.7 Clause 14: exception handling C.2.8 Clause 16: library introduction |
1679 | C.2.9 Clause 20: general utilities library C.2.10 Clause 21: strings library C.2.11 Clause 22: containers library C.2.12 Annex D: compatibility features |
1680 | C.3 C++ and ISO C++ 2011 C.3.1 General C.3.2 Clause 5: lexical conventions C.3.3 Clause 6: basics C.3.4 Clause 7: expressions |
1681 | C.3.5 Clause 9: declarations C.3.6 Clause 16: library introduction C.3.7 Clause 29: input/output library C.4 C++ and ISO C++ 2003 C.4.1 General C.4.2 Clause 5: lexical conventions |
1682 | C.4.3 Clause 7: expressions C.4.4 Clause 9: declarations |
1683 | C.4.5 Clause 11: classes C.4.6 Clause 13: templates C.4.7 Clause 16: library introduction |
1684 | C.4.8 Clause 17: language support library C.4.9 Clause 19: diagnostics library C.4.10 Clause 20: general utilities library |
1685 | C.4.11 Clause 21: strings library C.4.12 Clause 22: containers library |
1686 | C.4.13 Clause 25: algorithms library C.4.14 Clause 26: numerics library C.4.15 Clause 29: input/output library |
1687 | C.5 C++ and ISO C C.5.1 General C.5.2 Clause 5: lexical conventions C.5.3 Clause 6: basics |
1688 | C.5.4 Clause 7: expressions |
1689 | C.5.5 Clause 8: statements |
1690 | C.5.6 Clause 9: declarations |
1693 | C.5.7 Clause 11: classes |
1694 | C.5.8 Clause 15: preprocessing directives |
1695 | C.6 C standard library C.6.1 General C.6.2 Modifications to headers C.6.3 Modifications to definitions C.6.3.1 Types char16_t and char32_t C.6.3.2 Type wchar_t C.6.3.3 Header C.6.3.4 Header C.6.3.5 Header C.6.3.6 Header C.6.3.7 Macro NULL C.6.4 Modifications to declarations |
1696 | C.6.5 Modifications to behavior C.6.5.1 General C.6.5.2 Macro offsetof(type, member-designator) C.6.5.3 Memory allocation functions |
1697 | D Compatibility features D.1 General D.2 Arithmetic conversion on enumerations D.3 Implicit capture of *this by reference D.4 Comma operator in subscript expressions D.5 Array comparisons |
1698 | D.6 Deprecated volatile types D.7 Redeclaration of static constexpr data members |
1699 | D.8 Non-local use of TU-local entities D.9 Implicit declaration of copy functions D.10 C headers D.10.1 General D.10.2 Header synopsis D.10.3 Header synopsis D.10.4 Header synopsis |
1700 | D.10.5 Header synopsis D.10.6 Header synopsis D.10.7 Other C headers D.11 Requires paragraph D.12 Relational operators |
1701 | D.13 char* streams D.13.1 Header synopsis D.13.2 Class strstreambuf D.13.2.1 General |
1702 | D.13.2.2 strstreambuf constructors |
1703 | D.13.2.3 Member functions |
1704 | D.13.2.4 strstreambuf overridden virtual functions |
1706 | D.13.3 Class istrstream D.13.3.1 General D.13.3.2 istrstream constructors D.13.3.3 Member functions D.13.4 Class ostrstream D.13.4.1 General |
1707 | D.13.4.2 ostrstream constructors D.13.4.3 Member functions D.13.5 Class strstream D.13.5.1 General |
1708 | D.13.5.2 strstream constructors D.13.5.3 strstream destructor D.13.5.4 strstream operations D.14 Deprecated type traits |
1709 | D.15 Tuple D.16 Variant |
1710 | D.17 Deprecated iterator class template D.18 Deprecated move_iterator access D.19 Deprecated shared_ptr atomic access |
1712 | D.20 Deprecated basic_string capacity D.21 Deprecated standard code conversion facets D.21.1 General |
1713 | D.21.2 Header synopsis D.21.3 Requirements |
1714 | D.22 Deprecated convenience conversion interfaces D.22.1 General D.22.2 Class template wstring_convert |
1716 | D.22.3 Class template wbuffer_convert |
1717 | D.23 Deprecated locale category facets |
1718 | D.24 Deprecated filesystem path factory functions D.25 Deprecated atomic operations D.25.1 General D.25.2 Volatile access |
1719 | D.25.3 Non-member functions D.25.4 Operations on atomic types D.25.5 Flag type and operations |
1720 | Bibliography |
1721 | Cross references |
1745 | Cross references from ISO C++ 2017 |
1748 | Index Symbols |
1749 | Numbers A |
1751 | B |
1752 | C |
1756 | D |
1758 | E |
1761 | F |
1762 | G H |
1763 | I |
1764 | J K L |
1766 | M |
1767 | N |
1768 | O |
1770 | P |
1772 | Q R |
1774 | S |
1777 | T |
1780 | U V |
1781 | W X Y Z |
1782 | Index of grammar productions |
1787 | Index of library headers |
1789 | Index of library names Symbols |
1790 | Numbers A |
1794 | B |
1800 | C |
1804 | D |
1807 | E |
1810 | F |
1813 | G |
1815 | H |
1816 | I |
1821 | J K L |
1823 | M |
1827 | N |
1829 | O |
1837 | P |
1840 | Q R |
1843 | S |
1850 | T |
1853 | U |
1855 | V |
1857 | W |
1859 | X Y |
1860 | Z |
1861 | Index of library concepts |
1864 | Index of implementation-defined behavior |