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.4.1
argument [defns.argument]
1.4.2
diagnostic message [defns.diagnostic]
1.4.3
dynamic type [defns.dynamic.type]
1.4.4
ill-formed program [defns.ill.formed]
1.4.5
implementation-defined behavior [defns.impl.defined]
1.4.6
implementation limits [defns.impl.limits]
1.4.7
locale-specific behavior [defns.locale.specific]
1.4.8
multibyte character [defns.multibyte]
1.4.9
parameter [defns.parameter]
1.4.10
signature [defns.signature]
1.4.11
static type [defns.static.type]
1.4.12
undefined behavior [defns.undefined]
1.4.13
unspecified behavior [defns.unspecified]
1.4.14
well-formed program [defns.well.formed]
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
Character sets [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 [lex.operators]
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 [basic.funscope]
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.3.1
Template type arguments [temp.arg.type]
14.3.2
Template non-type arguments [temp.arg.nontype]
14.3.3
Template template arguments [temp.arg.template]
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.5
Friend names declared within a class template [temp.inject]
14.7
Template instantiation and 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.2.1
Deducing template arguments from a function call [temp.deduct.call]
14.8.2.2
Deducing template arguments taking the address of a function template [temp.deduct.funcaddr]
14.8.2.3
Deducing conversion function template arguments [temp.deduct.conv]
14.8.2.4
Deducing template arguments from a type [temp.deduct.type]
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.1.1
comparison function [defns.comparison]
17.1.2
component [defns.component]
17.1.3
default behavior [defns.default.behavior]
17.1.4
handler function [defns.handler]
17.1.5
modifier function [defns.modifier]
17.1.6
object state [defns.obj.state]
17.1.7
observer function [defns.observer]
17.1.8
replacement function [defns.replacement]
17.1.9
required behavior [defns.required.behavior]
17.1.10
reserved function [defns.reserved.function]
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.1.4
Types [lib.extern.types]
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.nm.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 adaptors [lib.container.adaptors]
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
C++ and ISO C [diff.iso]
1.1.1
Clause _lex_: lexical conventions [diff.lex]
1.1.2
Clause _basic_: basic concepts [diff.basic]
1.1.3
Clause _expr_: expressions [diff.expr]
1.1.4
Clause _stmt.stmt_: statements [diff.stat]
1.1.5
Clause _dcl.dcl_: declarations [diff.dcl]
1.1.6
Clause _dcl.decl_: declarators [diff.decl]
1.1.7
Clause _class_: classes [diff.class]
1.1.8
Clause _special_: special member functions [diff.special]
1.1.9
Clause _cpp_: preprocessing directives [diff.cpp]
1.2
Standard C library [diff.library]
1.2.1
Modifications to headers [diff.mods.to.headers]
1.2.2
Modifications to definitions [diff.mods.to.definitions]
1.2.2.1
Type wchar_t [diff.wchar.t]
1.2.2.2
Header <iso646.h> [diff.header.iso646.h]
1.2.2.3
Macro NULL [diff.null]
1.2.3
Modifications to declarations [diff.mods.to.declarations]
1.2.4
Modifications to behavior [diff.mods.to.behavior]
1.2.4.1
Macro offsetof(type, member-designator) [diff.offsetof]
1.2.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]