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 CVS, not in any particular release.
| Section | Description | Done | Broken | Missing | Comments | 
| 2 | General Utilities | ||||
| 2.1 | Reference wrappers | done | |||
| 2.1.1 | Additions to header <functional>synopsis | done | |||
| 2.1.2 | Class template reference_wrapper | done | |||
| 2.1.2.1 | reference_wrapperconstruct/copy/destroy | done | |||
| 2.1.2.2 | reference_wrapperassignment | done | |||
| 2.1.2.3 | reference_wrapperaccess | done | |||
| 2.1.2.4 | reference_wrapperinvocation | done | |||
| 2.1.2.5 | reference_wrapperhelper functions | done | |||
| 2.2 | Smart pointers | done | |||
| 2.2.1 | Additions to header <memory>synopsis | done | |||
| 2.2.2 | Class bad_weak_ptr | done | |||
| 2.2.3 | Class template shared_ptr | done | 1 | ||
| 2.2.3.1 | shared_ptrconstructors | done | |||
| 2.2.3.2 | shared_ptrdestructor | done | |||
| 2.2.3.3 | shared_ptrassignment | done | |||
| 2.2.3.4 | shared_ptrmodifiers | done | |||
| 2.2.3.5 | shared_ptrobservers | done | |||
| 2.2.3.6 | shared_ptrcomparison | done | |||
| 2.2.3.7 | shared_ptrI/O | done | |||
| 2.2.3.8 | shared_ptrspecialized algorithms | done | |||
| 2.2.3.9 | shared_ptrcasts | done | |||
| 2.2.3.10 | get_deleter | done | |||
| 2.2.4 | Class template weak_ptr | done | |||
| 2.2.4.1 | weak_ptrconstructors | done | |||
| 2.2.4.2 | weak_ptrdestructor | done | |||
| 2.2.4.3 | weak_ptrassignment | done | |||
| 2.2.4.4 | weak_ptrmodifiers | done | |||
| 2.2.4.5 | weak_ptrobservers | done | |||
| 2.2.4.6 | weak_ptrcomparison | done | |||
| 2.2.4.7 | weak_ptrspecialized algorithms | done | |||
| 2.2.5 | Class template enable_shared_from_this | done | |||
| 3 | Function objects | ||||
| 3.1 | Definitions | done | |||
| 3.2 | Additions to <functional> synopsis | done | |||
| 3.3 | Requirements | done | |||
| 3.4 | Function return types | done | |||
| 3.5 | Function template mem_fn | done | |||
| 3.6 | Function object binders | done | |||
| 3.6.1 | Class template is_bind_expression | done | |||
| 3.6.2 | Class template is_placeholder | done | |||
| 3.6.3 | Function template bind | done | |||
| 3.6.4 | Placeholders | done | |||
| 3.7 | Polymorphic function wrappers | done | |||
| 3.7.1 | Class bad_function_call | done | |||
| 3.7.1.1 | bad_function_callconstructor | done | |||
| 3.7.2 | Class template function | done | |||
| 3.7.2.1 | functionconstruct/copy/destroy | done | |||
| 3.7.2.2 | functionmodifiers | done | |||
| 3.7.2.3 | functioncapacity | done | |||
| 3.7.2.4 | functioninvocation | done | |||
| 3.7.2.5 | functiontarget access | done | |||
| 3.7.2.6 | undefined operators | done | |||
| 3.7.2.7 | null pointer comparison operators | done | |||
| 3.7.2.8 | specialized algorithms | done | |||
| 4 | Metaprogramming and type traits | ||||
| 4.1 | Requirements | done | |||
| 4.2 | Header <type_traits>synopsis | done | |||
| 4.3 | Helper classes | done | |||
| 4.4 | General Requirements | done | |||
| 4.5 | Unary Type Traits | done | |||
| 4.5.1 | Primary Type Categories | done | |||
| 4.5.2 | Composite type traits | done | |||
| 4.5.3 | Type properties | done | |||
| 4.6 | Relationships between types | done | |||
| 4.7 | Transformations between types | done | |||
| 4.7.1 | Const-volatile modifications | done | |||
| 4.7.2 | Reference modifications | done | |||
| 4.7.3 | Array modifications | done | |||
| 4.7.4 | Pointer modifications | done | |||
| 4.8 | Other transformations | done | |||
| 4.9 | Implementation requirements | done | |||
| 5 | Numerical facilities | ||||
| 5.1 | Random number generation | done | |||
| 5.1.1 | Requirements | done | |||
| 5.1.2 | Header <random>synopsis | done | |||
| 5.1.3 | Class template variate_generator | done | |||
| 5.1.4 | Random number engine class templates | done | |||
| 5.1.4.1 | Class template linear_congruential | done | |||
| 5.1.4.2 | Class template mersenne_twister | done | |||
| 5.1.4.3 | Class template subtract_with_carry | done | |||
| 5.1.4.4 | Class template subtract_with_carry_01 | done | |||
| 5.1.4.5 | Class template discard_block | done | |||
| 5.1.4.6 | Class template xor_combine | done | operator()() per N2079 | ||
| 5.1.5 | Engines with predefined parameters | done | |||
| 5.1.6 | Class random_device | done | |||
| 5.1.7 | Random distribution class templates | done | |||
| 5.1.7.1 | Class template uniform_int | done | |||
| 5.1.7.2 | Class bernoulli_distribution | done | |||
| 5.1.7.3 | Class template geometric_distribution | done | |||
| 5.1.7.4 | Class template poisson_distribution | done | |||
| 5.1.7.5 | Class template binomial_distribution | done | |||
| 5.1.7.6 | Class template uniform_real | done | |||
| 5.1.7.7 | Class template exponential_distribution | done | |||
| 5.1.7.8 | Class template normal_distribution | done | |||
| 5.1.7.9 | Class template gamma_distribution | done | |||
| 5.2 | Mathematical special functions | missing | |||
| 5.2.1 | Additions to header <cmath>synopsis | missing | |||
| 5.2.1.1 | associated Laguerre polynomials | missing | |||
| 5.2.1.2 | associated Legendre functions | missing | |||
| 5.2.1.3 | beta function | missing | |||
| 5.2.1.4 | (complete) elliptic integral of the first kind | missing | |||
| 5.2.1.5 | (complete) elliptic integral of the second kind | missing | |||
| 5.2.1.6 | (complete) elliptic integral of the third kind | missing | |||
| 5.2.1.7 | confluent hypergeometric functions | missing | |||
| 5.2.1.8 | regular modified cylindrical Bessel functions | missing | |||
| 5.2.1.9 | cylindrical Bessel functions (of the first kind) | missing | |||
| 5.2.1.10 | irregular modified cylindrical Bessel functions | missing | |||
| 5.2.1.11 | cylindrical Neumann functions | missing | |||
| 5.2.1.12 | (incomplete) elliptic integral of the first kind | missing | |||
| 5.2.1.13 | (incomplete) elliptic integral of the second kind | missing | |||
| 5.2.1.14 | (incomplete) elliptic integral of the third kind | missing | |||
| 5.2.1.15 | exponential integral | missing | |||
| 5.2.1.16 | Hermite polynomials | missing | |||
| 5.2.1.17 | hypergeometric functions | missing | |||
| 5.2.1.18 | Laguerre polynomials | missing | |||
| 5.2.1.19 | Legendre polynomials | missing | |||
| 5.2.1.20 | Riemann zeta function | missing | |||
| 5.2.1.21 | spherical Bessel functions (of the first kind) | missing | |||
| 5.2.1.22 | spherical associated Legendre functions | missing | |||
| 5.2.1.23 | spherical Neumann functions | missing | |||
| 5.2.2 | Additions to header <math.h>synopsis | missing | |||
| 6 | Containers | ||||
| 6.1 | Tuple types | done | |||
| 6.1.1 | Header <tuple>synopsis | done | |||
| 6.1.2 | Additions to header <utility>synopsis | done | |||
| 6.1.3 | Class template tuple | done | |||
| 6.1.3.1 | Construction | done | |||
| 6.1.3.2 | Tuple creation functions | done | |||
| 6.1.3.3 | Tuple helper classes | done | |||
| 6.1.3.4 | Element access | done | |||
| 6.1.3.5 | Relational operators | done | |||
| 6.1.4 | Pairs | done | |||
| 6.2 | Fixed size array | done | |||
| 6.2.1 | Header <array>synopsis | done | |||
| 6.2.2 | Class template array | done | |||
| 6.2.2.1 | arrayconstructors, copy, and assignment | done | |||
| 6.2.2.2 | arrayspecialized algorithms | done | |||
| 6.2.2.3 | arraysize | done | |||
| 6.2.2.4 | Zero sized arrays | done | |||
| 6.2.2.5 | Tuple interface to class template array | done | |||
| 6.3 | Unordered associative containers | done | |||
| 6.3.1 | Unordered associative container requirements | done | |||
| 6.3.1.1 | Exception safety guarantees | done | |||
| 6.3.2 | Additions to header <functional>synopsis | done | |||
| 6.3.3 | Class template hash | done | |||
| 6.3.4 | Unordered associative container classes | done | |||
| 6.3.4.1 | Header <unordered_set>synopsis | done | |||
| 6.3.4.2 | Header <unordered_map>synopsis | done | |||
| 6.3.4.3 | Class template unordered_set | done | |||
| 6.3.4.3.1 | unordered_setconstructors | done | |||
| 6.3.4.3.2 | unordered_setswap | done | |||
| 6.3.4.4 | Class template unordered_map | done | |||
| 6.3.4.4.1 | unordered_mapconstructors | done | |||
| 6.3.4.4.2 | unordered_mapelement access | done | |||
| 6.3.4.4.3 | unordered_mapswap | done | |||
| 6.3.4.5 | Class template unordered_multiset | done | |||
| 6.3.4.5.1 | unordered_multisetconstructors | done | |||
| 6.3.4.5.2 | unordered_multisetswap | done | |||
| 6.3.4.6 | Class template unordered_multimap | done | |||
| 6.3.4.6.1 | unordered_multimapconstructors | done | |||
| 6.3.4.6.2 | unordered_multimapswap | done | |||
| 7 | Regular expressions | ||||
| 7.1 | Definitions | missing | |||
| 7.2 | Requirements | missing | |||
| 7.3 | Regular expressions summary | missing | |||
| 7.4 | Header <regex>synopsis | missing | |||
| 7.5 | Namespace tr1::regex_constants | missing | |||
| 7.5.1 | Bitmask Type syntax_option_type | missing | |||
| 7.5.2 | Bitmask Type regex_constants::match_flag_type | missing | |||
| 7.5.3 | Implementation defined error_type | missing | |||
| 7.6 | Class regex_error | missing | |||
| 7.7 | Class template regex_traits | missing | |||
| 7.8 | Class template basic_regex | missing | |||
| 7.8.1 | basic_regexconstants | missing | |||
| 7.8.2 | basic_regexconstructors | missing | |||
| 7.8.3 | basic_regexassign | missing | |||
| 7.8.4 | basic_regexconstant operations | missing | |||
| 7.8.5 | basic_regexlocale | missing | |||
| 7.8.6 | basic_regexswap | missing | |||
| 7.8.7 | basic_regexnon-member functions | missing | |||
| 7.8.7.1 | basic_regexnon-member swap | missing | |||
| 7.9 | Class template sub_match | missing | |||
| 7.9.1 | sub_matchmembers | missing | |||
| 7.9.2 | sub_matchnon-member operators | missing | |||
| 7.10 | Class template match_results | missing | |||
| 7.10.1 | match_resultsconstructors | missing | |||
| 7.10.2 | match_resultssize | missing | |||
| 7.10.3 | match_resultselement access | missing | |||
| 7.10.4 | match_resultsformatting | missing | |||
| 7.10.5 | match_resultsallocator | missing | |||
| 7.10.6 | match_resultsswap | missing | |||
| 7.11 | Regular expression algorithms | missing | |||
| 7.11.1 | exceptions | missing | |||
| 7.11.2 | regex_match | missing | |||
| 7.11.3 | regex_search | missing | |||
| 7.11.4 | regex_replace | missing | |||
| 7.12 | Regular expression Iterators | missing | |||
| 7.12.1 | Class template regex_iterator | missing | |||
| 7.12.1.1 | regex_iteratorconstructors | missing | |||
| 7.12.1.2 | regex_iteratorcomparisons | missing | |||
| 7.12.1.3 | regex_iteratordereference | missing | |||
| 7.12.1.4 | regex_iteratorincrement | missing | |||
| 7.12.2 | Class template regex_token_iterator | missing | |||
| 7.12.2.1 | regex_token_iteratorconstructors | missing | |||
| 7.12.2.2 | regex_token_iteratorcomparisons | missing | |||
| 7.12.2.3 | regex_token_iteratordereference | missing | |||
| 7.12.2.4 | regex_token_iteratorincrement | missing | |||
| 7.13 | Modified ECMAScript regular expression grammar | missing | |||
| 8 | C compatibility | ||||
| 8.1 | Additions to header <complex> | done | |||
| 8.1.1 | Synopsis | done | |||
| 8.1.2 | Function acos | done | |||
| 8.1.3 | Function asin | done | |||
| 8.1.4 | Function atan | done | |||
| 8.1.5 | Function acosh | done | |||
| 8.1.6 | Function asinh | done | |||
| 8.1.7 | Function atanh | done | |||
| 8.1.8 | Function fabs | done | |||
| 8.1.9 | Additional Overloads | done | |||
| 8.2 | Header <ccomplex> | missing | DR 551 | ||
| 8.3 | Header <complex.h> | missing | DR 551 | ||
| 8.4 | Additions to header <cctype> | done | |||
| 8.4.1 | Synopsis | done | |||
| 8.4.2 | Function isblank | done | |||
| 8.5 | Additions to header <ctype.h> | done | |||
| 8.6 | Header <cfenv> | done | |||
| 8.6.1 | Synopsis | done | |||
| 8.6.2 | Definitions | done | |||
| 8.7 | Header <fenv.h> | done | |||
| 8.8 | Additions to header <cfloat> | done | |||
| 8.9 | Additions to header <float.h> | done | |||
| 8.10 | Additions to header <ios> | missing | |||
| 8.10.1 | Synopsis | missing | |||
| 8.10.2 | Function hexfloat | missing | |||
| 8.11 | Header <cinttypes> | done | |||
| 8.11.1 | Synopsis | done | DR 557 | ||
| 8.11.2 | Definitions | done | |||
| 8.12 | Header <inttypes.h> | done | |||
| 8.13 | Additions to header <climits> | done | |||
| 8.14 | Additions to header <limits.h> | done | |||
| 8.15 | Additions to header <locale> | missing | |||
| 8.16 | Additions to header <cmath> | done | |||
| 8.16.1 | Synopsis | done | |||
| 8.16.2 | Definitions | done | |||
| 8.16.3 | Function template definitions | done | |||
| 8.16.4 | Additional overloads | done | DR 568; DR 550 | ||
| 8.17 | Additions to header <math.h> | done | |||
| 8.18 | Additions to header <cstdarg> | done | |||
| 8.19 | Additions to header <stdarg.h> | done | |||
| 8.20 | The header <cstdbool> | done | |||
| 8.21 | The header <stdbool.h> | done | |||
| 8.22 | The header <cstdint> | done | |||
| 8.22.1 | Synopsis | done | |||
| 8.22.2 | Definitions | done | |||
| 8.23 | The header <stdint.h> | done | |||
| 8.24 | Additions to header <cstdio> | done | |||
| 8.24.1 | Synopsis | done | |||
| 8.24.2 | Definitions | done | |||
| 8.24.3 | Additional format specifiers | done | C library responsability | ||
| 8.24.4 | Additions to header <stdio.h> | done | |||
| 8.25 | Additions to header <cstdlib> | done | |||
| 8.25.1 | Synopsis | done | |||
| 8.25.2 | Definitions | done | |||
| 8.25.3 | Function abs | done | |||
| 8.25.4 | Function div | done | |||
| 8.26 | Additions to header <stdlib.h> | done | |||
| 8.27 | Header <ctgmath> | done | DR 551 | ||
| 8.28 | Header <tgmath.h> | done | DR 551 | ||
| 8.29 | Additions to header <ctime> | done | C library responsability | ||
| 8.30 | Additions to header <cwchar> | done | |||
| 8.30.1 | Synopsis | done | |||
| 8.30.2 | Definitions | done | |||
| 8.30.3 | Additional wide format specifiers | done | C library responsability | ||
| 8.31 | Additions to header <wchar.h> | done | |||
| 8.32 | Additions to header <cwctype> | done | |||
| 8.32.1 | Synopsis | done | |||
| 8.32.2 | Function iswblank | done | |||
| 8.33 | Additions to header <wctype.h> | done | |||
Please send FSF & GNU inquiries & questions to gnu@gnu.org. There are also other ways to contact the FSF.
These pages are maintained by the GCC team.
For questions related to the use of GCC, please consult these web pages and the GCC manuals. If that fails, the gcc-help@gcc.gnu.org mailing list might help.Copyright (C) Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
| Last modified 2006-10-01 |  |