Generated on 2018-08-14 from the C++ standard's
draft LaTeX sources
by
cxxdraft-htmlgen
. This is
not
an ISO publication.
Contents
List of Tables
[tab]
[tab]
1
Alternative tokens
[tab:alternative.tokens]
2
Ranges of characters allowed
[tab:charname.allowed]
3
Ranges of characters disallowed initially (combining characters)
[tab:charname.disallowed]
4
Identifiers with special meaning
[tab:identifiers.special]
5
Keywords
[tab:keywords]
6
Alternative representations
[tab:alternative.representations]
7
Types of integer literals
[tab:lex.type.integer.literal]
8
Escape sequences
[tab:escape.sequences]
9
String literal concatenations
[tab:lex.string.concat]
10
Relations on
const
and
volatile
[tab:relations.on.const.and.volatile]
11
simple-type-specifier
s
and the types they specify
[tab:simple.type.specifiers]
12
Relationship between operator and function call notation
[tab:over.rel.op.func]
13
Conversions
[tab:over.conversions]
14
Value of folding empty sequences
[tab:fold.empty]
15
__has_cpp_attribute
values
[tab:cpp.cond.ha]
16
Feature-test macros
[tab:cpp.predefined.ft]
17
Library categories
[tab:library.categories]
18
C++ library headers
[tab:cpp.library.headers]
19
C++ headers for C library facilities
[tab:cpp.c.headers]
20
C standard Annex K names
[tab:c.annex.k.names]
21
C++ headers for freestanding implementations
[tab:cpp.headers.freestanding]
22
Cpp17EqualityComparable
requirements
[tab:equalitycomparable]
23
Cpp17LessThanComparable
requirements
[tab:lessthancomparable]
24
Cpp17DefaultConstructible
requirements
[tab:defaultconstructible]
25
Cpp17MoveConstructible
requirements
[tab:moveconstructible]
26
Cpp17CopyConstructible
requirements (in addition to
Cpp17MoveConstructible
)
[tab:copyconstructible]
27
Cpp17MoveAssignable
requirements
[tab:moveassignable]
28
Cpp17CopyAssignable
requirements (in addition to
Cpp17MoveAssignable
)
[tab:copyassignable]
29
Cpp17Destructible
requirements
[tab:destructible]
30
Cpp17NullablePointer
requirements
[tab:nullablepointer]
31
Cpp17Hash
requirements
[tab:hash]
32
Descriptive variable definitions
[tab:desc.var.def]
33
Cpp17Allocator
requirements
[tab:utilities.allocator.requirements]
34
Language support library summary
[tab:lang.sup.lib.summary]
35
Standard library feature-test macros
[tab:support.ft]
36
Fundamental concepts library summary
[tab:concepts.lib.summary]
37
Diagnostics library summary
[tab:diagnostics.lib.summary]
38
General utilities library summary
[tab:util.lib.summary]
39
optional::operator=(const optional&)
effects
[tab:optional.assign.copy]
40
optional::operator=(optional&&)
effects
[tab:optional.assign.move]
41
optional::operator=(const optional<U>&)
effects
[tab:optional.assign.copy.templ]
42
optional::operator=(optional<U>&&)
effects
[tab:optional.assign.move.templ]
43
optional::swap(optional&)
effects
[tab:optional.swap]
44
Primary type category predicates
[tab:type-traits.primary]
45
Composite type category predicates
[tab:type-traits.composite]
46
Type property predicates
[tab:type-traits.properties]
47
Type property queries
[tab:type-traits.properties.queries]
48
Type relationship predicates
[tab:type-traits.relationship]
49
Const-volatile modifications
[tab:type-traits.const-volatile]
50
Reference modifications
[tab:type-traits.reference]
51
Sign modifications
[tab:type-traits.sign]
52
Array modifications
[tab:type-traits.array]
53
Pointer modifications
[tab:type-traits.pointer]
54
Other transformations
[tab:type-traits.other]
55
Expressions used to perform ratio arithmetic
[tab:ratio.arithmetic]
56
Strings library summary
[tab:strings.lib.summary]
57
Character traits requirements
[tab:char.traits.require]
58
compare()
results
[tab:strings.compare]
59
basic_string_view(const charT*)
effects
[tab:string.view.ctr.2]
60
basic_string_view(const charT*, size_type)
effects
[tab:string.view.ctr.3]
61
compare()
results
[tab:string.view.compare]
62
Additional
basic_string_view
comparison overloads
[tab:string.view.comparison.overloads]
63
Containers library summary
[tab:containers.lib.summary]
64
Container requirements
[tab:containers.container.requirements]
65
Reversible container requirements
[tab:containers.reversible.requirements]
66
Optional container operations
[tab:containers.optional.operations]
67
Allocator-aware container requirements
[tab:containers.allocatoraware]
68
Sequence container requirements (in addition to container)
[tab:containers.sequence.requirements]
69
Optional sequence container operations
[tab:containers.sequence.optional]
70
Container types with compatible nodes
[tab:containers.node.compat]
71
Associative container requirements (in addition to container)
[tab:containers.associative.requirements]
72
Unordered associative container requirements (in addition to container)
[tab:HashRequirements]
73
Iterators library summary
[tab:iterators.lib.summary]
74
Relations among iterator categories
[tab:iterators.relations]
75
Cpp17Iterator
requirements
[tab:iterator.requirements]
76
Cpp17InputIterator
requirements (in addition to
Cpp17Iterator
)
[tab:iterator.input.requirements]
77
Cpp17OutputIterator
requirements (in addition to
Cpp17Iterator
)
[tab:iterator.output.requirements]
78
Cpp17ForwardIterator
requirements (in addition to
Cpp17InputIterator
)
[tab:iterator.forward.requirements]
79
Cpp17BidirectionalIterator
requirements (in addition to
Cpp17ForwardIterator
)
[tab:iterator.bidirectional.requirements]
80
Cpp17RandomAccessIterator
requirements (in addition to
Cpp17BidirectionalIterator
)
[tab:iterator.random.access.requirements]
81
Algorithms library summary
[tab:algorithms.summary]
82
Numerics library summary
[tab:numerics.lib.summary]
83
Seed sequence requirements
[tab:SeedSequence]
84
Random number engine requirements
[tab:RandomEngine]
85
Random number distribution requirements
[tab:RandomDistribution]
86
Time library summary
[tab:time.lib.summary]
87
Cpp17Clock
requirements
[tab:time.clock]
88
Meaning of
format
conversion specifiers
[tab:time.format.spec]
89
Meaning of
parse
flags
[tab:time.parse.spec]
90
Localization library summary
[tab:localization.lib.summary]
91
Locale category facets
[tab:localization.category.facets]
92
Required specializations
[tab:localization.required.specializations]
93
do_in/do_out
result values
[tab:localization.convert.result.values.out.in]
94
do_unshift
result values
[tab:localization.convert.result.values.unshift]
95
Integer conversions
[tab:localization.integer.conversions.in]
96
Length modifier
[tab:localization.length.modifier.in]
97
Integer conversions
[tab:localization.integer.conversions.out]
98
Floating-point conversions
[tab:localization.fp.conversions.out]
99
Length modifier
[tab:localization.length.modifier.out]
100
Numeric conversions
[tab:localization.numeric.conversions]
101
Fill padding
[tab:localization.fill.padding]
102
do_get_date
effects
[tab:lib.locale.time.get.virtuals.dogetdate]
103
Potential
setlocale
data races
[tab:setlocale.data.races]
104
Input/output library summary
[tab:iostreams.lib.summary]
105
fmtflags
effects
[tab:iostreams.fmtflags.effects]
106
fmtflags
constants
[tab:iostreams.fmtflags.constants]
107
iostate
effects
[tab:iostreams.iostate.effects]
108
openmode
effects
[tab:iostreams.openmode.effects]
109
seekdir
effects
[tab:iostreams.seekdir.effects]
110
Position type requirements
[tab:iostreams.position.requirements]
111
basic_ios::init()
effects
[tab:iostreams.basicios.init.effects]
112
basic_ios::copyfmt()
effects
[tab:iostreams.copyfmt.effects]
113
seekoff
positioning
[tab:iostreams.seekoff.positioning]
114
newoff
values
[tab:iostreams.newoff.values]
115
File open modes
[tab:iostreams.file.open.modes]
116
seekoff
effects
[tab:iostreams.seekoff.effects]
117
Enum
path::format
[tab:enum.path.format]
118
Enum class
file_type
[tab:fs.enum.file_type]
119
Enum class
copy_options
[tab:fs.enum.copy_options]
120
Enum class
perms
[tab:fs.enum.perms]
121
Enum class
perm_options
[tab:enum.perm_options]
122
Enum class
directory_options
[tab:fs.enum.directory_options]
123
Regular expressions library summary
[tab:re.lib.summary]
124
Regular expression traits class requirements
[tab:re:RegexpTraits]
125
syntax_option_type
effects
[tab:re:syntaxoption]
126
regex_constants::match_flag_type
effects when obtaining a match against a character container sequence
[first, last)
.
[tab:re:matchflag]
127
error_type
values in the C locale
[tab:re:errortype]
128
Character class names and corresponding
ctype
masks
[tab:re.traits.classnames]
129
match_results
assignment operator effects
[tab:re:results:assign]
130
Effects of
regex_match
algorithm
[tab:re:alg:match]
131
Effects of
regex_search
algorithm
[tab:re:alg:search]
132
Atomics library summary
[tab:atomics.lib.summary]
133
Atomic arithmetic computations
[tab:atomic.arithmetic.computations]
134
Atomic pointer computations
[tab:atomic.pointer.computations]
135
Thread support library summary
[tab:thread.lib.summary]
136
C headers
[tab:future.c.headers]
137
strstreambuf(streamsize)
effects
[tab:future.strstreambuf.effects]
138
strstreambuf(void* (*)(size_t), void (*)(void*))
effects
[tab:future.strstreambuf1.effects]
139
strstreambuf(charT*, streamsize, charT*)
effects
[tab:future.strstreambuf2.effects]
140
seekoff
positioning
[tab:future.seekoff.positioning]
141
newoff
values
[tab:future.newoff.values]
List of Figures
[fig]
[fig]
1
Expression category taxonomy
[fig:categories]
2
Directed acyclic graph
[fig:dag]
3
Non-virtual base
[fig:nonvirt]
4
Virtual base
[fig:virt]
5
Virtual and non-virtual base
[fig:virtnonvirt]
6
Name lookup
[fig:name]
7
Stream position, offset, and size types [non-normative]
[fig:streampos]
1
Scope
[intro.scope]
[intro.scope]
2
Normative references
[intro.refs]
[intro.refs]
3
Terms and definitions
[intro.defs]
[intro.defs]
4
General principles
[intro]
[intro]
4.1
Implementation compliance
[intro.compliance]
4.1.1
Abstract machine
[intro.abstract]
4.2
Structure of this document
[intro.structure]
4.3
Syntax notation
[syntax]
4.4
Acknowledgments
[intro.ack]
5
Lexical conventions
[lex]
[lex]
5.1
Separate translation
[lex.separate]
5.2
Phases of translation
[lex.phases]
5.3
Character sets
[lex.charset]
5.4
Preprocessing tokens
[lex.pptoken]
5.5
Alternative tokens
[lex.digraph]
5.6
Tokens
[lex.token]
5.7
Comments
[lex.comment]
5.8
Header names
[lex.header]
5.9
Preprocessing numbers
[lex.ppnumber]
5.10
Identifiers
[lex.name]
5.11
Keywords
[lex.key]
5.12
Operators and punctuators
[lex.operators]
5.13
Literals
[lex.literal]
5.13.1
Kinds of literals
[lex.literal.kinds]
5.13.2
Integer literals
[lex.icon]
5.13.3
Character literals
[lex.ccon]
5.13.4
Floating literals
[lex.fcon]
5.13.5
String literals
[lex.string]
5.13.6
Boolean literals
[lex.bool]
5.13.7
Pointer literals
[lex.nullptr]
5.13.8
User-defined literals
[lex.ext]
6
Basics
[basic]
[basic]
6.1
Declarations and definitions
[basic.def]
6.2
One-definition rule
[basic.def.odr]
6.3
Scope
[basic.scope]
6.3.1
Declarative regions and scopes
[basic.scope.declarative]
6.3.2
Point of declaration
[basic.scope.pdecl]
6.3.3
Block scope
[basic.scope.block]
6.3.4
Function parameter scope
[basic.scope.param]
6.3.5
Function scope
[basic.funscope]
6.3.6
Namespace scope
[basic.scope.namespace]
6.3.7
Class scope
[basic.scope.class]
6.3.8
Enumeration scope
[basic.scope.enum]
6.3.9
Template parameter scope
[basic.scope.temp]
6.3.10
Name hiding
[basic.scope.hiding]
6.4
Name lookup
[basic.lookup]
6.4.1
Unqualified name lookup
[basic.lookup.unqual]
6.4.2
Argument-dependent name lookup
[basic.lookup.argdep]
6.4.3
Qualified name lookup
[basic.lookup.qual]
6.4.3.1
Class members
[class.qual]
6.4.3.2
Namespace members
[namespace.qual]
6.4.4
Elaborated type specifiers
[basic.lookup.elab]
6.4.5
Class member access
[basic.lookup.classref]
6.4.6
Using-directives and namespace aliases
[basic.lookup.udir]
6.5
Program and linkage
[basic.link]
6.6
Memory and objects
[basic.memobj]
6.6.1
Memory model
[intro.memory]
6.6.2
Object model
[intro.object]
6.6.3
Object lifetime
[basic.life]
6.6.4
Storage duration
[basic.stc]
6.6.4.1
Static storage duration
[basic.stc.static]
6.6.4.2
Thread storage duration
[basic.stc.thread]
6.6.4.3
Automatic storage duration
[basic.stc.auto]
6.6.4.4
Dynamic storage duration
[basic.stc.dynamic]
6.6.4.4.1
Allocation functions
[basic.stc.dynamic.allocation]
6.6.4.4.2
Deallocation functions
[basic.stc.dynamic.deallocation]
6.6.4.4.3
Safely-derived pointers
[basic.stc.dynamic.safety]
6.6.4.5
Duration of subobjects
[basic.stc.inherit]
6.6.5
Alignment
[basic.align]
6.6.6
Temporary objects
[class.temporary]
6.7
Types
[basic.types]
6.7.1
Fundamental types
[basic.fundamental]
6.7.2
Compound types
[basic.compound]
6.7.3
CV-qualifiers
[basic.type.qualifier]
6.7.4
Integer conversion rank
[conv.rank]
6.8
Program execution
[basic.exec]
6.8.1
Sequential execution
[intro.execution]
6.8.2
Multi-threaded executions and data races
[intro.multithread]
6.8.2.1
Data races
[intro.races]
6.8.2.2
Forward progress
[intro.progress]
6.8.3
Start and termination
[basic.start]
6.8.3.1
main
function
[basic.start.main]
6.8.3.2
Static initialization
[basic.start.static]
6.8.3.3
Dynamic initialization of non-local variables
[basic.start.dynamic]
6.8.3.4
Termination
[basic.start.term]
7
Expressions
[expr]
[expr]
7.1
Preamble
[expr.pre]
7.2
Properties of expressions
[expr.prop]
7.2.1
Value category
[basic.lval]
7.2.2
Type
[expr.type]
7.2.3
Context dependence
[expr.context]
7.3
Standard conversions
[conv]
7.3.1
Lvalue-to-rvalue conversion
[conv.lval]
7.3.2
Array-to-pointer conversion
[conv.array]
7.3.3
Function-to-pointer conversion
[conv.func]
7.3.4
Temporary materialization conversion
[conv.rval]
7.3.5
Qualification conversions
[conv.qual]
7.3.6
Integral promotions
[conv.prom]
7.3.7
Floating-point promotion
[conv.fpprom]
7.3.8
Integral conversions
[conv.integral]
7.3.9
Floating-point conversions
[conv.double]
7.3.10
Floating-integral conversions
[conv.fpint]
7.3.11
Pointer conversions
[conv.ptr]
7.3.12
Pointer-to-member conversions
[conv.mem]
7.3.13
Function pointer conversions
[conv.fctptr]
7.3.14
Boolean conversions
[conv.bool]
7.4
Usual arithmetic conversions
[expr.arith.conv]
7.5
Primary expressions
[expr.prim]
7.5.1
Literals
[expr.prim.literal]
7.5.2
This
[expr.prim.this]
7.5.3
Parentheses
[expr.prim.paren]
7.5.4
Names
[expr.prim.id]
7.5.4.1
Unqualified names
[expr.prim.id.unqual]
7.5.4.2
Qualified names
[expr.prim.id.qual]
7.5.5
Lambda expressions
[expr.prim.lambda]
7.5.5.1
Closure types
[expr.prim.lambda.closure]
7.5.5.2
Captures
[expr.prim.lambda.capture]
7.5.6
Fold expressions
[expr.prim.fold]
7.5.7
Requires expressions
[expr.prim.req]
7.5.7.1
Simple requirements
[expr.prim.req.simple]
7.5.7.2
Type requirements
[expr.prim.req.type]
7.5.7.3
Compound requirements
[expr.prim.req.compound]
7.5.7.4
Nested requirements
[expr.prim.req.nested]
7.6
Compound expressions
[expr.compound]
7.6.1
Postfix expressions
[expr.post]
7.6.1.1
Subscripting
[expr.sub]
7.6.1.2
Function call
[expr.call]
7.6.1.3
Explicit type conversion (functional notation)
[expr.type.conv]
7.6.1.4
Pseudo destructor call
[expr.pseudo]
7.6.1.5
Class member access
[expr.ref]
7.6.1.6
Increment and decrement
[expr.post.incr]
7.6.1.7
Dynamic cast
[expr.dynamic.cast]
7.6.1.8
Type identification
[expr.typeid]
7.6.1.9
Static cast
[expr.static.cast]
7.6.1.10
Reinterpret cast
[expr.reinterpret.cast]
7.6.1.11
Const cast
[expr.const.cast]
7.6.2
Unary expressions
[expr.unary]
7.6.2.1
Unary operators
[expr.unary.op]
7.6.2.2
Increment and decrement
[expr.pre.incr]
7.6.2.3
Sizeof
[expr.sizeof]
7.6.2.4
New
[expr.new]
7.6.2.5
Delete
[expr.delete]
7.6.2.6
Alignof
[expr.alignof]
7.6.2.7
noexcept
operator
[expr.unary.noexcept]
7.6.3
Explicit type conversion (cast notation)
[expr.cast]
7.6.4
Pointer-to-member operators
[expr.mptr.oper]
7.6.5
Multiplicative operators
[expr.mul]
7.6.6
Additive operators
[expr.add]
7.6.7
Shift operators
[expr.shift]
7.6.8
Three-way comparison operator
[expr.spaceship]
7.6.9
Relational operators
[expr.rel]
7.6.10
Equality operators
[expr.eq]
7.6.11
Bitwise AND operator
[expr.bit.and]
7.6.12
Bitwise exclusive OR operator
[expr.xor]
7.6.13
Bitwise inclusive OR operator
[expr.or]
7.6.14
Logical AND operator
[expr.log.and]
7.6.15
Logical OR operator
[expr.log.or]
7.6.16
Conditional operator
[expr.cond]
7.6.17
Throwing an exception
[expr.throw]
7.6.18
Assignment and compound assignment operators
[expr.ass]
7.6.19
Comma operator
[expr.comma]
7.7
Constant expressions
[expr.const]
8
Statements
[stmt.stmt]
[stmt.stmt]
8.1
Labeled statement
[stmt.label]
8.2
Expression statement
[stmt.expr]
8.3
Compound statement or block
[stmt.block]
8.4
Selection statements
[stmt.select]
8.4.1
The
if
statement
[stmt.if]
8.4.2
The
switch
statement
[stmt.switch]
8.5
Iteration statements
[stmt.iter]
8.5.1
The
while
statement
[stmt.while]
8.5.2
The
do
statement
[stmt.do]
8.5.3
The
for
statement
[stmt.for]
8.5.4
The range-based
for
statement
[stmt.ranged]
8.6
Jump statements
[stmt.jump]
8.6.1
The
break
statement
[stmt.break]
8.6.2
The
continue
statement
[stmt.cont]
8.6.3
The
return
statement
[stmt.return]
8.6.4
The
goto
statement
[stmt.goto]
8.7
Declaration statement
[stmt.dcl]
8.8
Ambiguity resolution
[stmt.ambig]
9
Declarations
[dcl.dcl]
[dcl.dcl]
9.1
Specifiers
[dcl.spec]
9.1.1
Storage class specifiers
[dcl.stc]
9.1.2
Function specifiers
[dcl.fct.spec]
9.1.3
The
typedef
specifier
[dcl.typedef]
9.1.4
The
friend
specifier
[dcl.friend]
9.1.5
The
constexpr
specifier
[dcl.constexpr]
9.1.6
The
inline
specifier
[dcl.inline]
9.1.7
Type specifiers
[dcl.type]
9.1.7.1
The
cv-qualifier
s
[dcl.type.cv]
9.1.7.2
Simple type specifiers
[dcl.type.simple]
9.1.7.3
Elaborated type specifiers
[dcl.type.elab]
9.1.7.4
The
auto
specifier
[dcl.spec.auto]
9.1.7.4.1
Placeholder type deduction
[dcl.type.auto.deduct]
9.1.7.5
Deduced class template specialization types
[dcl.type.class.deduct]
9.2
Declarators
[dcl.decl]
9.2.1
Type names
[dcl.name]
9.2.2
Ambiguity resolution
[dcl.ambig.res]
9.2.3
Meaning of declarators
[dcl.meaning]
9.2.3.1
Pointers
[dcl.ptr]
9.2.3.2
References
[dcl.ref]
9.2.3.3
Pointers to members
[dcl.mptr]
9.2.3.4
Arrays
[dcl.array]
9.2.3.5
Functions
[dcl.fct]
9.2.3.6
Default arguments
[dcl.fct.default]
9.3
Initializers
[dcl.init]
9.3.1
Aggregates
[dcl.init.aggr]
9.3.2
Character arrays
[dcl.init.string]
9.3.3
References
[dcl.init.ref]
9.3.4
List-initialization
[dcl.init.list]
9.4
Function definitions
[dcl.fct.def]
9.4.1
In general
[dcl.fct.def.general]
9.4.2
Explicitly-defaulted functions
[dcl.fct.def.default]
9.4.3
Deleted definitions
[dcl.fct.def.delete]
9.5
Structured binding declarations
[dcl.struct.bind]
9.6
Enumeration declarations
[dcl.enum]
9.7
Namespaces
[basic.namespace]
9.7.1
Namespace definition
[namespace.def]
9.7.1.1
Unnamed namespaces
[namespace.unnamed]
9.7.1.2
Namespace member definitions
[namespace.memdef]
9.7.2
Namespace alias
[namespace.alias]
9.7.3
Using directive
[namespace.udir]
9.8
The
using
declaration
[namespace.udecl]
9.9
The
asm
declaration
[dcl.asm]
9.10
Linkage specifications
[dcl.link]
9.11
Attributes
[dcl.attr]
9.11.1
Attribute syntax and semantics
[dcl.attr.grammar]
9.11.2
Alignment specifier
[dcl.align]
9.11.3
Carries dependency attribute
[dcl.attr.depend]
9.11.4
Contract attributes
[dcl.attr.contract]
9.11.4.1
Syntax
[dcl.attr.contract.syn]
9.11.4.2
Contract conditions
[dcl.attr.contract.cond]
9.11.4.3
Checking contracts
[dcl.attr.contract.check]
9.11.5
Deprecated attribute
[dcl.attr.deprecated]
9.11.6
Fallthrough attribute
[dcl.attr.fallthrough]
9.11.7
Likelihood attributes
[dcl.attr.likelihood]
9.11.8
Maybe unused attribute
[dcl.attr.unused]
9.11.9
Nodiscard attribute
[dcl.attr.nodiscard]
9.11.10
Noreturn attribute
[dcl.attr.noreturn]
9.11.11
No unique address attribute
[dcl.attr.nouniqueaddr]
10
Classes
[class]
[class]
10.1
Properties of classes
[class.prop]
10.2
Class names
[class.name]
10.3
Class members
[class.mem]
10.3.1
Member functions
[class.mfct]
10.3.2
Non-static member functions
[class.mfct.non-static]
10.3.2.1
The
this
pointer
[class.this]
10.3.3
Special member functions
[special]
10.3.4
Constructors
[class.ctor]
10.3.5
Copy/move constructors
[class.copy.ctor]
10.3.6
Copy/move assignment operator
[class.copy.assign]
10.3.7
Destructors
[class.dtor]
10.3.8
Conversions
[class.conv]
10.3.8.1
Conversion by constructor
[class.conv.ctor]
10.3.8.2
Conversion functions
[class.conv.fct]
10.3.9
Static members
[class.static]
10.3.9.1
Static member functions
[class.static.mfct]
10.3.9.2
Static data members
[class.static.data]
10.3.10
Bit-fields
[class.bit]
10.3.11
Nested class declarations
[class.nest]
10.3.12
Nested type names
[class.nested.type]
10.4
Unions
[class.union]
10.4.1
Anonymous unions
[class.union.anon]
10.5
Local class declarations
[class.local]
10.6
Derived classes
[class.derived]
10.6.1
Multiple base classes
[class.mi]
10.6.2
Virtual functions
[class.virtual]
10.6.3
Abstract classes
[class.abstract]
10.7
Member name lookup
[class.member.lookup]
10.8
Member access control
[class.access]
10.8.1
Access specifiers
[class.access.spec]
10.8.2
Accessibility of base classes and base class members
[class.access.base]
10.8.3
Friends
[class.friend]
10.8.4
Protected member access
[class.protected]
10.8.5
Access to virtual functions
[class.access.virt]
10.8.6
Multiple access
[class.paths]
10.8.7
Nested classes
[class.access.nest]
10.9
Initialization
[class.init]
10.9.1
Explicit initialization
[class.expl.init]
10.9.2
Initializing bases and members
[class.base.init]
10.9.3
Initialization by inherited constructor
[class.inhctor.init]
10.9.4
Construction and destruction
[class.cdtor]
10.9.5
Copy/move elision
[class.copy.elision]
10.10
Comparisons
[class.compare]
10.10.1
Defaulted comparison operator functions
[class.compare.default]
10.10.2
Three-way comparison
[class.spaceship]
10.10.3
Other comparison operators
[class.rel.eq]
10.11
Free store
[class.free]
11
Overloading
[over]
[over]
11.1
Overloadable declarations
[over.load]
11.2
Declaration matching
[over.dcl]
11.3
Overload resolution
[over.match]
11.3.1
Candidate functions and argument lists
[over.match.funcs]
11.3.1.1
Function call syntax
[over.match.call]
11.3.1.1.1
Call to named function
[over.call.func]
11.3.1.1.2
Call to object of class type
[over.call.object]
11.3.1.2
Operators in expressions
[over.match.oper]
11.3.1.3
Initialization by constructor
[over.match.ctor]
11.3.1.4
Copy-initialization of class by user-defined conversion
[over.match.copy]
11.3.1.5
Initialization by conversion function
[over.match.conv]
11.3.1.6
Initialization by conversion function for direct reference binding
[over.match.ref]
11.3.1.7
Initialization by list-initialization
[over.match.list]
11.3.1.8
Class template argument deduction
[over.match.class.deduct]
11.3.2
Viable functions
[over.match.viable]
11.3.3
Best viable function
[over.match.best]
11.3.3.1
Implicit conversion sequences
[over.best.ics]
11.3.3.1.1
Standard conversion sequences
[over.ics.scs]
11.3.3.1.2
User-defined conversion sequences
[over.ics.user]
11.3.3.1.3
Ellipsis conversion sequences
[over.ics.ellipsis]
11.3.3.1.4
Reference binding
[over.ics.ref]
11.3.3.1.5
List-initialization sequence
[over.ics.list]
11.3.3.2
Ranking implicit conversion sequences
[over.ics.rank]
11.4
Address of overloaded function
[over.over]
11.5
Overloaded operators
[over.oper]
11.5.1
Unary operators
[over.unary]
11.5.2
Binary operators
[over.binary]
11.5.3
Assignment
[over.ass]
11.5.4
Function call
[over.call]
11.5.5
Subscripting
[over.sub]
11.5.6
Class member access
[over.ref]
11.5.7
Increment and decrement
[over.inc]
11.5.8
User-defined literals
[over.literal]
11.6
Built-in operators
[over.built]
12
Templates
[temp]
[temp]
12.1
Template parameters
[temp.param]
12.2
Names of template specializations
[temp.names]
12.3
Template arguments
[temp.arg]
12.3.1
Template type arguments
[temp.arg.type]
12.3.2
Template non-type arguments
[temp.arg.nontype]
12.3.3
Template template arguments
[temp.arg.template]
12.4
Template constraints
[temp.constr]
12.4.1
Constraints
[temp.constr.constr]
12.4.1.1
Logical operations
[temp.constr.op]
12.4.1.2
Atomic constraints
[temp.constr.atomic]
12.4.2
Constrained declarations
[temp.constr.decl]
12.4.3
Constraint normalization
[temp.constr.normal]
12.4.4
Partial ordering by constraints
[temp.constr.order]
12.5
Type equivalence
[temp.type]
12.6
Template declarations
[temp.decls]
12.6.1
Class templates
[temp.class]
12.6.1.1
Member functions of class templates
[temp.mem.func]
12.6.1.2
Member classes of class templates
[temp.mem.class]
12.6.1.3
Static data members of class templates
[temp.static]
12.6.1.4
Enumeration members of class templates
[temp.mem.enum]
12.6.2
Member templates
[temp.mem]
12.6.3
Variadic templates
[temp.variadic]
12.6.4
Friends
[temp.friend]
12.6.5
Class template partial specializations
[temp.class.spec]
12.6.5.1
Matching of class template partial specializations
[temp.class.spec.match]
12.6.5.2
Partial ordering of class template specializations
[temp.class.order]
12.6.5.3
Members of class template specializations
[temp.class.spec.mfunc]
12.6.6
Function templates
[temp.fct]
12.6.6.1
Function template overloading
[temp.over.link]
12.6.6.2
Partial ordering of function templates
[temp.func.order]
12.6.7
Alias templates
[temp.alias]
12.6.8
Concept definitions
[temp.concept]
12.7
Name resolution
[temp.res]
12.7.1
Locally declared names
[temp.local]
12.7.2
Dependent names
[temp.dep]
12.7.2.1
Dependent types
[temp.dep.type]
12.7.2.2
Type-dependent expressions
[temp.dep.expr]
12.7.2.3
Value-dependent expressions
[temp.dep.constexpr]
12.7.2.4
Dependent template arguments
[temp.dep.temp]
12.7.3
Non-dependent names
[temp.nondep]
12.7.4
Dependent name resolution
[temp.dep.res]
12.7.4.1
Point of instantiation
[temp.point]
12.7.4.2
Candidate functions
[temp.dep.candidate]
12.7.5
Friend names declared within a class template
[temp.inject]
12.8
Template instantiation and specialization
[temp.spec]
12.8.1
Implicit instantiation
[temp.inst]
12.8.2
Explicit instantiation
[temp.explicit]
12.8.3
Explicit specialization
[temp.expl.spec]
12.9
Function template specializations
[temp.fct.spec]
12.9.1
Explicit template argument specification
[temp.arg.explicit]
12.9.2
Template argument deduction
[temp.deduct]
12.9.2.1
Deducing template arguments from a function call
[temp.deduct.call]
12.9.2.2
Deducing template arguments taking the address of a function template
[temp.deduct.funcaddr]
12.9.2.3
Deducing conversion function template arguments
[temp.deduct.conv]
12.9.2.4
Deducing template arguments during partial ordering
[temp.deduct.partial]
12.9.2.5
Deducing template arguments from a type
[temp.deduct.type]
12.9.2.6
Deducing template arguments from a function declaration
[temp.deduct.decl]
12.9.3
Overload resolution
[temp.over]
12.10
Deduction guides
[temp.deduct.guide]
13
Exception handling
[except]
[except]
13.1
Throwing an exception
[except.throw]
13.2
Constructors and destructors
[except.ctor]
13.3
Handling an exception
[except.handle]
13.4
Exception specifications
[except.spec]
13.5
Special functions
[except.special]
13.5.1
The
std::terminate
function
[except.terminate]
13.5.2
The
std::uncaught_exceptions()
function
[except.uncaught]
14
Preprocessing directives
[cpp]
[cpp]
14.1
Conditional inclusion
[cpp.cond]
14.2
Source file inclusion
[cpp.include]
14.3
Macro replacement
[cpp.replace]
14.3.1
Argument substitution
[cpp.subst]
14.3.2
The
#
operator
[cpp.stringize]
14.3.3
The
##
operator
[cpp.concat]
14.3.4
Rescanning and further replacement
[cpp.rescan]
14.3.5
Scope of macro definitions
[cpp.scope]
14.4
Line control
[cpp.line]
14.5
Error directive
[cpp.error]
14.6
Pragma directive
[cpp.pragma]
14.7
Null directive
[cpp.null]
14.8
Predefined macro names
[cpp.predefined]
14.9
Pragma operator
[cpp.pragma.op]
15
Library introduction
[library]
[library]
15.1
General
[library.general]
15.2
The C standard library
[library.c]
15.3
Definitions
[definitions]
15.4
Method of description (Informative)
[description]
15.4.1
Structure of each clause
[structure]
15.4.1.1
Elements
[structure.elements]
15.4.1.2
Summary
[structure.summary]
15.4.1.3
Requirements
[structure.requirements]
15.4.1.4
Detailed specifications
[structure.specifications]
15.4.1.5
C library
[structure.see.also]
15.4.2
Other conventions
[conventions]
15.4.2.1
Type descriptions
[type.descriptions]
15.4.2.1.1
General
[type.descriptions.general]
15.4.2.1.2
Exposition-only types
[expos.only.types]
15.4.2.1.3
Enumerated types
[enumerated.types]
15.4.2.1.4
Bitmask types
[bitmask.types]
15.4.2.1.5
Character sequences
[character.seq]
15.4.2.1.5.1
Byte strings
[byte.strings]
15.4.2.1.5.2
Multibyte strings
[multibyte.strings]
15.4.2.1.6
Customization Point Object types
[customization.point.object]
15.4.2.2
Functions within classes
[functions.within.classes]
15.4.2.3
Operators
[operators]
15.4.2.4
Private members
[objects.within.classes]
15.5
Library-wide requirements
[requirements]
15.5.1
Library contents and organization
[organization]
15.5.1.1
Library contents
[contents]
15.5.1.2
Headers
[headers]
15.5.1.3
Freestanding implementations
[compliance]
15.5.2
Using the library
[using]
15.5.2.1
Overview
[using.overview]
15.5.2.2
Headers
[using.headers]
15.5.2.3
Linkage
[using.linkage]
15.5.3
Requirements on types and expressions
[utility.requirements]
15.5.3.1
Template argument requirements
[utility.arg.requirements]
15.5.3.2
Swappable requirements
[swappable.requirements]
15.5.3.3
Cpp17NullablePointer
requirements
[nullablepointer.requirements]
15.5.3.4
Cpp17Hash
requirements
[hash.requirements]
15.5.3.5
Cpp17Allocator
requirements
[allocator.requirements]
15.5.3.5.1
Allocator completeness requirements
[allocator.requirements.completeness]
15.5.4
Constraints on programs
[constraints]
15.5.4.1
Overview
[constraints.overview]
15.5.4.2
Namespace use
[namespace.constraints]
15.5.4.2.1
Namespace
std
[namespace.std]
15.5.4.2.2
Namespace
posix
[namespace.posix]
15.5.4.2.3
Namespaces for future standardization
[namespace.future]
15.5.4.3
Reserved names
[reserved.names]
15.5.4.3.1
Zombie names
[zombie.names]
15.5.4.3.2
Macro names
[macro.names]
15.5.4.3.3
External linkage
[extern.names]
15.5.4.3.4
Types
[extern.types]
15.5.4.3.5
User-defined literal suffixes
[usrlit.suffix]
15.5.4.4
Headers
[alt.headers]
15.5.4.5
Derived classes
[derived.classes]
15.5.4.6
Replacement functions
[replacement.functions]
15.5.4.7
Handler functions
[handler.functions]
15.5.4.8
Other functions
[res.on.functions]
15.5.4.9
Function arguments
[res.on.arguments]
15.5.4.10
Library object access
[res.on.objects]
15.5.4.11
Requires paragraph
[res.on.required]
15.5.4.12
Semantic requirements
[res.on.requirements]
15.5.5
Conforming implementations
[conforming]
15.5.5.1
Overview
[conforming.overview]
15.5.5.2
Headers
[res.on.headers]
15.5.5.3
Restrictions on macro definitions
[res.on.macro.definitions]
15.5.5.4
Non-member functions
[global.functions]
15.5.5.5
Member functions
[member.functions]
15.5.5.6
Constexpr functions and constructors
[constexpr.functions]
15.5.5.7
Requirements for stable algorithms
[algorithm.stable]
15.5.5.8
Reentrancy
[reentrancy]
15.5.5.9
Data race avoidance
[res.on.data.races]
15.5.5.10
Protection within classes
[protection.within.classes]
15.5.5.11
Derived classes
[derivation]
15.5.5.12
Restrictions on exception handling
[res.on.exception.handling]
15.5.5.13
Restrictions on storage of pointers
[res.on.pointer.storage]
15.5.5.14
Value of error codes
[value.error.codes]
15.5.5.15
Moved-from state of library types
[lib.types.movedfrom]
16
Language support library
[language.support]
[language.support]
16.1
General
[support.general]
16.2
Common definitions
[support.types]
16.2.1
Header
<cstddef>
synopsis
[cstddef.syn]
16.2.2
Header
<cstdlib>
synopsis
[cstdlib.syn]
16.2.3
Null pointers
[support.types.nullptr]
16.2.4
Sizes, alignments, and offsets
[support.types.layout]
16.2.5
byte
type operations
[support.types.byteops]
16.3
Implementation properties
[support.limits]
16.3.1
General
[support.limits.general]
16.3.2
Header
<limits>
synopsis
[limits.syn]
16.3.3
Floating-point type properties
[fp.style]
16.3.3.1
Type
float_round_style
[round.style]
16.3.3.2
Type
float_denorm_style
[denorm.style]
16.3.4
Class template
numeric_limits
[numeric.limits]
16.3.4.1
numeric_limits
members
[numeric.limits.members]
16.3.4.2
numeric_limits
specializations
[numeric.special]
16.3.5
Header
<climits>
synopsis
[climits.syn]
16.3.6
Header
<cfloat>
synopsis
[cfloat.syn]
16.4
Integer types
[cstdint]
16.4.1
Header
<cstdint>
synopsis
[cstdint.syn]
16.5
Start and termination
[support.start.term]
16.6
Dynamic memory management
[support.dynamic]
16.6.1
Header
<new>
synopsis
[new.syn]
16.6.2
Storage allocation and deallocation
[new.delete]
16.6.2.1
Single-object forms
[new.delete.single]
16.6.2.2
Array forms
[new.delete.array]
16.6.2.3
Non-allocating forms
[new.delete.placement]
16.6.2.4
Data races
[new.delete.dataraces]
16.6.3
Storage allocation errors
[alloc.errors]
16.6.3.1
Class
bad_alloc
[bad.alloc]
16.6.3.2
Class
bad_array_new_length
[new.badlength]
16.6.3.3
Type
new_handler
[new.handler]
16.6.3.4
set_new_handler
[set.new.handler]
16.6.3.5
get_new_handler
[get.new.handler]
16.6.4
Pointer optimization barrier
[ptr.launder]
16.6.5
Hardware interference size
[hardware.interference]
16.7
Type identification
[support.rtti]
16.7.1
Header
<typeinfo>
synopsis
[typeinfo.syn]
16.7.2
Class
type_info
[type.info]
16.7.3
Class
bad_cast
[bad.cast]
16.7.4
Class
bad_typeid
[bad.typeid]
16.8
Contract violation handling
[support.contract]
16.8.1
Header
<contract>
synopsis
[contract.syn]
16.8.2
Class
contract_violation
[support.contract.cviol]
16.9
Exception handling
[support.exception]
16.9.1
Header
<exception>
synopsis
[exception.syn]
16.9.2
Class
exception
[exception]
16.9.3
Class
bad_exception
[bad.exception]
16.9.4
Abnormal termination
[exception.terminate]
16.9.4.1
Type
terminate_handler
[terminate.handler]
16.9.4.2
set_terminate
[set.terminate]
16.9.4.3
get_terminate
[get.terminate]
16.9.4.4
terminate
[terminate]
16.9.5
uncaught_exceptions
[uncaught.exceptions]
16.9.6
Exception propagation
[propagation]
16.9.7
nested_exception
[except.nested]
16.10
Initializer lists
[support.initlist]
16.10.1
Header
<initializer_list>
synopsis
[initializer_list.syn]
16.10.2
Initializer list constructors
[support.initlist.cons]
16.10.3
Initializer list access
[support.initlist.access]
16.10.4
Initializer list range access
[support.initlist.range]
16.11
Comparisons
[cmp]
16.11.1
Header
<compare>
synopsis
[compare.syn]
16.11.2
Comparison category types
[cmp.categories]
16.11.2.1
Preamble
[cmp.categories.pre]
16.11.2.2
Class
weak_equality
[cmp.weakeq]
16.11.2.3
Class
strong_equality
[cmp.strongeq]
16.11.2.4
Class
partial_ordering
[cmp.partialord]
16.11.2.5
Class
weak_ordering
[cmp.weakord]
16.11.2.6
Class
strong_ordering
[cmp.strongord]
16.11.3
Class template
common_comparison_category
[cmp.common]
16.11.4
Comparison algorithms
[cmp.alg]
16.12
Other runtime support
[support.runtime]
16.12.1
Header
<cstdarg>
synopsis
[cstdarg.syn]
16.12.2
Header
<csetjmp>
synopsis
[csetjmp.syn]
16.12.3
Header
<csignal>
synopsis
[csignal.syn]
16.12.4
Signal handlers
[support.signal]
17
Concepts library
[concepts]
[concepts]
17.1
General
[concepts.general]
17.2
Equality preservation
[concepts.equality]
17.3
Header
<concepts>
synopsis
[concepts.syn]
17.4
Language-related concepts
[concepts.lang]
17.4.1
General
[concepts.lang.general]
17.4.2
Concept
Same
[concept.same]
17.4.3
Concept
DerivedFrom
[concept.derivedfrom]
17.4.4
Concept
ConvertibleTo
[concept.convertibleto]
17.4.5
Concept
CommonReference
[concept.commonref]
17.4.6
Concept
Common
[concept.common]
17.4.7
Integral concepts
[concepts.integral]
17.4.8
Concept
Assignable
[concept.assignable]
17.4.9
Concept
Swappable
[concept.swappable]
17.4.10
Concept
Destructible
[concept.destructible]
17.4.11
Concept
Constructible
[concept.constructible]
17.4.12
Concept
DefaultConstructible
[concept.defaultconstructible]
17.4.13
Concept
MoveConstructible
[concept.moveconstructible]
17.4.14
Concept
CopyConstructible
[concept.copyconstructible]
17.5
Comparison concepts
[concepts.compare]
17.5.1
General
[concepts.compare.general]
17.5.2
Concept
Boolean
[concept.boolean]
17.5.3
Concept
EqualityComparable
[concept.equalitycomparable]
17.5.4
Concept
StrictTotallyOrdered
[concept.stricttotallyordered]
17.6
Object concepts
[concepts.object]
17.7
Callable concepts
[concepts.callable]
17.7.1
General
[concepts.callable.general]
17.7.2
Concept
Invocable
[concept.invocable]
17.7.3
Concept
RegularInvocable
[concept.regularinvocable]
17.7.4
Concept
Predicate
[concept.predicate]
17.7.5
Concept
Relation
[concept.relation]
17.7.6
Concept
StrictWeakOrder
[concept.strictweakorder]
18
Diagnostics library
[diagnostics]
[diagnostics]
18.1
General
[diagnostics.general]
18.2
Exception classes
[std.exceptions]
18.2.1
Header
<stdexcept>
synopsis
[stdexcept.syn]
18.2.2
Class
logic_error
[logic.error]
18.2.3
Class
domain_error
[domain.error]
18.2.4
Class
invalid_argument
[invalid.argument]
18.2.5
Class
length_error
[length.error]
18.2.6
Class
out_of_range
[out.of.range]
18.2.7
Class
runtime_error
[runtime.error]
18.2.8
Class
range_error
[range.error]
18.2.9
Class
overflow_error
[overflow.error]
18.2.10
Class
underflow_error
[underflow.error]
18.3
Assertions
[assertions]
18.3.1
Header
<cassert>
synopsis
[cassert.syn]
18.3.2
The
assert
macro
[assertions.assert]
18.4
Error numbers
[errno]
18.4.1
Header
<cerrno>
synopsis
[cerrno.syn]
18.5
System error support
[syserr]
18.5.1
Header
<system_error>
synopsis
[system_error.syn]
18.5.2
Class
error_category
[syserr.errcat]
18.5.2.1
Overview
[syserr.errcat.overview]
18.5.2.2
Virtual members
[syserr.errcat.virtuals]
18.5.2.3
Non-virtual members
[syserr.errcat.nonvirtuals]
18.5.2.4
Program-defined classes derived from
error_category
[syserr.errcat.derived]
18.5.2.5
Error category objects
[syserr.errcat.objects]
18.5.3
Class
error_code
[syserr.errcode]
18.5.3.1
Overview
[syserr.errcode.overview]
18.5.3.2
Constructors
[syserr.errcode.constructors]
18.5.3.3
Modifiers
[syserr.errcode.modifiers]
18.5.3.4
Observers
[syserr.errcode.observers]
18.5.3.5
Non-member functions
[syserr.errcode.nonmembers]
18.5.4
Class
error_condition
[syserr.errcondition]
18.5.4.1
Overview
[syserr.errcondition.overview]
18.5.4.2
Constructors
[syserr.errcondition.constructors]
18.5.4.3
Modifiers
[syserr.errcondition.modifiers]
18.5.4.4
Observers
[syserr.errcondition.observers]
18.5.4.5
Non-member functions
[syserr.errcondition.nonmembers]
18.5.5
Comparison functions
[syserr.compare]
18.5.6
System error hash support
[syserr.hash]
18.5.7
Class
system_error
[syserr.syserr]
18.5.7.1
Overview
[syserr.syserr.overview]
18.5.7.2
Members
[syserr.syserr.members]
19
General utilities library
[utilities]
[utilities]
19.1
General
[utilities.general]
19.2
Utility components
[utility]
19.2.1
Header
<utility>
synopsis
[utility.syn]
19.2.2
swap
[utility.swap]
19.2.3
exchange
[utility.exchange]
19.2.4
Forward/move helpers
[forward]
19.2.5
Function template
as_const
[utility.as_const]
19.2.6
Function template
declval
[declval]
19.3
Compile-time integer sequences
[intseq]
19.3.1
In general
[intseq.general]
19.3.2
Class template
integer_sequence
[intseq.intseq]
19.3.3
Alias template
make_integer_sequence
[intseq.make]
19.4
Pairs
[pairs]
19.4.1
In general
[pairs.general]
19.4.2
Class template
pair
[pairs.pair]
19.4.3
Specialized algorithms
[pairs.spec]
19.4.4
Tuple-like access to pair
[pair.astuple]
19.4.5
Piecewise construction
[pair.piecewise]
19.5
Tuples
[tuple]
19.5.1
In general
[tuple.general]
19.5.2
Header
<tuple>
synopsis
[tuple.syn]
19.5.3
Class template
tuple
[tuple.tuple]
19.5.3.1
Construction
[tuple.cnstr]
19.5.3.2
Assignment
[tuple.assign]
19.5.3.3
swap
[tuple.swap]
19.5.3.4
Tuple creation functions
[tuple.creation]
19.5.3.5
Calling a function with a
tuple
of arguments
[tuple.apply]
19.5.3.6
Tuple helper classes
[tuple.helper]
19.5.3.7
Element access
[tuple.elem]
19.5.3.8
Relational operators
[tuple.rel]
19.5.3.9
Tuple traits
[tuple.traits]
19.5.3.10
Tuple specialized algorithms
[tuple.special]
19.6
Optional objects
[optional]
19.6.1
In general
[optional.general]
19.6.2
Header
<optional>
synopsis
[optional.syn]
19.6.3
Class template
optional
[optional.optional]
19.6.3.1
Constructors
[optional.ctor]
19.6.3.2
Destructor
[optional.dtor]
19.6.3.3
Assignment
[optional.assign]
19.6.3.4
Swap
[optional.swap]
19.6.3.5
Observers
[optional.observe]
19.6.3.6
Modifiers
[optional.mod]
19.6.4
No-value state indicator
[optional.nullopt]
19.6.5
Class
bad_optional_access
[optional.bad.access]
19.6.6
Relational operators
[optional.relops]
19.6.7
Comparison with
nullopt
[optional.nullops]
19.6.8
Comparison with
T
[optional.comp_with_t]
19.6.9
Specialized algorithms
[optional.specalg]
19.6.10
Hash support
[optional.hash]
19.7
Variants
[variant]
19.7.1
In general
[variant.general]
19.7.2
Header
<variant>
synopsis
[variant.syn]
19.7.3
Class template
variant
[variant.variant]
19.7.3.1
Constructors
[variant.ctor]
19.7.3.2
Destructor
[variant.dtor]
19.7.3.3
Assignment
[variant.assign]
19.7.3.4
Modifiers
[variant.mod]
19.7.3.5
Value status
[variant.status]
19.7.3.6
Swap
[variant.swap]
19.7.4
variant
helper classes
[variant.helper]
19.7.5
Value access
[variant.get]
19.7.6
Relational operators
[variant.relops]
19.7.7
Visitation
[variant.visit]
19.7.8
Class
monostate
[variant.monostate]
19.7.9
monostate
relational operators
[variant.monostate.relops]
19.7.10
Specialized algorithms
[variant.specalg]
19.7.11
Class
bad_variant_access
[variant.bad.access]
19.7.12
Hash support
[variant.hash]
19.8
Storage for any type
[any]
19.8.1
Header
<any>
synopsis
[any.synop]
19.8.2
Class
bad_any_cast
[any.bad_any_cast]
19.8.3
Class
any
[any.class]
19.8.3.1
Construction and destruction
[any.cons]
19.8.3.2
Assignment
[any.assign]
19.8.3.3
Modifiers
[any.modifiers]
19.8.3.4
Observers
[any.observers]
19.8.4
Non-member functions
[any.nonmembers]
19.9
Bitsets
[bitset]
19.9.1
Header
<bitset>
synopsis
[bitset.syn]
19.9.2
Class template
bitset
[template.bitset]
19.9.2.1
bitset
constructors
[bitset.cons]
19.9.2.2
bitset
members
[bitset.members]
19.9.3
bitset
hash support
[bitset.hash]
19.9.4
bitset
operators
[bitset.operators]
19.10
Memory
[memory]
19.10.1
In general
[memory.general]
19.10.2
Header
<memory>
synopsis
[memory.syn]
19.10.3
Pointer traits
[pointer.traits]
19.10.3.1
Pointer traits member types
[pointer.traits.types]
19.10.3.2
Pointer traits member functions
[pointer.traits.functions]
19.10.3.3
Pointer traits optional members
[pointer.traits.optmem]
19.10.4
Pointer conversion
[pointer.conversion]
19.10.5
Pointer safety
[util.dynamic.safety]
19.10.6
Align
[ptr.align]
19.10.7
Allocator argument tag
[allocator.tag]
19.10.8
uses_allocator
[allocator.uses]
19.10.8.1
uses_allocator
trait
[allocator.uses.trait]
19.10.8.2
Uses-allocator construction
[allocator.uses.construction]
19.10.9
Allocator traits
[allocator.traits]
19.10.9.1
Allocator traits member types
[allocator.traits.types]
19.10.9.2
Allocator traits static member functions
[allocator.traits.members]
19.10.10
The default allocator
[default.allocator]
19.10.10.1
allocator
members
[allocator.members]
19.10.10.2
allocator
globals
[allocator.globals]
19.10.11
Specialized algorithms
[specialized.algorithms]
19.10.11.1
addressof
[specialized.addressof]
19.10.11.2
uninitialized_default_construct
[uninitialized.construct.default]
19.10.11.3
uninitialized_value_construct
[uninitialized.construct.value]
19.10.11.4
uninitialized_copy
[uninitialized.copy]
19.10.11.5
uninitialized_move
[uninitialized.move]
19.10.11.6
uninitialized_fill
[uninitialized.fill]
19.10.11.7
destroy
[specialized.destroy]
19.10.12
C library memory allocation
[c.malloc]
19.11
Smart pointers
[smartptr]
19.11.1
Class template
unique_ptr
[unique.ptr]
19.11.1.1
Default deleters
[unique.ptr.dltr]
19.11.1.1.1
In general
[unique.ptr.dltr.general]
19.11.1.1.2
default_delete
[unique.ptr.dltr.dflt]
19.11.1.1.3
default_delete<T[]>
[unique.ptr.dltr.dflt1]
19.11.1.2
unique_ptr
for single objects
[unique.ptr.single]
19.11.1.2.1
Constructors
[unique.ptr.single.ctor]
19.11.1.2.2
Destructor
[unique.ptr.single.dtor]
19.11.1.2.3
Assignment
[unique.ptr.single.asgn]
19.11.1.2.4
Observers
[unique.ptr.single.observers]
19.11.1.2.5
Modifiers
[unique.ptr.single.modifiers]
19.11.1.3
unique_ptr
for array objects with a runtime length
[unique.ptr.runtime]
19.11.1.3.1
Constructors
[unique.ptr.runtime.ctor]
19.11.1.3.2
Assignment
[unique.ptr.runtime.asgn]
19.11.1.3.3
Observers
[unique.ptr.runtime.observers]
19.11.1.3.4
Modifiers
[unique.ptr.runtime.modifiers]
19.11.1.4
Creation
[unique.ptr.create]
19.11.1.5
Specialized algorithms
[unique.ptr.special]
19.11.1.6
I/O
[unique.ptr.io]
19.11.2
Class
bad_weak_ptr
[util.smartptr.weak.bad]
19.11.3
Class template
shared_ptr
[util.smartptr.shared]
19.11.3.1
Constructors
[util.smartptr.shared.const]
19.11.3.2
Destructor
[util.smartptr.shared.dest]
19.11.3.3
Assignment
[util.smartptr.shared.assign]
19.11.3.4
Modifiers
[util.smartptr.shared.mod]
19.11.3.5
Observers
[util.smartptr.shared.obs]
19.11.3.6
Creation
[util.smartptr.shared.create]
19.11.3.7
Comparison
[util.smartptr.shared.cmp]
19.11.3.8
Specialized algorithms
[util.smartptr.shared.spec]
19.11.3.9
Casts
[util.smartptr.shared.cast]
19.11.3.10
get_deleter
[util.smartptr.getdeleter]
19.11.3.11
I/O
[util.smartptr.shared.io]
19.11.4
Class template
weak_ptr
[util.smartptr.weak]
19.11.4.1
Constructors
[util.smartptr.weak.const]
19.11.4.2
Destructor
[util.smartptr.weak.dest]
19.11.4.3
Assignment
[util.smartptr.weak.assign]
19.11.4.4
Modifiers
[util.smartptr.weak.mod]
19.11.4.5
Observers
[util.smartptr.weak.obs]
19.11.4.6
Specialized algorithms
[util.smartptr.weak.spec]
19.11.5
Class template
owner_less
[util.smartptr.ownerless]
19.11.6
Class template
enable_shared_from_this
[util.smartptr.enab]
19.11.7
Smart pointer hash support
[util.smartptr.hash]
19.11.8
Atomic specializations for smart pointers
[util.smartptr.atomic]
19.11.8.1
Atomic specialization for
shared_ptr
[util.smartptr.atomic.shared]
19.11.8.2
Atomic specialization for
weak_ptr
[util.smartptr.atomic.weak]
19.12
Memory resources
[mem.res]
19.12.1
Header
<memory_resource>
synopsis
[mem.res.syn]
19.12.2
Class
memory_resource
[mem.res.class]
19.12.2.1
memory_resource
public member functions
[mem.res.public]
19.12.2.2
memory_resource
private virtual member functions
[mem.res.private]
19.12.2.3
memory_resource
equality
[mem.res.eq]
19.12.3
Class template
polymorphic_allocator
[mem.poly.allocator.class]
19.12.3.1
polymorphic_allocator
constructors
[mem.poly.allocator.ctor]
19.12.3.2
polymorphic_allocator
member functions
[mem.poly.allocator.mem]
19.12.3.3
polymorphic_allocator
equality
[mem.poly.allocator.eq]
19.12.4
Access to program-wide
memory_resource
objects
[mem.res.global]
19.12.5
Pool resource classes
[mem.res.pool]
19.12.5.1
Classes
synchronized_pool_resource
and
unsynchronized_pool_resource
[mem.res.pool.overview]
19.12.5.2
pool_options
data members
[mem.res.pool.options]
19.12.5.3
Pool resource constructors and destructors
[mem.res.pool.ctor]
19.12.5.4
Pool resource members
[mem.res.pool.mem]
19.12.6
Class
monotonic_buffer_resource
[mem.res.monotonic.buffer]
19.12.6.1
monotonic_buffer_resource
constructor and destructor
[mem.res.monotonic.buffer.ctor]
19.12.6.2
monotonic_buffer_resource
members
[mem.res.monotonic.buffer.mem]
19.13
Class template
scoped_allocator_adaptor
[allocator.adaptor]
19.13.1
Header
<scoped_allocator>
synopsis
[allocator.adaptor.syn]
19.13.2
Scoped allocator adaptor member types
[allocator.adaptor.types]
19.13.3
Scoped allocator adaptor constructors
[allocator.adaptor.cnstr]
19.13.4
Scoped allocator adaptor members
[allocator.adaptor.members]
19.13.5
Scoped allocator operators
[scoped.adaptor.operators]
19.14
Function objects
[function.objects]
19.14.1
Header
<functional>
synopsis
[functional.syn]
19.14.2
Definitions
[func.def]
19.14.3
Requirements
[func.require]
19.14.4
Function template
invoke
[func.invoke]
19.14.5
Class template
reference_wrapper
[refwrap]
19.14.5.1
reference_wrapper
construct/copy/destroy
[refwrap.const]
19.14.5.2
reference_wrapper
assignment
[refwrap.assign]
19.14.5.3
reference_wrapper
access
[refwrap.access]
19.14.5.4
reference_wrapper
invocation
[refwrap.invoke]
19.14.5.5
reference_wrapper
helper functions
[refwrap.helpers]
19.14.6
Arithmetic operations
[arithmetic.operations]
19.14.6.1
Class template
plus
[arithmetic.operations.plus]
19.14.6.2
Class template
minus
[arithmetic.operations.minus]
19.14.6.3
Class template
multiplies
[arithmetic.operations.multiplies]
19.14.6.4
Class template
divides
[arithmetic.operations.divides]
19.14.6.5
Class template
modulus
[arithmetic.operations.modulus]
19.14.6.6
Class template
negate
[arithmetic.operations.negate]
19.14.7
Comparisons
[comparisons]
19.14.7.1
Class template
equal_to
[comparisons.equal_to]
19.14.7.2
Class template
not_equal_to
[comparisons.not_equal_to]
19.14.7.3
Class template
greater
[comparisons.greater]
19.14.7.4
Class template
less
[comparisons.less]
19.14.7.5
Class template
greater_equal
[comparisons.greater_equal]
19.14.7.6
Class template
less_equal
[comparisons.less_equal]
19.14.8
Logical operations
[logical.operations]
19.14.8.1
Class template
logical_and
[logical.operations.and]
19.14.8.2
Class template
logical_or
[logical.operations.or]
19.14.8.3
Class template
logical_not
[logical.operations.not]
19.14.9
Bitwise operations
[bitwise.operations]
19.14.9.1
Class template
bit_and
[bitwise.operations.and]
19.14.9.2
Class template
bit_or
[bitwise.operations.or]
19.14.9.3
Class template
bit_xor
[bitwise.operations.xor]
19.14.9.4
Class template
bit_not
[bitwise.operations.not]
19.14.10
Class
identity
[func.identity]
19.14.11
Function template
not_fn
[func.not_fn]
19.14.12
Function object binders
[func.bind]
19.14.12.1
Class template
is_bind_expression
[func.bind.isbind]
19.14.12.2
Class template
is_placeholder
[func.bind.isplace]
19.14.12.3
Function template
bind
[func.bind.bind]
19.14.12.4
Placeholders
[func.bind.place]
19.14.13
Function template
mem_fn
[func.memfn]
19.14.14
Polymorphic function wrappers
[func.wrap]
19.14.14.1
Class
bad_function_call
[func.wrap.badcall]
19.14.14.1.1
bad_function_call
constructor
[func.wrap.badcall.const]
19.14.14.2
Class template
function
[func.wrap.func]
19.14.14.2.1
function
construct/copy/destroy
[func.wrap.func.con]
19.14.14.2.2
function
modifiers
[func.wrap.func.mod]
19.14.14.2.3
function
capacity
[func.wrap.func.cap]
19.14.14.2.4
function
invocation
[func.wrap.func.inv]
19.14.14.2.5
function
target access
[func.wrap.func.targ]
19.14.14.2.6
null pointer comparison functions
[func.wrap.func.nullptr]
19.14.14.2.7
specialized algorithms
[func.wrap.func.alg]
19.14.15
Searchers
[func.search]
19.14.15.1
Class template
default_searcher
[func.search.default]
19.14.15.2
Class template
boyer_moore_searcher
[func.search.bm]
19.14.15.3
Class template
boyer_moore_horspool_searcher
[func.search.bmh]
19.14.16
Class template
hash
[unord.hash]
19.15
Metaprogramming and type traits
[meta]
19.15.1
Requirements
[meta.rqmts]
19.15.2
Header
<type_traits>
synopsis
[meta.type.synop]
19.15.3
Helper classes
[meta.help]
19.15.4
Unary type traits
[meta.unary]
19.15.4.1
Primary type categories
[meta.unary.cat]
19.15.4.2
Composite type traits
[meta.unary.comp]
19.15.4.3
Type properties
[meta.unary.prop]
19.15.5
Type property queries
[meta.unary.prop.query]
19.15.6
Relationships between types
[meta.rel]
19.15.7
Transformations between types
[meta.trans]
19.15.7.1
Const-volatile modifications
[meta.trans.cv]
19.15.7.2
Reference modifications
[meta.trans.ref]
19.15.7.3
Sign modifications
[meta.trans.sign]
19.15.7.4
Array modifications
[meta.trans.arr]
19.15.7.5
Pointer modifications
[meta.trans.ptr]
19.15.7.6
Other transformations
[meta.trans.other]
19.15.8
Logical operator traits
[meta.logical]
19.15.9
Endian
[meta.endian]
19.16
Compile-time rational arithmetic
[ratio]
19.16.1
In general
[ratio.general]
19.16.2
Header
<ratio>
synopsis
[ratio.syn]
19.16.3
Class template
ratio
[ratio.ratio]
19.16.4
Arithmetic on
ratio
s
[ratio.arithmetic]
19.16.5
Comparison of
ratio
s
[ratio.comparison]
19.16.6
SI types for
ratio
[ratio.si]
19.17
Class
type_index
[type.index]
19.17.1
Header
<typeindex>
synopsis
[type.index.synopsis]
19.17.2
type_index
overview
[type.index.overview]
19.17.3
type_index
members
[type.index.members]
19.17.4
Hash support
[type.index.hash]
19.18
Execution policies
[execpol]
19.18.1
In general
[execpol.general]
19.18.2
Header
<execution>
synopsis
[execution.syn]
19.18.3
Execution policy type trait
[execpol.type]
19.18.4
Sequenced execution policy
[execpol.seq]
19.18.5
Parallel execution policy
[execpol.par]
19.18.6
Parallel and unsequenced execution policy
[execpol.parunseq]
19.18.7
Execution policy objects
[execpol.objects]
19.19
Primitive numeric conversions
[charconv]
19.19.1
Header
<charconv>
synopsis
[charconv.syn]
19.19.2
Primitive numeric output conversion
[charconv.to.chars]
19.19.3
Primitive numeric input conversion
[charconv.from.chars]
20
Strings library
[strings]
[strings]
20.1
General
[strings.general]
20.2
Character traits
[char.traits]
20.2.1
Character traits requirements
[char.traits.require]
20.2.2
Traits typedefs
[char.traits.typedefs]
20.2.3
char_traits
specializations
[char.traits.specializations]
20.2.3.1
struct char_traits<char>
[char.traits.specializations.char]
20.2.3.2
struct char_traits<char16_t>
[char.traits.specializations.char16_t]
20.2.3.3
struct char_traits<char32_t>
[char.traits.specializations.char32_t]
20.2.3.4
struct char_traits<wchar_t>
[char.traits.specializations.wchar.t]
20.3
String classes
[string.classes]
20.3.1
Header
<string>
synopsis
[string.syn]
20.3.2
Class template
basic_string
[basic.string]
20.3.2.1
General requirements
[string.require]
20.3.2.2
Constructors and assignment operators
[string.cons]
20.3.2.3
Iterator support
[string.iterators]
20.3.2.4
Capacity
[string.capacity]
20.3.2.5
Element access
[string.access]
20.3.2.6
Modifiers
[string.modifiers]
20.3.2.6.1
basic_string::operator+=
[string.op+=]
20.3.2.6.2
basic_string::append
[string.append]
20.3.2.6.3
basic_string::assign
[string.assign]
20.3.2.6.4
basic_string::insert
[string.insert]
20.3.2.6.5
basic_string::erase
[string.erase]
20.3.2.6.6
basic_string::replace
[string.replace]
20.3.2.6.7
basic_string::copy
[string.copy]
20.3.2.6.8
basic_string::swap
[string.swap]
20.3.2.7
String operations
[string.ops]
20.3.2.7.1
Accessors
[string.accessors]
20.3.2.7.2
basic_string::find
[string.find]
20.3.2.7.3
basic_string::rfind
[string.rfind]
20.3.2.7.4
basic_string::find_first_of
[string.find.first.of]
20.3.2.7.5
basic_string::find_last_of
[string.find.last.of]
20.3.2.7.6
basic_string::find_first_not_of
[string.find.first.not.of]
20.3.2.7.7
basic_string::find_last_not_of
[string.find.last.not.of]
20.3.2.7.8
basic_string::substr
[string.substr]
20.3.2.7.9
basic_string::compare
[string.compare]
20.3.2.7.10
basic_string::starts_with
[string.starts.with]
20.3.2.7.11
basic_string::ends_with
[string.ends.with]
20.3.3
Non-member functions
[string.nonmembers]
20.3.3.1
operator+
[string.op+]
20.3.3.2
operator==
[string.operator==]
20.3.3.3
operator!=
[string.op!=]
20.3.3.4
operator<
[string.op<]
20.3.3.5
operator>
[string.op>]
20.3.3.6
operator<=
[string.op<=]
20.3.3.7
operator>=
[string.op>=]
20.3.3.8
swap
[string.special]
20.3.3.9
Inserters and extractors
[string.io]
20.3.4
Numeric conversions
[string.conversions]
20.3.5
Hash support
[basic.string.hash]
20.3.6
Suffix for
basic_string
literals
[basic.string.literals]
20.4
String view classes
[string.view]
20.4.1
Header
<string_view>
synopsis
[string.view.synop]
20.4.2
Class template
basic_string_view
[string.view.template]
20.4.2.1
Construction and assignment
[string.view.cons]
20.4.2.2
Iterator support
[string.view.iterators]
20.4.2.3
Capacity
[string.view.capacity]
20.4.2.4
Element access
[string.view.access]
20.4.2.5
Modifiers
[string.view.modifiers]
20.4.2.6
String operations
[string.view.ops]
20.4.2.7
Searching
[string.view.find]
20.4.3
Non-member comparison functions
[string.view.comparison]
20.4.4
Inserters and extractors
[string.view.io]
20.4.5
Hash support
[string.view.hash]
20.4.6
Suffix for
basic_string_view
literals
[string.view.literals]
20.5
Null-terminated sequence utilities
[c.strings]
20.5.1
Header
<cctype>
synopsis
[cctype.syn]
20.5.2
Header
<cwctype>
synopsis
[cwctype.syn]
20.5.3
Header
<cstring>
synopsis
[cstring.syn]
20.5.4
Header
<cwchar>
synopsis
[cwchar.syn]
20.5.5
Header
<cuchar>
synopsis
[cuchar.syn]
20.5.6
Multibyte / wide string and character conversion functions
[c.mb.wcs]
21
Containers library
[containers]
[containers]
21.1
General
[containers.general]
21.2
Container requirements
[container.requirements]
21.2.1
General container requirements
[container.requirements.general]
21.2.2
Container data races
[container.requirements.dataraces]
21.2.3
Sequence containers
[sequence.reqmts]
21.2.4
Node handles
[container.node]
21.2.4.1
Overview
[container.node.overview]
21.2.4.2
Constructors, copy, and assignment
[container.node.cons]
21.2.4.3
Destructor
[container.node.dtor]
21.2.4.4
Observers
[container.node.observers]
21.2.4.5
Modifiers
[container.node.modifiers]
21.2.5
Insert return type
[container.insert.return]
21.2.6
Associative containers
[associative.reqmts]
21.2.6.1
Exception safety guarantees
[associative.reqmts.except]
21.2.7
Unordered associative containers
[unord.req]
21.2.7.1
Exception safety guarantees
[unord.req.except]
21.3
Sequence containers
[sequences]
21.3.1
In general
[sequences.general]
21.3.2
Header
<array>
synopsis
[array.syn]
21.3.3
Header
<deque>
synopsis
[deque.syn]
21.3.4
Header
<forward_list>
synopsis
[forward_list.syn]
21.3.5
Header
<list>
synopsis
[list.syn]
21.3.6
Header
<vector>
synopsis
[vector.syn]
21.3.7
Class template
array
[array]
21.3.7.1
Overview
[array.overview]
21.3.7.2
Constructors, copy, and assignment
[array.cons]
21.3.7.3
Member functions
[array.members]
21.3.7.4
Specialized algorithms
[array.special]
21.3.7.5
Zero-sized arrays
[array.zero]
21.3.7.6
Tuple interface
[array.tuple]
21.3.8
Class template
deque
[deque]
21.3.8.1
Overview
[deque.overview]
21.3.8.2
Constructors, copy, and assignment
[deque.cons]
21.3.8.3
Capacity
[deque.capacity]
21.3.8.4
Modifiers
[deque.modifiers]
21.3.9
Class template
forward_list
[forwardlist]
21.3.9.1
Overview
[forwardlist.overview]
21.3.9.2
Constructors, copy, and assignment
[forwardlist.cons]
21.3.9.3
Iterators
[forwardlist.iter]
21.3.9.4
Element access
[forwardlist.access]
21.3.9.5
Modifiers
[forwardlist.modifiers]
21.3.9.6
Operations
[forwardlist.ops]
21.3.10
Class template
list
[list]
21.3.10.1
Overview
[list.overview]
21.3.10.2
Constructors, copy, and assignment
[list.cons]
21.3.10.3
Capacity
[list.capacity]
21.3.10.4
Modifiers
[list.modifiers]
21.3.10.5
Operations
[list.ops]
21.3.11
Class template
vector
[vector]
21.3.11.1
Overview
[vector.overview]
21.3.11.2
Constructors, copy, and assignment
[vector.cons]
21.3.11.3
Capacity
[vector.capacity]
21.3.11.4
Data
[vector.data]
21.3.11.5
Modifiers
[vector.modifiers]
21.3.12
Class
vector<bool>
[vector.bool]
21.4
Associative containers
[associative]
21.4.1
In general
[associative.general]
21.4.2
Header
<map>
synopsis
[associative.map.syn]
21.4.3
Header
<set>
synopsis
[associative.set.syn]
21.4.4
Class template
map
[map]
21.4.4.1
Overview
[map.overview]
21.4.4.2
Constructors, copy, and assignment
[map.cons]
21.4.4.3
Element access
[map.access]
21.4.4.4
Modifiers
[map.modifiers]
21.4.5
Class template
multimap
[multimap]
21.4.5.1
Overview
[multimap.overview]
21.4.5.2
Constructors
[multimap.cons]
21.4.5.3
Modifiers
[multimap.modifiers]
21.4.6
Class template
set
[set]
21.4.6.1
Overview
[set.overview]
21.4.6.2
Constructors, copy, and assignment
[set.cons]
21.4.7
Class template
multiset
[multiset]
21.4.7.1
Overview
[multiset.overview]
21.4.7.2
Constructors
[multiset.cons]
21.5
Unordered associative containers
[unord]
21.5.1
In general
[unord.general]
21.5.2
Header
<unordered_map>
synopsis
[unord.map.syn]
21.5.3
Header
<unordered_set>
synopsis
[unord.set.syn]
21.5.4
Class template
unordered_map
[unord.map]
21.5.4.1
Overview
[unord.map.overview]
21.5.4.2
Constructors
[unord.map.cnstr]
21.5.4.3
Element access
[unord.map.elem]
21.5.4.4
Modifiers
[unord.map.modifiers]
21.5.5
Class template
unordered_multimap
[unord.multimap]
21.5.5.1
Overview
[unord.multimap.overview]
21.5.5.2
Constructors
[unord.multimap.cnstr]
21.5.5.3
Modifiers
[unord.multimap.modifiers]
21.5.6
Class template
unordered_set
[unord.set]
21.5.6.1
Overview
[unord.set.overview]
21.5.6.2
Constructors
[unord.set.cnstr]
21.5.7
Class template
unordered_multiset
[unord.multiset]
21.5.7.1
Overview
[unord.multiset.overview]
21.5.7.2
Constructors
[unord.multiset.cnstr]
21.6
Container adaptors
[container.adaptors]
21.6.1
In general
[container.adaptors.general]
21.6.2
Header
<queue>
synopsis
[queue.syn]
21.6.3
Header
<stack>
synopsis
[stack.syn]
21.6.4
Class template
queue
[queue]
21.6.4.1
Definition
[queue.defn]
21.6.4.2
Constructors
[queue.cons]
21.6.4.3
Constructors with allocators
[queue.cons.alloc]
21.6.4.4
Operators
[queue.ops]
21.6.4.5
Specialized algorithms
[queue.special]
21.6.5
Class template
priority_queue
[priority.queue]
21.6.5.1
Overview
[priqueue.overview]
21.6.5.2
Constructors
[priqueue.cons]
21.6.5.3
Constructors with allocators
[priqueue.cons.alloc]
21.6.5.4
Members
[priqueue.members]
21.6.5.5
Specialized algorithms
[priqueue.special]
21.6.6
Class template
stack
[stack]
21.6.6.1
Definition
[stack.defn]
21.6.6.2
Constructors
[stack.cons]
21.6.6.3
Constructors with allocators
[stack.cons.alloc]
21.6.6.4
Operators
[stack.ops]
21.6.6.5
Specialized algorithms
[stack.special]
21.7
Views
[views]
21.7.1
General
[views.general]
21.7.2
Header
<span>
synopsis
[span.syn]
21.7.3
Class template
span
[views.span]
21.7.3.1
Overview
[span.overview]
21.7.3.2
Constructors, copy, and assignment
[span.cons]
21.7.3.3
Subviews
[span.sub]
21.7.3.4
Observers
[span.obs]
21.7.3.5
Element access
[span.elem]
21.7.3.6
Iterator support
[span.iterators]
21.7.3.7
Comparison operators
[span.comparison]
21.7.3.8
Views of object representation
[span.objectrep]
22
Iterators library
[iterators]
[iterators]
22.1
General
[iterators.general]
22.2
Iterator requirements
[iterator.requirements]
22.2.1
In general
[iterator.requirements.general]
22.2.2
Cpp17Iterator
[iterator.iterators]
22.2.3
Input iterators
[input.iterators]
22.2.4
Output iterators
[output.iterators]
22.2.5
Forward iterators
[forward.iterators]
22.2.6
Bidirectional iterators
[bidirectional.iterators]
22.2.7
Random access iterators
[random.access.iterators]
22.3
Header
<iterator>
synopsis
[iterator.synopsis]
22.4
Iterator primitives
[iterator.primitives]
22.4.1
Iterator traits
[iterator.traits]
22.4.2
Standard iterator tags
[std.iterator.tags]
22.4.3
Iterator operations
[iterator.operations]
22.5
Iterator adaptors
[predef.iterators]
22.5.1
Reverse iterators
[reverse.iterators]
22.5.1.1
Class template
reverse_iterator
[reverse.iterator]
22.5.1.2
reverse_iterator
requirements
[reverse.iter.requirements]
22.5.1.3
reverse_iterator
construction and assignment
[reverse.iter.cons]
22.5.1.4
Conversion
[reverse.iter.conv]
22.5.1.5
reverse_iterator
element access
[reverse.iter.elem]
22.5.1.6
reverse_iterator
navigation
[reverse.iter.nav]
22.5.1.7
reverse_iterator
comparisons
[reverse.iter.cmp]
22.5.1.8
Non-member functions
[reverse.iter.nonmember]
22.5.2
Insert iterators
[insert.iterators]
22.5.2.1
Class template
back_insert_iterator
[back.insert.iterator]
22.5.2.1.1
back_insert_iterator
operations
[back.insert.iter.ops]
22.5.2.1.2
back_inserter
[back.inserter]
22.5.2.2
Class template
front_insert_iterator
[front.insert.iterator]
22.5.2.2.1
front_insert_iterator
operations
[front.insert.iter.ops]
22.5.2.2.2
front_inserter
[front.inserter]
22.5.2.3
Class template
insert_iterator
[insert.iterator]
22.5.2.3.1
insert_iterator
operations
[insert.iter.ops]
22.5.2.3.2
inserter
[inserter]
22.5.3
Move iterators
[move.iterators]
22.5.3.1
Class template
move_iterator
[move.iterator]
22.5.3.2
move_iterator
requirements
[move.iter.requirements]
22.5.3.3
move_iterator
construction and assignment
[move.iter.cons]
22.5.3.4
move_iterator
conversion
[move.iter.op.conv]
22.5.3.5
move_iterator
element access
[move.iter.elem]
22.5.3.6
move_iterator
navigation
[move.iter.nav]
22.5.3.7
move_iterator
comparisons
[move.iter.op.comp]
22.5.3.8
move_iterator
non-member functions
[move.iter.nonmember]
22.6
Stream iterators
[stream.iterators]
22.6.1
Class template
istream_iterator
[istream.iterator]
22.6.1.1
istream_iterator
constructors and destructor
[istream.iterator.cons]
22.6.1.2
istream_iterator
operations
[istream.iterator.ops]
22.6.2
Class template
ostream_iterator
[ostream.iterator]
22.6.2.1
ostream_iterator
constructors and destructor
[ostream.iterator.cons.des]
22.6.2.2
ostream_iterator
operations
[ostream.iterator.ops]
22.6.3
Class template
istreambuf_iterator
[istreambuf.iterator]
22.6.3.1
Class
istreambuf_iterator::proxy
[istreambuf.iterator.proxy]
22.6.3.2
istreambuf_iterator
constructors
[istreambuf.iterator.cons]
22.6.3.3
istreambuf_iterator
operations
[istreambuf.iterator.ops]
22.6.4
Class template
ostreambuf_iterator
[ostreambuf.iterator]
22.6.4.1
ostreambuf_iterator
constructors
[ostreambuf.iter.cons]
22.6.4.2
ostreambuf_iterator
operations
[ostreambuf.iter.ops]
22.7
Range access
[iterator.range]
22.8
Container and view access
[iterator.container]
23
Algorithms library
[algorithms]
[algorithms]
23.1
General
[algorithms.general]
23.2
Algorithms requirements
[algorithms.requirements]
23.3
Parallel algorithms
[algorithms.parallel]
23.3.1
Terms and definitions
[algorithms.parallel.defns]
23.3.2
Requirements on user-provided function objects
[algorithms.parallel.user]
23.3.3
Effect of execution policies on algorithm execution
[algorithms.parallel.exec]
23.3.4
Parallel algorithm exceptions
[algorithms.parallel.exceptions]
23.3.5
ExecutionPolicy
algorithm overloads
[algorithms.parallel.overloads]
23.4
Header
<algorithm>
synopsis
[algorithm.syn]
23.5
Non-modifying sequence operations
[alg.nonmodifying]
23.5.1
All of
[alg.all_of]
23.5.2
Any of
[alg.any_of]
23.5.3
None of
[alg.none_of]
23.5.4
For each
[alg.foreach]
23.5.5
Find
[alg.find]
23.5.6
Find end
[alg.find.end]
23.5.7
Find first
[alg.find.first.of]
23.5.8
Adjacent find
[alg.adjacent.find]
23.5.9
Count
[alg.count]
23.5.10
Mismatch
[mismatch]
23.5.11
Equal
[alg.equal]
23.5.12
Is permutation
[alg.is_permutation]
23.5.13
Search
[alg.search]
23.6
Mutating sequence operations
[alg.modifying.operations]
23.6.1
Copy
[alg.copy]
23.6.2
Move
[alg.move]
23.6.3
Swap
[alg.swap]
23.6.4
Transform
[alg.transform]
23.6.5
Replace
[alg.replace]
23.6.6
Fill
[alg.fill]
23.6.7
Generate
[alg.generate]
23.6.8
Remove
[alg.remove]
23.6.9
Unique
[alg.unique]
23.6.10
Reverse
[alg.reverse]
23.6.11
Rotate
[alg.rotate]
23.6.12
Sample
[alg.random.sample]
23.6.13
Shuffle
[alg.random.shuffle]
23.6.14
Shift
[alg.shift]
23.7
Sorting and related operations
[alg.sorting]
23.7.1
Sorting
[alg.sort]
23.7.1.1
sort
[sort]
23.7.1.2
stable_sort
[stable.sort]
23.7.1.3
partial_sort
[partial.sort]
23.7.1.4
partial_sort_copy
[partial.sort.copy]
23.7.1.5
is_sorted
[is.sorted]
23.7.2
Nth element
[alg.nth.element]
23.7.3
Binary search
[alg.binary.search]
23.7.3.1
lower_bound
[lower.bound]
23.7.3.2
upper_bound
[upper.bound]
23.7.3.3
equal_range
[equal.range]
23.7.3.4
binary_search
[binary.search]
23.7.4
Partitions
[alg.partitions]
23.7.5
Merge
[alg.merge]
23.7.6
Set operations on sorted structures
[alg.set.operations]
23.7.6.1
includes
[includes]
23.7.6.2
set_union
[set.union]
23.7.6.3
set_intersection
[set.intersection]
23.7.6.4
set_difference
[set.difference]
23.7.6.5
set_symmetric_difference
[set.symmetric.difference]
23.7.7
Heap operations
[alg.heap.operations]
23.7.7.1
push_heap
[push.heap]
23.7.7.2
pop_heap
[pop.heap]
23.7.7.3
make_heap
[make.heap]
23.7.7.4
sort_heap
[sort.heap]
23.7.7.5
is_heap
[is.heap]
23.7.8
Minimum and maximum
[alg.min.max]
23.7.9
Bounded value
[alg.clamp]
23.7.10
Lexicographical comparison
[alg.lex.comparison]
23.7.11
Three-way comparison algorithms
[alg.3way]
23.7.12
Permutation generators
[alg.permutation.generators]
23.8
Header
<numeric>
synopsis
[numeric.ops.overview]
23.9
Generalized numeric operations
[numeric.ops]
23.9.1
Accumulate
[accumulate]
23.9.2
Reduce
[reduce]
23.9.3
Inner product
[inner.product]
23.9.4
Transform reduce
[transform.reduce]
23.9.5
Partial sum
[partial.sum]
23.9.6
Exclusive scan
[exclusive.scan]
23.9.7
Inclusive scan
[inclusive.scan]
23.9.8
Transform exclusive scan
[transform.exclusive.scan]
23.9.9
Transform inclusive scan
[transform.inclusive.scan]
23.9.10
Adjacent difference
[adjacent.difference]
23.9.11
Iota
[numeric.iota]
23.9.12
Greatest common divisor
[numeric.ops.gcd]
23.9.13
Least common multiple
[numeric.ops.lcm]
23.10
C library algorithms
[alg.c.library]
24
Numerics library
[numerics]
[numerics]
24.1
General
[numerics.general]
24.2
Definitions
[numerics.defns]
24.3
Numeric type requirements
[numeric.requirements]
24.4
The floating-point environment
[cfenv]
24.4.1
Header
<cfenv>
synopsis
[cfenv.syn]
24.5
Complex numbers
[complex.numbers]
24.5.1
Header
<complex>
synopsis
[complex.syn]
24.5.2
Class template
complex
[complex]
24.5.3
complex
specializations
[complex.special]
24.5.4
complex
member functions
[complex.members]
24.5.5
complex
member operators
[complex.member.ops]
24.5.6
complex
non-member operations
[complex.ops]
24.5.7
complex
value operations
[complex.value.ops]
24.5.8
complex
transcendentals
[complex.transcendentals]
24.5.9
Additional overloads
[cmplx.over]
24.5.10
Suffixes for complex number literals
[complex.literals]
24.6
Bit manipulation
[bit]
24.6.1
General
[bit.general]
24.6.2
Header
<bit>
synopsis
[bit.syn]
24.6.3
Function template
bit_cast
[bit.cast]
24.6.4
Integral powers of 2
[bit.pow.two]
24.7
Random number generation
[rand]
24.7.1
Header
<random>
synopsis
[rand.synopsis]
24.7.2
Requirements
[rand.req]
24.7.2.1
General requirements
[rand.req.genl]
24.7.2.2
Seed sequence requirements
[rand.req.seedseq]
24.7.2.3
Uniform random bit generator requirements
[rand.req.urng]
24.7.2.4
Random number engine requirements
[rand.req.eng]
24.7.2.5
Random number engine adaptor requirements
[rand.req.adapt]
24.7.2.6
Random number distribution requirements
[rand.req.dist]
24.7.3
Random number engine class templates
[rand.eng]
24.7.3.1
Class template
linear_congruential_engine
[rand.eng.lcong]
24.7.3.2
Class template
mersenne_twister_engine
[rand.eng.mers]
24.7.3.3
Class template
subtract_with_carry_engine
[rand.eng.sub]
24.7.4
Random number engine adaptor class templates
[rand.adapt]
24.7.4.1
In general
[rand.adapt.general]
24.7.4.2
Class template
discard_block_engine
[rand.adapt.disc]
24.7.4.3
Class template
independent_bits_engine
[rand.adapt.ibits]
24.7.4.4
Class template
shuffle_order_engine
[rand.adapt.shuf]
24.7.5
Engines and engine adaptors with predefined parameters
[rand.predef]
24.7.6
Class
random_device
[rand.device]
24.7.7
Utilities
[rand.util]
24.7.7.1
Class
seed_seq
[rand.util.seedseq]
24.7.7.2
Function template
generate_canonical
[rand.util.canonical]
24.7.8
Random number distribution class templates
[rand.dist]
24.7.8.1
In general
[rand.dist.general]
24.7.8.2
Uniform distributions
[rand.dist.uni]
24.7.8.2.1
Class template
uniform_int_distribution
[rand.dist.uni.int]
24.7.8.2.2
Class template
uniform_real_distribution
[rand.dist.uni.real]
24.7.8.3
Bernoulli distributions
[rand.dist.bern]
24.7.8.3.1
Class
bernoulli_distribution
[rand.dist.bern.bernoulli]
24.7.8.3.2
Class template
binomial_distribution
[rand.dist.bern.bin]
24.7.8.3.3
Class template
geometric_distribution
[rand.dist.bern.geo]
24.7.8.3.4
Class template
negative_binomial_distribution
[rand.dist.bern.negbin]
24.7.8.4
Poisson distributions
[rand.dist.pois]
24.7.8.4.1
Class template
poisson_distribution
[rand.dist.pois.poisson]
24.7.8.4.2
Class template
exponential_distribution
[rand.dist.pois.exp]
24.7.8.4.3
Class template
gamma_distribution
[rand.dist.pois.gamma]
24.7.8.4.4
Class template
weibull_distribution
[rand.dist.pois.weibull]
24.7.8.4.5
Class template
extreme_value_distribution
[rand.dist.pois.extreme]
24.7.8.5
Normal distributions
[rand.dist.norm]
24.7.8.5.1
Class template
normal_distribution
[rand.dist.norm.normal]
24.7.8.5.2
Class template
lognormal_distribution
[rand.dist.norm.lognormal]
24.7.8.5.3
Class template
chi_squared_distribution
[rand.dist.norm.chisq]
24.7.8.5.4
Class template
cauchy_distribution
[rand.dist.norm.cauchy]
24.7.8.5.5
Class template
fisher_f_distribution
[rand.dist.norm.f]
24.7.8.5.6
Class template
student_t_distribution
[rand.dist.norm.t]
24.7.8.6
Sampling distributions
[rand.dist.samp]
24.7.8.6.1
Class template
discrete_distribution
[rand.dist.samp.discrete]
24.7.8.6.2
Class template
piecewise_constant_distribution
[rand.dist.samp.pconst]
24.7.8.6.3
Class template
piecewise_linear_distribution
[rand.dist.samp.plinear]
24.7.9
Low-quality random number generation
[c.math.rand]
24.8
Numeric arrays
[numarray]
24.8.1
Header
<valarray>
synopsis
[valarray.syn]
24.8.2
Class template
valarray
[template.valarray]
24.8.2.1
Class template
valarray
overview
[template.valarray.overview]
24.8.2.2
valarray
constructors
[valarray.cons]
24.8.2.3
valarray
assignment
[valarray.assign]
24.8.2.4
valarray
element access
[valarray.access]
24.8.2.5
valarray
subset operations
[valarray.sub]
24.8.2.6
valarray
unary operators
[valarray.unary]
24.8.2.7
valarray
compound assignment
[valarray.cassign]
24.8.2.8
valarray
member functions
[valarray.members]
24.8.3
valarray
non-member operations
[valarray.nonmembers]
24.8.3.1
valarray
binary operators
[valarray.binary]
24.8.3.2
valarray
logical operators
[valarray.comparison]
24.8.3.3
valarray
transcendentals
[valarray.transcend]
24.8.3.4
valarray
specialized algorithms
[valarray.special]
24.8.4
Class
slice
[class.slice]
24.8.4.1
Class
slice
overview
[class.slice.overview]
24.8.4.2
slice
constructors
[cons.slice]
24.8.4.3
slice
access functions
[slice.access]
24.8.5
Class template
slice_array
[template.slice.array]
24.8.5.1
Class template
slice_array
overview
[template.slice.array.overview]
24.8.5.2
slice_array
assignment
[slice.arr.assign]
24.8.5.3
slice_array
compound assignment
[slice.arr.comp.assign]
24.8.5.4
slice_array
fill function
[slice.arr.fill]
24.8.6
The
gslice
class
[class.gslice]
24.8.6.1
The
gslice
class overview
[class.gslice.overview]
24.8.6.2
gslice
constructors
[gslice.cons]
24.8.6.3
gslice
access functions
[gslice.access]
24.8.7
Class template
gslice_array
[template.gslice.array]
24.8.7.1
Class template
gslice_array
overview
[template.gslice.array.overview]
24.8.7.2
gslice_array
assignment
[gslice.array.assign]
24.8.7.3
gslice_array
compound assignment
[gslice.array.comp.assign]
24.8.7.4
gslice_array
fill function
[gslice.array.fill]
24.8.8
Class template
mask_array
[template.mask.array]
24.8.8.1
Class template
mask_array
overview
[template.mask.array.overview]
24.8.8.2
mask_array
assignment
[mask.array.assign]
24.8.8.3
mask_array
compound assignment
[mask.array.comp.assign]
24.8.8.4
mask_array
fill function
[mask.array.fill]
24.8.9
Class template
indirect_array
[template.indirect.array]
24.8.9.1
Class template
indirect_array
overview
[template.indirect.array.overview]
24.8.9.2
indirect_array
assignment
[indirect.array.assign]
24.8.9.3
indirect_array
compound assignment
[indirect.array.comp.assign]
24.8.9.4
indirect_array
fill function
[indirect.array.fill]
24.8.10
valarray
range access
[valarray.range]
24.9
Mathematical functions for floating-point types
[c.math]
24.9.1
Header
<cmath>
synopsis
[cmath.syn]
24.9.2
Absolute values
[c.math.abs]
24.9.3
Three-dimensional hypotenuse
[c.math.hypot3]
24.9.4
Classification / comparison functions
[c.math.fpclass]
24.9.5
Mathematical special functions
[sf.cmath]
24.9.5.1
Associated Laguerre polynomials
[sf.cmath.assoc_laguerre]
24.9.5.2
Associated Legendre functions
[sf.cmath.assoc_legendre]
24.9.5.3
Beta function
[sf.cmath.beta]
24.9.5.4
Complete elliptic integral of the first kind
[sf.cmath.comp_ellint_1]
24.9.5.5
Complete elliptic integral of the second kind
[sf.cmath.comp_ellint_2]
24.9.5.6
Complete elliptic integral of the third kind
[sf.cmath.comp_ellint_3]
24.9.5.7
Regular modified cylindrical Bessel functions
[sf.cmath.cyl_bessel_i]
24.9.5.8
Cylindrical Bessel functions of the first kind
[sf.cmath.cyl_bessel_j]
24.9.5.9
Irregular modified cylindrical Bessel functions
[sf.cmath.cyl_bessel_k]
24.9.5.10
Cylindrical Neumann functions
[sf.cmath.cyl_neumann]
24.9.5.11
Incomplete elliptic integral of the first kind
[sf.cmath.ellint_1]
24.9.5.12
Incomplete elliptic integral of the second kind
[sf.cmath.ellint_2]
24.9.5.13
Incomplete elliptic integral of the third kind
[sf.cmath.ellint_3]
24.9.5.14
Exponential integral
[sf.cmath.expint]
24.9.5.15
Hermite polynomials
[sf.cmath.hermite]
24.9.5.16
Laguerre polynomials
[sf.cmath.laguerre]
24.9.5.17
Legendre polynomials
[sf.cmath.legendre]
24.9.5.18
Riemann zeta function
[sf.cmath.riemann_zeta]
24.9.5.19
Spherical Bessel functions of the first kind
[sf.cmath.sph_bessel]
24.9.5.20
Spherical associated Legendre functions
[sf.cmath.sph_legendre]
24.9.5.21
Spherical Neumann functions
[sf.cmath.sph_neumann]
25
Time library
[time]
[time]
25.1
General
[time.general]
25.2
Header
<chrono>
synopsis
[time.syn]
25.3
Cpp17Clock
requirements
[time.clock.req]
25.4
Time-related traits
[time.traits]
25.4.1
treat_as_floating_point
[time.traits.is_fp]
25.4.2
duration_values
[time.traits.duration_values]
25.4.3
Specializations of
common_type
[time.traits.specializations]
25.4.4
Class template
is_clock
[time.traits.is_clock]
25.5
Class template
duration
[time.duration]
25.5.1
Constructors
[time.duration.cons]
25.5.2
Observer
[time.duration.observer]
25.5.3
Arithmetic
[time.duration.arithmetic]
25.5.4
Special values
[time.duration.special]
25.5.5
Non-member arithmetic
[time.duration.nonmember]
25.5.6
Comparisons
[time.duration.comparisons]
25.5.7
duration_cast
[time.duration.cast]
25.5.8
Suffixes for duration literals
[time.duration.literals]
25.5.9
Algorithms
[time.duration.alg]
25.5.10
I/O
[time.duration.io]
25.6
Class template
time_point
[time.point]
25.6.1
Constructors
[time.point.cons]
25.6.2
Observer
[time.point.observer]
25.6.3
Arithmetic
[time.point.arithmetic]
25.6.4
Special values
[time.point.special]
25.6.5
Non-member arithmetic
[time.point.nonmember]
25.6.6
Comparisons
[time.point.comparisons]
25.6.7
time_point_cast
[time.point.cast]
25.7
Clocks
[time.clock]
25.7.1
Class
system_clock
[time.clock.system]
25.7.1.1
Overview
[time.clock.system.overview]
25.7.1.2
Members
[time.clock.system.members]
25.7.1.3
Non-member functions
[time.clock.system.nonmembers]
25.7.2
Class
utc_clock
[time.clock.utc]
25.7.2.1
Overview
[time.clock.utc.overview]
25.7.2.2
Member functions
[time.clock.utc.members]
25.7.2.3
Non-member functions
[time.clock.utc.nonmembers]
25.7.3
Class
tai_clock
[time.clock.tai]
25.7.3.1
Overview
[time.clock.tai.overview]
25.7.3.2
Member functions
[time.clock.tai.members]
25.7.3.3
Non-member functions
[time.clock.tai.nonmembers]
25.7.4
Class
gps_clock
[time.clock.gps]
25.7.4.1
Overview
[time.clock.gps.overview]
25.7.4.2
Member functions
[time.clock.gps.members]
25.7.4.3
Non-member functions
[time.clock.gps.nonmembers]
25.7.5
Class
file_clock
[time.clock.file]
25.7.5.1
Overview
[time.clock.file.overview]
25.7.5.2
Member functions
[time.clock.file.members]
25.7.5.3
Non-member functions
[time.clock.file.nonmembers]
25.7.6
Class
steady_clock
[time.clock.steady]
25.7.7
Class
high_resolution_clock
[time.clock.hires]
25.7.8
Local time
[time.clock.local]
25.7.9
time_point
conversions
[time.clock.cast]
25.7.9.1
Class template
clock_time_conversion
[time.clock.conv]
25.7.9.2
Identity conversions
[time.clock.cast.id]
25.7.9.3
Conversions between
system_clock
and
utc_clock
[time.clock.cast.sys.utc]
25.7.9.4
Conversions between
system_clock
and other clocks
[time.clock.cast.sys]
25.7.9.5
Conversions between
utc_clock
and other clocks
[time.clock.cast.utc]
25.7.9.6
Function template
clock_cast
[time.clock.cast.fn]
25.8
The civil calendar
[time.cal]
25.8.1
In general
[time.cal.general]
25.8.2
Class
last_spec
[time.cal.last]
25.8.3
Class
day
[time.cal.day]
25.8.3.1
Overview
[time.cal.day.overview]
25.8.3.2
Member functions
[time.cal.day.members]
25.8.3.3
Non-member functions
[time.cal.day.nonmembers]
25.8.4
Class
month
[time.cal.month]
25.8.4.1
Overview
[time.cal.month.overview]
25.8.4.2
Member functions
[time.cal.month.members]
25.8.4.3
Non-member functions
[time.cal.month.nonmembers]
25.8.5
Class
year
[time.cal.year]
25.8.5.1
Overview
[time.cal.year.overview]
25.8.5.2
Member functions
[time.cal.year.members]
25.8.5.3
Non-member functions
[time.cal.year.nonmembers]
25.8.6
Class
weekday
[time.cal.wd]
25.8.6.1
Overview
[time.cal.wd.overview]
25.8.6.2
Member functions
[time.cal.wd.members]
25.8.6.3
Non-member functions
[time.cal.wd.nonmembers]
25.8.7
Class
weekday_indexed
[time.cal.wdidx]
25.8.7.1
Overview
[time.cal.wdidx.overview]
25.8.7.2
Member functions
[time.cal.wdidx.members]
25.8.7.3
Non-member functions
[time.cal.wdidx.nonmembers]
25.8.8
Class
weekday_last
[time.cal.wdlast]
25.8.8.1
Overview
[time.cal.wdlast.overview]
25.8.8.2
Member functions
[time.cal.wdlast.members]
25.8.8.3
Non-member functions
[time.cal.wdlast.nonmembers]
25.8.9
Class
month_day
[time.cal.md]
25.8.9.1
Overview
[time.cal.md.overview]
25.8.9.2
Member functions
[time.cal.md.members]
25.8.9.3
Non-member functions
[time.cal.md.nonmembers]
25.8.10
Class
month_day_last
[time.cal.mdlast]
25.8.11
Class
month_weekday
[time.cal.mwd]
25.8.11.1
Overview
[time.cal.mwd.overview]
25.8.11.2
Member functions
[time.cal.mwd.members]
25.8.11.3
Non-member functions
[time.cal.mwd.nonmembers]
25.8.12
Class
month_weekday_last
[time.cal.mwdlast]
25.8.12.1
Overview
[time.cal.mwdlast.overview]
25.8.12.2
Member functions
[time.cal.mwdlast.members]
25.8.12.3
Non-member functions
[time.cal.mwdlast.nonmembers]
25.8.13
Class
year_month
[time.cal.ym]
25.8.13.1
Overview
[time.cal.ym.overview]
25.8.13.2
Member functions
[time.cal.ym.members]
25.8.13.3
Non-member functions
[time.cal.ym.nonmembers]
25.8.14
Class
year_month_day
[time.cal.ymd]
25.8.14.1
Overview
[time.cal.ymd.overview]
25.8.14.2
Member functions
[time.cal.ymd.members]
25.8.14.3
Non-member functions
[time.cal.ymd.nonmembers]
25.8.15
Class
year_month_day_last
[time.cal.ymdlast]
25.8.15.1
Overview
[time.cal.ymdlast.overview]
25.8.15.2
Member functions
[time.cal.ymdlast.members]
25.8.15.3
Non-member functions
[time.cal.ymdlast.nonmembers]
25.8.16
Class
year_month_weekday
[time.cal.ymwd]
25.8.16.1
Overview
[time.cal.ymwd.overview]
25.8.16.2
Member functions
[time.cal.ymwd.members]
25.8.16.3
Non-member functions
[time.cal.ymwd.nonmembers]
25.8.17
Class
year_month_weekday_last
[time.cal.ymwdlast]
25.8.17.1
Overview
[time.cal.ymwdlast.overview]
25.8.17.2
Member functions
[time.cal.ymwdlast.members]
25.8.17.3
Non-member functions
[time.cal.ymwdlast.nonmembers]
25.8.18
Conventional syntax operators
[time.cal.operators]
25.9
Class template
time_of_day
[time.tod]
25.9.1
Overview
[time.tod.overview]
25.9.2
Hours precision
[time.tod.hours]
25.9.3
Minutes precision
[time.tod.minutes]
25.9.4
Seconds precision
[time.tod.seconds]
25.9.5
Sub-second precision
[time.tod.subsecond]
25.9.6
Formatted output
[time.tod.io]
25.10
Time zones
[time.zone]
25.10.1
In general
[time.zone.general]
25.10.2
Time zone database
[time.zone.db]
25.10.2.1
Class
tzdb
[time.zone.db.tzdb]
25.10.2.2
Class
tzdb_list
[time.zone.db.list]
25.10.2.3
Time zone database access
[time.zone.db.access]
25.10.2.4
Remote time zone database support
[time.zone.db.remote]
25.10.3
Exception classes
[time.zone.exception]
25.10.3.1
Class
nonexistent_local_time
[time.zone.exception.nonexist]
25.10.3.2
Class
ambiguous_local_time
[time.zone.exception.ambig]
25.10.4
Information classes
[time.zone.info]
25.10.4.1
Class
sys_info
[time.zone.info.sys]
25.10.4.2
Class
local_info
[time.zone.info.local]
25.10.5
Class
time_zone
[time.zone.timezone]
25.10.5.1
Overview
[time.zone.overview]
25.10.5.2
Member functions
[time.zone.members]
25.10.5.3
Non-member functions
[time.zone.nonmembers]
25.10.6
Class template
zoned_traits
[time.zone.zonedtraits]
25.10.7
Class template
zoned_time
[time.zone.zonedtime]
25.10.7.1
Overview
[time.zone.zonedtime.overview]
25.10.7.2
Constructors
[time.zone.zonedtime.ctor]
25.10.7.3
Member functions
[time.zone.zonedtime.members]
25.10.7.4
Non-member functions
[time.zone.zonedtime.nonmembers]
25.10.8
Class
leap
[time.zone.leap]
25.10.8.1
Overview
[time.zone.leap.overview]
25.10.8.2
Member functions
[time.zone.leap.members]
25.10.8.3
Non-member functions
[time.zone.leap.nonmembers]
25.10.9
Class
link
[time.zone.link]
25.10.9.1
Overview
[time.zone.link.overview]
25.10.9.2
Member functions
[time.zone.link.members]
25.10.9.3
Non-member functions
[time.zone.link.nonmembers]
25.11
Formatting
[time.format]
25.12
Parsing
[time.parse]
25.13
Header
<ctime>
synopsis
[ctime.syn]
26
Localization library
[localization]
[localization]
26.1
General
[localization.general]
26.2
Header
<locale>
synopsis
[locale.syn]
26.3
Locales
[locales]
26.3.1
Class
locale
[locale]
26.3.1.1
Types
[locale.types]
26.3.1.1.1
Type
locale::category
[locale.category]
26.3.1.1.2
Class
locale::facet
[locale.facet]
26.3.1.1.3
Class
locale::id
[locale.id]
26.3.1.2
Constructors and destructor
[locale.cons]
26.3.1.3
Members
[locale.members]
26.3.1.4
Operators
[locale.operators]
26.3.1.5
Static members
[locale.statics]
26.3.2
locale
globals
[locale.global.templates]
26.3.3
Convenience interfaces
[locale.convenience]
26.3.3.1
Character classification
[classification]
26.3.3.2
Conversions
[conversions]
26.3.3.2.1
Character conversions
[conversions.character]
26.4
Standard
locale
categories
[locale.categories]
26.4.1
The
ctype
category
[category.ctype]
26.4.1.1
Class template
ctype
[locale.ctype]
26.4.1.1.1
ctype
members
[locale.ctype.members]
26.4.1.1.2
ctype
virtual functions
[locale.ctype.virtuals]
26.4.1.2
Class template
ctype_byname
[locale.ctype.byname]
26.4.1.3
ctype
specializations
[facet.ctype.special]
26.4.1.3.1
ctype<char>
destructor
[facet.ctype.char.dtor]
26.4.1.3.2
ctype<char>
members
[facet.ctype.char.members]
26.4.1.3.3
ctype<char>
static members
[facet.ctype.char.statics]
26.4.1.3.4
ctype<char>
virtual functions
[facet.ctype.char.virtuals]
26.4.1.4
Class template
codecvt
[locale.codecvt]
26.4.1.4.1
codecvt
members
[locale.codecvt.members]
26.4.1.4.2
codecvt
virtual functions
[locale.codecvt.virtuals]
26.4.1.5
Class template
codecvt_byname
[locale.codecvt.byname]
26.4.2
The numeric category
[category.numeric]
26.4.2.1
Class template
num_get
[locale.num.get]
26.4.2.1.1
num_get
members
[facet.num.get.members]
26.4.2.1.2
num_get
virtual functions
[facet.num.get.virtuals]
26.4.2.2
Class template
num_put
[locale.nm.put]
26.4.2.2.1
num_put
members
[facet.num.put.members]
26.4.2.2.2
num_put
virtual functions
[facet.num.put.virtuals]
26.4.3
The numeric punctuation facet
[facet.numpunct]
26.4.3.1
Class template
numpunct
[locale.numpunct]
26.4.3.1.1
numpunct
members
[facet.numpunct.members]
26.4.3.1.2
numpunct
virtual functions
[facet.numpunct.virtuals]
26.4.3.2
Class template
numpunct_byname
[locale.numpunct.byname]
26.4.4
The collate category
[category.collate]
26.4.4.1
Class template
collate
[locale.collate]
26.4.4.1.1
collate
members
[locale.collate.members]
26.4.4.1.2
collate
virtual functions
[locale.collate.virtuals]
26.4.4.2
Class template
collate_byname
[locale.collate.byname]
26.4.5
The time category
[category.time]
26.4.5.1
Class template
time_get
[locale.time.get]
26.4.5.1.1
time_get
members
[locale.time.get.members]
26.4.5.1.2
time_get
virtual functions
[locale.time.get.virtuals]
26.4.5.2
Class template
time_get_byname
[locale.time.get.byname]
26.4.5.3
Class template
time_put
[locale.time.put]
26.4.5.3.1
time_put
members
[locale.time.put.members]
26.4.5.3.2
time_put
virtual functions
[locale.time.put.virtuals]
26.4.5.4
Class template
time_put_byname
[locale.time.put.byname]
26.4.6
The monetary category
[category.monetary]
26.4.6.1
Class template
money_get
[locale.money.get]
26.4.6.1.1
money_get
members
[locale.money.get.members]
26.4.6.1.2
money_get
virtual functions
[locale.money.get.virtuals]
26.4.6.2
Class template
money_put
[locale.money.put]
26.4.6.2.1
money_put
members
[locale.money.put.members]
26.4.6.2.2
money_put
virtual functions
[locale.money.put.virtuals]
26.4.6.3
Class template
moneypunct
[locale.moneypunct]
26.4.6.3.1
moneypunct
members
[locale.moneypunct.members]
26.4.6.3.2
moneypunct
virtual functions
[locale.moneypunct.virtuals]
26.4.6.4
Class template
moneypunct_byname
[locale.moneypunct.byname]
26.4.7
The message retrieval category
[category.messages]
26.4.7.1
Class template
messages
[locale.messages]
26.4.7.1.1
messages
members
[locale.messages.members]
26.4.7.1.2
messages
virtual functions
[locale.messages.virtuals]
26.4.7.2
Class template
messages_byname
[locale.messages.byname]
26.5
C library locales
[c.locales]
26.5.1
Header
<clocale>
synopsis
[clocale.syn]
27
Input/output library
[input.output]
[input.output]
27.1
General
[input.output.general]
27.2
Iostreams requirements
[iostreams.requirements]
27.2.1
Imbue limitations
[iostream.limits.imbue]
27.2.2
Positioning type limitations
[iostreams.limits.pos]
27.2.3
Thread safety
[iostreams.threadsafety]
27.3
Forward declarations
[iostream.forward]
27.3.1
Header
<iosfwd>
synopsis
[iosfwd.syn]
27.3.2
Overview
[iostream.forward.overview]
27.4
Standard iostream objects
[iostream.objects]
27.4.1
Header
<iostream>
synopsis
[iostream.syn]
27.4.2
Overview
[iostream.objects.overview]
27.4.3
Narrow stream objects
[narrow.stream.objects]
27.4.4
Wide stream objects
[wide.stream.objects]
27.5
Iostreams base classes
[iostreams.base]
27.5.1
Header
<ios>
synopsis
[ios.syn]
27.5.2
Types
[stream.types]
27.5.3
Class
ios_base
[ios.base]
27.5.3.1
Types
[ios.types]
27.5.3.1.1
Class
ios_base::failure
[ios::failure]
27.5.3.1.2
Type
ios_base::fmtflags
[ios::fmtflags]
27.5.3.1.3
Type
ios_base::iostate
[ios::iostate]
27.5.3.1.4
Type
ios_base::openmode
[ios::openmode]
27.5.3.1.5
Type
ios_base::seekdir
[ios::seekdir]
27.5.3.1.6
Class
ios_base::Init
[ios::Init]
27.5.3.2
ios_base
state functions
[fmtflags.state]
27.5.3.3
ios_base
functions
[ios.base.locales]
27.5.3.4
ios_base
static members
[ios.members.static]
27.5.3.5
ios_base
storage functions
[ios.base.storage]
27.5.3.6
ios_base
callbacks
[ios.base.callback]
27.5.3.7
ios_base
constructors/destructor
[ios.base.cons]
27.5.4
Class template
fpos
[fpos]
27.5.4.1
fpos
members
[fpos.members]
27.5.4.2
fpos
requirements
[fpos.operations]
27.5.5
Class template
basic_ios
[ios]
27.5.5.1
Overview
[ios.overview]
27.5.5.2
basic_ios
constructors
[basic.ios.cons]
27.5.5.3
Member functions
[basic.ios.members]
27.5.5.4
basic_ios
flags functions
[iostate.flags]
27.5.6
ios_base
manipulators
[std.ios.manip]
27.5.6.1
fmtflags
manipulators
[fmtflags.manip]
27.5.6.2
adjustfield
manipulators
[adjustfield.manip]
27.5.6.3
basefield
manipulators
[basefield.manip]
27.5.6.4
floatfield
manipulators
[floatfield.manip]
27.5.7
Error reporting
[error.reporting]
27.6
Stream buffers
[stream.buffers]
27.6.1
Header
<streambuf>
synopsis
[streambuf.syn]
27.6.2
Stream buffer requirements
[streambuf.reqts]
27.6.3
Class template
basic_streambuf
[streambuf]
27.6.3.1
basic_streambuf
constructors
[streambuf.cons]
27.6.3.2
basic_streambuf
public member functions
[streambuf.members]
27.6.3.2.1
Locales
[streambuf.locales]
27.6.3.2.2
Buffer management and positioning
[streambuf.buffer]
27.6.3.2.3
Get area
[streambuf.pub.get]
27.6.3.2.4
Putback
[streambuf.pub.pback]
27.6.3.2.5
Put area
[streambuf.pub.put]
27.6.3.3
basic_streambuf
protected member functions
[streambuf.protected]
27.6.3.3.1
Assignment
[streambuf.assign]
27.6.3.3.2
Get area access
[streambuf.get.area]
27.6.3.3.3
Put area access
[streambuf.put.area]
27.6.3.4
basic_streambuf
virtual functions
[streambuf.virtuals]
27.6.3.4.1
Locales
[streambuf.virt.locales]
27.6.3.4.2
Buffer management and positioning
[streambuf.virt.buffer]
27.6.3.4.3
Get area
[streambuf.virt.get]
27.6.3.4.4
Putback
[streambuf.virt.pback]
27.6.3.4.5
Put area
[streambuf.virt.put]
27.7
Formatting and manipulators
[iostream.format]
27.7.1
Header
<istream>
synopsis
[istream.syn]
27.7.2
Header
<ostream>
synopsis
[ostream.syn]
27.7.3
Header
<iomanip>
synopsis
[iomanip.syn]
27.7.4
Input streams
[input.streams]
27.7.4.1
Class template
basic_istream
[istream]
27.7.4.1.1
basic_istream
constructors
[istream.cons]
27.7.4.1.2
Class
basic_istream
assign and swap
[istream.assign]
27.7.4.1.3
Class
basic_istream::sentry
[istream::sentry]
27.7.4.2
Formatted input functions
[istream.formatted]
27.7.4.2.1
Common requirements
[istream.formatted.reqmts]
27.7.4.2.2
Arithmetic extractors
[istream.formatted.arithmetic]
27.7.4.2.3
basic_istream::operator>>
[istream.extractors]
27.7.4.3
Unformatted input functions
[istream.unformatted]
27.7.4.4
Standard
basic_istream
manipulators
[istream.manip]
27.7.4.5
Rvalue stream extraction
[istream.rvalue]
27.7.4.6
Class template
basic_iostream
[iostreamclass]
27.7.4.6.1
basic_iostream
constructors
[iostream.cons]
27.7.4.6.2
basic_iostream
destructor
[iostream.dest]
27.7.4.6.3
basic_iostream
assign and swap
[iostream.assign]
27.7.5
Output streams
[output.streams]
27.7.5.1
Class template
basic_ostream
[ostream]
27.7.5.1.1
basic_ostream
constructors
[ostream.cons]
27.7.5.1.2
Class
basic_ostream
assign and swap
[ostream.assign]
27.7.5.1.3
Class
basic_ostream::sentry
[ostream::sentry]
27.7.5.1.4
basic_ostream
seek members
[ostream.seeks]
27.7.5.2
Formatted output functions
[ostream.formatted]
27.7.5.2.1
Common requirements
[ostream.formatted.reqmts]
27.7.5.2.2
Arithmetic inserters
[ostream.inserters.arithmetic]
27.7.5.2.3
basic_ostream::operator<<
[ostream.inserters]
27.7.5.2.4
Character inserter function templates
[ostream.inserters.character]
27.7.5.3
Unformatted output functions
[ostream.unformatted]
27.7.5.4
Standard
basic_ostream
manipulators
[ostream.manip]
27.7.5.5
Rvalue stream insertion
[ostream.rvalue]
27.7.6
Standard manipulators
[std.manip]
27.7.7
Extended manipulators
[ext.manip]
27.7.8
Quoted manipulators
[quoted.manip]
27.8
String-based streams
[string.streams]
27.8.1
Header
<sstream>
synopsis
[sstream.syn]
27.8.2
Class template
basic_stringbuf
[stringbuf]
27.8.2.1
basic_stringbuf
constructors
[stringbuf.cons]
27.8.2.2
Assign and swap
[stringbuf.assign]
27.8.2.3
Member functions
[stringbuf.members]
27.8.2.4
Overridden virtual functions
[stringbuf.virtuals]
27.8.3
Class template
basic_istringstream
[istringstream]
27.8.3.1
basic_istringstream
constructors
[istringstream.cons]
27.8.3.2
Assign and swap
[istringstream.assign]
27.8.3.3
Member functions
[istringstream.members]
27.8.4
Class template
basic_ostringstream
[ostringstream]
27.8.4.1
basic_ostringstream
constructors
[ostringstream.cons]
27.8.4.2
Assign and swap
[ostringstream.assign]
27.8.4.3
Member functions
[ostringstream.members]
27.8.5
Class template
basic_stringstream
[stringstream]
27.8.5.1
basic_stringstream
constructors
[stringstream.cons]
27.8.5.2
Assign and swap
[stringstream.assign]
27.8.5.3
Member functions
[stringstream.members]
27.9
File-based streams
[file.streams]
27.9.1
Header
<fstream>
synopsis
[fstream.syn]
27.9.2
Class template
basic_filebuf
[filebuf]
27.9.2.1
basic_filebuf
constructors
[filebuf.cons]
27.9.2.2
Assign and swap
[filebuf.assign]
27.9.2.3
Member functions
[filebuf.members]
27.9.2.4
Overridden virtual functions
[filebuf.virtuals]
27.9.3
Class template
basic_ifstream
[ifstream]
27.9.3.1
basic_ifstream
constructors
[ifstream.cons]
27.9.3.2
Assign and swap
[ifstream.assign]
27.9.3.3
Member functions
[ifstream.members]
27.9.4
Class template
basic_ofstream
[ofstream]
27.9.4.1
basic_ofstream
constructors
[ofstream.cons]
27.9.4.2
Assign and swap
[ofstream.assign]
27.9.4.3
Member functions
[ofstream.members]
27.9.5
Class template
basic_fstream
[fstream]
27.9.5.1
basic_fstream
constructors
[fstream.cons]
27.9.5.2
Assign and swap
[fstream.assign]
27.9.5.3
Member functions
[fstream.members]
27.10
Synchronized output streams
[syncstream]
27.10.1
Header
<syncstream>
synopsis
[syncstream.syn]
27.10.2
Class template
basic_syncbuf
[syncstream.syncbuf]
27.10.2.1
Overview
[syncstream.syncbuf.overview]
27.10.2.2
Construction and destruction
[syncstream.syncbuf.cons]
27.10.2.3
Assignment and swap
[syncstream.syncbuf.assign]
27.10.2.4
Member functions
[syncstream.syncbuf.members]
27.10.2.5
Overridden virtual functions
[syncstream.syncbuf.virtuals]
27.10.2.6
Specialized algorithms
[syncstream.syncbuf.special]
27.10.3
Class template
basic_osyncstream
[syncstream.osyncstream]
27.10.3.1
Overview
[syncstream.osyncstream.overview]
27.10.3.2
Construction and destruction
[syncstream.osyncstream.cons]
27.10.3.3
Assignment
[syncstream.osyncstream.assign]
27.10.3.4
Member functions
[syncstream.osyncstream.members]
27.11
File systems
[filesystems]
27.11.1
General
[fs.general]
27.11.2
Conformance
[fs.conformance]
27.11.2.1
POSIX conformance
[fs.conform.9945]
27.11.2.2
Operating system dependent behavior conformance
[fs.conform.os]
27.11.2.3
File system race behavior
[fs.race.behavior]
27.11.3
Normative references
[fs.norm.ref]
27.11.4
Requirements
[fs.req]
27.11.4.1
Namespaces and headers
[fs.req.namespace]
27.11.5
Header
<filesystem>
synopsis
[fs.filesystem.syn]
27.11.6
Error reporting
[fs.err.report]
27.11.7
Class
path
[fs.class.path]
27.11.7.1
Generic pathname format
[fs.path.generic]
27.11.7.2
path
conversions
[fs.path.cvt]
27.11.7.2.1
path
argument format conversions
[fs.path.fmt.cvt]
27.11.7.2.2
path
type and encoding conversions
[fs.path.type.cvt]
27.11.7.3
path
requirements
[fs.path.req]
27.11.7.4
path
members
[fs.path.member]
27.11.7.4.1
path
constructors
[fs.path.construct]
27.11.7.4.2
path
assignments
[fs.path.assign]
27.11.7.4.3
path
appends
[fs.path.append]
27.11.7.4.4
path
concatenation
[fs.path.concat]
27.11.7.4.5
path
modifiers
[fs.path.modifiers]
27.11.7.4.6
path
native format observers
[fs.path.native.obs]
27.11.7.4.7
path
generic format observers
[fs.path.generic.obs]
27.11.7.4.8
path
compare
[fs.path.compare]
27.11.7.4.9
path
decomposition
[fs.path.decompose]
27.11.7.4.10
path
query
[fs.path.query]
27.11.7.4.11
path
generation
[fs.path.gen]
27.11.7.5
path
iterators
[fs.path.itr]
27.11.7.6
path
inserter and extractor
[fs.path.io]
27.11.7.7
path
non-member functions
[fs.path.nonmember]
27.11.7.7.1
path
factory functions
[fs.path.factory]
27.11.8
Class
filesystem_error
[fs.class.filesystem_error]
27.11.8.1
filesystem_error
members
[fs.filesystem_error.members]
27.11.9
Enumerations
[fs.enum]
27.11.9.1
Enum
path::format
[fs.enum.path.format]
27.11.9.2
Enum class
file_type
[fs.enum.file_type]
27.11.9.3
Enum class
copy_options
[fs.enum.copy.opts]
27.11.9.4
Enum class
perms
[fs.enum.perms]
27.11.9.5
Enum class
perm_options
[fs.enum.perm.opts]
27.11.9.6
Enum class
directory_options
[fs.enum.dir.opts]
27.11.10
Class
file_status
[fs.class.file_status]
27.11.10.1
file_status
constructors
[fs.file_status.cons]
27.11.10.2
file_status
observers
[fs.file_status.obs]
27.11.10.3
file_status
modifiers
[fs.file_status.mods]
27.11.11
Class
directory_entry
[fs.class.directory_entry]
27.11.11.1
directory_entry
constructors
[fs.dir.entry.cons]
27.11.11.2
directory_entry
modifiers
[fs.dir.entry.mods]
27.11.11.3
directory_entry
observers
[fs.dir.entry.obs]
27.11.12
Class
directory_iterator
[fs.class.directory_iterator]
27.11.12.1
directory_iterator
members
[fs.dir.itr.members]
27.11.12.2
directory_iterator
non-member functions
[fs.dir.itr.nonmembers]
27.11.13
Class
recursive_directory_iterator
[fs.class.rec.dir.itr]
27.11.13.1
recursive_directory_iterator
members
[fs.rec.dir.itr.members]
27.11.13.2
recursive_directory_iterator
non-member functions
[fs.rec.dir.itr.nonmembers]
27.11.14
Filesystem operation functions
[fs.op.funcs]
27.11.14.1
Absolute
[fs.op.absolute]
27.11.14.2
Canonical
[fs.op.canonical]
27.11.14.3
Copy
[fs.op.copy]
27.11.14.4
Copy file
[fs.op.copy_file]
27.11.14.5
Copy symlink
[fs.op.copy_symlink]
27.11.14.6
Create directories
[fs.op.create_directories]
27.11.14.7
Create directory
[fs.op.create_directory]
27.11.14.8
Create directory symlink
[fs.op.create_dir_symlk]
27.11.14.9
Create hard link
[fs.op.create_hard_lk]
27.11.14.10
Create symlink
[fs.op.create_symlink]
27.11.14.11
Current path
[fs.op.current_path]
27.11.14.12
Equivalent
[fs.op.equivalent]
27.11.14.13
Exists
[fs.op.exists]
27.11.14.14
File size
[fs.op.file_size]
27.11.14.15
Hard link count
[fs.op.hard_lk_ct]
27.11.14.16
Is block file
[fs.op.is_block_file]
27.11.14.17
Is character file
[fs.op.is_char_file]
27.11.14.18
Is directory
[fs.op.is_directory]
27.11.14.19
Is empty
[fs.op.is_empty]
27.11.14.20
Is fifo
[fs.op.is_fifo]
27.11.14.21
Is other
[fs.op.is_other]
27.11.14.22
Is regular file
[fs.op.is_regular_file]
27.11.14.23
Is socket
[fs.op.is_socket]
27.11.14.24
Is symlink
[fs.op.is_symlink]
27.11.14.25
Last write time
[fs.op.last_write_time]
27.11.14.26
Permissions
[fs.op.permissions]
27.11.14.27
Proximate
[fs.op.proximate]
27.11.14.28
Read symlink
[fs.op.read_symlink]
27.11.14.29
Relative
[fs.op.relative]
27.11.14.30
Remove
[fs.op.remove]
27.11.14.31
Remove all
[fs.op.remove_all]
27.11.14.32
Rename
[fs.op.rename]
27.11.14.33
Resize file
[fs.op.resize_file]
27.11.14.34
Space
[fs.op.space]
27.11.14.35
Status
[fs.op.status]
27.11.14.36
Status known
[fs.op.status_known]
27.11.14.37
Symlink status
[fs.op.symlink_status]
27.11.14.38
Temporary directory path
[fs.op.temp_dir_path]
27.11.14.39
Weakly canonical
[fs.op.weakly_canonical]
27.12
C library files
[c.files]
27.12.1
Header
<cstdio>
synopsis
[cstdio.syn]
27.12.2
Header
<cinttypes>
synopsis
[cinttypes.syn]
28
Regular expressions library
[re]
[re]
28.1
General
[re.general]
28.2
Definitions
[re.def]
28.3
Requirements
[re.req]
28.4
Header
<regex>
synopsis
[re.syn]
28.5
Namespace
std::regex_constants
[re.const]
28.5.1
Bitmask type
syntax_option_type
[re.synopt]
28.5.2
Bitmask type
match_flag_type
[re.matchflag]
28.5.3
Implementation-defined
error_type
[re.err]
28.6
Class
regex_error
[re.badexp]
28.7
Class template
regex_traits
[re.traits]
28.8
Class template
basic_regex
[re.regex]
28.8.1
basic_regex
constructors
[re.regex.construct]
28.8.2
basic_regex
assign
[re.regex.assign]
28.8.3
basic_regex
constant operations
[re.regex.operations]
28.8.4
basic_regex
locale
[re.regex.locale]
28.8.5
basic_regex
swap
[re.regex.swap]
28.8.6
basic_regex
non-member functions
[re.regex.nonmemb]
28.8.6.1
basic_regex
non-member swap
[re.regex.nmswap]
28.9
Class template
sub_match
[re.submatch]
28.9.1
sub_match
members
[re.submatch.members]
28.9.2
sub_match
non-member operators
[re.submatch.op]
28.10
Class template
match_results
[re.results]
28.10.1
match_results
constructors
[re.results.const]
28.10.2
match_results
state
[re.results.state]
28.10.3
match_results
size
[re.results.size]
28.10.4
match_results
element access
[re.results.acc]
28.10.5
match_results
formatting
[re.results.form]
28.10.6
match_results
allocator
[re.results.all]
28.10.7
match_results
swap
[re.results.swap]
28.10.8
match_results
non-member functions
[re.results.nonmember]
28.11
Regular expression algorithms
[re.alg]
28.11.1
Exceptions
[re.except]
28.11.2
regex_match
[re.alg.match]
28.11.3
regex_search
[re.alg.search]
28.11.4
regex_replace
[re.alg.replace]
28.12
Regular expression iterators
[re.iter]
28.12.1
Class template
regex_iterator
[re.regiter]
28.12.1.1
regex_iterator
constructors
[re.regiter.cnstr]
28.12.1.2
regex_iterator
comparisons
[re.regiter.comp]
28.12.1.3
regex_iterator
indirection
[re.regiter.deref]
28.12.1.4
regex_iterator
increment
[re.regiter.incr]
28.12.2
Class template
regex_token_iterator
[re.tokiter]
28.12.2.1
regex_token_iterator
constructors
[re.tokiter.cnstr]
28.12.2.2
regex_token_iterator
comparisons
[re.tokiter.comp]
28.12.2.3
regex_token_iterator
indirection
[re.tokiter.deref]
28.12.2.4
regex_token_iterator
increment
[re.tokiter.incr]
28.13
Modified ECMAScript regular expression grammar
[re.grammar]
29
Atomic operations library
[atomics]
[atomics]
29.1
General
[atomics.general]
29.2
Header
<atomic>
synopsis
[atomics.syn]
29.3
Type aliases
[atomics.alias]
29.4
Order and consistency
[atomics.order]
29.5
Lock-free property
[atomics.lockfree]
29.6
Class template
atomic_ref
[atomics.ref.generic]
29.6.1
Operations
[atomics.ref.operations]
29.6.2
Specializations for integral types
[atomics.ref.int]
29.6.3
Specializations for floating-point types
[atomics.ref.float]
29.6.4
Partial specialization for pointers
[atomics.ref.pointer]
29.6.5
Member operators common to integers and pointers to objects
[atomics.ref.memop]
29.7
Class template
atomic
[atomics.types.generic]
29.7.1
Operations on atomic types
[atomics.types.operations]
29.7.2
Specializations for integers
[atomics.types.int]
29.7.3
Specializations for floating-point types
[atomics.types.float]
29.7.4
Partial specialization for pointers
[atomics.types.pointer]
29.7.5
Member operators common to integers and pointers to objects
[atomics.types.memop]
29.8
Non-member functions
[atomics.nonmembers]
29.9
Flag type and operations
[atomics.flag]
29.10
Fences
[atomics.fences]
30
Thread support library
[thread]
[thread]
30.1
General
[thread.general]
30.2
Requirements
[thread.req]
30.2.1
Template parameter names
[thread.req.paramname]
30.2.2
Exceptions
[thread.req.exception]
30.2.3
Native handles
[thread.req.native]
30.2.4
Timing specifications
[thread.req.timing]
30.2.5
Requirements for
Cpp17Lockable
types
[thread.req.lockable]
30.2.5.1
In general
[thread.req.lockable.general]
30.2.5.2
Cpp17BasicLockable
requirements
[thread.req.lockable.basic]
30.2.5.3
Cpp17Lockable
requirements
[thread.req.lockable.req]
30.2.5.4
Cpp17TimedLockable
requirements
[thread.req.lockable.timed]
30.2.6
decay_copy
[thread.decaycopy]
30.3
Threads
[thread.threads]
30.3.1
Header
<thread>
synopsis
[thread.syn]
30.3.2
Class
thread
[thread.thread.class]
30.3.2.1
Class
thread::id
[thread.thread.id]
30.3.2.2
thread
constructors
[thread.thread.constr]
30.3.2.3
thread
destructor
[thread.thread.destr]
30.3.2.4
thread
assignment
[thread.thread.assign]
30.3.2.5
thread
members
[thread.thread.member]
30.3.2.6
thread
static members
[thread.thread.static]
30.3.2.7
thread
specialized algorithms
[thread.thread.algorithm]
30.3.3
Namespace
this_thread
[thread.thread.this]
30.4
Mutual exclusion
[thread.mutex]
30.4.1
Header
<mutex>
synopsis
[mutex.syn]
30.4.2
Header
<shared_mutex>
synopsis
[shared_mutex.syn]
30.4.3
Mutex requirements
[thread.mutex.requirements]
30.4.3.1
In general
[thread.mutex.requirements.general]
30.4.3.2
Mutex types
[thread.mutex.requirements.mutex]
30.4.3.2.1
Class
mutex
[thread.mutex.class]
30.4.3.2.2
Class
recursive_mutex
[thread.mutex.recursive]
30.4.3.3
Timed mutex types
[thread.timedmutex.requirements]
30.4.3.3.1
Class
timed_mutex
[thread.timedmutex.class]
30.4.3.3.2
Class
recursive_timed_mutex
[thread.timedmutex.recursive]
30.4.3.4
Shared mutex types
[thread.sharedmutex.requirements]
30.4.3.4.1
Class
shared_mutex
[thread.sharedmutex.class]
30.4.3.5
Shared timed mutex types
[thread.sharedtimedmutex.requirements]
30.4.3.5.1
Class
shared_timed_mutex
[thread.sharedtimedmutex.class]
30.4.4
Locks
[thread.lock]
30.4.4.1
Class template
lock_guard
[thread.lock.guard]
30.4.4.2
Class template
scoped_lock
[thread.lock.scoped]
30.4.4.3
Class template
unique_lock
[thread.lock.unique]
30.4.4.3.1
unique_lock
constructors, destructor, and assignment
[thread.lock.unique.cons]
30.4.4.3.2
unique_lock
locking
[thread.lock.unique.locking]
30.4.4.3.3
unique_lock
modifiers
[thread.lock.unique.mod]
30.4.4.3.4
unique_lock
observers
[thread.lock.unique.obs]
30.4.4.4
Class template
shared_lock
[thread.lock.shared]
30.4.4.4.1
shared_lock
constructors, destructor, and assignment
[thread.lock.shared.cons]
30.4.4.4.2
shared_lock
locking
[thread.lock.shared.locking]
30.4.4.4.3
shared_lock
modifiers
[thread.lock.shared.mod]
30.4.4.4.4
shared_lock
observers
[thread.lock.shared.obs]
30.4.5
Generic locking algorithms
[thread.lock.algorithm]
30.4.6
Call once
[thread.once]
30.4.6.1
Struct
once_flag
[thread.once.onceflag]
30.4.6.2
Function
call_once
[thread.once.callonce]
30.5
Condition variables
[thread.condition]
30.5.1
Header
<condition_variable>
synopsis
[condition_variable.syn]
30.5.2
Non-member functions
[thread.condition.nonmember]
30.5.3
Class
condition_variable
[thread.condition.condvar]
30.5.4
Class
condition_variable_any
[thread.condition.condvarany]
30.6
Futures
[futures]
30.6.1
Overview
[futures.overview]
30.6.2
Header
<future>
synopsis
[future.syn]
30.6.3
Error handling
[futures.errors]
30.6.4
Class
future_error
[futures.future_error]
30.6.5
Shared state
[futures.state]
30.6.6
Class template
promise
[futures.promise]
30.6.7
Class template
future
[futures.unique_future]
30.6.8
Class template
shared_future
[futures.shared_future]
30.6.9
Function template
async
[futures.async]
30.6.10
Class template
packaged_task
[futures.task]
30.6.10.1
packaged_task
member functions
[futures.task.members]
30.6.10.2
packaged_task
globals
[futures.task.nonmembers]
Annex A (informative)
Grammar summary
[gram]
[gram]
A.1
Keywords
[gram.key]
A.2
Lexical conventions
[gram.lex]
A.3
Basics
[gram.basic]
A.4
Expressions
[gram.expr]
A.5
Statements
[gram.stmt]
A.6
Declarations
[gram.dcl]
A.7
Classes
[gram.class]
A.8
Overloading
[gram.over]
A.9
Templates
[gram.temp]
A.10
Exception handling
[gram.except]
A.11
Preprocessing directives
[gram.cpp]
Annex B (informative)
Implementation quantities
[implimits]
[implimits]
Annex C (informative)
Compatibility
[diff]
[diff]
C.1
C++ and ISO C
[diff.iso]
C.1.1
[lex]
: lexical conventions
[diff.lex]
C.1.2
[basic]
: basic concepts
[diff.basic]
C.1.3
[conv]
: standard conversions
[diff.conv]
C.1.4
[expr]
: expressions
[diff.expr]
C.1.5
[stmt.stmt]
: statements
[diff.stat]
C.1.6
[dcl.dcl]
: declarations
[diff.dcl]
C.1.7
[dcl.decl]
: declarators
[diff.decl]
C.1.8
[class]
: classes
[diff.class]
C.1.9
[special]
: special member functions
[diff.special]
C.1.10
[cpp]
: preprocessing directives
[diff.cpp]
C.2
C++ and ISO C++ 2003
[diff.cpp03]
C.2.1
[lex]
: lexical conventions
[diff.cpp03.lex]
C.2.2
[conv]
: standard conversions
[diff.cpp03.conv]
C.2.3
[expr]
: expressions
[diff.cpp03.expr]
C.2.4
[dcl.dcl]
: declarations
[diff.cpp03.dcl.dcl]
C.2.5
[dcl.decl]
: declarators
[diff.cpp03.dcl.decl]
C.2.6
[special]
: special member functions
[diff.cpp03.special]
C.2.7
[temp]
: templates
[diff.cpp03.temp]
C.2.8
[library]
: library introduction
[diff.cpp03.library]
C.2.9
[language.support]
: language support library
[diff.cpp03.language.support]
C.2.10
[diagnostics]
: diagnostics library
[diff.cpp03.diagnostics]
C.2.11
[utilities]
: general utilities library
[diff.cpp03.utilities]
C.2.12
[strings]
: strings library
[diff.cpp03.strings]
C.2.13
[containers]
: containers library
[diff.cpp03.containers]
C.2.14
[algorithms]
: algorithms library
[diff.cpp03.algorithms]
C.2.15
[numerics]
: numerics library
[diff.cpp03.numerics]
C.2.16
[input.output]
: input/output library
[diff.cpp03.input.output]
C.3
C++ and ISO C++ 2011
[diff.cpp11]
C.3.1
[lex]
: lexical conventions
[diff.cpp11.lex]
C.3.2
[basic]
: basic concepts
[diff.cpp11.basic]
C.3.3
[expr]
: expressions
[diff.cpp11.expr]
C.3.4
[dcl.dcl]
: declarations
[diff.cpp11.dcl.dcl]
C.3.5
[dcl.decl]
: declarators
[diff.cpp11.dcl.decl]
C.3.6
[library]
: library introduction
[diff.cpp11.library]
C.3.7
[input.output]
: input/output library
[diff.cpp11.input.output]
C.4
C++ and ISO C++ 2014
[diff.cpp14]
C.4.1
[lex]
: lexical conventions
[diff.cpp14.lex]
C.4.2
[expr]
: expressions
[diff.cpp14.expr]
C.4.3
[dcl.dcl]
: declarations
[diff.cpp14.dcl.dcl]
C.4.4
[dcl.decl]
: declarators
[diff.cpp14.decl]
C.4.5
[special]
: special member functions
[diff.cpp14.special]
C.4.6
[temp]
: templates
[diff.cpp14.temp]
C.4.7
[except]
: exception handling
[diff.cpp14.except]
C.4.8
[library]
: library introduction
[diff.cpp14.library]
C.4.9
[utilities]
: general utilities library
[diff.cpp14.utilities]
C.4.10
[strings]
: strings library
[diff.cpp14.string]
C.4.11
[containers]
: containers library
[diff.cpp14.containers]
C.4.12
[depr]
: compatibility features
[diff.cpp14.depr]
C.5
C++ and ISO C++ 2017
[diff.cpp17]
C.5.1
[lex]
: lexical conventions
[diff.cpp17.lex]
C.5.2
[expr]
: expressions
[diff.cpp17.expr]
C.5.3
[dcl.decl]
: declarators
[diff.cpp17.dcl.decl]
C.5.4
[special]
: special member functions
[diff.cpp17.special]
C.5.5
[temp]
: templates
[diff.cpp17.temp]
C.5.6
[except]
: exception handling
[diff.cpp17.except]
C.5.7
[library]
: library introduction
[diff.cpp17.library]
C.5.8
[containers]
: containers library
[diff.cpp17.containers]
C.5.9
[depr]
: compatibility features
[diff.cpp17.depr]
C.6
C standard library
[diff.library]
C.6.1
Modifications to headers
[diff.mods.to.headers]
C.6.2
Modifications to definitions
[diff.mods.to.definitions]
C.6.2.1
Types
char16_t
and
char32_t
[diff.char16]
C.6.2.2
Type
wchar_t
[diff.wchar.t]
C.6.2.3
Header
<assert.h>
[diff.header.assert.h]
C.6.2.4
Header
<iso646.h>
[diff.header.iso646.h]
C.6.2.5
Header
<stdalign.h>
[diff.header.stdalign.h]
C.6.2.6
Header
<stdbool.h>
[diff.header.stdbool.h]
C.6.2.7
Macro
NULL
[diff.null]
C.6.3
Modifications to declarations
[diff.mods.to.declarations]
C.6.4
Modifications to behavior
[diff.mods.to.behavior]
C.6.4.1
Macro
offsetof(
type
,
member-designator
)
[diff.offsetof]
C.6.4.2
Memory allocation functions
[diff.malloc]
Annex D (normative)
Compatibility features
[depr]
[depr]
D.1
Arithmetic conversion on enumerations
[depr.arith.conv.enum]
D.2
Implicit capture of
*this
by reference
[depr.capture.this]
D.3
Array comparisons
[depr.array.comp]
D.4
Redeclaration of
static constexpr
data members
[depr.static_constexpr]
D.5
Implicit declaration of copy functions
[depr.impldec]
D.6
C standard library headers
[depr.c.headers]
D.6.1
Header
<complex.h>
synopsis
[depr.complex.h.syn]
D.6.2
Header
<iso646.h>
synopsis
[depr.iso646.h.syn]
D.6.3
Header
<stdalign.h>
synopsis
[depr.stdalign.h.syn]
D.6.4
Header
<stdbool.h>
synopsis
[depr.stdbool.h.syn]
D.6.5
Header
<tgmath.h>
synopsis
[depr.tgmath.h.syn]
D.6.6
Other C headers
[depr.c.headers.other]
D.7
Relational operators
[depr.relops]
D.8
char*
streams
[depr.str.strstreams]
D.8.1
Header
<strstream>
synopsis
[depr.strstream.syn]
D.8.2
Class
strstreambuf
[depr.strstreambuf]
D.8.2.1
strstreambuf
constructors
[depr.strstreambuf.cons]
D.8.2.2
Member functions
[depr.strstreambuf.members]
D.8.2.3
strstreambuf
overridden virtual functions
[depr.strstreambuf.virtuals]
D.8.3
Class
istrstream
[depr.istrstream]
D.8.3.1
istrstream
constructors
[depr.istrstream.cons]
D.8.3.2
Member functions
[depr.istrstream.members]
D.8.4
Class
ostrstream
[depr.ostrstream]
D.8.4.1
ostrstream
constructors
[depr.ostrstream.cons]
D.8.4.2
Member functions
[depr.ostrstream.members]
D.8.5
Class
strstream
[depr.strstream]
D.8.5.1
strstream
constructors
[depr.strstream.cons]
D.8.5.2
strstream
destructor
[depr.strstream.dest]
D.8.5.3
strstream
operations
[depr.strstream.oper]
D.9
Deprecated type traits
[depr.meta.types]
D.10
Deprecated iterator primitives
[depr.iterator.primitives]
D.10.1
Basic iterator
[depr.iterator.basic]
D.11
Deprecated
shared_ptr
atomic access
[depr.util.smartptr.shared.atomic]
D.12
Deprecated
basic_string
capacity
[depr.string.capacity]
D.13
Deprecated standard code conversion facets
[depr.locale.stdcvt]
D.13.1
Header
<codecvt>
synopsis
[depr.codecvt.syn]
D.13.2
Requirements
[depr.locale.stdcvt.req]
D.14
Deprecated convenience conversion interfaces
[depr.conversions]
D.14.1
Class template
wstring_convert
[depr.conversions.string]
D.14.2
Class template
wbuffer_convert
[depr.conversions.buffer]
Index
Index of library headers
Index of library names
Index of implementation-defined behavior