  
  
  
  
 Status of TR1 features in GCC
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 GCC 4.1.
  
    
      
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_wrapper construct/copy/destroy       
done       
      
      
    
    
      
2.1.2.2       
reference_wrapper assignment       
done       
      
      
    
    
      
2.1.2.3       
reference_wrapper access       
done       
      
      
    
    
      
2.1.2.4       
reference_wrapper invocation       
done       
      
      
    
    
      
2.1.2.5       
reference_wrapper helper 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       
      
      
tr1.html#11     
    
      
2.2.3.1       
shared_ptr constructors       
done       
      
      
    
    
      
2.2.3.2       
shared_ptr destructor       
done       
      
      
    
    
      
2.2.3.3       
shared_ptr assignment       
done       
      
      
    
    
      
2.2.3.4       
shared_ptr modifiers       
done       
      
      
    
    
      
2.2.3.5       
shared_ptr observers       
done       
      
      
    
    
      
2.2.3.6       
shared_ptr comparison       
done       
      
      
    
    
      
2.2.3.7       
shared_ptr I/O       
done       
      
      
    
    
      
2.2.3.8       
shared_ptr specialized algorithms       
done       
      
      
    
    
      
2.2.3.9       
shared_ptr casts       
done       
      
      
    
    
      
2.2.3.10       
get_deleter       
done       
      
      
    
    
      
2.2.4       
Class template weak_ptr       
done       
      
      
    
    
      
2.2.4.1       
weak_ptr constructors       
done       
      
      
    
    
      
2.2.4.2       
weak_ptr destructor       
done       
      
      
    
    
      
2.2.4.3       
weak_ptr assignment       
done       
      
      
    
    
      
2.2.4.4       
weak_ptr modifiers       
done       
      
      
    
    
      
2.2.4.5       
weak_ptr observers       
done       
      
      
    
    
      
2.2.4.6       
weak_ptr comparison       
done       
      
      
    
    
      
2.2.4.7       
weak_ptr specialized 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_call constructor       
done       
      
      
    
    
      
3.7.2       
Class template function       
done       
      
      
    
    
      
3.7.2.1       
function construct/copy/destroy       
done       
      
      
    
    
      
3.7.2.2       
function modifiers       
done       
      
      
    
    
      
3.7.2.3       
function capacity       
done       
      
      
    
    
      
3.7.2.4       
function invocation       
done       
      
      
    
    
      
3.7.2.5       
function target 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       
      
      
missing       
    
    
      
5.1.1       
Requirements       
      
      
missing       
    
    
      
5.1.2       
Header <random> synopsis       
      
      
missing       
    
    
      
5.1.3       
Class template variate_generator       
      
      
missing       
    
    
      
5.1.4       
Random number engine class templates       
      
      
missing       
    
    
      
5.1.4.1       
Class template linear_congruential       
      
      
missing       
    
    
      
5.1.4.2       
Class template mersenne_twister       
      
      
missing       
    
    
      
5.1.4.3       
Class template subtract_with_carry       
      
      
missing       
    
    
      
5.1.4.4       
Class template subtract_with_carry_01       
      
      
missing       
    
    
      
5.1.4.5       
Class template discard_block       
      
      
missing       
    
    
      
5.1.4.6       
Class template xor_combine       
      
      
missing       
    
    
      
5.1.5       
Engines with predefined parameters       
      
      
missing       
    
    
      
5.1.6       
Class random_device       
      
      
missing       
    
    
      
5.1.7       
Random distribution class templates       
      
      
missing       
    
    
      
5.1.7.1       
Class template uniform_int       
      
      
missing       
    
    
      
5.1.7.2       
Class bernoulli_distribution       
      
      
missing       
    
    
      
5.1.7.3       
Class template geometric_distribution       
      
      
missing       
    
    
      
5.1.7.4       
Class template poisson_distribution       
      
      
missing       
    
    
      
5.1.7.5       
Class template binomial_distribution       
      
      
missing       
    
    
      
5.1.7.6       
Class template uniform_real       
      
      
missing       
    
    
      
5.1.7.7       
Class template exponential_distribution       
      
      
missing       
    
    
      
5.1.7.8       
Class template normal_distribution       
      
      
missing       
    
    
      
5.1.7.9       
Class template gamma_distribution       
      
      
missing       
    
    
      
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       
array constructors, copy, and assignment       
done       
      
      
    
    
      
6.2.2.2       
array specialized algorithms       
done       
      
      
    
    
      
6.2.2.3       
array size       
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_set constructors       
done       
      
      
    
    
      
6.3.4.3.2       
unordered_set swap       
done       
      
      
    
    
      
