# Table of Contents

1
  General [intro]
1.1
  Scope [intro.scope]
1.2
  Normative references [intro.refs]
1.3
  Implementation compliance [intro.compliance]
1.4
  Definitions [intro.defs]
1.5
  Syntax notation [syntax]
1.6
  The C++ memory model [intro.memory]
1.7
  The C++ object model [intro.object]
1.8
  Program execution [intro.execution]
2
  Lexical conventions [lex]
2.1
  Phases of translation [lex.phases]
2.2
  Basic source character set [lex.charset]
2.3
  Trigraph sequences [lex.trigraph]
2.4
  Preprocessing tokens [lex.pptoken]
2.5
  Alternative tokens [lex.digraph]
2.6
  Tokens [lex.token]
2.7
  Comments [lex.comment]
2.8
  Header names [lex.header]
2.9
  Preprocessing numbers [lex.ppnumber]
2.10
  Identifiers [lex.name]
2.11
  Keywords [lex.key]
2.12
  Operators and punctuators
2.13
  Literals [lex.literal]
2.13.1
  Integer literals [lex.icon]
2.13.2
  Character literals [lex.ccon]
2.13.3
  Floating literals [lex.fcon]
2.13.4
  String literals [lex.string]
2.13.5
  Boolean literals [lex.bool]
3
  Basic concepts [basic]
3.1
  Declarations and definitions [basic.def]
3.2
  One definition rule [basic.def.odr]
3.3
  Declarative regions and scopes [basic.scope]
3.3.1
  Point of declaration [basic.scope.pdecl]
3.3.2
  Local scope [basic.scope.local]
3.3.3
  Function prototype scope [basic.scope.proto]
3.3.4
  Function scope
3.3.5
  Namespace scope [basic.scope.namespace]
3.3.6
  Class scope [basic.scope.class]
3.3.7
  Name hiding [basic.scope.hiding]
3.4
  Name look up [basic.lookup]
3.4.1
  Unqualified name look up [basic.lookup.unqual]
3.4.2
  Argument-dependent name lookup [basic.lookup.koenig]
3.4.3
  Qualified name look up [basic.lookup.qual]
3.4.3.1
  Class members [class.qual]
3.4.3.2
  Namespace members [namespace.qual]
3.4.4
  Elaborated type specifiers [basic.lookup.elab]
3.4.5
  Class member access [basic.lookup.classref]
3.4.6
  Using-directives and namespace aliases [basic.lookup.udir]
3.5
  Program and linkage [basic.link]
3.6
  Start and termination [basic.start]
3.6.1
  Main function [basic.start.main]
3.6.2
  Initialization of non-local objects [basic.start.init]
3.6.3
  Termination [basic.start.term]
3.7
  Storage duration [basic.stc]
3.7.1
  Static storage duration [basic.stc.static]
3.7.2
  Automatic storage duration [basic.stc.auto]
3.7.3
  Dynamic storage duration [basic.stc.dynamic]
3.7.3.1
  Allocation functions [basic.stc.dynamic.allocation]
3.7.3.2
  Deallocation functions [basic.stc.dynamic.deallocation]
3.7.4
  Duration of sub-objects [basic.stc.inherit]
3.8
  Object Lifetime [basic.life]
3.9
  Types [basic.types]
3.9.1
  Fundamental types [basic.fundamental]
3.9.2
  Compound types [basic.compound]
3.9.3
  CV-qualifiers [basic.type.qualifier]
3.10
  Lvalues and rvalues [basic.lval]
4
  Standard conversions [conv]
4.1
  Lvalue-to-rvalue conversion [conv.lval]
4.2
  Array-to-pointer conversion [conv.array]
4.3
  Function-to-pointer conversion [conv.func]
4.4
  Qualification conversions [conv.qual]
4.5
  Integral promotions [conv.prom]
4.6
  Floating point promotion [conv.fpprom]
4.7
  Integral conversions [conv.integral]
4.8
  Floating point conversions [conv.double]
4.9
  Floating-integral conversions [conv.fpint]
4.10
  Pointer conversions [conv.ptr]
4.11
  Pointer to member conversions [conv.mem]
4.12
  Boolean conversions [conv.bool]
5
  Expressions [expr]
5.1
  Primary expressions [expr.prim]
5.2
  Postfix expressions [expr.post]
5.2.1
  Subscripting [expr.sub]
5.2.2
  Function call [expr.call]
5.2.3
  Explicit type conversion (functional notation) [expr.type.conv]
5.2.4
  Pseudo destructor call [expr.pseudo]
5.2.5
  Class member access [expr.ref]
5.2.6
  Increment and decrement [expr.post.incr]
5.2.7
  Dynamic cast [expr.dynamic.cast]
5.2.8
  Type identification [expr.typeid]
5.2.9
  Static cast [expr.static.cast]
5.2.10
  Reinterpret cast [expr.reinterpret.cast]
5.2.11
  Const cast [expr.const.cast]
5.3
  Unary expressions [expr.unary]
5.3.1
  Unary operators [expr.unary.op]
5.3.2
  Increment and decrement [expr.pre.incr]
5.3.3
  Sizeof [expr.sizeof]
5.3.4
  New [expr.new]
5.3.5
  Delete [expr.delete]
5.4
  Explicit type conversion (cast notation) [expr.cast]
5.5
  Pointer-to-member operators [expr.mptr.oper]
5.6
  Multiplicative operators [expr.mul]
5.7
  Additive operators [expr.add]
5.8
  Shift operators [expr.shift]
5.9
  Relational operators [expr.rel]
5.10
  Equality operators [expr.eq]
5.11
  Bitwise AND operator [expr.bit.and]
5.12
  Bitwise exclusive OR operator [expr.xor]
5.13
  Bitwise inclusive OR operator [expr.or]
5.14
  Logical AND operator [expr.log.and]
5.15
  Logical OR operator [expr.log.or]
5.16
  Conditional operator [expr.cond]
5.17
  Assignment operators [expr.ass]
5.18
  Comma operator [expr.comma]
5.19
  Constant expressions [expr.const]
6
  Statements [stmt.stmt]
6.1
  Labeled statement [stmt.label]
6.2
  Expression statement [stmt.expr]
6.3
  Compound statement or block [stmt.block]
6.4
  Selection statements [stmt.select]
6.4.1
  The `if` statement [stmt.if]
6.4.2
  The `switch` statement [stmt.switch]
6.5
  Iteration statements [stmt.iter]
6.5.1
  The `while` statement [stmt.while]
6.5.2
  The `do` statement [stmt.do]
6.5.3
  The `for` statement [stmt.for]
6.6
  Jump statements [stmt.jump]
6.6.1
  The `break` statement [stmt.break]
6.6.2
  The `continue` statement [stmt.cont]
6.6.3
  The `return` statement [stmt.return]
6.6.4
  The `goto` statement [stmt.goto]
6.7
  Declaration statement [stmt.dcl]
6.8
  Ambiguity resolution [stmt.ambig]
7
  Declarations [dcl.dcl]
7.1
  Specifiers [dcl.spec]
7.1.1
  Storage class specifiers [dcl.stc]
7.1.2
  Function specifiers [dcl.fct.spec]
7.1.3
  The `typedef` specifier [dcl.typedef]
7.1.4
  The `friend` specifier [dcl.friend]
7.1.5
  Type specifiers [dcl.type]
7.1.5.1
  The cv-qualifiers [dcl.type.cv]
7.1.5.2
  Simple type specifiers [dcl.type.simple]
7.1.5.3
  Elaborated type specifiers [dcl.type.elab]
7.2
  Enumeration declarations [dcl.enum]
7.3
  Namespaces [basic.namespace]
7.3.1
  Namespace definition [namespace.def]
7.3.1.1
  Unnamed namespaces [namespace.unnamed]
7.3.1.2
  Namespace member definitions [namespace.memdef]
