C++ TR1
ISO C++
tr1
This table is based on the table of contents of ISO/IEC DTR 19768
Doc No: N1836=05-0096 Date: 2005-06-24
Draft Technical Report on C++ Library Extensions
In this implementation the header names are prefixed by
tr1/, for instance <tr1/functional>,
<tr1/memory>, and so on.
This page describes the TR1 support in mainline GCC SVN, not in any particular
release.
C++ TR1 Implementation StatusSectionDescriptionStatusComments2General Utilities2.1Reference wrappers2.1.1Additions to header <functional> synopsisY2.1.2Class template reference_wrapper2.1.2.1reference_wrapper construct/copy/destroyY2.1.2.2reference_wrapper assignmentY2.1.2.3reference_wrapper accessY2.1.2.4reference_wrapper invocationY2.1.2.5reference_wrapper helper functionsY2.2Smart pointers2.2.1Additions to header <memory> synopsisY2.2.2Class bad_weak_ptrY2.2.3Class template shared_ptr
Uses code from
boost::shared_ptr.
2.2.3.1shared_ptr constructorsY2.2.3.2shared_ptr destructorY2.2.3.3shared_ptr assignmentY2.2.3.4shared_ptr modifiersY2.2.3.5shared_ptr observersY2.2.3.6shared_ptr comparisonY2.2.3.7shared_ptr I/OY2.2.3.8shared_ptr specialized algorithmsY2.2.3.9shared_ptr castsY2.2.3.10get_deleterY2.2.4Class template weak_ptr2.2.4.1weak_ptr constructorsY2.2.4.2weak_ptr destructorY2.2.4.3weak_ptr assignmentY2.2.4.4weak_ptr modifiersY2.2.4.5weak_ptr observersY2.2.4.6weak_ptr comparisonY2.2.4.7weak_ptr specialized algorithmsY2.2.5Class template enable_shared_from_thisY3Function Objects3.1DefinitionsY3.2Additions to <functional> synopsisY3.3RequirementsY3.4Function return typesY3.5Function template mem_fnY3.6Function object binders3.6.1Class template is_bind_expressionY3.6.2Class template is_placeholderY3.6.3Function template bindY3.6.4PlaceholdersY3.7Polymorphic function wrappers3.7.1Class bad_function_callY3.7.1.1bad_function_call constructorY3.7.2Class template function3.7.2.1function construct/copy/destroyY3.7.2.2function modifiersY3.7.2.3function capacityY3.7.2.4function invocationY3.7.2.5function target accessY3.7.2.6undefined operatorsY3.7.2.7null pointer comparison operatorsY3.7.2.8specialized algorithmsY4Metaprogramming and type traits4.1RequirementsY4.2Header <type_traits> synopsisY4.3Helper classesY4.4General RequirementsY4.5Unary Type Traits4.5.1Primary Type CategoriesY4.5.2Composite type traitsY4.5.3Type propertiesY4.6Relationships between typesY4.7Transformations between types4.7.1Const-volatile modificationsY4.7.2Reference modificationsY4.7.3Array modificationsY4.7.4Pointer modificationsY4.8Other transformationsY4.9Implementation requirementsY5Numerical Facilities5.1Random number generation5.1.1RequirementsY5.1.2Header <random> synopsisY5.1.3Class template variate_generatorY5.1.4Random number engine class templatesY5.1.4.1Class template linear_congruentialY5.1.4.2Class template mersenne_twisterY5.1.4.3Class template subtract_with_carryY5.1.4.4Class template subtract_with_carry_01Y5.1.4.5Class template discard_blockY5.1.4.6Class template xor_combineYoperator()() per N20795.1.5Engines with predefined parametersY5.1.6Class random_deviceY5.1.7Random distribution class templatesY5.1.7.1Class template uniform_intY5.1.7.2Class bernoulli_distributionY5.1.7.3Class template geometric_distributionY5.1.7.4Class template poisson_distributionY5.1.7.5Class template binomial_distributionY5.1.7.6Class template uniform_realY5.1.7.7Class template exponential_distributionY5.1.7.8Class template normal_distributionY5.1.7.9Class template gamma_distributionY5.2Mathematical special functionsY5.2.1Additions to header <cmath> synopsisY5.2.1.1associated Laguerre polynomialsY5.2.1.2associated Legendre functionsY5.2.1.3beta functionY5.2.1.4(complete) elliptic integral of the first kindY5.2.1.5(complete) elliptic integral of the second kindY5.2.1.6(complete) elliptic integral of the third kindY5.2.1.7confluent hypergeometric functionsY5.2.1.8regular modified cylindrical Bessel functionsY5.2.1.9cylindrical Bessel functions (of the first kind)Y5.2.1.10irregular modified cylindrical Bessel functionsY5.2.1.11cylindrical Neumann functionsY5.2.1.12(incomplete) elliptic integral of the first kindY5.2.1.13(incomplete) elliptic integral of the second kindY5.2.1.14(incomplete) elliptic integral of the third kindY5.2.1.15exponential integralY5.2.1.16Hermite polynomialsY5.2.1.17hypergeometric functionsY5.2.1.18Laguerre polynomialsY5.2.1.19Legendre polynomialsY5.2.1.20Riemann zeta functionY5.2.1.21spherical Bessel functions (of the first kind)Y5.2.1.22spherical associated Legendre functionsY5.2.1.23spherical Neumann functionsY5.2.2Additions to header <math.h> synopsisY6Containers6.1Tuple typesY6.1.1Header <tuple> synopsisY6.1.2Additions to header <utility> synopsisY6.1.3Class template tupleY6.1.3.1ConstructionY6.1.3.2Tuple creation functionsY6.1.3.3Tuple helper classesY6.1.3.4Element accessY6.1.3.5Relational operatorsY6.1.4PairsY6.2Fixed size arrayY6.2.1Header <array> synopsisY6.2.2Class template arrayY6.2.2.1array constructors, copy, and assignmentY6.2.2.2array specialized algorithmsY6.2.2.3array sizeY6.2.2.4Zero sized arraysY6.2.2.5Tuple interface to class template arrayY6.3Unordered associative containersY6.3.1Unordered associative container requirementsY6.3.1.1Exception safety guaranteesY6.3.2Additions to header <functional> synopsisY6.3.3Class template hashY6.3.4Unordered associative container classesY6.3.4.1Header <unordered_set> synopsisY6.3.4.2Header <unordered_map> synopsisY6.3.4.3Class template unordered_setY6.3.4.3.1unordered_set constructorsY6.3.4.3.2unordered_set swapY6.3.4.4Class template unordered_mapY6.3.4.4.1unordered_map constructorsY6.3.4.4.2unordered_map element accessY6.3.4.4.3unordered_map swapY6.3.4.5Class template unordered_multisetY6.3.4.5.1unordered_multiset constructorsY6.3.4.5.2unordered_multiset swapY6.3.4.6Class template unordered_multimapY6.3.4.6.1unordered_multimap constructorsY6.3.4.6.2unordered_multimap swapY7Regular Expressions7.1DefinitionsN7.2RequirementsN7.3Regular expressions summaryN7.4Header <regex> synopsisN7.5Namespace tr1::regex_constantsN7.5.1Bitmask Type syntax_option_typeN7.5.2Bitmask Type regex_constants::match_flag_typeN7.5.3Implementation defined error_typeN7.6Class regex_errorN7.7Class template regex_traitsN7.8Class template basic_regexN7.8.1basic_regex constantsN7.8.2basic_regex constructorsN7.8.3basic_regex assignN7.8.4basic_regex constant operationsN7.8.5basic_regex localeN7.8.6basic_regex swapN7.8.7basic_regex non-member functionsN7.8.7.1basic_regex non-member swapN7.9Class template sub_matchN7.9.1sub_match membersN7.9.2sub_match non-member operatorsN7.10Class template match_resultsN7.10.1match_results constructorsN7.10.2match_results sizeN7.10.3match_results element accessN7.10.4match_results formattingN7.10.5match_results allocatorN7.10.6match_results swapN7.11Regular expression algorithmsN7.11.1exceptionsN7.11.2regex_matchN7.11.3regex_searchN7.11.4regex_replaceN7.12Regular expression IteratorsN7.12.1Class template regex_iteratorN7.12.1.1regex_iterator constructorsN7.12.1.2regex_iterator comparisonsN7.12.1.3regex_iterator dereferenceN7.12.1.4regex_iterator incrementN7.12.2Class template regex_token_iteratorN7.12.2.1regex_token_iterator constructorsN7.12.2.2regex_token_iterator comparisonsN7.12.2.3regex_token_iterator dereferenceN7.12.2.4regex_token_iterator incrementN7.13Modified ECMAScript regular expression grammarN8C Compatibility8.1Additions to header <complex>Y8.1.1SynopsisY8.1.2Function acosY8.1.3Function asinY8.1.4Function atanY8.1.5Function acoshY8.1.6Function asinhY8.1.7Function atanhY8.1.8Function fabsY8.1.9Additional OverloadsY8.2Header <ccomplex>NDR 5518.3Header <complex.h>NDR 5518.4Additions to header <cctype>Y8.4.1SynopsisY8.4.2Function isblankY8.5Additions to header <ctype.h>Y8.6Header <cfenv>Y8.6.1SynopsisY8.6.2DefinitionsY8.7Header <fenv.h>Y8.8Additions to header <cfloat>Y8.9Additions to header <float.h>Y8.10Additions to header <ios>N8.10.1SynopsisN8.10.2Function hexfloatN8.11Header <cinttypes>Y8.11.1SynopsisYDR 5578.11.2DefinitionsY8.12Header <inttypes.h>Y8.13Additions to header <climits>Y8.14Additions to header <limits.h>Y8.15Additions to header <locale>N8.16Additions to header <cmath>Y8.16.1SynopsisY8.16.2DefinitionsY8.16.3Function template definitionsY8.16.4Additional overloadsYDR 568; DR 5508.17Additions to header <math.h>Y8.18Additions to header <cstdarg>Y8.19Additions to header <stdarg.h>Y8.20The header <cstdbool>Y8.21The header <stdbool.h>Y8.22The header <cstdint>Y8.22.1SynopsisY8.22.2DefinitionsY8.23The header <stdint.h>Y8.24Additions to header <cstdio>Y8.24.1SynopsisY8.24.2DefinitionsY8.24.3Additional format specifiersYC library dependency8.24.4Additions to header <stdio.h>Y8.25Additions to header <cstdlib>Y8.25.1SynopsisY8.25.2DefinitionsY8.25.3Function absY8.25.4Function divY8.26Additions to header <stdlib.h>Y8.27Header <ctgmath>YDR 5518.28Header <tgmath.h>YDR 5518.29Additions to header <ctime>YC library dependency8.30Additions to header <cwchar>Y8.30.1SynopsisY8.30.2DefinitionsY8.30.3Additional wide format specifiersYC library dependency8.31Additions to header <wchar.h>Y8.32Additions to header <cwctype>Y8.32.1SynopsisY8.32.2Function iswblankY8.33Additions to header <wctype.h>Y
Implementation Specific BehaviorFor behaviour which is specified by the 1998 and 2003 standards,
see C++ 1998/2003 Implementation
Specific Behavior. This section documents behaviour which
is required by TR1.
3.6.4 [tr.func.bind.place]/1 There are 29
placeholders defined and the placeholder types are
Assignable.