6.3.4.4       
Class template unordered_map       
done       
      
      
    
    
      
6.3.4.4.1       
unordered_map constructors       
done       
      
      
    
    
      
6.3.4.4.2       
unordered_map element access       
done       
      
      
    
    
      
6.3.4.4.3       
unordered_map swap       
done       
      
      
    
    
      
6.3.4.5       
Class template unordered_multiset       
done       
      
      
    
    
      
6.3.4.5.1       
unordered_multiset constructors       
done       
      
      
    
    
      
6.3.4.5.2       
unordered_multiset swap       
done       
      
      
    
    
      
6.3.4.6       
Class template unordered_multimap       
done       
      
      
    
    
      
6.3.4.6.1       
unordered_multimap constructors       
done       
      
      
    
    
      
6.3.4.6.2       
unordered_multimap swap       
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_regex constants       
      
      
missing       
    
    
      
7.8.2       
basic_regex constructors       
      
      
missing       
    
    
      
7.8.3       
basic_regex assign       
      
      
missing       
    
    
      
7.8.4       
basic_regex constant operations       
      
      
missing       
    
    
      
7.8.5       
basic_regex locale       
      
      
missing       
    
    
      
7.8.6       
basic_regex swap       
      
      
missing       
    
    
      
7.8.7       
basic_regex non-member functions       
      
      
missing       
    
    
      
7.8.7.1       
basic_regex non-member swap       
      
      
missing       
    
    
      
7.9       
Class template sub_match       
      
      
missing       
    
    
      
7.9.1       
sub_match members       
      
      
missing       
    
    
      
7.9.2       
sub_match non-member operators       
      
      
missing       
    
    
      
7.10       
Class template match_results       
      
      
missing       
    
    
      
7.10.1       
match_results constructors       
      
      
missing       
    
    
      
7.10.2       
match_results size       
      
      
missing       
    
    
      
7.10.3       
match_results element access       
      
      
missing       
    
    
      
7.10.4       
match_results formatting       
      
      
missing       
    
    
      
7.10.5       
match_results allocator       
      
      
missing       
    
    
      
7.10.6       
match_results swap       
      
      
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_iterator constructors       
      
      
missing       
    
    
      
7.12.1.2       
regex_iterator comparisons       
      
      
missing       
    
    
      
7.12.1.3       
regex_iterator dereference       
      
      
missing       
    
    
      
7.12.1.4       
regex_iterator increment       
      
      
missing       
    
    
      
7.12.2       
Class template regex_token_iterator       
      
      
missing       
    
    
      
7.12.2.1       
regex_token_iterator constructors       
      
      
missing       
    
    
      
7.12.2.2       
regex_token_iterator comparisons       
      
      
missing       
    
    
      
7.12.2.3       
regex_token_iterator dereference       
      
      
missing       
    
    
      
7.12.2.4       
regex_token_iterator increment       
      
      
missing       
    
    
      
7.13       
Modified ECMAScript regular expression grammar       
      
      
missing       
    
    
      
8       
C compatibility     
    
      
8.1       
Additions to header <complex>       
      
      
missing       
    
    
      
8.1.1       
Synopsis       
      
      
missing       
    
    
      
8.1.2       
Function acos       
      
      
missing       
    
    
      
8.1.3       
Function asin       
      
      
missing       
    
    
      
8.1.4       
Function atan       
      
      
missing       
    
    
      
8.1.5       
Function acosh       
      
      
missing       
    
    
      
8.1.6       
Function asinh       
      
      
missing       
    
    
      
8.1.7       
Function atanh       
      
      
missing       
    
    
      
8.1.8       
Function fabs       
      
      
missing       
    
    
      
8.1.9       
Additional Overloads       
      
      
missing       
    
    
      
8.2       
Header <ccomplex>       
      
      
missing       
    
    
      
8.3       
Header <complex.h>       
      
      
missing       
    
    
      
8.4       
Additions to header <cctype>       
      
      
missing       
    
    
      
8.4.1       
Synopsis       
      
      
missing       
    
    
      
8.4.2       
Function isblank       
      
      
missing       
    
    
      
8.5       
Additions to header <ctype.h>       
      
      
missing       
    
    
      
8.6       
Header <cfenv>       
      
      
missing       
    
    
      
8.6.1       
Synopsis       
      
      
missing       
    
    
      
8.6.2       
Definitions       
      
      
missing       
    
    
      
8.7       
Header <fenv.h>       
      
      
missing       
    
    
      
8.8       
Additions to header <cfloat>       
      
      
missing       
    
    
      
8.9       
Additions to header <float.h>       
      
      
missing       
    
    
      
8.10       
Additions to header <ios>       
      
      
missing       
    
    
      