7.3.2
  Namespace alias [namespace.alias]
7.3.3
  The `using` declaration [namespace.udecl]
7.3.4
  Using directive [namespace.udir]
7.4
  The `asm` declaration [dcl.asm]
7.5
  Linkage specifications [dcl.link]
8
  Declarators [dcl.decl]
8.1
  Type names [dcl.name]
8.2
  Ambiguity resolution [dcl.ambig.res]
8.3
  Meaning of declarators [dcl.meaning]
8.3.1
  Pointers [dcl.ptr]
8.3.2
  References [dcl.ref]
8.3.3
  Pointers to members [dcl.mptr]
8.3.4
  Arrays [dcl.array]
8.3.5
  Functions [dcl.fct]
8.3.6
  Default arguments [dcl.fct.default]
8.4
  Function definitions [dcl.fct.def]
8.5
  Initializers [dcl.init]
8.5.1
  Aggregates [dcl.init.aggr]
8.5.2
  Character arrays [dcl.init.string]
8.5.3
  References [dcl.init.ref]
9
  Classes [class]
9.1
  Class names [class.name]
9.2
  Class members [class.mem]
9.3
  Member functions [class.mfct]
9.3.1
  Nonstatic member functions [class.mfct.nonstatic]
9.3.2
  The `this` pointer [class.this]
9.4
  Static members [class.static]
9.4.1
  Static member functions [class.static.mfct]
9.4.2
  Static data members [class.static.data]
9.5
  Unions [class.union]
9.6
  Bit-fields [class.bit]
9.7
  Nested class declarations [class.nest]
9.8
  Local class declarations [class.local]
9.9
  Nested type names [class.nested.type]
10
  Derived classes [class.derived]
10.1
  Multiple base classes [class.mi]
10.2
  Member name lookup [class.member.lookup]
10.3
  Virtual functions [class.virtual]
10.4
  Abstract classes [class.abstract]
11
  Member access control [class.access]
11.1
  Access specifiers [class.access.spec]
11.2
  Accessibility of base classes and base class members [class.access.base]
11.3
  Access declarations [class.access.dcl]
11.4
  Friends [class.friend]
11.5
  Protected member access [class.protected]
11.6
  Access to virtual functions [class.access.virt]
11.7
  Multiple access [class.paths]
11.8
  Nested classes [class.access.nest]
12
  Special member functions [special]
12.1
  Constructors [class.ctor]
12.2
  Temporary objects [class.temporary]
12.3
  Conversions [class.conv]
12.3.1
  Conversion by constructor [class.conv.ctor]
12.3.2
  Conversion functions [class.conv.fct]
12.4
  Destructors [class.dtor]
12.5
  Free store [class.free]
12.6
  Initialization [class.init]
12.6.1
  Explicit initialization [class.expl.init]
12.6.2
  Initializing bases and members [class.base.init]
12.7
  Construction and destruction [class.cdtor]
12.8
  Copying class objects [class.copy]
13
  Overloading [over]
13.1
  Overloadable declarations [over.load]
13.2
  Declaration matching [over.dcl]
13.3
  Overload resolution [over.match]
13.3.1
  Candidate functions and argument lists [over.match.funcs]
13.3.1.1
  Function call syntax [over.match.call]
13.3.1.1.1
  Call to named function [over.call.func]
13.3.1.1.2
  Call to object of class type [over.call.object]
13.3.1.2
  Operators in expressions [over.match.oper]
13.3.1.3
  Initialization by constructor [over.match.ctor]
13.3.1.4
  Copy-initialization of class by user-defined conversion [over.match.copy]
13.3.1.5
  Initialization by conversion function [over.match.conv]
13.3.1.6
  Initialization by conversion function for direct reference binding [over.match.ref]
13.3.2
  Viable functions [over.match.viable]
13.3.3
  Best Viable Function [over.match.best]
13.3.3.1
  Implicit conversion sequences [over.best.ics]
13.3.3.1.1
  Standard conversion sequences [over.ics.scs]
13.3.3.1.2
  User-defined conversion sequences [over.ics.user]
13.3.3.1.3
  Ellipsis conversion sequences [over.ics.ellipsis]
13.3.3.1.4
  Reference binding [over.ics.ref]
13.3.3.2
  Ranking implicit conversion sequences [over.ics.rank]
13.4
  Address of overloaded function [over.over]
13.5
  Overloaded operators [over.oper]
13.5.1
  Unary operators [over.unary]
13.5.2
  Binary operators [over.binary]
13.5.3
  Assignment [over.ass]
13.5.4
  Function call [over.call]
13.5.5
  Subscripting [over.sub]
13.5.6
  Class member access [over.ref]
13.5.7
  Increment and decrement [over.inc]
13.6
  Built-in operators [over.built]
14
  Templates [temp]
14.1
  Template parameters [temp.param]
14.2
  Names of template specializations [temp.names]
14.3
  Template arguments [temp.arg]
14.4
  Type equivalence [temp.type]
14.5
  Template declarations [temp.decls]
14.5.1
  Class templates [temp.class]
14.5.1.1
  Member functions of class templates [temp.mem.func]
14.5.1.2
  Member classes of class templates [temp.mem.class]
14.5.1.3
  Static data members of class templates [temp.static]
14.5.2
  Member templates [temp.mem]
14.5.3
  Friends [temp.friend]
14.5.4
  Class template partial specializations [temp.class.spec]
14.5.4.1
  Matching of class template partial specializations [temp.class.spec.match]
14.5.4.2
  Partial ordering of class template specializations [temp.class.order]
14.5.4.3
  Members of class template specializations [temp.class.spec.mfunc]
14.5.5
  Function templates [temp.fct]
14.5.5.1
  Function template overloading [temp.over.link]
14.5.5.2
  Partial ordering of function templates [temp.func.order]
14.6
  Name resolution [temp.res]
14.6.1
  Locally declared names [temp.local]
14.6.2
  Dependent names [temp.dep]
14.6.2.1
  Dependent types [temp.dep.type]
14.6.2.2
  Type-dependent expressions [temp.dep.expr]
14.6.2.3
  Value-dependent expressions [temp.dep.constexpr]
14.6.2.4
  Dependent template arguments [temp.dep.temp]
14.6.3
  Non-dependent names [temp.nondep]
14.6.4
  Dependent name resolution [temp.dep.res]
14.6.4.1
  Point of instantiation [temp.point]
14.6.4.2
  Candidate Functions [temp.dep.candidate]
14.6.4.3
  Conversions [temp.dep.conv]
14.6.5
  Friend names declared within a class template [temp.inject]
14.7
  Template specialization [temp.spec]
14.7.1
  Implicit instantiation [temp.inst]
14.7.2
  Explicit instantiation [temp.explicit]
14.7.3
  Explicit specialization [temp.expl.spec]
14.8
  Function template specializations [temp.fct.spec]
14.8.1
  Explicit template argument specification [temp.arg.explicit]
14.8.2
  Template argument deduction [temp.deduct]
14.8.3
  Overload resolution [temp.over]
15
  Exception handling [except]
15.1
  Throwing an exception [except.throw]
15.2
  Constructors and destructors [except.ctor]
15.3
  Handling an exception [except.handle]
15.4
  Exception specifications [except.spec]
15.5
  Special functions [except.special]
15.5.1
  The `terminate()` function [except.terminate]
15.5.2
  The `unexpected()` function [except.unexpected]
15.5.3
  The `uncaught_exception()` function [except.uncaught]
15.6
  Exceptions and access [except.access]
16
  Preprocessing directives [cpp]
16.1
  Conditional inclusion [cpp.cond]
16.2
  Source file inclusion [cpp.include]
16.3
  Macro replacement [cpp.replace]
16.3.1
  Argument substitution [cpp.subst]
16.3.2
  The `#` operator [cpp.stringize]
