1 <?xml version=
"1.0" encoding=
"ISO-8859-1"?>
3 PUBLIC
"-//W3C//DTD XHTML 1.0 Transitional//EN"
4 "DTD/xhtml1-transitional.dtd">
5 <html xmlns=
"http://www.w3.org/1999/xhtml" xml:
lang=
"en" lang=
"en">
9 <meta http-equiv=
"Content-Type" content=
"text/html; charset=iso-8859-1" />
10 <link rev=
"made" href=
"mailto:gcc@gcc.gnu.org" />
11 <link rel=
"shortcut icon" href=
"http://gcc.gnu.org/favicon.ico" />
14 Status of TR1 features in GCC
15 - GNU Project - Free Software Foundation (FSF)
23 Status of TR1 features in GCC
27 This table is based on the table of contents of ISO/IEC DTR
19768
28 Doc No: N1836=
05-
0096 Date:
2005-
06-
24
29 Draft Technical Report on C++ Library Extensions
33 In this implementation the header names are prefixed by
34 <code>tr1/
</code>, for instance
<code><tr1/functional
></code>,
35 <code><tr1/memory
></code>, and so on.
39 This page describes the TR1 support in GCC
4.1.
45 <td><span style=
"font-weight: bold;">Section
</span></td>
46 <td><span style=
"font-weight: bold;">Description
</span></td>
47 <td><span style=
"font-weight: bold;">Done
</span></td>
48 <td><span style=
"font-weight: bold;">Broken
</span></td>
49 <td><span style=
"font-weight: bold;">Missing
</span></td>
50 <td><span style=
"font-weight: bold;">Comments
</span></td>
56 <td colspan=
"5"><b>General Utilities
</b></td>
60 <td>Reference wrappers
</td>
68 <td>Additions to header
<code><functional
></code> synopsis
</td>
76 <td>Class template
<code>reference_wrapper
</code></td>
84 <td><code>reference_wrapper
</code> construct/copy/destroy
</td>
92 <td><code>reference_wrapper
</code> assignment
</td>
100 <td><code>reference_wrapper
</code> access
</td>
108 <td><code>reference_wrapper
</code> invocation
</td>
116 <td><code>reference_wrapper
</code> helper functions
</td>
124 <td>Smart pointers
</td>
132 <td>Additions to header
<code><memory
></code> synopsis
</td>
140 <td>Class
<code>bad_weak_ptr
</code></td>
148 <td>Class template
<code>shared_ptr
</code></td>
152 <td><a href=
"tr1.html#1">1</a></td>
156 <td><code>shared_ptr
</code> constructors
</td>
164 <td><code>shared_ptr
</code> destructor
</td>
172 <td><code>shared_ptr
</code> assignment
</td>
180 <td><code>shared_ptr
</code> modifiers
</td>
188 <td><code>shared_ptr
</code> observers
</td>
196 <td><code>shared_ptr
</code> comparison
</td>
204 <td><code>shared_ptr
</code> I/O
</td>
212 <td><code>shared_ptr
</code> specialized algorithms
</td>
220 <td><code>shared_ptr
</code> casts
</td>
228 <td><code>get_deleter
</code></td>
236 <td>Class template
<code>weak_ptr
</code></td>
244 <td><code>weak_ptr
</code> constructors
</td>
252 <td><code>weak_ptr
</code> destructor
</td>
260 <td><code>weak_ptr
</code> assignment
</td>
268 <td><code>weak_ptr
</code> modifiers
</td>
276 <td><code>weak_ptr
</code> observers
</td>
284 <td><code>weak_ptr
</code> comparison
</td>
292 <td><code>weak_ptr
</code> specialized algorithms
</td>
300 <td>Class template
<code>enable_shared_from_this
</code></td>
308 <td colspan=
"5"><b>Function objects
</b></td>
320 <td>Additions to
<code><functional
> synopsis
</code></td>
328 <td>Requirements
</td>
336 <td>Function return types
</td>
344 <td>Function template
<code>mem_fn
</code></td>
352 <td>Function object binders
</td>
360 <td>Class template
<code>is_bind_expression
</code></td>
368 <td>Class template
<code>is_placeholder
</code></td>
376 <td>Function template
<code>bind
</code></td>
384 <td>Placeholders
</td>
392 <td>Polymorphic function wrappers
</td>
400 <td>Class
<code>bad_function_call
<code></code></code></td>
408 <td><code>bad_function_call
</code> constructor
</td>
416 <td>Class template
<code>function
</code></td>
424 <td><code>function
</code> construct/copy/destroy
</td>
432 <td><code>function
</code> modifiers
</td>
440 <td><code>function
</code> capacity
</td>
448 <td><code>function
</code> invocation
</td>
456 <td><code>function
</code> target access
</td>
464 <td>undefined operators
</td>
472 <td>null pointer comparison operators
</td>
480 <td>specialized algorithms
</td>
488 <td colspan=
"5"><b>Metaprogramming and type traits
</b></td>
492 <td>Requirements
</td>
500 <td>Header
<code><type_traits
></code> synopsis
</td>
508 <td>Helper classes
</td>
516 <td>General Requirements
</td>
524 <td>Unary Type Traits
</td>
532 <td>Primary Type Categories
</td>
540 <td>Composite type traits
</td>
548 <td>Type properties
</td>
556 <td>Relationships between types
</td>
564 <td>Transformations between types
</td>
572 <td>Const-volatile modifications
</td>
580 <td>Reference modifications
</td>
588 <td>Array modifications
</td>
596 <td>Pointer modifications
</td>
604 <td>Other transformations
</td>
612 <td>Implementation requirements
</td>
620 <td colspan=
"5"><b>Numerical facilities
</b></td>
624 <td>Random number generation
</td>
632 <td>Requirements
</td>
640 <td>Header
<code><random
></code> synopsis
</td>
648 <td>Class template
<code>variate_generator
</code></td>
656 <td>Random number engine class templates
</td>
664 <td>Class template
<code>linear_congruential
</code></td>
672 <td>Class template
<code>mersenne_twister
</code></td>
680 <td>Class template
<code>subtract_with_carry
</code></td>
688 <td>Class template
<code>subtract_with_carry_01
</code></td>
696 <td>Class template
<code>discard_block
</code></td>
704 <td>Class template
<code>xor_combine
</code></td>
712 <td>Engines with predefined parameters
</td>
720 <td>Class
<code>random_device
</code></td>
728 <td>Random distribution class templates
</td>
736 <td>Class template
<code>uniform_int
</code></td>
744 <td>Class
<code>bernoulli_distribution
</code></td>
752 <td>Class template
<code>geometric_distribution
</code></td>
760 <td>Class template
<code>poisson_distribution
</code></td>
768 <td>Class template
<code>binomial_distribution
</code></td>
776 <td>Class template
<code>uniform_real
</code></td>
784 <td>Class template
<code>exponential_distribution
</code></td>
792 <td>Class template
<code>normal_distribution
</code></td>
800 <td>Class template
<code>gamma_distribution
</code></td>
808 <td>Mathematical special functions
</td>
816 <td>Additions to header
<code><cmath
></code> synopsis
</td>
824 <td>associated Laguerre polynomials
</td>
832 <td>associated Legendre functions
</td>
840 <td>beta function
</td>
848 <td>(complete) elliptic integral of the first kind
</td>
856 <td>(complete) elliptic integral of the second kind
</td>
864 <td>(complete) elliptic integral of the third kind
</td>
872 <td>confluent hypergeometric functions
</td>
880 <td>regular modified cylindrical Bessel functions
</td>
888 <td>cylindrical Bessel functions (of the first kind)
</td>
896 <td>irregular modified cylindrical Bessel functions
</td>
904 <td>cylindrical Neumann functions
</td>
912 <td>(incomplete) elliptic integral of the first kind
</td>
920 <td>(incomplete) elliptic integral of the second kind
</td>
928 <td>(incomplete) elliptic integral of the third kind
</td>
936 <td>exponential integral
</td>
944 <td>Hermite polynomials
</td>
952 <td>hypergeometric functions
</td>
960 <td>Laguerre polynomials
</td>
968 <td>Legendre polynomials
</td>
976 <td>Riemann zeta function
</td>
984 <td>spherical Bessel functions (of the first kind)
</td>
992 <td>spherical associated Legendre functions
</td>
1000 <td>spherical Neumann functions
</td>
1008 <td>Additions to header
<code><math.h
></code> synopsis
</td>
1016 <td colspan=
"5"><b>Containers
</b></td>
1020 <td>Tuple types
</td>
1028 <td>Header
<code><tuple
></code> synopsis
</td>
1036 <td>Additions to header
<code><utility
></code> synopsis
</td>
1044 <td>Class template
<code>tuple
</code></td>
1052 <td>Construction
</td>
1060 <td>Tuple creation functions
</td>
1068 <td>Tuple helper classes
</td>
1076 <td>Element access
</td>
1084 <td>Relational operators
</td>
1100 <td>Fixed size array
</td>
1108 <td>Header
<code><array
></code> synopsis
</td>
1116 <td>Class template
<code>array
</code></td>
1124 <td><code>array
</code> constructors, copy, and assignment
</td>
1132 <td><code>array
</code> specialized algorithms
</td>
1140 <td><code>array
</code> size
</td>
1148 <td>Zero sized
<code>array
</code>s
</td>
1156 <td>Tuple interface to class template
<code>array
</code></td>
1164 <td>Unordered associative containers
</td>
1172 <td>Unordered associative container requirements
</td>
1180 <td>Exception safety guarantees
</td>
1188 <td>Additions to header
<code><functional
></code> synopsis
</td>
1196 <td>Class template
<code>hash
</code></td>
1204 <td>Unordered associative container classes
</td>
1212 <td>Header
<code><unordered_set
></code> synopsis
</td>
1220 <td>Header
<code><unordered_map
></code> synopsis
</td>
1228 <td>Class template
<code>unordered_set
</code></td>
1236 <td><code>unordered_set
</code> constructors
</td>
1244 <td><code>unordered_set
</code> swap
</td>
1252 <td>Class template
<code>unordered_map
</code></td>
1260 <td><code>unordered_map
</code> constructors
</td>
1268 <td><code>unordered_map
</code> element access
</td>
1276 <td><code>unordered_map
</code> swap
</td>
1284 <td>Class template
<code>unordered_multiset
<code></code></code></td>
1292 <td><code>unordered_multiset
</code> constructors
</td>
1300 <td><code>unordered_multiset
</code> swap
</td>
1308 <td>Class template
<code>unordered_multimap
</code></td>
1316 <td><code>unordered_multimap
</code> constructors
</td>
1324 <td><code>unordered_multimap
</code> swap
</td>
1332 <td colspan=
"5"><b>Regular expressions
</b></td>
1336 <td>Definitions
</td>
1344 <td>Requirements
</td>
1352 <td>Regular expressions summary
</td>
1360 <td>Header
<code><regex
></code> synopsis
</td>
1368 <td>Namespace
<code>tr1::regex_constants
</code></td>
1376 <td>Bitmask Type
<code>syntax_option_type
</code></td>
1384 <td>Bitmask Type
<code>regex_constants::match_flag_type
</code></td>
1392 <td>Implementation defined
<code>error_type
</code></td>
1400 <td>Class
<code>regex_error
</code></td>
1408 <td>Class template
<code>regex_traits
</code></td>
1416 <td>Class template
<code>basic_regex
</code></td>
1424 <td><code>basic_regex
</code> constants
</td>
1432 <td><code>basic_regex
</code> constructors
</td>
1440 <td><code>basic_regex
</code> assign
</td>
1448 <td><code>basic_regex
</code> constant operations
</td>
1456 <td><code>basic_regex
</code> locale
</td>
1464 <td><code>basic_regex
</code> swap
</td>
1472 <td><code>basic_regex
</code> non-member functions
</td>
1480 <td><code>basic_regex
</code> non-member swap
</td>
1488 <td>Class template
<code>sub_match
</code></td>
1496 <td><code>sub_match
</code> members
</td>
1504 <td><code>sub_match
</code> non-member operators
</td>
1512 <td>Class template
<code>match_results
</code></td>
1520 <td><code>match_results
</code> constructors
</td>
1528 <td><code>match_results
</code> size
</td>
1536 <td><code>match_results
</code> element access
</td>
1544 <td><code>match_results
</code> formatting
</td>
1552 <td><code>match_results
</code> allocator
</td>
1560 <td><code>match_results
</code> swap
</td>
1568 <td>Regular expression algorithms
</td>
1584 <td><code>regex_match
</code></td>
1592 <td><code>regex_search
</code></td>
1600 <td><code>regex_replace
</code></td>
1608 <td>Regular expression Iterators
</td>
1616 <td>Class template
<code>regex_iterator
</code></td>
1624 <td><code>regex_iterator
</code> constructors
</td>
1632 <td><code>regex_iterator
</code> comparisons
</td>
1640 <td><code>regex_iterator
</code> dereference
</td>
1648 <td><code>regex_iterator
</code> increment
</td>
1656 <td>Class template
<code>regex_token_iterator
</code></td>
1664 <td><code>regex_token_iterator
</code> constructors
</td>
1672 <td><code>regex_token_iterator
</code> comparisons
</td>
1680 <td><code>regex_token_iterator
</code> dereference
</td>
1688 <td><code>regex_token_iterator
</code> increment
</td>
1696 <td>Modified ECMAScript regular expression grammar
</td>
1704 <td colspan=
"5"><b>C compatibility
</b></td>
1708 <td>Additions to header
<code><complex
></code></td>
1724 <td>Function
<code>acos
</code></td>
1732 <td>Function
<code>asin
</code></td>
1740 <td>Function
<code>atan
</code></td>
1748 <td>Function
<code>acosh
</code></td>
1756 <td>Function
<code>asinh
</code></td>
1764 <td>Function
<code>atanh
</code></td>
1772 <td>Function
<code>fabs
</code></td>
1780 <td>Additional Overloads
</td>
1788 <td>Header
<code><ccomplex
></code></td>
1796 <td>Header
<code><complex.h
></code></td>
1804 <td>Additions to header
<code><cctype
></code></td>
1820 <td>Function
<code>isblank
</code></td>
1828 <td>Additions to header
<code><ctype.h
></code></td>
1836 <td>Header
<code><cfenv
></code></td>
1852 <td>Definitions
</td>
1860 <td>Header
<code><fenv.h
></code></td>
1868 <td>Additions to header
<code><cfloat
></code></td>
1876 <td>Additions to header
<code><float.h
></code></td>
1884 <td>Additions to header
<code><ios
></code></td>
1900 <td>Function
<code>hexfloat
</code></td>
1908 <td>Header
<code><cinttypes
></code></td>
1924 <td>Definitions
</td>
1932 <td>Header
<code><inttypes.h
></code></td>
1940 <td>Additions to header
<code><climits
></code></td>
1948 <td>Additions to header
<code><limits.h
></code></td>
1956 <td>Additions to header
<code><locale
></code></td>
1964 <td>Additions to header
<code><cmath
></code></td>
1980 <td>Definitions
</td>
1988 <td>Function template definitions
</td>
1996 <td>Additional overloads
</td>
2004 <td>Additions to header
<code><math.h
></code></td>
2012 <td>Additions to header
<code><cstdarg
></code></td>
2020 <td>Additions to header
<code><stdarg.h
></code></td>
2028 <td>The header
<code><cstdbool
></code></td>
2036 <td>The header
<code><stdbool.h
></code></td>
2044 <td>The header
<code><cstdint
></code></td>
2060 <td>Definitions
</td>
2068 <td>The header
<code><stdint.h
></code></td>
2076 <td>Additions to header
<code><cstdio
></code></td>
2092 <td>Definitions
</td>
2100 <td>Additional format specifiers
</td>
2108 <td>Additions to header
<code><stdio.h
></code></td>
2116 <td>Additions to header
<code><cstdlib
></code></td>
2132 <td>Definitions
</td>
2140 <td>Function
<code>abs
</code></td>
2148 <td>Function
<code>div
</code></td>
2156 <td>Additions to header
<code><stdlib.h
></code></td>
2164 <td>Header
<code><ctgmath
></code></td>
2172 <td>Header
<code><tgmath.h
></code></td>
2180 <td>Additions to header
<code><ctime
></code></td>
2188 <td>Additions to header
<code><cwchar
></code></td>
2204 <td>Definitions
</td>
2212 <td>Additional wide format specifiers
</td>
2220 <td>Additions to header
<code><wchar.h
></code></td>
2228 <td>Additions to header
<code><cwctype
></code></td>
2244 <td>Function
<code>iswblank
</code></td>
2252 <td>Additions to header
<code><wctype.h
></code></td>
2267 The shared_ptr implementation uses some code from the
2268 <a href=
"http://www.boost.org/libs/smart_ptr/shared_ptr.htm">Boost
2269 shared_ptr
</a> library.
2275 Please send FSF
& GNU inquiries
& questions to
2276 <a href=
"mailto:gnu@gnu.org">gnu@gnu.org
</a>.
2277 There are also
<a href=
"http://www.gnu.org/home.html#ContactInfo">other ways
2278 to contact
</a> the FSF.
2282 These pages are maintained by
2283 <a href=
"http://gcc.gnu.org/about.html">the GCC team
</a>.
2287 For questions related to the use of GCC, please consult these web
2288 pages and the
<a href=
"http://gcc.gnu.org/onlinedocs/">GCC manuals
</a>. If
2289 that fails, the
<a href=
"mailto:gcc-help@gcc.gnu.org">gcc-help@gcc.gnu.org
</a>
2290 mailing list might help.
<br />
2291 Please send comments on these web pages and the development of GCC to our
2292 developer mailing list at
<a href=
"mailto:gcc@gnu.org">gcc@gnu.org
</a>
2293 or
<a href=
"mailto:gcc@gcc.gnu.org">gcc@gcc.gnu.org
</a>. All of our lists
2294 have
<a href=
"http://gcc.gnu.org/lists.html">public archives
</a>.
2298 Copyright (C) Free Software Foundation, Inc.,
2299 51 Franklin St, Fifth Floor, Boston, MA
02110, USA.
2302 Verbatim copying and distribution of this entire article is
2303 permitted in any medium, provided this notice is preserved.
2306 <table width=
"100%" border=
"0">
2309 <!-- IGNORE DIFF -->Last modified
2006-
01-
22
2311 <td align=
"right" valign=
"bottom">
2312 <a href=
"http://validator.w3.org/check/referer">
2313 <img src=
"http://www.w3.org/Icons/valid-xhtml10"
2314 alt=
"Valid XHTML 1.0" border=
"0" width=
"88" height=
"31" />