Table of Contents

1 General [intro]
1.1 Scope [intro.scope]
1.2 Normative references [intro.refs]
1.3 Definitions [intro.defs]
1.4 Syntax notation [syntax]
1.5 The C++ memory model [intro.memory]
1.6 The C++ object model [intro.object]
1.7 Processor compliance [intro.compliance]
1.8 Program execution [intro.execution]
2 Lexical conventions [lex]
2.1 Phases of translation [lex.phases]
2.2 Trigraph sequences [lex.trigraph]
2.3 Preprocessing tokens [lex.pptoken]
2.4 Alternative tokens [lex.digraph]
2.5 Tokens [lex.token]
2.6 Comments [lex.comment]
2.7 Identifiers [lex.name]
2.8 Keywords [lex.key]
2.9 Literals [lex.literal]
2.9.1 Integer literals [lex.icon]
2.9.2 Character literals [lex.ccon]
2.9.3 Floating literals [lex.fcon]
2.9.4 String literals [lex.string]
2.9.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 Local scope [basic.scope.local]
3.3.2 Function prototype scope [basic.scope.proto]
3.3.3 Function scope
3.3.4 Namespace scope [basic.scope.namespace]
3.3.5 Class scope [basic.scope.class]
3.3.6 Name hiding [basic.scope.hiding]
3.3.7 Explicit qualification [basic.scope.exqual]
3.3.8 Elaborated type specifier [basic.scope.elab]
3.3.9 Point of declaration [basic.scope.pdecl]
3.4 Name look up [class.scope]
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.9.4 Type names [basic.type.name]
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 Base class conversion [conv.class]
4.13 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 Class member access [expr.ref]
5.2.5 Increment and decrement [expr.post.incr]
5.2.6 Dynamic cast [expr.dynamic.cast]
5.2.7 Type identification [expr.typeid]
5.2.8 Static cast [expr.static.cast]
5.2.9 Reinterpret cast [expr.reinterpret.cast]
5.2.10 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 Explicit qualification [namespace.qual]
7.3.1.2 Unnamed namespaces [namespace.unnamed]
7.3.1.3 Namespace scope [namespace.scope]
7.3.1.4 Namespace member definitions [namespace.memdef]
7.3.2 Namespace or class 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 Scope rules for classes [class.scope0]
9.4 Member functions [class.mfct]
9.4.1 Nonstatic member functions [class.mfct.nonstatic]
9.4.2 The this pointer [class.this]
9.5 Static members [class.static]
9.5.1 Static member functions [class.static.mfct]
9.5.2 Static data members [class.static.data]
9.6 Unions [class.union]
9.7 Bit-fields [class.bit]
9.8 Nested class declarations [class.nest]
9.9 Local class declarations [class.local]
9.10 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 Access specifiers for base classes [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]
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 user-defined conversions [over.match.user]
13.3.1.4 Initialization by constructor [over.match.ctor]
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 names [temp.names]
14.2 Name resolution [temp.res]
14.2.1 Locally declared names [temp.local]
14.2.2 Names from the template's enclosing scope [temp.encl]
14.2.3 Dependent names [temp.dep]
14.2.4 Non-local names declared within a template [temp.inject]
14.3 Template instantiation [temp.inst]
14.3.1 Template linkage [temp.linkage]
14.3.2 Point of instantiation [temp.point]
14.3.3 Instantiation of operator-> [temp.opref]
14.4 Explicit instantiation [temp.explicit]
14.5 Template specialization [temp.spec]
14.6 Class template specializations [temp.class.spec]
14.6.1 Matching of class template specializations [temp.class.spec.match]
14.6.2 Partial ordering of class template specializations [temp.class.order]
14.7 Template parameters [temp.param]
14.8 Template arguments [temp.arg]
14.9 Type equivalence [temp.type]
14.10 Function templates [temp.fct]
14.10.1 Explicit template argument specification [temp.arg.explicit]
14.10.2 Template argument deduction [temp.deduct]
14.10.3 Overload resolution [temp.over]
14.10.4 Overloading and linkage [temp.over.link]
14.10.5 Overloading and specialization [temp.over.spec]
14.10.6 Partial ordering of function templates [temp.func.order]
14.11 Member function templates [temp.mem.func]
14.12 Friends [temp.friend]
14.13 Static members and variables [temp.static]
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.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.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 Violating exception-specifications [lib.exception.unexpected]
18.6.1.1 Class bad_exception [lib.bad.exception]
18.6.1.2 Type unexpected_handler [lib.unexpected.handler]
18.6.1.3 set_unexpected [lib.set.unexpected]
18.6.1.4 unexpected [lib.unexpected]
18.6.2 Abnormal termination [lib.exception.terminate]
18.6.2.1 Type terminate_handler [lib.terminate.handler]
18.6.2.2 set_terminate [lib.set.terminate]
18.6.2.3 terminate [lib.terminate]
18.7 Other runtime support [lib.support.runtime]
19 Diagnostics library [lib.diagnostics]
19.1 Exception classes [lib.std.exceptions]
19.1.1 Class exception [lib.exception]
19.1.2 Class logic_error [lib.logic.error]
19.1.3 Class domain_error [lib.domain.error]
19.1.4 Class invalid_argument [lib.invalid.argument]
19.1.5 Class length_error [lib.length.error]
19.1.6 Class out_of_range [lib.out.of.range]
19.1.7 Class runtime_error [lib.runtime.error]
19.1.8 Class range_error [lib.range.error]
19.1.9 Class overflow_error [lib.overflow.error]
19.2 Assertions [lib.assertions]
19.3 Error numbers [lib.errno]
20 General utilities library [lib.utilities]
20.1 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.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 placement new [lib.allocator.placement]
20.4.1.3 Example allocator [lib.allocator.example]
20.4.2 Raw storage iterator [lib.storage.iterator]
20.4.3 Memory handling primitives [lib.memory.primitives]
20.4.3.1 allocate [lib.allocate]
20.4.3.2 deallocate [lib.deallocate]
20.4.3.3 construct [lib.construct]
20.4.3.4 destroy [lib.destroy]
20.4.3.5 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 [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 String classes [lib.string.classes]
21.1.1 Template class basic_string [lib.template.string]
21.1.1.1 Template class string_char_traits [lib.string.char.traits]
21.1.1.2 string_char_traits members [lib.string.char.traits.members]
21.1.1.3 Template class basic_string [lib.basic.string]
21.1.1.4 basic_string constructors [lib.string.cons]
21.1.1.5 basic_string iterator support [lib.string.iterators]
21.1.1.6 basic_string capacity [lib.string.capacity]
21.1.1.7 basic_string element access [lib.string.access]
21.1.1.8 basic_string modifiers [lib.string.modifiers]
21.1.1.8.1 basic_string::operator+= [lib.string::op+=]
21.1.1.8.2 basic_string::append [lib.string::append]
21.1.1.8.3 basic_string::assign [lib.string::assign]
21.1.1.8.4 basic_string::insert [lib.string::insert]
21.1.1.8.5 basic_string::remove [lib.string::remove]
21.1.1.8.6 basic_string::replace [lib.string::replace]
21.1.1.8.7 basic_string::copy [lib.string::copy]
21.1.1.8.8 basic_string::swap [lib.string::swap]
21.1.1.9 basic_string string operations [lib.string.ops]
21.1.1.9.1 basic_string::find [lib.string::find]
21.1.1.9.2 basic_string::rfind [lib.string::rfind]
21.1.1.9.3 basic_string::find_first_of [lib.string::find.first.of]
21.1.1.9.4 basic_string::find_last_of [lib.string::find.last.of]
21.1.1.9.5 basic_string::find_first_not_of [lib.string::find.first.not.of]
21.1.1.9.6 basic_string::find_last_not_of [lib.string::find.last.not.of]
21.1.1.9.7 basic_string::substr [lib.string::substr]
21.1.1.9.8 basic_string::compare [lib.string::compare]
21.1.1.10 basic_string non-member functions [lib.string.nonmembers]
21.1.1.10.1 operator+ [lib.string::op+]
21.1.1.10.2 operator== [lib.string::operator==]
21.1.1.10.3 operator!= [lib.string::op!=]
21.1.1.10.4 operator< [lib.string::op<]
21.1.1.10.5 operator> [lib.string::op>]
21.1.1.10.6 operator<= [lib.string::op<=]
21.1.1.10.7 operator>= [lib.string::op>=]
21.1.1.10.8 Inserters and extractors
21.1.2 Class string [lib.string]
21.1.3 string_char_traits<char> members [lib.string.traits.members]
21.1.4 Class wstring [lib.wstring]
21.1.5 string_char_traits<wchar_t> members [lib.wstring.members]
21.2 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 Convenience interfaces [lib.locale.convenience]
22.1.2.1 Character classification [lib.classification]
22.1.2.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> overridden virtual functions [lib.facet.ctype.char.virtuals]
22.2.1.4 Template class codecvt [lib.locale.codecvt]
22.2.1.4.1 codecvt members [lib.locale.codecvt.members]
22.2.1.4.2 codecvt virtual functions [lib.locale.codecvt.virtuals]
22.2.1.5 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 bitset [lib.template.bitset]
23.2.1.1 bitset constructors [lib.bitset.cons]
23.2.1.2 bitset members [lib.bitset.members]
23.2.1.3 bitset operators [lib.bitset.operators]
23.2.2 Template class deque [lib.deque]
23.2.2.1 deque types [lib.deque.types]
23.2.2.2 deque constructors, copy, and assignment [lib.deque.cons]
23.2.2.3 deque iterator support [lib.deque.iterators]
23.2.2.4 deque capacity [lib.deque.capacity]
23.2.2.5 deque element access [lib.deque.access]
23.2.2.6 deque modifiers [lib.deque.modifiers]
23.2.3 Template class list [lib.list]
23.2.3.1 list types [lib.list.types]
23.2.3.2 list constructors, copy, and assignment [lib.list.cons]
23.2.3.3 list iterator support [lib.list.iterators]
23.2.3.4 list capacity [lib.list.capacity]
23.2.3.5 list element access [lib.list.access]
23.2.3.6 list modifiers [lib.list.modifiers]
23.2.3.7 list operations [lib.list.ops]
23.2.4 Container adapters [lib.container.adapters]
23.2.4.1 Template class queue [lib.queue]
23.2.4.2 Template class priority_queue [lib.priority.queue]
23.2.4.2.1 priority_queue constructors [lib.priqueue.cons]
23.2.4.2.2 priority_queue members [lib.priqueue.members]
23.2.4.3 Template class stack [lib.stack]
23.2.5 Template class vector [lib.vector]
23.2.5.1 vector types [lib.vector.types]
23.2.5.2 vector constructors, copy, and assignment [lib.vector.cons]
23.2.5.3 vector iterator support [lib.vector.iterators]
23.2.5.4 vector capacity [lib.vector.capacity]
23.2.5.5 vector element access [lib.vector.access]
23.2.5.6 vector modifiers [lib.vector.modifiers]
23.2.6 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 types [lib.map.types]
23.3.1.2 map constructors, copy, and assignment [lib.map.cons]
23.3.1.3 map iterator support [lib.map.iterators]
23.3.1.4 map capacity [lib.map.capacity]
23.3.1.5 map element access [lib.map.access]
23.3.1.6 map modifiers [lib.map.modifiers]
23.3.1.7 map observers [lib.map.observers]
23.3.1.8 map operations [lib.map.ops]
23.3.2 Template class multimap [lib.multimap]
23.3.3 Template class set [lib.set]
23.3.3.1 set types [lib.set.types]
23.3.3.2 set constructors, copy, and assignment [lib.set.cons]
23.3.3.3 set iterator support [lib.set.iterators]
23.3.3.4 set capacity [lib.set.capacity]
23.3.3.5 set modifiers [lib.set.modifiers]
23.3.3.6 set observers [lib.set.observers]
23.3.3.7 set operations [lib.set.ops]
23.3.4 Template class multiset [lib.multiset]
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.1.6 Iterator tags [lib.iterator.tags]
24.2 Iterator primitives [lib.iterator.primitives]
24.2.1 Standard iterator tags [lib.std.iterator.tags]
24.2.2 Basic iterators [lib.basic.iterators]
24.2.3 iterator_category [lib.iterator.category]
24.2.4 value_type [lib.value.type]
24.2.5 distance_type [lib.distance.type]
24.2.6 Iterator operations [lib.iterator.operations]
24.3 Predefined iterators [lib.predef.iterators]
24.3.1 Reverse iterators [lib.reverse.iterators]
24.3.1.1 Template class reverse_bidirectional_iterator [lib.reverse.bidir.iter]
24.3.1.2 reverse_bidirectional_iterator operations [lib.reverse.bidir.iter.ops]
24.3.1.2.1 reverse_bidirectional_iterator constructor [lib.reverse.bidir.iter.cons]
24.3.1.2.2 Conversion [lib.reverse.bidir.iter.conv]
24.3.1.2.3 operator* [lib.reverse.bidir.iter.op.star]
24.3.1.2.4 operator++ [lib.reverse.bidir.iter.op++]
24.3.1.2.5 operator-- [lib.reverse.bidir.iter.op--]
24.3.1.2.6 operator== [lib.reverse.bidir.iter.op==]
24.3.1.3 Template class reverse_iterator [lib.reverse.iterator]
24.3.1.4 reverse_iterator operations [lib.reverse.iter.ops]
24.3.1.4.1 reverse_iterator constructor [lib.reverse.iter.cons]
24.3.1.4.2 Conversion [lib.reverse.iter.conv]
24.3.1.4.3 operator* [lib.reverse.iter.op.star]
24.3.1.4.4 operator++ [lib.reverse.iter.op++]
24.3.1.4.5 operator-- [lib.reverse.iter.op--]
24.3.1.4.6 operator== [lib.reverse.iter.op==]
24.3.2 Insert iterators [lib.insert.iterators]
24.3.2.1 Template class back_insert_iterator [lib.back.insert.iterator]
24.3.2.2 back_insert_iterator operations [lib.back.insert.iter.ops]
24.3.2.2.1 back_insert_iterator constructor [lib.back.insert.iter.cons]
24.3.2.2.2 back_insert_iterator::operator= [lib.back.insert.iter.op=]
24.3.2.2.3 back_insert_iterator::operator* [lib.back.insert.iter.op*]
24.3.2.2.4 back_insert_iterator::operator++ [lib.back.insert.iter.op++]
24.3.2.2.5 back_inserter [lib.back.inserter]
24.3.2.3 Template class front_insert_iterator [lib.front.insert.iterator]
24.3.2.4 front_insert_iterator operations [lib.front.insert.iter.ops]
24.3.2.4.1 front_insert_iterator constructor [lib.front.insert.iter.cons]
24.3.2.4.2 front_insert_iterator::operator= [lib.front.insert.iter.op=]
24.3.2.4.3 front_insert_iterator::operator* [lib.front.insert.iter.op*]
24.3.2.4.4 front_insert_iterator::operator++ [lib.front.insert.iter.op++]
24.3.2.4.5 front_inserter [lib.front.inserter]
24.3.2.5 Template class insert_iterator [lib.insert.iterator]
24.3.2.6 insert_iterator operations [lib.insert.iter.ops]
24.3.2.6.1 insert_iterator constructor [lib.insert.iter.cons]
24.3.2.6.2 insert_iterator::operator= [lib.insert.iter.op=]
24.3.2.6.3 insert_iterator::operator* [lib.insert.iter.op*]
24.3.2.6.4 insert_iterator::operator++ [lib.insert.iter.op++]
24.3.2.6.5 inserter [lib.inserter]
24.4 Stream iterators [lib.stream.iterators]
24.4.1 Template class istream_iterator [lib.istream.iterator]
24.4.2 Template class ostream_iterator [lib.ostream.iterator]
24.4.3 Template class istreambuf_iterator [lib.istreambuf.iterator]
24.4.3.1 Template class istreambuf_iterator::proxy [lib.istreambuf.iterator::proxy]
24.4.3.2 istreambuf_iterator constructors [lib.istreambuf.iterator.cons]
24.4.3.3 istreambuf_iterator::operator* [lib.istreambuf.iterator::op*]
24.4.3.4 istreambuf_iterator::operator++ [lib.istreambuf.iterator::op++]
24.4.3.5 istreambuf_iterator::equal [lib.istreambuf.iterator::equal]
24.4.3.6 iterator_category [lib.iterator.category.i]
24.4.3.7 operator== [lib.istreambuf.iterator::op==]
24.4.3.8 operator!= [lib.istreambuf.iterator::op!=]
24.4.4 Template class ostreambuf_iterator [lib.ostreambuf.iterator]
24.4.4.1 ostreambuf_iterator constructors [lib.ostreambuf.iter.cons]
24.4.4.2 ostreambuf_iterator operations [lib.ostreambuf.iter.ops]
24.4.4.3 ostreambuf_iterator non-member operations [lib.ostreambuf.iterator.nonmembers]
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 Template class complex [lib.complex]
26.2.2 complex specializations [lib.complex.special]
26.2.3 complex member functions [lib.complex.members]
26.2.4 complex member operators [lib.complex.member.ops]
26.2.5 complex non-member operations [lib.complex.ops]
26.2.6 complex value operations [lib.complex.value.ops]
26.2.7 complex transcendentals [lib.complex.transcendentals]
26.3 Numeric arrays [lib.numarray]
26.3.1 Template class valarray [lib.template.valarray]
26.3.1.1 valarray constructors [lib.valarray.cons]
26.3.1.2 valarray assignment [lib.valarray.assign]
26.3.1.3 valarray element access [lib.valarray.access]
26.3.1.4 valarray subset operations [lib.valarray.sub]
26.3.1.5 valarray unary operators [lib.valarray.unary]
26.3.1.6 valarray computed assignment [lib.valarray.cassign]
26.3.1.7 valarray member functions [lib.valarray.members]
26.3.2 valarray non-member operations [lib.valarray.nonmembers]
26.3.2.1 valarray binary operators [lib.valarray.binary]
26.3.2.2 valarray comparison operators [lib.valarray.comparison]
26.3.2.3 valarray min and max functions [lib.valarray.min.max]
26.3.2.4 valarray transcendentals [lib.valarray.transcend]
26.3.3 Class slice [lib.class.slice]
26.3.3.1 slice constructors [lib.cons.slice]
26.3.3.2 slice access functions [lib.slice.access]
26.3.4 Template class slice_array [lib.template.slice.array]
26.3.4.1 slice_array constructors [lib.cons.slice.arr]
26.3.4.2 slice_array assignment [lib.slice.arr.assign]
26.3.4.3 slice_array computed assignment [lib.slice.arr.comp.assign]
26.3.4.4 slice_array fill function [lib.slice.arr.fill]
26.3.5 The gslice class [lib.class.gslice]
26.3.5.1 gslice constructors [lib.gslice.cons]
26.3.5.2 gslice access functions [lib.gslice.access]
26.3.6 Template class gslice_array [lib.template.gslice.array]
26.3.6.1 gslice_array constructors [lib.gslice.array.cons]
26.3.6.2 gslice_array assignment [lib.gslice.array.assign]
26.3.6.3 gslice_array computed assignment [lib.gslice.array.comp.assign]
26.3.6.4 gslice_array fill function [lib.gslice.array.fill]
26.3.7 Template class mask_array [lib.template.mask.array]
26.3.7.1 mask_array constructors [lib.mask.array.cons]
26.3.7.2 mask_array assignment [lib.mask.array.assign]
26.3.7.3 mask_array computed assignment [lib.mask.array.comp.assign]
26.3.7.4 mask_array fill function [lib.mask.array.fill]
26.3.8 Template class indirect_array [lib.template.indirect.array]
26.3.8.1 indirect_array constructors [lib.indirect.array.cons]
26.3.8.2 indirect_array assignment [lib.indirect.array.assign]
26.3.8.3 indirect_array computed assignment [lib.indirect.array.comp.assign]
26.3.8.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 Type requirements [lib.iostreams.type.reqmts]
27.1.2.1 Type \f4CHAR_T\fP [lib.iostreams.char.t]
27.1.2.2 Type \f4INT_T\fP [lib.iostreams.int.t]
27.1.2.3 Type \f4OFF_T\fP [lib.iostreams.off.t]
27.1.2.4 Type \f4POS_T\fP [lib.iostreams.pos.t]
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 Template struct ios_traits [lib.ios.traits]
27.4.2.1 ios_traits types [lib.ios.traits.types]
27.4.2.2 ios_traits value functions [lib.ios.traits.values]
27.4.2.3 ios_traits test functions [lib.ios.traits.tests]
27.4.2.4 ios_traits conversion functions [lib.ios.traits.convert]
27.4.3 Class ios_base [lib.ios.base]
27.4.3.1 Types [lib.ios.types]
27.4.3.1.1 Class ios_base::failure [lib.ios::failure]
27.4.3.1.2 Type ios_base::fmtflags [lib.ios::fmtflags]
27.4.3.1.3 Type ios_base::iostate [lib.ios::iostate]
27.4.3.1.4 Type ios_base::openmode [lib.ios::openmode]
27.4.3.1.5 Type ios_base::seekdir [lib.ios::seekdir]
27.4.3.1.6 Class ios_base::Init [lib.ios::Init]
27.4.3.2 ios_base fmtflags state functions [lib.fmtflags.state]
27.4.3.3 ios_base locale functions [lib.ios.base.locales]
27.4.3.4 ios_base storage functions [lib.ios.base.storage]
27.4.3.5 ios_base constructors [lib.ios.base.cons]
27.4.4 Template class basic_ios [lib.ios]
27.4.4.1 basic_ios constructors [lib.basic.ios.cons]
27.4.4.2 Member functions [lib.basic.ios.members]
27.4.4.3 basic_ios iostate flags functions [lib.iostate.flags]
27.4.5 ios_base manipulators [lib.std.ios.manip]
27.4.5.1 fmtflags manipulators [lib.fmtflags.manip]
27.4.5.2 adjustfield manipulators [lib.adjustfield.manip]
27.4.5.3 basefield manipulators [lib.basefield.manip]
27.4.5.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.basic.istream.cons]
27.6.1.1.2 basic_istream prefix and suffix [lib.istream.prefix]
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 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.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 basic_ostream prefix and suffix functions [lib.ostream.prefix]
27.6.2.4 Formatted output functions [lib.ostream.formatted]
27.6.2.4.1 Common requirements [lib.ostream.formatted.reqmts]
27.6.2.4.2 basic_ostream::operator<< [lib.ostream.inserters]
27.6.2.5 Unformatted output functions [lib.ostream.unformatted]
27.6.2.6 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.2.3 Class basic_ostringstream [lib.ostringstream]
27.7.2.4 basic_ostringstream constructors [lib.ostringstream.cons]
27.7.2.5 Member functions [lib.ostringstream.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.2 C Library files [lib.c.files]
A Grammar summary [gram]
A.1 Keywords [gram.key]
A.2 Lexical conventions [gram.lex]
A.3 Basic concepts [gram.basic]
A.4 Expressions [gram.expr]
A.5 Statements [gram.stmt.stmt]
A.6 Declarations [gram.dcl.dcl]
A.7 Declarators [gram.dcl.decl]
A.8 Classes [gram.class]
A.9 Derived classes [gram.class.derived]
A.10 Special member functions [gram.special]
A.11 Overloading [gram.over]
A.12 Templates [gram.temp]
A.13 Exception handling [gram.except]
B Implementation quantities [limits]
C Compatibility [diff]
C.1 Extensions [diff.c]
C.1.1 C++ features available in 1985 [diff.early]
C.1.2 C++ features added since 1985 [diff.c++]
C.2 C++ and ISO C [diff.iso]
C.2.1 Clause _lex_: lexical conventions [diff.lex]
C.2.2 Clause _basic_: basic concepts [diff.basic]
C.2.3 Clause _expr_: expressions [diff.expr]
C.2.4 Clause _stmt.stmt_: statements [diff.stat]
C.2.5 Clause _dcl.dcl_: declarations [diff.dcl]
C.2.6 Clause _dcl.decl_: declarators [diff.decl]
C.2.7 Clause _class_: classes [diff.class]
C.2.8 Clause _special_: special member functions [diff.special]
C.2.9 Clause _cpp_: preprocessing directives [diff.cpp]
C.3 Anachronisms [diff.anac]
C.3.1 Old style function definitions [diff.fct.def]
C.3.2 Old style base class initializer [diff.base.init]
C.3.3 Assignment to this [diff.this]
C.3.4 Cast of bound pointer [diff.bound]
C.3.5 Nonnested classes [diff.class.nonnested]
C.4 Standard C library [diff.library]
C.4.1 Modifications to headers [diff.mods.to.headers]
C.4.2 Modifications to definitions [diff.mods.to.definitions]
C.4.2.1 Type wchar_t [diff.wchar.t]
C.4.2.2 Header <iso646.h> [diff.header.iso646.h]
C.4.2.3 Macro NULL [diff.null]
C.4.3 Modifications to declarations [diff.mods.to.declarations]
C.4.4 Modifications to behavior [diff.mods.to.behavior]
C.4.4.1 Macro \f7offsetof(\f6type\f5, \f6member-designator\f5)\f1 [diff.offsetof]
C.4.4.2 Memory allocation functions [diff.malloc]
D Compatibility features [depr]
D.1 Standard C library headers [depr.c.headers]
D.2 Old iostreams members [depr.ios.members]
D.3 char* streams [depr.str.strstreams]
D.3.1 Class strstreambuf [depr.strstreambuf]
D.3.1.1 strstreambuf constructors [depr.strstreambuf.cons]
D.3.1.2 Member functions [depr.strstreambuf.members]
D.3.1.3 strstreambuf overridden virtual functions [depr.strstreambuf.virtuals]
D.3.2 Template class istrstream [depr.istrstream]
D.3.2.1 istrstream constructors [depr.istrstream.cons]
D.3.2.2 Member functions [depr.istrstream.members]
D.3.3 Template class ostrstream [depr.ostrstream]
D.3.3.1 ostrstream constructors [depr.ostrstream.cons]
D.3.3.2 Member functions [depr.ostrstream.members]