16.3.3
  The `##` operator [cpp.concat]
16.3.4
  Rescanning and further replacement [cpp.rescan]
16.3.5
  Scope of macro definitions [cpp.scope]
16.4
  Line control [cpp.line]
16.5
  Error directive [cpp.error]
16.6
  Pragma directive [cpp.pragma]
16.7
  Null directive [cpp.null]
16.8
  Predefined macro names [cpp.predefined]
17
  Library introduction [lib.library]
17.1
  Definitions [lib.definitions]
17.2
  Method of description (Informative) [lib.description]
17.2.1
  Structure of each subclause [lib.structure]
17.2.1.1
  Summary [lib.structure.summary]
17.2.1.2
  Requirements [lib.structure.requirements]
17.2.1.3
  Specifications [lib.structure.specifications]
17.2.1.4
  C Library [lib.structure.see.also]
17.2.2
  Other conventions [lib.conventions]
17.2.2.1
  Type descriptions [lib.type.descriptions]
17.2.2.1.1
  Enumerated types [lib.enumerated.types]
17.2.2.1.2
  Bitmask types [lib.bitmask.types]
17.2.2.1.3
  Character sequences [lib.character.seq]
17.2.2.1.3.1
  Byte strings [lib.byte.strings]
17.2.2.1.3.2
  Multibyte strings [lib.multibyte.strings]
17.2.2.1.3.3
  Wide-character sequences [lib.wide.characters]
17.2.2.2
  Functions within classes [lib.functions.within.classes]
17.2.2.3
  Private members [lib.objects.within.classes]
17.3
  Library-wide requirements [lib.requirements]
17.3.1
  Library contents and organization [lib.organization]
17.3.1.1
  Library contents [lib.contents]
17.3.1.2
  Headers [lib.headers]
17.3.1.3
  Freestanding implementations [lib.compliance]
17.3.2
  Using the library [lib.using]
17.3.2.1
  Headers [lib.using.headers]
17.3.2.2
  Linkage [lib.using.linkage]
17.3.3
  Constraints on programs [lib.constraints]
17.3.3.1
  Reserved names [lib.reserved.names]
17.3.3.1.1
  Macro names [lib.macro.names]
17.3.3.1.2
  Global names [lib.global.names]
17.3.3.1.3
  External linkage [lib.extern.names]
17.3.3.2
  Headers [lib.alt.headers]
17.3.3.3
  Derived classes [lib.derived.classes]
17.3.3.4
  Replacement functions [lib.replacement.functions]
17.3.3.5
  Handler functions [lib.handler.functions]
17.3.3.6
  Other functions [lib.res.on.functions]
17.3.3.7
  Function arguments [lib.res.on.arguments]
17.3.3.8
  Required paragraph [lib.res.on.required]
17.3.4
  Conforming implementations [lib.conforming]
17.3.4.1
  Headers [lib.res.on.headers]
17.3.4.2
  Restrictions on macro definitions [lib.res.on.macro.definitions]
17.3.4.3
  Global functions [lib.global.functions]
17.3.4.4
  Member functions [lib.member.functions]
17.3.4.5
  Reentrancy [lib.reentrancy]
17.3.4.6
  Protection within classes [lib.protection.within.classes]
17.3.4.7
  Derived classes [lib.derivation]
17.3.4.8
  Restrictions on exception handling [lib.res.on.exception.handling]
18
  Language support library [lib.language.support]
18.1
  Types [lib.support.types]
18.2
  Implementation properties [lib.support.limits]
18.2.1
  Numeric limits [lib.limits]
18.2.1.1
  Template class `numeric_limits` [lib.numeric.limits]
18.2.1.2
  `numeric_limits` members [lib.numeric.limits.members]
18.2.1.3
  Type `float_round_style` [lib.round.style]
18.2.1.4
  `numeric_limits` specializations [lib.numeric.special]
18.2.2
  C Library [lib.c.limits]
18.3
  Start and termination [lib.support.start.term]
18.4
  Dynamic memory management [lib.support.dynamic]
18.4.1
  Storage allocation and deallocation [lib.new.delete]
18.4.1.1
  Single-object forms [lib.new.delete.single]
18.4.1.2
  Array forms [lib.new.delete.array]
18.4.1.3
  Placement forms [lib.new.delete.placement]
18.4.2
  Storage allocation errors [lib.alloc.errors]
18.4.2.1
  Class `bad_alloc` [lib.bad.alloc]
18.4.2.2
  Type `new_handler` [lib.new.handler]
18.4.2.3
  `set_new_handler` [lib.set.new.handler]
18.5
  Type identification [lib.support.rtti]
18.5.1
  Class `type_info` [lib.type.info]
18.5.2
  Class `bad_cast` [lib.bad.cast]
18.5.3
  Class `bad_typeid` [lib.bad.typeid]
18.6
  Exception handling [lib.support.exception]
18.6.1
  Class `exception` [lib.exception]
18.6.2
  Violating `exception-specifications` [lib.exception.unexpected]
18.6.2.1
  Class `bad_exception` [lib.bad.exception]
18.6.2.2
  Type `unexpected_handler` [lib.unexpected.handler]
18.6.2.3
  `set_unexpected` [lib.set.unexpected]
18.6.2.4
  `unexpected` [lib.unexpected]
18.6.3
  Abnormal termination [lib.exception.terminate]
18.6.3.1
  Type `terminate_handler` [lib.terminate.handler]
18.6.3.2
  `set_terminate` [lib.set.terminate]
18.6.3.3
  `terminate` [lib.terminate]
18.6.4
  `uncaught_exception` [lib.uncaught]
18.7
  Other runtime support [lib.support.runtime]
19
  Diagnostics library [lib.diagnostics]
19.1
  Exception classes [lib.std.exceptions]
19.1.1
  Class `logic_error` [lib.logic.error]
19.1.2
  Class `domain_error` [lib.domain.error]
19.1.3
  Class `invalid_argument` [lib.invalid.argument]
19.1.4
  Class `length_error` [lib.length.error]
19.1.5
  Class `out_of_range` [lib.out.of.range]
19.1.6
  Class `runtime_error` [lib.runtime.error]
19.1.7
  Class `range_error` [lib.range.error]
19.1.8
  Class `overflow_error` [lib.overflow.error]
19.1.9
  Class `underflow_error` [lib.underflow.error]
19.2
  Assertions [lib.assertions]
19.3
  Error numbers [lib.errno]
20
  General utilities library [lib.utilities]
20.1
  Requirements [lib.utility.requirements]
20.1.1
  Equality comparison [lib.equalitycomparable]
20.1.2
  Less than comparison [lib.lessthancomparable]
20.1.3
  Copy construction [lib.copyconstructible]
20.1.4
  Default construction [lib.default.con.req]
20.1.5
  Allocator requirements [lib.allocator.requirements]
20.2
  Utility components [lib.utility]
20.2.1
  Operators [lib.operators]
20.2.2
  Pairs [lib.pairs]
20.3
  Function objects [lib.function.objects]
20.3.1
  Base [lib.base]
20.3.2
  Arithmetic operations [lib.arithmetic.operations]
20.3.3
  Comparisons [lib.comparisons]
20.3.4
  Logical operations [lib.logical.operations]
20.3.5
  Negators [lib.negators]
20.3.6
  Binders [lib.binders]
20.3.6.1
  Template class `binder1st` [lib.binder.1st]
20.3.6.2
  `bind1st` [lib.bind.1st]
20.3.6.3
  Template class `binder2nd` [lib.binder.2nd]
20.3.6.4
  `bind2nd` [lib.bind.2nd]
20.3.7
  Adaptors for pointers to functions [lib.function.pointer.adaptors]
20.3.8
  Adaptors for pointers to members [lib.member.pointer.adaptors]
20.4
  Memory [lib.memory]
20.4.1
  The default allocator [lib.default.allocator]
