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]