دسترسی نامحدود
برای کاربرانی که ثبت نام کرده اند
برای ارتباط با ما می توانید از طریق شماره موبایل زیر از طریق تماس و پیامک با ما در ارتباط باشید
در صورت عدم پاسخ گویی از طریق پیامک با پشتیبان در ارتباط باشید
برای کاربرانی که ثبت نام کرده اند
درصورت عدم همخوانی توضیحات با کتاب
از ساعت 7 صبح تا 10 شب
ویرایش:
نویسندگان: Various
سری:
ناشر:
سال نشر: 2006
تعداد صفحات: [1087]
زبان: English
فرمت فایل : PDF (درصورت درخواست کاربر به PDF، EPUB یا AZW3 تبدیل می شود)
حجم فایل: 7 Mb
در صورت تبدیل فایل کتاب International Standard ISO-IEC 14882: Programming Languages: C++ به فرمت های PDF، EPUB، AZW3، MOBI و یا DJVU می توانید به پشتیبان اطلاع دهید تا فایل مورد نظر را تبدیل نمایند.
توجه داشته باشید کتاب استاندارد بین المللی ISO-IEC 14882: زبان های برنامه نویسی: C++ نسخه زبان اصلی می باشد و کتاب ترجمه شده به فارسی نمی باشد. وبسایت اینترنشنال لایبرری ارائه دهنده کتاب های زبان اصلی می باشد و هیچ گونه کتاب ترجمه شده یا نوشته شده به فارسی را ارائه نمی دهد.
1 General 1.1 Scope 1.2 Normative references 1.3 Definitions 1.4 Implementation compliance 1.5 Structure of this International Standard 1.6 Syntax notation 1.7 The C++ memory model 1.8 The C++ object model 1.9 Program execution 1.10 Concurrency memory model 1.11 Acknowledgments 2 Lexical conventions 2.1 Phases of translation 2.2 Character sets 2.3 Trigraph sequences 2.4 Preprocessing tokens 2.5 Alternative tokens 2.6 Tokens 2.7 Comments 2.8 Header names 2.9 Preprocessing numbers 2.10 Identifiers 2.11 Keywords 2.12 Operators and punctuators 2.13 Literals 2.13.1 Integer literals 2.13.2 Character literals 2.13.3 Floating literals 2.13.4 String literals 2.13.5 Boolean literals 3 Basic concepts 3.1 Declarations and definitions 3.2 One definition rule 3.3 Declarative regions and scopes 3.3.1 Point of declaration 3.3.2 Local scope 3.3.3 Function prototype scope 3.3.4 Function scope 3.3.5 Namespace scope 3.3.6 Class scope 3.3.7 Name hiding 3.4 Name lookup 3.4.1 Unqualified name lookup 3.4.2 Argument-dependent name lookup 3.4.3 Qualified name lookup 3.4.3.1 Class members 3.4.3.2 Namespace members 3.4.4 Elaborated type specifiers 3.4.5 Class member access 3.4.6 Using-directives and namespace aliases 3.5 Program and linkage 3.6 Start and termination 3.6.1 Main function 3.6.2 Initialization of non-local objects 3.6.3 Termination 3.7 Storage duration 3.7.1 Static storage duration 3.7.2 Thread-local storage 3.7.3 Automatic storage duration 3.7.4 Dynamic storage duration 3.7.4.1 Allocation functions 3.7.4.2 Deallocation functions 3.7.5 Programmer-controlled garbage collection 3.7.6 Duration of subobjects 3.8 Object Lifetime 3.9 Types 3.9.1 Fundamental types 3.9.2 Compound types 3.9.3 CV-qualifiers 3.10 Lvalues and rvalues 4 Standard conversions 4.1 Lvalue-to-rvalue conversion 4.2 Array-to-pointer conversion 4.3 Function-to-pointer conversion 4.4 Qualification conversions 4.5 Integral promotions 4.6 Floating point promotion 4.7 Integral conversions 4.8 Floating point conversions 4.9 Floating-integral conversions 4.10 Pointer conversions 4.11 Pointer to member conversions 4.12 Boolean conversions 4.13 Integer conversion rank 5 Expressions 5.1 Primary expressions 5.2 Postfix expressions 5.2.1 Subscripting 5.2.2 Function call 5.2.3 Explicit type conversion (functional notation) 5.2.4 Pseudo destructor call 5.2.5 Class member access 5.2.6 Increment and decrement 5.2.7 Dynamic cast 5.2.8 Type identification 5.2.9 Static cast 5.2.10 Reinterpret cast 5.2.11 Const cast 5.3 Unary expressions 5.3.1 Unary operators 5.3.2 Increment and decrement 5.3.3 Sizeof 5.3.4 New 5.3.5 Delete 5.4 Explicit type conversion (cast notation) 5.5 Pointer-to-member operators 5.6 Multiplicative operators 5.7 Additive operators 5.8 Shift operators 5.9 Relational operators 5.10 Equality operators 5.11 Bitwise AND operator 5.12 Bitwise exclusive OR operator 5.13 Bitwise inclusive OR operator 5.14 Logical AND operator 5.15 Logical OR operator 5.16 Conditional operator 5.17 Assignment and compound assignment operators 5.18 Comma operator 5.19 Constant expressions 6 Statements 6.1 Labeled statement 6.2 Expression statement 6.3 Compound statement or block 6.4 Selection statements 6.4.1 The if statement 6.4.2 The switch statement 6.5 Iteration statements 6.5.1 The while statement 6.5.2 The do statement 6.5.3 The for statement 6.6 Jump statements 6.6.1 The break statement 6.6.2 The continue statement 6.6.3 The return statement 6.6.4 The goto statement 6.7 Declaration statement 6.8 Ambiguity resolution 7 Declarations 7.1 Specifiers 7.1.1 Storage class specifiers 7.1.2 Function specifiers 7.1.3 The typedef specifier 7.1.4 The friend specifier 7.1.5 Type specifiers 7.1.5.1 The cv-qualifiers 7.1.5.2 Simple type specifiers 7.1.5.3 Elaborated type specifiers 7.1.5.4 auto specifier 7.2 Enumeration declarations 7.3 Namespaces 7.3.1 Namespace definition 7.3.1.1 Unnamed namespaces 7.3.1.2 Namespace member definitions 7.3.2 Namespace alias 7.3.3 The using declaration 7.3.4 Using directive 7.4 The asm declaration 7.5 Linkage specifications 8 Declarators 8.1 Type names 8.2 Ambiguity resolution 8.3 Meaning of declarators 8.3.1 Pointers 8.3.2 References 8.3.3 Pointers to members 8.3.4 Arrays 8.3.5 Functions 8.3.6 Default arguments 8.4 Function definitions 8.5 Initializers 8.5.1 Aggregates 8.5.2 Character arrays 8.5.3 References 9 Classes 9.1 Class names 9.2 Class members 9.3 Member functions 9.3.1 Nonstatic member functions 9.3.2 The this pointer 9.4 Static members 9.4.1 Static member functions 9.4.2 Static data members 9.5 Unions 9.6 Bit-fields 9.7 Nested class declarations 9.8 Local class declarations 9.9 Nested type names 10 Derived classes 10.1 Multiple base classes 10.2 Member name lookup 10.3 Virtual functions 10.4 Abstract classes 11 Member access control 11.1 Access specifiers 11.2 Accessibility of base classes and base class members 11.3 Access declarations 11.4 Friends 11.5 Protected member access 11.6 Access to virtual functions 11.7 Multiple access 11.8 Nested classes 12 Special member functions 12.1 Constructors 12.2 Temporary objects 12.3 Conversions 12.3.1 Conversion by constructor 12.3.2 Conversion functions 12.4 Destructors 12.5 Free store 12.6 Initialization 12.6.1 Explicit initialization 12.6.2 Initializing bases and members 12.7 Construction and destruction 12.8 Copying class objects 13 Overloading 13.1 Overloadable declarations 13.2 Declaration matching 13.3 Overload resolution 13.3.1 Candidate functions and argument lists 13.3.1.1 Function call syntax 13.3.1.1.1 Call to named function 13.3.1.1.2 Call to object of class type 13.3.1.2 Operators in expressions 13.3.1.3 Initialization by constructor 13.3.1.4 Copy-initialization of class by user-defined conversion 13.3.1.5 Initialization by conversion function 13.3.1.6 Initialization by conversion function for direct reference binding 13.3.2 Viable functions 13.3.3 Best Viable Function 13.3.3.1 Implicit conversion sequences 13.3.3.1.1 Standard conversion sequences 13.3.3.1.2 User-defined conversion sequences 13.3.3.1.3 Ellipsis conversion sequences 13.3.3.1.4 Reference binding 13.3.3.2 Ranking implicit conversion sequences 13.4 Address of overloaded function 13.5 Overloaded operators 13.5.1 Unary operators 13.5.2 Binary operators 13.5.3 Assignment 13.5.4 Function call 13.5.5 Subscripting 13.5.6 Class member access 13.5.7 Increment and decrement 13.6 Built-in operators 14 Templates 14.1 Template parameters 14.2 Names of template specializations 14.3 Template arguments 14.3.1 Template type arguments 14.3.2 Template non-type arguments 14.3.3 Template template arguments 14.4 Type equivalence 14.5 Template declarations 14.5.1 Class templates 14.5.1.1 Member functions of class templates 14.5.1.2 Member classes of class templates 14.5.1.3 Static data members of class templates 14.5.2 Member templates 14.5.3 Friends 14.5.4 Class template partial specializations 14.5.4.1 Matching of class template partial specializations 14.5.4.2 Partial ordering of class template specializations 14.5.4.3 Members of class template specializations 14.5.5 Function templates 14.5.5.1 Function template overloading 14.5.5.2 Partial ordering of function templates 14.6 Name resolution 14.6.1 Locally declared names 14.6.2 Dependent names 14.6.2.1 Dependent types 14.6.2.2 Type-dependent expressions 14.6.2.3 Value-dependent expressions 14.6.2.4 Dependent template arguments 14.6.3 Non-dependent names 14.6.4 Dependent name resolution 14.6.4.1 Point of instantiation 14.6.4.2 Candidate functions 14.6.5 Friend names declared within a class template 14.7 Template instantiation and specialization 14.7.1 Implicit instantiation 14.7.2 Explicit instantiation 14.7.3 Explicit specialization 14.8 Function template specializations 14.8.1 Explicit template argument specification 14.8.2 Template argument deduction 14.8.2.1 Deducing template arguments from a function call 14.8.2.2 Deducing template arguments taking the address of a function template 14.8.2.3 Deducing conversion function template arguments 14.8.2.4 Deducing template arguments during partial ordering 14.8.2.5 Deducing template arguments from a type 14.8.3 Overload resolution 14.9 Concepts 15 Exception handling 15.1 Throwing an exception 15.2 Constructors and destructors 15.3 Handling an exception 15.4 Exception specifications 15.5 Special functions 15.5.1 The std::terminate() function 15.5.2 The std::unexpected() function 15.5.3 The std::uncaught_exception() function 15.6 Exceptions and access 16 Preprocessing directives 16.1 Conditional inclusion 16.2 Source file inclusion 16.3 Macro replacement 16.3.1 Argument substitution 16.3.2 The # operator 16.3.3 The ## operator 16.3.4 Rescanning and further replacement 16.3.5 Scope of macro definitions 16.4 Line control 16.5 Error directive 16.6 Pragma directive 16.7 Null directive 16.8 Predefined macro names 16.9 Pragma operator 17 Library introduction 17.1 Definitions 17.2 Additional definitions 17.3 Method of description (Informative) 17.3.1 Structure of each subclause 17.3.1.1 Summary 17.3.1.2 Requirements 17.3.1.3 Specifications 17.3.1.4 C Library 17.3.2 Other conventions 17.3.2.1 Type descriptions 17.3.2.1.1 Enumerated types 17.3.2.1.2 Bitmask types 17.3.2.1.3 Character sequences 17.3.2.1.3.1 Byte strings 17.3.2.1.3.2 Multibyte strings 17.3.2.1.3.3 Wide-character sequences 17.3.2.2 Functions within classes 17.3.2.3 Private members 17.4 Library-wide requirements 17.4.1 Library contents and organization 17.4.1.1 Library contents 17.4.1.2 Headers 17.4.1.3 Freestanding implementations 17.4.2 Using the library 17.4.2.1 Headers 17.4.2.2 Linkage 17.4.3 Constraints on programs 17.4.3.1 Reserved names 17.4.3.1.1 Macro names 17.4.3.1.2 Global names 17.4.3.1.3 External linkage 17.4.3.1.4 Types 17.4.3.2 Headers 17.4.3.3 Derived classes 17.4.3.4 Replacement functions 17.4.3.5 Handler functions 17.4.3.6 Other functions 17.4.3.7 Function arguments 17.4.3.8 Required paragraph 17.4.4 Conforming implementations 17.4.4.1 Headers 17.4.4.2 Restrictions on macro definitions 17.4.4.3 Global or non-member functions 17.4.4.4 Member functions 17.4.4.5 Reentrancy 17.4.4.6 Protection within classes 17.4.4.7 Derived classes 17.4.4.8 Restrictions on exception handling 18 Language support library 18.1 Types 18.2 Implementation properties 18.2.1 Numeric limits 18.2.1.1 Class template numeric_limits 18.2.1.2 numeric_limits members 18.2.1.3 Type float_round_style 18.2.1.4 Type float_denorm_style 18.2.1.5 numeric_limits specializations 18.2.2 C Library 18.3 Integer types 18.3.1 Headersynopsis 18.3.2 The header 18.4 Start and termination 18.5 Dynamic memory management 18.5.1 Storage allocation and deallocation 18.5.1.1 Single-object forms 18.5.1.2 Array forms 18.5.1.3 Placement forms 18.5.2 Storage allocation errors 18.5.2.1 Class bad_alloc 18.5.2.2 Type new_handler 18.5.2.3 set_new_handler 18.6 Type identification 18.6.1 Class type_info 18.6.2 Class bad_cast 18.6.3 Class bad_typeid 18.7 Exception handling 18.7.1 Class exception 18.7.2 Violating exception-specifications 18.7.2.1 Class bad_exception 18.7.2.2 Type unexpected_handler 18.7.2.3 set_unexpected 18.7.2.4 unexpected 18.7.3 Abnormal termination 18.7.3.1 Type terminate_handler 18.7.3.2 set_terminate 18.7.3.3 terminate 18.7.4 uncaught_exception 18.8 Other runtime support 19 Diagnostics library 19.1 Exception classes 19.1.1 Class logic_error 19.1.2 Class domain_error 19.1.3 Class invalid_argument 19.1.4 Class length_error 19.1.5 Class out_of_range 19.1.6 Class runtime_error 19.1.7 Class range_error 19.1.8 Class overflow_error 19.1.9 Class underflow_error 19.2 Assertions 19.3 Error numbers 20 General utilities library 20.1 Requirements 20.1.1 Equality comparison 20.1.2 Less than comparison 20.1.3 Copy construction 20.1.4 Swapping 20.1.5 Default construction 20.1.6 Allocator requirements 20.2 Utility components 20.2.1 Operators 20.2.2 Pairs 20.3 Tuples 20.3.1 Class template tuple 20.3.1.1 Construction 20.3.1.2 Tuple creation functions 20.3.1.3 Tuple helper classes 20.3.1.4 Element access 20.3.1.5 Relational operators 20.4 Metaprogramming and type traits 20.4.1 Requirements 20.4.2 Header synopsis 20.4.3 Helper classes 20.4.4 General Requirements 20.4.5 Unary Type Traits 20.4.5.1 Primary Type Categories 20.4.5.2 Composite type traits 20.4.5.3 Type properties 20.4.6 Relationships between types 20.4.7 Transformations between types 20.4.7.1 Const-volatile modifications 20.4.7.2 Reference modifications 20.4.7.3 Array modifications 20.4.7.4 Pointer modifications 20.4.8 Other transformations 20.4.9 Implementation requirements 20.5 Function objects 20.5.1 Definitions 20.5.2 Requirements 20.5.3 Base 20.5.4 Function object return types 20.5.5 Class template reference_wrapper 20.5.5.1 reference_wrapper construct/copy/destroy 20.5.5.2 reference_wrapper assignment 20.5.5.3 reference_wrapper access 20.5.5.4 reference_wrapper invocation 20.5.5.5 reference_wrapper helper functions 20.5.6 Arithmetic operations 20.5.7 Comparisons 20.5.8 Logical operations 20.5.9 Negators 20.5.10 Template function bind 20.5.10.1 Function object binders 20.5.10.1.1 Class template is_bind_expression 20.5.10.1.2 Class template is_placeholder 20.5.10.1.3 Function template bind 20.5.10.1.4 Placeholders 20.5.11 Adaptors for pointers to functions 20.5.12 Adaptors for pointers to members 20.5.13 Function template mem_fn 20.5.14 Polymorphic function wrappers 20.5.14.1 Class bad_function_call 20.5.14.1.1 bad_function_call constructor 20.5.14.2 Class template function 20.5.14.2.1 function construct/copy/destroy 20.5.14.2.2 function modifiers 20.5.14.2.3 function capacity 20.5.14.2.4 function invocation 20.5.14.2.5 function target access 20.5.14.2.6 undefined operators 20.5.14.2.7 null pointer comparison operators 20.5.14.2.8 specialized algorithms 20.5.15 Class template hash 20.6 Memory 20.6.1 The default allocator 20.6.1.1 allocator members 20.6.1.2 allocator globals 20.6.2 Raw storage iterator 20.6.3 Temporary buffers 20.6.4 Specialized algorithms 20.6.4.1 uninitialized_copy 20.6.4.2 uninitialized_fill 20.6.4.3 uninitialized_fill_n 20.6.5 Class template auto_ptr 20.6.5.1 auto_ptr constructors 20.6.5.2 auto_ptr members 20.6.5.3 auto_ptr conversions 20.6.6 Smart pointers 20.6.6.1 Class bad_weak_ptr 20.6.6.2 Class template shared_ptr 20.6.6.2.1 shared_ptr constructors 20.6.6.2.2 shared_ptr destructor 20.6.6.2.3 shared_ptr assignment 20.6.6.2.4 shared_ptr modifiers 20.6.6.2.5 shared_ptr observers 20.6.6.2.6 shared_ptr comparison 20.6.6.2.7 shared_ptr I/O 20.6.6.2.8 shared_ptr specialized algorithms 20.6.6.2.9 shared_ptr casts 20.6.6.2.10 get_deleter 20.6.6.3 Class template weak_ptr 20.6.6.3.1 weak_ptr constructors 20.6.6.3.2 weak_ptr destructor 20.6.6.3.3 weak_ptr assignment 20.6.6.3.4 weak_ptr modifiers 20.6.6.3.5 weak_ptr observers 20.6.6.3.6 weak_ptr comparison 20.6.6.3.7 weak_ptr specialized algorithms 20.6.6.4 Class template enable_shared_from_this 20.6.7 C Library 20.7 Date and time 21 Strings library 21.1 Character traits 21.1.1 Character traits requirements 21.1.2 traits typedefs 21.1.3 char_traits specializations 21.1.3.1 struct char_traits 21.1.3.2 struct char_traits 21.2 String classes 21.3 Class template basic_string 21.3.1 basic_string general requirements 21.3.2 basic_string constructors and assigment operators 21.3.3 basic_string iterator support 21.3.4 basic_string capacity 21.3.5 basic_string element access 21.3.6 basic_string modifiers 21.3.6.1 basic_string::operator+= 21.3.6.2 basic_string::append 21.3.6.3 basic_string::assign 21.3.6.4 basic_string::insert 21.3.6.5 basic_string::erase 21.3.6.6 basic_string::replace 21.3.6.7 basic_string::copy 21.3.6.8 basic_string::swap 21.3.7 basic_string string operations 21.3.7.1 basic_string::find 21.3.7.2 basic_string::rfind 21.3.7.3 basic_string::find_first_of 21.3.7.4 basic_string::find_last_of 21.3.7.5 basic_string::find_first_not_of 21.3.7.6 basic_string::find_last_not_of 21.3.7.7 basic_string::substr 21.3.7.8 basic_string::compare 21.3.8 basic_string non-member functions 21.3.8.1 operator+ 21.3.8.2 operator== 21.3.8.3 operator!= 21.3.8.4 operator< 21.3.8.5 operator> 21.3.8.6 operator<= 21.3.8.7 operator>= 21.3.8.8 swap 21.3.8.9 Inserters and extractors 21.4 Null-terminated sequence utilities 22 Localization library 22.1 Locales 22.1.1 Class locale 22.1.1.1 locale types 22.1.1.1.1 Type locale::category 22.1.1.1.2 Class locale::facet 22.1.1.1.3 Class locale::id 22.1.1.2 locale constructors and destructor 22.1.1.3 locale members 22.1.1.4 locale operators 22.1.1.5 locale static members 22.1.2 locale globals 22.1.3 Convenience interfaces 22.1.3.1 Character classification 22.1.3.2 Character conversions 22.2 Standard locale categories 22.2.1 The ctype category 22.2.1.1 Class template ctype 22.2.1.1.1 ctype members 22.2.1.1.2 ctype virtual functions 22.2.1.2 Class template ctype_byname 22.2.1.3 ctype specializations 22.2.1.3.1 ctype destructor 22.2.1.3.2 ctype members 22.2.1.3.3 ctype static members 22.2.1.3.4 ctype virtual functions 22.2.1.4 Class template codecvt 22.2.1.4.1 codecvt members 22.2.1.4.2 codecvt virtual functions 22.2.1.5 Class template codecvt_byname 22.2.2 The numeric category 22.2.2.1 Class template num_get 22.2.2.1.1 num_get members 22.2.2.1.2 num_get virtual functions 22.2.2.2 Class template num_put 22.2.2.2.1 num_put members 22.2.2.2.2 num_put virtual functions 22.2.3 The numeric punctuation facet 22.2.3.1 Class template numpunct 22.2.3.1.1 numpunct members 22.2.3.1.2 numpunct virtual functions 22.2.3.2 Class template numpunct_byname 22.2.4 The collate category 22.2.4.1 Class template collate 22.2.4.1.1 collate members 22.2.4.1.2 collate virtual functions 22.2.4.2 Class template collate_byname 22.2.5 The time category 22.2.5.1 Class template time_get 22.2.5.1.1 time_get members 22.2.5.1.2 time_get virtual functions 22.2.5.2 Class template time_get_byname 22.2.5.3 Class template time_put 22.2.5.3.1 time_put members 22.2.5.3.2 time_put virtual functions 22.2.5.4 Class template time_put_byname 22.2.6 The monetary category 22.2.6.1 Class template money_get 22.2.6.1.1 money_get members 22.2.6.1.2 money_get virtual functions 22.2.6.2 Class template money_put 22.2.6.2.1 money_put members 22.2.6.2.2 money_put virtual functions 22.2.6.3 Class template moneypunct 22.2.6.3.1 moneypunct members 22.2.6.3.2 moneypunct virtual functions 22.2.6.4 Class template moneypunct_byname 22.2.7 The message retrieval category 22.2.7.1 Class template messages 22.2.7.1.1 messages members 22.2.7.1.2 messages virtual functions 22.2.7.2 Class template messages_byname 22.2.8 Program-defined facets 22.3 C Library Locales 23 Containers library 23.1 Container requirements 23.1.1 Sequences 23.1.2 Associative containers 23.1.3 Unordered associative containers 23.1.3.1 Exception safety guarantees 23.2 Sequences 23.2.1 Class template array 23.2.1.1 array constructors, copy, and assignment 23.2.1.2 array specialized algorithms 23.2.1.3 array size 23.2.1.4 array::data 23.2.1.5 Zero sized arrays 23.2.1.6 Tuple interface to class template array 23.2.2 Class template deque 23.2.2.1 deque constructors, copy, and assignment 23.2.2.2 deque capacity 23.2.2.3 deque modifiers 23.2.2.4 deque specialized algorithms 23.2.3 Class template list 23.2.3.1 list constructors, copy, and assignment 23.2.3.2 list capacity 23.2.3.3 list modifiers 23.2.3.4 list operations 23.2.3.5 list specialized algorithms 23.2.4 Container adaptors 23.2.4.1 Class template queue 23.2.4.1.1 queue definition 23.2.4.1.2 queue operators 23.2.4.2 Class template priority_queue 23.2.4.2.1 priority_queue constructors 23.2.4.2.2 priority_queue members 23.2.4.3 Class template stack 23.2.4.3.1 stack definition 23.2.4.3.2 stack operators 23.2.5 Class template vector 23.2.5.1 vector constructors, copy, and assignment 23.2.5.2 vector capacity 23.2.5.3 vector data 23.2.5.4 vector modifiers 23.2.5.5 vector specialized algorithms 23.2.6 Class vector 23.3 Associative containers 23.3.1 Class template map 23.3.1.1 map constructors, copy, and assignment 23.3.1.2 map element access 23.3.1.3 map operations 23.3.1.4 map specialized algorithms 23.3.2 Class template multimap 23.3.2.1 multimap constructors 23.3.2.2 multimap operations 23.3.2.3 multimap specialized algorithms 23.3.3 Class template set 23.3.3.1 set constructors, copy, and assignment 23.3.3.2 set specialized algorithms 23.3.4 Class template multiset 23.3.4.1 multiset constructors 23.3.4.2 multiset specialized algorithms 23.3.5 Class template bitset 23.3.5.1 bitset constructors 23.3.5.2 bitset members 23.3.5.3 bitset operators 23.4 Unordered associative containers 23.4.1 Class template unordered_map 23.4.1.1 unordered_map constructors 23.4.1.2 unordered_map element access 23.4.1.3 unordered_map swap 23.4.2 Class template unordered_multimap 23.4.2.1 unordered_multimap constructors 23.4.2.2 unordered_multimap swap 23.4.3 Class template unordered_set 23.4.3.1 unordered_set constructors 23.4.3.2 unordered_set swap 23.4.4 Class template unordered_multiset 23.4.4.1 unordered_multiset constructors 23.4.4.2 unordered_multiset swap 24 Iterators library 24.1 Iterator requirements 24.1.1 Input iterators 24.1.2 Output iterators 24.1.3 Forward iterators 24.1.4 Bidirectional iterators 24.1.5 Random access iterators 24.2 Header synopsis 24.3 Iterator primitives 24.3.1 Iterator traits 24.3.2 Basic iterator 24.3.3 Standard iterator tags 24.3.4 Iterator operations 24.4 Predefined iterators 24.4.1 Reverse iterators 24.4.1.1 Class template reverse_iterator 24.4.1.2 reverse_iterator requirements 24.4.1.3 reverse_iterator operations 24.4.1.3.1 reverse_iterator constructor 24.4.1.3.2 reverse_iterator::operator= 24.4.1.3.3 Conversion 24.4.1.3.4 operator* 24.4.1.3.5 operator-> 24.4.1.3.6 operator++ 24.4.1.3.7 operator-- 24.4.1.3.8 operator+ 24.4.1.3.9 operator+= 24.4.1.3.10 operator- 24.4.1.3.11 operator-= 24.4.1.3.12 operator[] 24.4.1.3.13 operator== 24.4.1.3.14 operator< 24.4.1.3.15 operator!= 24.4.1.3.16 operator> 24.4.1.3.17 operator>= 24.4.1.3.18 operator<= 24.4.1.3.19 operator- 24.4.1.3.20 operator+ 24.4.2 Insert iterators 24.4.2.1 Class template back_insert_iterator 24.4.2.2 back_insert_iterator operations 24.4.2.2.1 back_insert_iterator constructor 24.4.2.2.2 back_insert_iterator::operator= 24.4.2.2.3 back_insert_iterator::operator* 24.4.2.2.4 back_insert_iterator::operator++ 24.4.2.2.5 back_inserter 24.4.2.3 Class template front_insert_iterator 24.4.2.4 front_insert_iterator operations 24.4.2.4.1 front_insert_iterator constructor 24.4.2.4.2 front_insert_iterator::operator= 24.4.2.4.3 front_insert_iterator::operator* 24.4.2.4.4 front_insert_iterator::operator++ 24.4.2.4.5 front_inserter 24.4.2.5 Class template insert_iterator 24.4.2.6 insert_iterator operations 24.4.2.6.1 insert_iterator constructor 24.4.2.6.2 insert_iterator::operator= 24.4.2.6.3 insert_iterator::operator* 24.4.2.6.4 insert_iterator::operator++ 24.4.2.6.5 inserter 24.5 Stream iterators 24.5.1 Class template istream_iterator 24.5.1.1 istream_iterator constructors and destructor 24.5.1.2 istream_iterator operations 24.5.2 Class template ostream_iterator 24.5.2.1 ostream_iterator constructors and destructor 24.5.2.2 ostream_iterator operations 24.5.3 Class template istreambuf_iterator 24.5.3.1 Class template istreambuf_iterator::proxy 24.5.3.2 istreambuf_iterator constructors 24.5.3.3 istreambuf_iterator::operator* 24.5.3.4 istreambuf_iterator::operator++ 24.5.3.5 istreambuf_iterator::equal 24.5.3.6 operator== 24.5.3.7 operator!= 24.5.4 Class template ostreambuf_iterator 24.5.4.1 ostreambuf_iterator constructors 24.5.4.2 ostreambuf_iterator operations 25 Algorithms library 25.1 Non-modifying sequence operations 25.1.1 For each 25.1.2 Find 25.1.3 Find End 25.1.4 Find First 25.1.5 Adjacent find 25.1.6 Count 25.1.7 Mismatch 25.1.8 Equal 25.1.9 Search 25.2 Mutating sequence operations 25.2.1 Copy 25.2.2 Swap 25.2.3 Transform 25.2.4 Replace 25.2.5 Fill 25.2.6 Generate 25.2.7 Remove 25.2.8 Unique 25.2.9 Reverse 25.2.10 Rotate 25.2.11 Random shuffle 25.2.12 Partitions 25.3 Sorting and related operations 25.3.1 Sorting 25.3.1.1 sort 25.3.1.2 stable_sort 25.3.1.3 partial_sort 25.3.1.4 partial_sort_copy 25.3.2 Nth element 25.3.3 Binary search 25.3.3.1 lower_bound 25.3.3.2 upper_bound 25.3.3.3 equal_range 25.3.3.4 binary_search 25.3.4 Merge 25.3.5 Set operations on sorted structures 25.3.5.1 includes 25.3.5.2 set_union 25.3.5.3 set_intersection 25.3.5.4 set_difference 25.3.5.5 set_symmetric_difference 25.3.6 Heap operations 25.3.6.1 push_heap 25.3.6.2 pop_heap 25.3.6.3 make_heap 25.3.6.4 sort_heap 25.3.7 Minimum and maximum 25.3.8 Lexicographical comparison 25.3.9 Permutation generators 25.4 C library algorithms 26 Numerics library 26.1 Numeric type requirements 26.2 The floating-point environment 26.2.1 Header synopsis 26.2.2 Header 26.3 Complex numbers 26.3.1 Header synopsis 26.3.2 Class template complex 26.3.3 complex specializations 26.3.4 complex member functions 26.3.5 complex member operators 26.3.6 complex non-member operations 26.3.7 complex value operations 26.3.8 complex transcendentals 26.3.9 Additional Overloads 26.3.10 Header 26.3.11 Header 26.4 Random number generation 26.4.1 Requirements 26.4.1.1 General requirements 26.4.1.2 Uniform random number generator requirements 26.4.1.3 Random number engine requirements 26.4.1.4 Random number engine adaptor requirements 26.4.1.5 Random number distribution requirements 26.4.2 Header synopsis 26.4.3 Random number engine class templates 26.4.3.1 Class template linear_congruential_engine 26.4.3.2 Class template mersenne_twister_engine 26.4.3.3 Class template subtract_with_carry_engine 26.4.4 Random number engine adaptor class templates 26.4.4.1 Class template discard_block_engine 26.4.4.2 Class template independent_bits_engine 26.4.4.3 Class template shuffle_order_engine 26.4.4.4 Class template xor_combine_engine 26.4.5 Engines and engine adaptors with predefined parameters 26.4.6 Class random_device 26.4.7 Utilities 26.4.7.1 Class seed_seq 26.4.7.2 Function template generate_canonical 26.4.8 Random number distribution class templates 26.4.8.1 Uniform distributions 26.4.8.1.1 Class template uniform_int_distribution 26.4.8.1.2 Class template uniform_real_distribution 26.4.8.2 Bernoulli distributions 26.4.8.2.1 Class bernoulli_distribution 26.4.8.2.2 Class template binomial_distribution 26.4.8.2.3 Class template geometric_distribution 26.4.8.2.4 Class template negative_binomial_distribution 26.4.8.3 Poisson distributions 26.4.8.3.1 Class template poisson_distribution 26.4.8.3.2 Class template exponential_distribution 26.4.8.3.3 Class template gamma_distribution 26.4.8.3.4 Class template weibull_distribution 26.4.8.3.5 Class template extreme_value_distribution 26.4.8.4 Normal distributions 26.4.8.4.1 Class template normal_distribution 26.4.8.4.2 Class template lognormal_distribution 26.4.8.4.3 Class template chi_squared_distribution 26.4.8.4.4 Class template cauchy_distribution 26.4.8.4.5 Class template fisher_f_distribution 26.4.8.4.6 Class template student_t_distribution 26.4.8.5 Sampling distributions 26.4.8.5.1 Class template discrete_distribution 26.4.8.5.2 Class template piecewise_constant_distribution 26.4.8.5.3 Class template general_pdf_distribution 26.5 Numeric arrays 26.5.1 Header synopsis 26.5.2 Class template valarray 26.5.2.1 valarray constructors 26.5.2.2 valarray assignment 26.5.2.3 valarray element access 26.5.2.4 valarray subset operations 26.5.2.5 valarray unary operators 26.5.2.6 valarray computed assignment 26.5.2.7 valarray member functions 26.5.3 valarray non-member operations 26.5.3.1 valarray binary operators 26.5.3.2 valarray logical operators 26.5.3.3 valarray transcendentals 26.5.4 Class slice 26.5.4.1 slice constructors 26.5.4.2 slice access functions 26.5.5 Class template slice_array 26.5.5.1 slice_array constructors 26.5.5.2 slice_array assignment 26.5.5.3 slice_array computed assignment 26.5.5.4 slice_array fill function 26.5.6 The gslice class 26.5.6.1 gslice constructors 26.5.6.2 gslice access functions 26.5.7 Class template gslice_array 26.5.7.1 gslice_array constructors 26.5.7.2 gslice_array assignment 26.5.7.3 gslice_array 26.5.7.4 gslice_array fill function 26.5.8 Class template mask_array 26.5.8.1 mask_array constructors 26.5.8.2 mask_array assignment 26.5.8.3 mask_array computed assignment 26.5.8.4 mask_array fill function 26.5.9 Class template indirect_array 26.5.9.1 indirect_array constructors 26.5.9.2 indirect_array assignment 26.5.9.3 indirect_array computed assignment 26.5.9.4 indirect_array fill function 26.6 Generalized numeric operations 26.6.1 Accumulate 26.6.2 Inner product 26.6.3 Partial sum 26.6.4 Adjacent difference 26.7 C Library 27 Input/output library 27.1 Iostreams requirements 27.1.1 Imbue Limitations 27.1.2 Positioning Type Limitations 27.2 Forward declarations 27.3 Standard iostream objects 27.3.1 Narrow stream objects 27.3.2 Wide stream objects 27.4 Iostreams base classes 27.4.1 Types 27.4.2 Class ios_base 27.4.2.1 Types 27.4.2.1.1 Class ios_base::failure 27.4.2.1.2 Type ios_base::fmtflags 27.4.2.1.3 Type ios_base::iostate 27.4.2.1.4 Type ios_base::openmode 27.4.2.1.5 Type ios_base::seekdir 27.4.2.1.6 Class ios_base::Init 27.4.2.2 ios_base state functions 27.4.2.3 ios_base functions 27.4.2.4 ios_base static members 27.4.2.5 ios_base storage functions 27.4.2.6 ios_base callbacks 27.4.2.7 ios_base constructors/destructors 27.4.3 Class template fpos 27.4.3.1 fpos Members 27.4.3.2 fpos requirements 27.4.4 Class template basic_ios 27.4.4.1 basic_ios constructors 27.4.4.2 Member functions 27.4.4.3 basic_ios flags functions 27.4.5 ios_base manipulators 27.4.5.1 fmtflags manipulators 27.4.5.2 adjustfield manipulators 27.4.5.3 basefield manipulators 27.4.5.4 floatfield manipulators 27.5 Stream buffers 27.5.1 Stream buffer requirements 27.5.2 Class template basic_streambuf 27.5.2.1 basic_streambuf constructors 27.5.2.2 basic_streambuf public member functions 27.5.2.2.1 Locales 27.5.2.2.2 Buffer management and positioning 27.5.2.2.3 Get area 27.5.2.2.4 Putback 27.5.2.2.5 Put area 27.5.2.3 basic_streambuf protected member functions 27.5.2.3.1 Get area access 27.5.2.3.2 Put area access 27.5.2.4 basic_streambuf virtual functions 27.5.2.4.1 Locales 27.5.2.4.2 Buffer management and positioning 27.5.2.4.3 Get area 27.5.2.4.4 Putback 27.5.2.4.5 Put area 27.6 Formatting and manipulators 27.6.1 Input streams 27.6.1.1 Class template basic_istream 27.6.1.1.1 basic_istream constructors 27.6.1.1.2 Class basic_istream::sentry 27.6.1.2 Formatted input functions 27.6.1.2.1 Common requirements 27.6.1.2.2 Arithmetic Extractors 27.6.1.2.3 basic_istream::operator>> 27.6.1.3 Unformatted input functions 27.6.1.4 Standard basic_istream manipulators 27.6.1.5 Class template basic_iostream 27.6.1.5.1 basic_iostream constructors 27.6.1.5.2 basic_iostream destructor 27.6.2 Output streams 27.6.2.1 Class template basic_ostream 27.6.2.2 basic_ostream constructors 27.6.2.3 Class basic_ostream::sentry 27.6.2.4 basic_ostream seek members 27.6.2.5 Formatted output functions 27.6.2.5.1 Common requirements 27.6.2.5.2 Arithmetic Inserters 27.6.2.5.3 basic_ostream::operator<< 27.6.2.5.4 Character inserter function templates 27.6.2.6 Unformatted output functions 27.6.2.7 Standard basic_ostream manipulators 27.6.3 Standard manipulators 27.6.4 Extended Manipulators 27.7 String-based streams 27.7.1 Class template basic_stringbuf 27.7.1.1 basic_stringbuf constructors 27.7.1.2 Member functions 27.7.1.3 Overridden virtual functions 27.7.2 Class template basic_istringstream 27.7.2.1 basic_istringstream constructors 27.7.2.2 Member functions 27.7.3 Class basic_ostringstream 27.7.3.1 basic_ostringstream constructors 27.7.3.2 Member functions 27.7.4 Class template basic_stringstream 27.7.5 basic_stringstream constructors 27.7.6 Member functions 27.8 File-based streams 27.8.1 File streams 27.8.1.1 Class template basic_filebuf 27.8.1.2 basic_filebuf constructors 27.8.1.3 Member functions 27.8.1.4 Overridden virtual functions 27.8.1.5 Class template basic_ifstream 27.8.1.6 basic_ifstream constructors 27.8.1.7 Member functions 27.8.1.8 Class template basic_ofstream 27.8.1.9 basic_ofstream constructors 27.8.1.10 Member functions 27.8.1.11 Class template basic_fstream 27.8.1.12 basic_fstream constructors 27.8.1.13 Member functions 27.8.2 C Library files 28 Regular expressions library 28.1 Definitions 28.2 Requirements 28.3 Regular expressions summary 28.4 Header synopsis 28.5 Namespace tr1::regex_constants 28.5.1 Bitmask Type syntax_option_type 28.5.2 Bitmask Type regex_constants::match_flag_type 28.5.3 Implementation defined error_type 28.6 Class regex_error 28.7 Class template regex_traits 28.8 Class template basic_regex 28.8.1 basic_regex constants 28.8.2 basic_regex constructors 28.8.3 basic_regex assign 28.8.4 basic_regex constant operations 28.8.5 basic_regex locale 28.8.6 basic_regex swap 28.8.7 basic_regex non-member functions 28.8.7.1 basic_regex non-member swap 28.9 Class template sub_match 28.9.1 sub_match members 28.9.2 sub_match non-member operators 28.10 Class template match_results 28.10.1 match_results constructors 28.10.2 match_results size 28.10.3 match_results element access 28.10.4 match_results formatting 28.10.5 match_results allocator 28.10.6 match_results swap 28.11 Regular expression algorithms 28.11.1 exceptions 28.11.2 regex_match 28.11.3 regex_search 28.11.4 regex_replace 28.12 Regular expression Iterators 28.12.1 Class template regex_iterator 28.12.1.1 regex_iterator constructors 28.12.1.2 regex_iterator comparisons 28.12.1.3 regex_iterator dereference 28.12.1.4 regex_iterator increment 28.12.2 Class template regex_token_iterator 28.12.2.1 regex_token_iterator constructors 28.12.2.2 regex_token_iterator comparisons 28.12.2.3 regex_token_iterator dereference 28.12.2.4 regex_token_iterator increment 28.13 Modified ECMAScript regular expression grammar 29 Atomic operations library 30 Thread support library A Grammar summary A.1 Keywords A.2 Lexical conventions A.3 Basic concepts A.4 Expressions A.5 Statements A.6 Declarations A.7 Declarators A.8 Classes A.9 Derived classes A.10 Special member functions A.11 Overloading A.12 Templates A.13 Exception handling A.14 Preprocessing directives B Implementation quantities C Compatibility C.1 C++ and ISO C C.1.1 Clause 2: lexical conventions C.1.2 Clause 3: basic concepts C.1.3 Clause 5: expressions C.1.4 Clause 6: statements C.1.5 Clause 7: declarations C.1.6 Clause 8: declarators C.1.7 Clause 9: classes C.1.8 Clause 12: special member functions C.1.9 Clause 16: preprocessing directives C.2 Standard C library C.2.1 Modifications to headers C.2.2 Modifications to definitions C.2.2.1 Type wchar_t C.2.2.2 Header C.2.2.3 Macro NULL C.2.3 Modifications to declarations C.2.4 Modifications to behavior C.2.4.1 Macro offsetof(type,member-designator) C.2.4.2 Memory allocation functions D Compatibility features D.1 Increment operator with bool operand D.2 static keyword D.3 Access declarations D.4 Implicit conversion from const strings D.5 Standard C library headers D.6 Old iostreams members D.7 char* streams D.7.1 Class strstreambuf D.7.1.1 strstreambuf constructors D.7.1.2 Member functions D.7.1.3 strstreambuf overridden virtual functions D.7.2 Class istrstream D.7.2.1 istrstream constructors D.7.2.2 Member functions D.7.3 Class ostrstream D.7.3.1 ostrstream constructors D.7.3.2 Member functions D.7.4 Class strstream D.7.4.1 strstream constructors D.7.4.2 strstream destructor D.7.4.3 strstream operations D.8 Binders D.8.1 Class template binder1st D.8.2 bind1st D.8.3 Class template binder2nd D.8.4 bind2nd E Universal-character-names F Cross references