20.4.1.1
  `allocator` members [lib.allocator.members]
20.4.1.2
  `allocator` globals [lib.allocator.globals]
20.4.2
  Raw storage iterator [lib.storage.iterator]
20.4.3
  Temporary buffers [lib.temporary.buffer]
20.4.4
  Specialized algorithms [lib.specialized.algorithms]
20.4.4.1
  `uninitialized_copy` [lib.uninitialized.copy]
20.4.4.2
  `uninitialized_fill` [lib.uninitialized.fill]
20.4.4.3
  `uninitialized_fill_n` [lib.uninitialized.fill.n]
20.4.5
  Template class `auto_ptr` [lib.auto.ptr]
20.4.5.1
  `auto_ptr` constructors [lib.auto.ptr.cons]
20.4.5.2
  `auto_ptr` members [lib.auto.ptr.members]
20.4.6
  C Library [lib.c.malloc]
20.5
  Date and time [lib.date.time]
21
  Strings library [lib.strings]
21.1
  Character traits [lib.char.traits]
21.1.1
  Definitions [lib.char.traits.defs]
21.1.2
  Character traits requirements [lib.char.traits.require]
21.1.3
  traits typedefs [lib.char.traits.typedefs]
21.1.4
  `char_traits` specializations [lib.char.traits.specializations]
21.1.4.1
  `struct char_traits<char>` [lib.char.traits.specializations.char]
21.1.4.2
  `struct char_traits<wchar_t>` [lib.char.traits.specializations.wchar.t]
21.2
  String classes [lib.string.classes]
21.3
  Template class `basic_string` [lib.basic.string]
21.3.1
  `basic_string` constructors [lib.string.cons]
21.3.2
  `basic_string` iterator support [lib.string.iterators]
21.3.3
  `basic_string` capacity [lib.string.capacity]
21.3.4
  `basic_string` element access [lib.string.access]
21.3.5
  `basic_string` modifiers [lib.string.modifiers]
21.3.5.1
  `basic_string::operator+=` [lib.string::op+=]
21.3.5.2
  `basic_string::append` [lib.string::append]
21.3.5.3
  `basic_string::assign` [lib.string::assign]
21.3.5.4
  `basic_string::insert` [lib.string::insert]
21.3.5.5
  `basic_string::erase` [lib.string::erase]
21.3.5.6
  `basic_string::replace` [lib.string::replace]
21.3.5.7
  `basic_string::copy` [lib.string::copy]
21.3.5.8
  `basic_string::swap` [lib.string::swap]
21.3.6
  `basic_string` string operations [lib.string.ops]
21.3.6.1
  `basic_string::find` [lib.string::find]
21.3.6.2
  `basic_string::rfind` [lib.string::rfind]
21.3.6.3
  `basic_string::find_first_of` [lib.string::find.first.of]
21.3.6.4
  `basic_string::find_last_of` [lib.string::find.last.of]
21.3.6.5
  `basic_string::find_first_not_of` [lib.string::find.first.not.of]
21.3.6.6
  `basic_string::find_last_not_of` [lib.string::find.last.not.of]
21.3.6.7
  `basic_string::substr` [lib.string::substr]
21.3.6.8
  `basic_string::compare` [lib.string::compare]
21.3.7
  `basic_string` non-member functions [lib.string.nonmembers]
21.3.7.1
  `operator+` [lib.string::op+]
21.3.7.2
  `operator==` [lib.string::operator==]
21.3.7.3
  `operator!=` [lib.string::op!=]
21.3.7.4
  `operator<` [lib.string::op<]
21.3.7.5
  `operator>` [lib.string::op>]
21.3.7.6
  `operator<=` [lib.string::op<=]
21.3.7.7
  `operator>=` [lib.string::op>=]
21.3.7.8
  `swap` [lib.string.special]
21.3.7.9
  Inserters and extractors [lib.string.io]
21.4
  Null-terminated sequence utilities [lib.c.strings]
22
  Localization library [lib.localization]
22.1
  Locales [lib.locales]
22.1.1
  Class `locale` [lib.locale]
22.1.1.1
  `locale` types [lib.locale.types]
22.1.1.1.1
  Type `locale::category` [lib.locale.category]
22.1.1.1.2
  Class `locale::facet` [lib.locale.facet]
22.1.1.1.3
  Class `locale::id` [lib.locale.id]
22.1.1.2
  `locale` constructors and destructor [lib.locale.cons]
22.1.1.3
  `locale` members [lib.locale.members]
22.1.1.4
  `locale` operators [lib.locale.operators]
22.1.1.5
  `locale` static members [lib.locale.statics]
22.1.2
  `locale` globals [lib.locale.global.templates]
22.1.3
  Convenience interfaces [lib.locale.convenience]
22.1.3.1
  Character classification [lib.classification]
22.1.3.2
  Character conversions [lib.conversions]
22.2
  Standard `locale` categories [lib.locale.categories]
22.2.1
  The `ctype` category [lib.category.ctype]
22.2.1.1
  Template class `ctype` [lib.locale.ctype]
22.2.1.1.1
  `ctype` members [lib.locale.ctype.members]
22.2.1.1.2
  `ctype` virtual functions [lib.locale.ctype.virtuals]
22.2.1.2
  Template class `ctype_byname` [lib.locale.ctype.byname]
22.2.1.3
  `ctype` specializations [lib.facet.ctype.special]
22.2.1.3.1
  `ctype<char>` destructor [lib.facet.ctype.char.dtor]
22.2.1.3.2
  `ctype<char>` members [lib.facet.ctype.char.members]
22.2.1.3.3
  `ctype<char>` static members [lib.facet.ctype.char.statics]
22.2.1.3.4
  `ctype<char>` virtual functions [lib.facet.ctype.char.virtuals]
22.2.1.4
  Class ctype_byname<char> [lib.locale.ctype.byname.special]
22.2.1.5
  Template class `codecvt` [lib.locale.codecvt]
22.2.1.5.1
  `codecvt` members [lib.locale.codecvt.members]
22.2.1.5.2
  `codecvt` virtual functions [lib.locale.codecvt.virtuals]
22.2.1.6
  Template class `codecvt_byname` [lib.locale.codecvt.byname]
22.2.2
  The numeric category [lib.category.numeric]
22.2.2.1
  Template class `num_get` [lib.locale.num.get]
22.2.2.1.1
  `num_get` members [lib.facet.num.get.members]
22.2.2.1.2
  `num_get` virtual functions [lib.facet.num.get.virtuals]
22.2.2.2
  Template class `num_put` [lib.locale.num.put]
22.2.2.2.1
  `num_put` members [lib.facet.num.put.members]
22.2.2.2.2
  `num_put` virtual functions [lib.facet.num.put.virtuals]
22.2.3
  The numeric punctuation facet [lib.facet.numpunct]
22.2.3.1
  Template class `numpunct` [lib.locale.numpunct]
22.2.3.1.1
  `numpunct` members [lib.facet.numpunct.members]
22.2.3.1.2
  `numpunct` virtual functions [lib.facet.numpunct.virtuals]
22.2.3.2
  Template class `numpunct_byname` [lib.locale.numpunct.byname]
22.2.4
  The collate category [lib.category.collate]
22.2.4.1
  Template class `collate` [lib.locale.collate]
22.2.4.1.1
  `collate` members [lib.locale.collate.members]
22.2.4.1.2
  `collate` virtual functions [lib.locale.collate.virtuals]
22.2.4.2
  Template class `collate_byname` [lib.locale.collate.byname]
22.2.5
  The time category [lib.category.time]
22.2.5.1
  Template class `time_get` [lib.locale.time.get]
22.2.5.1.1
  `time_get` members [lib.locale.time.get.members]
22.2.5.1.2
  `time_get` virtual functions [lib.locale.time.get.virtuals]