8.10.1       
Synopsis       
      
      
missing       
    
    
      
8.10.2       
Function hexfloat       
      
      
missing       
    
    
      
8.11       
Header <cinttypes>       
      
      
missing       
    
    
      
8.11.1       
Synopsis       
      
      
missing       
    
    
      
8.11.2       
Definitions       
      
      
missing       
    
    
      
8.12       
Header <inttypes.h>       
      
      
missing       
    
    
      
8.13       
Additions to header <climits>       
      
      
missing       
    
    
      
8.14       
Additions to header <limits.h>       
      
      
missing       
    
    
      
8.15       
Additions to header <locale>       
      
      
missing       
    
    
      
8.16       
Additions to header <cmath>       
      
      
missing       
    
    
      
8.16.1       
Synopsis       
      
      
missing       
    
    
      
8.16.2       
Definitions       
      
      
missing       
    
    
      
8.16.3       
Function template definitions       
      
      
missing       
    
    
      
8.16.4       
Additional overloads       
      
      
missing       
    
    
      
8.17       
Additions to header <math.h>       
      
      
missing       
    
    
      
8.18       
Additions to header <cstdarg>       
      
      
missing       
    
    
      
8.19       
Additions to header <stdarg.h>       
      
      
missing       
    
    
      
8.20       
The header <cstdbool>       
      
      
missing       
    
    
      
8.21       
The header <stdbool.h>       
      
      
missing       
    
    
      
8.22       
The header <cstdint>       
      
      
missing       
    
    
      
8.22.1       
Synopsis       
      
      
missing       
    
    
      
8.22.2       
Definitions       
      
      
missing       
    
    
      
8.23       
The header <stdint.h>       
      
      
missing       
    
    
      
8.24       
Additions to header <cstdio>       
      
      
missing       
    
    
      
8.24.1       
Synopsis       
      
      
missing       
    
    
      
8.24.2       
Definitions       
      
      
missing       
    
    
      
8.24.3       
Additional format specifiers       
      
      
missing       
    
    
      
8.24.4       
Additions to header <stdio.h>       
      
      
missing       
    
    
      
8.25       
Additions to header <cstdlib>       
      
      
missing       
    
    
      
8.25.1       
Synopsis       
      
      
missing       
    
    
      
8.25.2       
Definitions       
      
      
missing       
    
    
      
8.25.3       
Function abs       
      
      
missing       
    
    
      
8.25.4       
Function div       
      
      
missing       
    
    
      
8.26       
Additions to header <stdlib.h>       
      
      
missing       
    
    
      
8.27       
Header <ctgmath>       
      
      
missing       
    
    
      
8.28       
Header <tgmath.h>       
      
      
missing       
    
    
      
8.29       
Additions to header <ctime>       
      
      
missing       
    
    
      
8.30       
Additions to header <cwchar>       
      
      
missing       
    
    
      
8.30.1       
Synopsis       
      
      
missing       
    
    
      
8.30.2       
Definitions       
      
      
missing       
    
    
      
8.30.3       
Additional wide format specifiers       
      
      
missing       
    
    
      
8.31       
Additions to header <wchar.h>       
      
      
missing       
    
    
      
8.32       
Additions to header <cwctype>       
      
      
missing       
    
    
      
8.32.1       
Synopsis       
      
      
missing       
    
    
      
8.32.2       
Function iswblank       
      
      
missing       
    
    
      
8.33       
Additions to header <wctype.h>       
      
      
missing       
    
  
Footnotes
  
    
    The shared_ptr implementation uses some code from the
    
http://www.boost.org/libs/smart_ptr/shared_ptr.htmBoost
    shared_ptr
 library.
  
Please send FSF & GNU inquiries & questions to
mailto:gnu@gnu.orggnu@gnu.org .
There are also 
http://www.gnu.org/home.html#ContactInfoother ways
to contact
 the FSF.
These pages are maintained by
http://gcc.gnu.org/about.htmlthe GCC team .
For questions related to the use of GCC, please consult these web
pages and the 
http://gcc.gnu.org/onlinedocs/GCC manuals . If
that fails, the 
mailto:gcc-help@gcc.gnu.orggcc-help@gcc.gnu.org mailing list might help.
Please send comments on these web pages and the development of GCC to our
developer mailing list at 
mailto:gcc@gnu.orggcc@gnu.org or 
mailto:gcc@gcc.gnu.orggcc@gcc.gnu.org .  All of our lists
have 
http://gcc.gnu.org/lists.htmlpublic archives .
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-01-22
  
  
    
http://validator.w3.org/check/referer        
Valid XHTML 1.0    
  