22.2.5.2
  Template class `time_get_byname` [lib.locale.time.get.byname]
22.2.5.3
  Template class `time_put` [lib.locale.time.put]
22.2.5.3.1
  `time_put` members [lib.locale.time.put.members]
22.2.5.3.2
  `time_put` virtual functions [lib.locale.time.put.virtuals]
22.2.5.4
  Template class `time_put_byname` [lib.locale.time.put.byname]
22.2.6
  The monetary category [lib.category.monetary]
22.2.6.1
  Template class `money_get` [lib.locale.money.get]
22.2.6.1.1
  `money_get` members [lib.locale.money.get.members]
22.2.6.1.2
  `money_get` virtual functions [lib.locale.money.get.virtuals]
22.2.6.2
  Template class `money_put` [lib.locale.money.put]
22.2.6.2.1
  `money_put` members [lib.locale.money.put.members]
22.2.6.2.2
  `money_put` virtual functions [lib.locale.money.put.virtuals]
22.2.6.3
  Template class `moneypunct` [lib.locale.moneypunct]
22.2.6.3.1
  `moneypunct` members [lib.locale.moneypunct.members]
22.2.6.3.2
  `moneypunct` virtual functions [lib.locale.moneypunct.virtuals]
22.2.6.4
  Template class `moneypunct_byname` [lib.locale.moneypunct.byname]
22.2.7
  The message retrieval category [lib.category.messages]
22.2.7.1
  Template class `messages` [lib.locale.messages]
22.2.7.1.1
  `messages` members [lib.locale.messages.members]
22.2.7.1.2
  `messages` virtual functions [lib.locale.messages.virtuals]
22.2.7.2
  Template class `messages_byname` [lib.locale.messages.byname]
22.2.8
  Program-defined facets [lib.facets.examples]
22.3
  C Library Locales [lib.c.locales]
23
  Containers library [lib.containers]
23.1
  Container requirements [lib.container.requirements]
23.1.1
  Sequences [lib.sequence.reqmts]
23.1.2
  Associative containers [lib.associative.reqmts]
23.2
  Sequences [lib.sequences]
23.2.1
  Template class `deque` [lib.deque]
23.2.1.1
  `deque` constructors, copy, and assignment [lib.deque.cons]
23.2.1.2
  `deque` capacity [lib.deque.capacity]
23.2.1.3
  `deque` modifiers [lib.deque.modifiers]
23.2.1.4
  `deque` specialized algorithms [lib.deque.special]
23.2.2
  Template class `list` [lib.list]
23.2.2.1
  `list` constructors, copy, and assignment [lib.list.cons]
23.2.2.2
  `list` capacity [lib.list.capacity]
23.2.2.3
  `list` modifiers [lib.list.modifiers]
23.2.2.4
  `list` operations [lib.list.ops]
23.2.2.5
  `list` specialized algorithms [lib.list.special]
23.2.3
  Container adapters [lib.container.adapters]
23.2.3.1
  Template class `queue` [lib.queue]
23.2.3.2
  Template class `priority_queue` [lib.priority.queue]
23.2.3.2.1
  `priority_queue` constructors [lib.priqueue.cons]
23.2.3.2.2
  `priority_queue` members [lib.priqueue.members]
23.2.3.3
  Template class `stack` [lib.stack]
23.2.4
  Template class `vector` [lib.vector]
23.2.4.1
  `vector` constructors, copy, and assignment [lib.vector.cons]
23.2.4.2
  `vector` capacity [lib.vector.capacity]
23.2.4.3
  `vector` modifiers [lib.vector.modifiers]
23.2.4.4
  `vector` specialized algorithms [lib.vector.special]
23.2.5
  Class `vector<bool>` [lib.vector.bool]
23.3
  Associative containers [lib.associative]
23.3.1
  Template class `map` [lib.map]
23.3.1.1
  `map` constructors, copy, and assignment [lib.map.cons]
23.3.1.2
  `map` element access [lib.map.access]
23.3.1.3
  `map` operations [lib.map.ops]
23.3.1.4
  `map` specialized algorithms [lib.map.special]
23.3.2
  Template class `multimap` [lib.multimap]
23.3.2.1
  `multimap` constructors [lib.multimap.cons]
23.3.2.2
  `multimap` operations [lib.multimap.ops]
23.3.2.3
  `multimap` specialized algorithms [lib.multimap.special]
23.3.3
  Template class `set` [lib.set]
23.3.3.1
  `set` constructors, copy, and assignment [lib.set.cons]
23.3.3.2
  `set` specialized algorithms [lib.set.special]
23.3.4
  Template class `multiset` [lib.multiset]
23.3.4.1
  `multiset` constructors [lib.multiset.cons]
23.3.4.2
  `multiset` specialized algorithms [lib.multiset.special]
23.3.5
  Template class `bitset` [lib.template.bitset]
23.3.5.1
  `bitset` constructors [lib.bitset.cons]
23.3.5.2
  `bitset` members [lib.bitset.members]
23.3.5.3
  `bitset` operators [lib.bitset.operators]
24
  Iterators library [lib.iterators]
24.1
  Iterator requirements [lib.iterator.requirements]
24.1.1
  Input iterators [lib.input.iterators]
24.1.2
  Output iterators [lib.output.iterators]
24.1.3
  Forward iterators [lib.forward.iterators]
24.1.4
  Bidirectional iterators [lib.bidirectional.iterators]
24.1.5
  Random access iterators [lib.random.access.iterators]
24.2
  Header `<iterator>` synopsis [lib.iterator.synopsis]
24.3
  Iterator primitives [lib.iterator.primitives]
24.3.1
  Iterator traits [lib.iterator.traits]
24.3.2
  Basic iterator [lib.iterator.basic]
24.3.3
  Standard iterator tags [lib.std.iterator.tags]
24.3.4
  Iterator operations [lib.iterator.operations]
24.4
  Predefined iterators [lib.predef.iterators]
24.4.1
  Reverse iterators [lib.reverse.iterators]
24.4.1.1
  Template class `reverse_iterator` [lib.reverse.iterator]
24.4.1.2
  `reverse_iterator` requirements [lib.reverse.iter.requirements]
24.4.1.3
  `reverse_iterator` operations [lib.reverse.iter.ops]
24.4.1.3.1
  `reverse_iterator` constructor [lib.reverse.iter.cons]
24.4.1.3.2
  Conversion [lib.reverse.iter.conv]
24.4.1.3.3
  `operator*` [lib.reverse.iter.op.star]
24.4.1.3.4
  `operator->` [lib.reverse.iter.opref]
24.4.1.3.5
  `operator++` [lib.reverse.iter.op++]
24.4.1.3.6
  `operator--` [lib.reverse.iter.op--]
24.4.1.3.7
  `operator+` [lib.reverse.iter.op+]
24.4.1.3.8
  `operator+=` [lib.reverse.iter.op+=]
24.4.1.3.9
  `operator-` [lib.reverse.iter.op-]
24.4.1.3.10
  `operator-=` [lib.reverse.iter.op-=]
24.4.1.3.11
  `operator[]` [lib.reverse.iter.opindex]
24.4.1.3.12
  `operator==` [lib.reverse.iter.op==]
24.4.1.3.13
  `operator<` [lib.reverse.iter.op<]
24.4.1.3.14
  `operator!=` [lib.reverse.iter.op!=]
24.4.1.3.15
  `operator>` [lib.reverse.iter.op>]
24.4.1.3.16
  `operator>=` [lib.reverse.iter.op>=]
24.4.1.3.17
  `operator<=` [lib.reverse.iter.op<=]
24.4.1.3.18
  `operator-` [lib.reverse.iter.opdiff]
24.4.1.3.19
  `operator+` [lib.reverse.iter.opsum]
24.4.2
  Insert iterators [lib.insert.iterators]
24.4.2.1
  Template class `back_insert_iterator` [lib.back.insert.iterator]
24.4.2.2
  `back_insert_iterator` operations [lib.back.insert.iter.ops]
24.4.2.2.1
  `back_insert_iterator` constructor [lib.back.insert.iter.cons]
24.4.2.2.2
  `back_insert_iterator::operator=` [lib.back.insert.iter.op=]
24.4.2.2.3
  `back_insert_iterator::operator*` [lib.back.insert.iter.op*]
24.4.2.2.4
  `back_insert_iterator::operator++` [lib.back.insert.iter.op++]
24.4.2.2.5
  `back_inserter` [lib.back.inserter]
24.4.2.3
  Template class `front_insert_iterator` [lib.front.insert.iterator]
24.4.2.4
  `front_insert_iterator` operations [lib.front.insert.iter.ops]
24.4.2.4.1
  `front_insert_iterator` constructor [lib.front.insert.iter.cons]
24.4.2.4.2
  `front_insert_iterator::operator=` [lib.front.insert.iter.op=]
24.4.2.4.3
  `front_insert_iterator::operator*` [lib.front.insert.iter.op*]
24.4.2.4.4
  `front_insert_iterator::operator++` [lib.front.insert.iter.op++]
24.4.2.4.5
  `front_inserter` [lib.front.inserter]
24.4.2.5
  Template class `insert_iterator` [lib.insert.iterator]
24.4.2.6
  `insert_iterator` operations [lib.insert.iter.ops]
24.4.2.6.1
  `insert_iterator` constructor [lib.insert.iter.cons]
24.4.2.6.2
  `insert_iterator::operator=` [lib.insert.iter.op=]
24.4.2.6.3
  `insert_iterator::operator*` [lib.insert.iter.op*]
24.4.2.6.4
  `insert_iterator::operator++` [lib.insert.iter.op++]
24.4.2.6.5
  `inserter` [lib.inserter]
24.5
  Stream iterators [lib.stream.iterators]
24.5.1
  Template class `istream_iterator` [lib.istream.iterator]
24.5.1.1
  `istream_iterator` constructors and destructor [lib.istream.iterator.cons]
24.5.1.2
  `istream_iterator` operations [lib.istream.iterator.ops]
24.5.2
  Template class `ostream_iterator` [lib.ostream.iterator]
24.5.2.1
  `ostream_iterator` constructors and destructor [lib.ostream.iterator.cons.des]
24.5.2.2
  `ostream_iterator` operations [lib.ostream.iterator.ops]
24.5.3
  Template class `istreambuf_iterator` [lib.istreambuf.iterator]
24.5.3.1
  Template class `istreambuf_iterator::proxy` [lib.istreambuf.iterator::proxy]
24.5.3.2
  `istreambuf_iterator` constructors [lib.istreambuf.iterator.cons]
24.5.3.3
  `istreambuf_iterator::operator*` [lib.istreambuf.iterator::op*]
24.5.3.4
  `istreambuf_iterator::operator++` [lib.istreambuf.iterator::op++]
24.5.3.5
  `istreambuf_iterator::equal` [lib.istreambuf.iterator::equal]
24.5.3.6
  `operator==` [lib.istreambuf.iterator::op==]
24.5.3.7
  `operator!=` [lib.istreambuf.iterator::op!=]
24.5.4
  Template class `ostreambuf_iterator` [lib.ostreambuf.iterator]
24.5.4.1
  `ostreambuf_iterator` constructors [lib.ostreambuf.iter.cons]
24.5.4.2
  `ostreambuf_iterator` operations [lib.ostreambuf.iter.ops]
25
  Algorithms library [lib.algorithms]
25.1
  Non-modifying sequence operations [lib.alg.nonmodifying]
25.1.1
  For each [lib.alg.foreach]
25.1.2
  Find [lib.alg.find]
25.1.3
  Find End [lib.alg.find.end]
25.1.4
  Find First [lib.alg.find.first.of]
25.1.5
  Adjacent find [lib.alg.adjacent.find]
25.1.6
  Count [lib.alg.count]
25.1.7
  Mismatch [lib.mismatch]
25.1.8
  Equal [lib.alg.equal]
25.1.9
  Search [lib.alg.search]
25.2
  Mutating sequence operations [lib.alg.modifying.operations]
25.2.1
  Copy [lib.alg.copy]
25.2.2
  Swap [lib.alg.swap]
25.2.3
  Transform [lib.alg.transform]
25.2.4
  Replace [lib.alg.replace]
25.2.5
  Fill [lib.alg.fill]
25.2.6
  Generate [lib.alg.generate]
25.2.7
  Remove [lib.alg.remove]
25.2.8
  Unique [lib.alg.unique]
25.2.9
  Reverse [lib.alg.reverse]
25.2.10
  Rotate [lib.alg.rotate]
25.2.11
  Random shuffle [lib.alg.random.shuffle]
25.2.12
  Partitions [lib.alg.partitions]
25.3
  Sorting and related operations [lib.alg.sorting]
25.3.1
  Sorting [lib.alg.sort]
25.3.1.1
  `sort` [lib.sort]
25.3.1.2
  `stable_sort` [lib.stable.sort]
25.3.1.3
  `partial_sort` [lib.partial.sort]
25.3.1.4
  `partial_sort_copy` [lib.partial.sort.copy]
25.3.2
  Nth element [lib.alg.nth.element]
25.3.3
  Binary search [lib.alg.binary.search]
25.3.3.1
  `lower_bound` [lib.lower.bound]
25.3.3.2
  `upper_bound` [lib.upper.bound]
25.3.3.3
  `equal_range` [lib.equal.range]
25.3.3.4
  `binary_search` [lib.binary.search]
25.3.4
  Merge [lib.alg.merge]
25.3.5
  Set operations on sorted structures [lib.alg.set.operations]
25.3.5.1
  `includes` [lib.includes]
25.3.5.2
  `set_union` [lib.set.union]
25.3.5.3
  `set_intersection` [lib.set.intersection]
25.3.5.4
  `set_difference` [lib.set.difference]
25.3.5.5
  `set_symmetric_difference` [lib.set.symmetric.difference]
25.3.6
  Heap operations [lib.alg.heap.operations]
25.3.6.1
  `push_heap` [lib.push.heap]
25.3.6.2
  `pop_heap` [lib.pop.heap]
25.3.6.3
  `make_heap` [lib.make.heap]
25.3.6.4
  `sort_heap` [lib.sort.heap]
25.3.7
  Minimum and maximum [lib.alg.min.max]
25.3.8
  Lexicographical comparison [lib.alg.lex.comparison]
25.3.9
  Permutation generators [lib.alg.permutation.generators]
25.4
  C library algorithms [lib.alg.c.library]
26
  Numerics library [lib.numerics]
26.1
  Numeric type requirements [lib.numeric.requirements]
26.2
  Complex numbers [lib.complex.numbers]
26.2.1
  Header `<complex>` synopsis [lib.complex.synopsis]
26.2.2
  Template class `complex` [lib.complex]
26.2.3
  `complex` specializations [lib.complex.special]
26.2.4
  `complex` member functions [lib.complex.members]
26.2.5
  `complex` member operators [lib.complex.member.ops]
26.2.6
  `complex` non-member operations [lib.complex.ops]
26.2.7
  `complex` value operations [lib.complex.value.ops]
26.2.8
  `complex` transcendentals [lib.complex.transcendentals]
26.3
  Numeric arrays [lib.numarray]
26.3.1
  Header `<valarray>` synopsis [lib.valarray.synopsis]
26.3.2
  Template class `valarray` [lib.template.valarray]
26.3.2.1
  `valarray` constructors [lib.valarray.cons]
26.3.2.2
  `valarray` assignment [lib.valarray.assign]
26.3.2.3
  `valarray` element access [lib.valarray.access]
26.3.2.4
  `valarray` subset operations [lib.valarray.sub]
26.3.2.5
  `valarray` unary operators [lib.valarray.unary]
26.3.2.6
  `valarray` computed assignment [lib.valarray.cassign]
26.3.2.7
  `valarray` member functions [lib.valarray.members]
26.3.3
  `valarray` non-member operations [lib.valarray.nonmembers]
26.3.3.1
  `valarray` binary operators [lib.valarray.binary]
26.3.3.2
  `valarray` logical operators [lib.valarray.comparison]
26.3.3.3
  `valarray` transcendentals [lib.valarray.transcend]
26.3.4
  Class `slice` [lib.class.slice]
26.3.4.1
  `slice` constructors [lib.cons.slice]
26.3.4.2
  `slice` access functions [lib.slice.access]
26.3.5
  Template class `slice_array` [lib.template.slice.array]
26.3.5.1
  `slice_array` constructors [lib.cons.slice.arr]
26.3.5.2
  `slice_array` assignment [lib.slice.arr.assign]
26.3.5.3
  `slice_array` computed assignment [lib.slice.arr.comp.assign]
26.3.5.4
  `slice_array` fill function [lib.slice.arr.fill]
26.3.6
  The `gslice` class [lib.class.gslice]
26.3.6.1
  `gslice constructors` [lib.gslice.cons]
26.3.6.2
  `gslice` access functions [lib.gslice.access]
26.3.7
  Template class `gslice_array` [lib.template.gslice.array]
26.3.7.1
  `gslice_array` constructors [lib.gslice.array.cons]
26.3.7.2
  `gslice_array` assignment [lib.gslice.array.assign]
26.3.7.3
  `gslice_array computed assignment` [lib.gslice.array.comp.assign]
26.3.7.4
  `gslice_array` fill function [lib.gslice.array.fill]
26.3.8
  Template class `mask_array` [lib.template.mask.array]
26.3.8.1
  `mask_array` constructors [lib.mask.array.cons]
26.3.8.2
  `mask_array` assignment [lib.mask.array.assign]
26.3.8.3
  `mask_array` computed assignment [lib.mask.array.comp.assign]
26.3.8.4
  `mask_array` fill function [lib.mask.array.fill]
26.3.9
  Template class `indirect_array` [lib.template.indirect.array]
26.3.9.1
  `indirect_array` constructors [lib.indirect.array.cons]
26.3.9.2
  `indirect_array` assignment [lib.indirect.array.assign]
26.3.9.3
  `indirect_array` computed assignment [lib.indirect.array.comp.assign]
26.3.9.4
  `indirect_array` fill function [lib.indirect.array.fill]
26.4
  Generalized numeric operations [lib.numeric.ops]
26.4.1
  Accumulate [lib.accumulate]
26.4.2
  Inner product [lib.inner.product]
26.4.3
  Partial sum [lib.partial.sum]
26.4.4
  Adjacent difference [lib.adjacent.difference]
26.5
  C Library [lib.c.math]
27
  Input/output library [lib.input.output]
27.1
  Iostreams requirements [lib.iostreams.requirements]
27.1.1
  Definitions [lib.iostreams.definitions]
27.1.2
  Limitations [lib.iostream.limits]
27.1.2.1
  Imbue Limitations [lib.iostream.limits.imbue]
27.1.2.2
  Positioning Type Limitations [lib.iostreams.limits.pos]
27.2
  Forward declarations [lib.iostream.forward]
27.3
  Standard iostream objects [lib.iostream.objects]
27.3.1
  Narrow stream objects [lib.narrow.stream.objects]
27.3.2
  Wide stream objects [lib.wide.stream.objects]
27.4
  Iostreams base classes [lib.iostreams.base]
27.4.1
  Types [lib.stream.types]
27.4.2
  Class `ios_base` [lib.ios.base]
27.4.2.1
  Types [lib.ios.types]
27.4.2.1.1
  Class `ios_base::failure` [lib.ios::failure]
27.4.2.1.2
  Type `ios_base::fmtflags` [lib.ios::fmtflags]
27.4.2.1.3
  Type `ios_base::iostate` [lib.ios::iostate]
27.4.2.1.4
  Type `ios_base::openmode` [lib.ios::openmode]
27.4.2.1.5
  Type `ios_base::seekdir` [lib.ios::seekdir]
27.4.2.1.6
  Class `ios_base::Init` [lib.ios::Init]
27.4.2.2
  `ios_base fmtflags` state functions [lib.fmtflags.state]
27.4.2.3
  `ios_base locale` functions [lib.ios.base.locales]
27.4.2.4
  `ios_base` static members [lib.ios.members.static]
27.4.2.5
  `ios_base` storage functions [lib.ios.base.storage]
27.4.2.6
  `ios_base` callbacks [lib.ios.base.callback]
27.4.2.7
  `ios_base` constructors/destructors [lib.ios.base.cons]
27.4.3
  Template class `fpos` [lib.fpos]
27.4.3.1
  `fpos` Constructor [lib.fpos.cons]
27.4.3.2
  `fpos` Members [lib.fpos.members]
27.4.4
  `fpos` requirements [lib.fpos.operations]
27.4.5
  Template class `basic_ios` [lib.ios]
27.4.5.1
  `basic_ios` constructors [lib.basic.ios.cons]
27.4.5.2
  Member functions [lib.basic.ios.members]
27.4.5.3
  `basic_ios iostate` flags functions [lib.iostate.flags]
27.4.6
  `ios_base` manipulators [lib.std.ios.manip]
27.4.6.1
  `fmtflags` manipulators [lib.fmtflags.manip]
27.4.6.2
  `adjustfield` manipulators [lib.adjustfield.manip]
27.4.6.3
  `basefield` manipulators [lib.basefield.manip]
27.4.6.4
  `floatfield` manipulators [lib.floatfield.manip]
27.5
  Stream buffers [lib.stream.buffers]
27.5.1
  Stream buffer requirements [lib.streambuf.reqts]
27.5.2
  Template class `basic_streambuf<charT,traits>` [lib.streambuf]
27.5.2.1
  `basic_streambuf` constructors [lib.streambuf.cons]
27.5.2.2
  `basic_streambuf` public member functions [lib.streambuf.members]
27.5.2.2.1
  Locales [lib.streambuf.locales]
27.5.2.2.2
  Buffer management and positioning [lib.streambuf.buffer]
27.5.2.2.3
  Get area [lib.streambuf.pub.get]
27.5.2.2.4
  Putback [lib.streambuf.pub.pback]
27.5.2.2.5
  Put area [lib.streambuf.pub.put]
27.5.2.3
  `basic_streambuf` protected member functions [lib.streambuf.protected]
27.5.2.3.1
  Get area access [lib.streambuf.get.area]
27.5.2.3.2
  Put area access [lib.streambuf.put.area]
27.5.2.4
  `basic_streambuf` virtual functions [lib.streambuf.virtuals]
27.5.2.4.1
  Locales [lib.streambuf.virt.locales]
27.5.2.4.2
  Buffer management and positioning [lib.streambuf.virt.buffer]
27.5.2.4.3
  Get area [lib.streambuf.virt.get]
27.5.2.4.4
  Putback [lib.streambuf.virt.pback]
27.5.2.4.5
  Put area [lib.streambuf.virt.put]
27.6
  Formatting and manipulators [lib.iostream.format]
27.6.1
  Input streams [lib.input.streams]
27.6.1.1
  Template class `basic_istream` [lib.istream]
27.6.1.1.1
  `basic_istream` constructors [lib.istream.cons]
27.6.1.1.2
  Class `basic_istream::sentry` [lib.istream::sentry]
27.6.1.2
  Formatted input functions [lib.istream.formatted]
27.6.1.2.1
  Common requirements [lib.istream.formatted.reqmts]
27.6.1.2.2
  Arithmetic Extractors [lib.istream.formatted.arithmetic]
27.6.1.2.3
  `basic_istream::operator>>` [lib.istream::extractors]
27.6.1.3
  Unformatted input functions [lib.istream.unformatted]
27.6.1.4
  Standard `basic_istream` manipulators [lib.istream.manip]
27.6.1.5
  Template class `basic_iostream` [lib.iostreamclass]
27.6.1.5.1
  `basic_iostream` constructors [lib.iostream.cons]
27.6.1.5.2
  `basic_iostream` destructor [lib.iostream.dest]
27.6.2
  Output streams [lib.output.streams]
27.6.2.1
  Template class `basic_ostream` [lib.ostream]
27.6.2.2
  `basic_ostream` constructors [lib.ostream.cons]
27.6.2.3
  Class `basic_ostream::sentry` [lib.ostream::sentry]
27.6.2.4
  `basic_ostream` seek members [lib.ostream.seeks]
27.6.2.5
  Formatted output functions [lib.ostream.formatted]
27.6.2.5.1
  Common requirements [lib.ostream.formatted.reqmts]
27.6.2.5.2
  Arithmetic Inserters [lib.ostream.inserters.arithmetic]
27.6.2.5.3
  `basic_ostream::operator<<` [lib.ostream.inserters]
27.6.2.5.4
  Character inserter template functions [lib.ostream.inserters.character]
27.6.2.6
  Unformatted output functions [lib.ostream.unformatted]
27.6.2.7
  Standard `basic_ostream` manipulators [lib.ostream.manip]
27.6.3
  Standard manipulators [lib.std.manip]
27.7
  String-based streams [lib.string.streams]
27.7.1
  Template class `basic_stringbuf` [lib.stringbuf]
27.7.1.1
  `basic_stringbuf` constructors [lib.stringbuf.cons]
27.7.1.2
  Member functions [lib.stringbuf.members]
27.7.1.3
  Overridden virtual functions [lib.stringbuf.virtuals]
27.7.2
  Template class `basic_istringstream` [lib.istringstream]
27.7.2.1
  `basic_istringstream` constructors [lib.istringstream.cons]
27.7.2.2
  Member functions [lib.istringstream.members]
27.7.3
  Class `basic_ostringstream` [lib.ostringstream]
27.7.3.1
  `basic_ostringstream` constructors [lib.ostringstream.cons]
27.7.3.2
  Member functions [lib.ostringstream.members]
27.7.4
  Template class `basic_stringstream` [lib.stringstream]
27.7.5
  basic_stringstream constructors [lib.stringstream.cons]
27.7.6
  Member functions [lib.stringstream.members]
27.8
  File-based streams [lib.file.streams]
27.8.1
  File streams [lib.fstreams]
27.8.1.1
  Template class `basic_filebuf` [lib.filebuf]
27.8.1.2
  `basic_filebuf` constructors [lib.filebuf.cons]
27.8.1.3
  Member functions [lib.filebuf.members]
27.8.1.4
  Overridden virtual functions [lib.filebuf.virtuals]
27.8.1.5
  Template class `basic_ifstream` [lib.ifstream]
27.8.1.6
  `basic_ifstream` constructors [lib.ifstream.cons]
27.8.1.7
  Member functions [lib.ifstream.members]
27.8.1.8
  Template class `basic_ofstream` [lib.ofstream]
27.8.1.9
  `basic_ofstream` constructors [lib.ofstream.cons]
27.8.1.10
  Member functions [lib.ofstream.members]
27.8.1.11
  Template class `basic_fstream` [lib.fstream]
27.8.1.12
  `basic_fstream` constructors [lib.fstream.cons]
27.8.1.13
  Member functions [lib.fstream.members]
27.8.2
  C Library files [lib.c.files]
1
  Grammar summary [gram]
1.1
  Keywords [gram.key]
1.2
  Lexical conventions [gram.lex]
1.3
  Basic concepts [gram.basic]
1.4
  Expressions [gram.expr]
1.5
  Statements [gram.stmt.stmt]
1.6
  Declarations [gram.dcl.dcl]
1.7
  Declarators [gram.dcl.decl]
1.8
  Classes [gram.class]
1.9
  Derived classes [gram.class.derived]
1.10
  Special member functions [gram.special]
1.11
  Overloading [gram.over]
1.12
  Templates [gram.temp]
1.13
  Exception handling [gram.except]
1.14
  Preprocessing directives [gram.cpp]
1
  Implementation quantities [limits]
1
  Compatibility [diff]
1.1
  Extensions [diff.c]
1.1.1
  C++ features available in 1985 [diff.early]
1.1.2
  C++ features added since 1985 [diff.c++]
1.2
  C++ and ISO C [diff.iso]
1.2.1
  Clause _lex_: lexical conventions [diff.lex]
1.2.2
  Clause _basic_: basic concepts [diff.basic]
1.2.3
  Clause _expr_: expressions [diff.expr]
1.2.4
  Clause _stmt.stmt_: statements [diff.stat]
1.2.5
  Clause _dcl.dcl_: declarations [diff.dcl]
1.2.6
  Clause _dcl.decl_: declarators [diff.decl]
1.2.7
  Clause _class_: classes [diff.class]
1.2.8
  Clause _special_: special member functions [diff.special]
1.2.9
  Clause _cpp_: preprocessing directives [diff.cpp]
1.3
  Anachronisms [diff.anac]
1.3.1
  Old style function definitions [diff.fct.def]
1.3.2
  Old style base class initializer [diff.base.init]
1.3.3
  Assignment to `this` [diff.this]
1.3.4
  Cast of bound pointer [diff.bound]
1.3.5
  Nonnested classes [diff.class.nonnested]
1.4
  Standard C library [diff.library]
1.4.1
  Modifications to headers [diff.mods.to.headers]
1.4.2
  Modifications to definitions [diff.mods.to.definitions]
1.4.2.1
  Type `wchar_t` [diff.wchar.t]
1.4.2.2
  Header `<iso646.h>` [diff.header.iso646.h]
1.4.2.3
  Macro `NULL` [diff.null]
1.4.3
  Modifications to declarations [diff.mods.to.declarations]
1.4.4
  Modifications to behavior [diff.mods.to.behavior]
1.4.4.1
  Macro `offsetof(type, member-designator)` [diff.offsetof]
1.4.4.2
  Memory allocation functions [diff.malloc]
1
  Compatibility features [depr]
1.1
  Postfix increment operator [depr.post.incr]
1.2
  static keyword [depr.static]
1.3
  Access declarations [depr.access.dcl]
1.4
  Implicit conversion from const strings [depr.string]
1.5
  Standard C library headers [depr.c.headers]
1.6
  Old iostreams members [depr.ios.members]
1.7
  `char*` streams [depr.str.strstreams]
1.7.1
  Class `strstreambuf` [depr.strstreambuf]
1.7.1.1
  `strstreambuf` constructors [depr.strstreambuf.cons]
1.7.1.2
  Member functions [depr.strstreambuf.members]
1.7.1.3
  `strstreambuf` overridden virtual functions [depr.strstreambuf.virtuals]
1.7.2
  Class `istrstream` [depr.istrstream]
1.7.2.1
  `istrstream` constructors [depr.istrstream.cons]
1.7.2.2
  Member functions [depr.istrstream.members]
1.7.3
  Class `ostrstream` [depr.ostrstream]
1.7.3.1
  `ostrstream` constructors [depr.ostrstream.cons]
1.7.3.2
  Member functions [depr.ostrstream.members]
1.7.4
  Class `strstream` [depr.strstream]
1.7.4.1
  `strstream` constructors [depr.strstream.cons]
1.7.4.2
  `strstream` destructor [depr.strstream.dest]
1.7.4.3
  `strstream` operations [depr.strstream.oper]
1
  Universal-character-names for identifiers [extendid]