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 mainline GCC CVS, not in any particular
46 <td><span style=
"font-weight: bold;">Section
</span></td>
47 <td><span style=
"font-weight: bold;">Description
</span></td>
48 <td><span style=
"font-weight: bold;">Done
</span></td>
49 <td><span style=
"font-weight: bold;">Broken
</span></td>
50 <td><span style=
"font-weight: bold;">Missing
</span></td>
51 <td><span style=
"font-weight: bold;">Comments
</span></td>
57 <td colspan=
"5"><b>General Utilities
</b></td>
61 <td>Reference wrappers
</td>
69 <td>Additions to header
<code><functional
></code> synopsis
</td>
77 <td>Class template
<code>reference_wrapper
</code></td>
85 <td><code>reference_wrapper
</code> construct/copy/destroy
</td>
93 <td><code>reference_wrapper
</code> assignment
</td>
101 <td><code>reference_wrapper
</code> access
</td>
109 <td><code>reference_wrapper
</code> invocation
</td>
117 <td><code>reference_wrapper
</code> helper functions
</td>
125 <td>Smart pointers
</td>
133 <td>Additions to header
<code><memory
></code> synopsis
</td>
141 <td>Class
<code>bad_weak_ptr
</code></td>
149 <td>Class template
<code>shared_ptr
</code></td>
153 <td><a href=
"tr1.html#1">1</a></td>
157 <td><code>shared_ptr
</code> constructors
</td>
165 <td><code>shared_ptr
</code> destructor
</td>
173 <td><code>shared_ptr
</code> assignment
</td>
181 <td><code>shared_ptr
</code> modifiers
</td>
189 <td><code>shared_ptr
</code> observers
</td>
197 <td><code>shared_ptr
</code> comparison
</td>
205 <td><code>shared_ptr
</code> I/O
</td>
213 <td><code>shared_ptr
</code> specialized algorithms
</td>
221 <td><code>shared_ptr
</code> casts
</td>
229 <td><code>get_deleter
</code></td>
237 <td>Class template
<code>weak_ptr
</code></td>
245 <td><code>weak_ptr
</code> constructors
</td>
253 <td><code>weak_ptr
</code> destructor
</td>
261 <td><code>weak_ptr
</code> assignment
</td>
269 <td><code>weak_ptr
</code> modifiers
</td>
277 <td><code>weak_ptr
</code> observers
</td>
285 <td><code>weak_ptr
</code> comparison
</td>
293 <td><code>weak_ptr
</code> specialized algorithms
</td>
301 <td>Class template
<code>enable_shared_from_this
</code></td>
309 <td colspan=
"5"><b>Function objects
</b></td>
321 <td>Additions to
<code><functional
> synopsis
</code></td>
329 <td>Requirements
</td>
337 <td>Function return types
</td>
345 <td>Function template
<code>mem_fn
</code></td>
353 <td>Function object binders
</td>
361 <td>Class template
<code>is_bind_expression
</code></td>
369 <td>Class template
<code>is_placeholder
</code></td>
377 <td>Function template
<code>bind
</code></td>
385 <td>Placeholders
</td>
393 <td>Polymorphic function wrappers
</td>
401 <td>Class
<code>bad_function_call
<code></code></code></td>
409 <td><code>bad_function_call
</code> constructor
</td>
417 <td>Class template
<code>function
</code></td>
425 <td><code>function
</code> construct/copy/destroy
</td>
433 <td><code>function
</code> modifiers
</td>
441 <td><code>function
</code> capacity
</td>
449 <td><code>function
</code> invocation
</td>
457 <td><code>function
</code> target access
</td>
465 <td>undefined operators
</td>
473 <td>null pointer comparison operators
</td>
481 <td>specialized algorithms
</td>
489 <td colspan=
"5"><b>Metaprogramming and type traits
</b></td>
493 <td>Requirements
</td>
501 <td>Header
<code><type_traits
></code> synopsis
</td>
509 <td>Helper classes
</td>
517 <td>General Requirements
</td>
525 <td>Unary Type Traits
</td>
533 <td>Primary Type Categories
</td>
541 <td>Composite type traits
</td>
549 <td>Type properties
</td>
557 <td>Relationships between types
</td>
565 <td>Transformations between types
</td>
573 <td>Const-volatile modifications
</td>
581 <td>Reference modifications
</td>
589 <td>Array modifications
</td>
597 <td>Pointer modifications
</td>
605 <td>Other transformations
</td>
613 <td>Implementation requirements
</td>
621 <td colspan=
"5"><b>Numerical facilities
</b></td>
625 <td>Random number generation
</td>
633 <td>Requirements
</td>
641 <td>Header
<code><random
></code> synopsis
</td>
649 <td>Class template
<code>variate_generator
</code></td>
657 <td>Random number engine class templates
</td>
665 <td>Class template
<code>linear_congruential
</code></td>
673 <td>Class template
<code>mersenne_twister
</code></td>
681 <td>Class template
<code>subtract_with_carry
</code></td>
689 <td>Class template
<code>subtract_with_carry_01
</code></td>
697 <td>Class template
<code>discard_block
</code></td>
705 <td>Class template
<code>xor_combine
</code></td>
713 <td>Engines with predefined parameters
</td>
721 <td>Class
<code>random_device
</code></td>
729 <td>Random distribution class templates
</td>
737 <td>Class template
<code>uniform_int
</code></td>
745 <td>Class
<code>bernoulli_distribution
</code></td>
753 <td>Class template
<code>geometric_distribution
</code></td>
761 <td>Class template
<code>poisson_distribution
</code></td>
769 <td>Class template
<code>binomial_distribution
</code></td>
777 <td>Class template
<code>uniform_real
</code></td>
785 <td>Class template
<code>exponential_distribution
</code></td>
793 <td>Class template
<code>normal_distribution
</code></td>
801 <td>Class template
<code>gamma_distribution
</code></td>
809 <td>Mathematical special functions
</td>
817 <td>Additions to header
<code><cmath
></code> synopsis
</td>
825 <td>associated Laguerre polynomials
</td>
833 <td>associated Legendre functions
</td>
841 <td>beta function
</td>
849 <td>(complete) elliptic integral of the first kind
</td>
857 <td>(complete) elliptic integral of the second kind
</td>
865 <td>(complete) elliptic integral of the third kind
</td>
873 <td>confluent hypergeometric functions
</td>
881 <td>regular modified cylindrical Bessel functions
</td>
889 <td>cylindrical Bessel functions (of the first kind)
</td>
897 <td>irregular modified cylindrical Bessel functions
</td>
905 <td>cylindrical Neumann functions
</td>
913 <td>(incomplete) elliptic integral of the first kind
</td>
921 <td>(incomplete) elliptic integral of the second kind
</td>
929 <td>(incomplete) elliptic integral of the third kind
</td>
937 <td>exponential integral
</td>
945 <td>Hermite polynomials
</td>
953 <td>hypergeometric functions
</td>
961 <td>Laguerre polynomials
</td>
969 <td>Legendre polynomials
</td>
977 <td>Riemann zeta function
</td>
985 <td>spherical Bessel functions (of the first kind)
</td>
993 <td>spherical associated Legendre functions
</td>
1001 <td>spherical Neumann functions
</td>
1009 <td>Additions to header
<code><math.h
></code> synopsis
</td>
1017 <td colspan=
"5"><b>Containers
</b></td>
1021 <td>Tuple types
</td>
1029 <td>Header
<code><tuple
></code> synopsis
</td>
1037 <td>Additions to header
<code><utility
></code> synopsis
</td>
1045 <td>Class template
<code>tuple
</code></td>
1053 <td>Construction
</td>
1061 <td>Tuple creation functions
</td>
1069 <td>Tuple helper classes
</td>
1077 <td>Element access
</td>
1085 <td>Relational operators
</td>
1101 <td>Fixed size array
</td>
1109 <td>Header
<code><array
></code> synopsis
</td>
1117 <td>Class template
<code>array
</code></td>
1125 <td><code>array
</code> constructors, copy, and assignment
</td>
1133 <td><code>array
</code> specialized algorithms
</td>
1141 <td><code>array
</code> size
</td>
1149 <td>Zero sized
<code>array
</code>s
</td>
1157 <td>Tuple interface to class template
<code>array
</code></td>
1165 <td>Unordered associative containers
</td>
1173 <td>Unordered associative container requirements
</td>
1181 <td>Exception safety guarantees
</td>
1189 <td>Additions to header
<code><functional
></code> synopsis
</td>
1197 <td>Class template
<code>hash
</code></td>
1205 <td>Unordered associative container classes
</td>
1213 <td>Header
<code><unordered_set
></code> synopsis
</td>
1221 <td>Header
<code><unordered_map
></code> synopsis
</td>
1229 <td>Class template
<code>unordered_set
</code></td>
1237 <td><code>unordered_set
</code> constructors
</td>
1245 <td><code>unordered_set
</code> swap
</td>
1253 <td>Class template
<code>unordered_map
</code></td>
1261 <td><code>unordered_map
</code> constructors
</td>
1269 <td><code>unordered_map
</code> element access
</td>
1277 <td><code>unordered_map
</code> swap
</td>
1285 <td>Class template
<code>unordered_multiset
<code></code></code></td>
1293 <td><code>unordered_multiset
</code> constructors
</td>
1301 <td><code>unordered_multiset
</code> swap
</td>
1309 <td>Class template
<code>unordered_multimap
</code></td>
1317 <td><code>unordered_multimap
</code> constructors
</td>
1325 <td><code>unordered_multimap
</code> swap
</td>
1333 <td colspan=
"5"><b>Regular expressions
</b></td>
1337 <td>Definitions
</td>
1345 <td>Requirements
</td>
1353 <td>Regular expressions summary
</td>
1361 <td>Header
<code><regex
></code> synopsis
</td>
1369 <td>Namespace
<code>tr1::regex_constants
</code></td>
1377 <td>Bitmask Type
<code>syntax_option_type
</code></td>
1385 <td>Bitmask Type
<code>regex_constants::match_flag_type
</code></td>
1393 <td>Implementation defined
<code>error_type
</code></td>
1401 <td>Class
<code>regex_error
</code></td>
1409 <td>Class template
<code>regex_traits
</code></td>
1417 <td>Class template
<code>basic_regex
</code></td>
1425 <td><code>basic_regex
</code> constants
</td>
1433 <td><code>basic_regex
</code> constructors
</td>
1441 <td><code>basic_regex
</code> assign
</td>
1449 <td><code>basic_regex
</code> constant operations
</td>
1457 <td><code>basic_regex
</code> locale
</td>
1465 <td><code>basic_regex
</code> swap
</td>
1473 <td><code>basic_regex
</code> non-member functions
</td>
1481 <td><code>basic_regex
</code> non-member swap
</td>
1489 <td>Class template
<code>sub_match
</code></td>
1497 <td><code>sub_match
</code> members
</td>
1505 <td><code>sub_match
</code> non-member operators
</td>
1513 <td>Class template
<code>match_results
</code></td>
1521 <td><code>match_results
</code> constructors
</td>
1529 <td><code>match_results
</code> size
</td>
1537 <td><code>match_results
</code> element access
</td>
1545 <td><code>match_results
</code> formatting
</td>
1553 <td><code>match_results
</code> allocator
</td>
1561 <td><code>match_results
</code> swap
</td>
1569 <td>Regular expression algorithms
</td>
1585 <td><code>regex_match
</code></td>
1593 <td><code>regex_search
</code></td>
1601 <td><code>regex_replace
</code></td>
1609 <td>Regular expression Iterators
</td>
1617 <td>Class template
<code>regex_iterator
</code></td>
1625 <td><code>regex_iterator
</code> constructors
</td>
1633 <td><code>regex_iterator
</code> comparisons
</td>
1641 <td><code>regex_iterator
</code> dereference
</td>
1649 <td><code>regex_iterator
</code> increment
</td>
1657 <td>Class template
<code>regex_token_iterator
</code></td>
1665 <td><code>regex_token_iterator
</code> constructors
</td>
1673 <td><code>regex_token_iterator
</code> comparisons
</td>
1681 <td><code>regex_token_iterator
</code> dereference
</td>
1689 <td><code>regex_token_iterator
</code> increment
</td>
1697 <td>Modified ECMAScript regular expression grammar
</td>
1705 <td colspan=
"5"><b>C compatibility
</b></td>
1709 <td>Additions to header
<code><complex
></code></td>
1725 <td>Function
<code>acos
</code></td>
1733 <td>Function
<code>asin
</code></td>
1741 <td>Function
<code>atan
</code></td>
1749 <td>Function
<code>acosh
</code></td>
1757 <td>Function
<code>asinh
</code></td>
1765 <td>Function
<code>atanh
</code></td>
1773 <td>Function
<code>fabs
</code></td>
1781 <td>Additional Overloads
</td>
1789 <td>Header
<code><ccomplex
></code></td>
1797 <td>Header
<code><complex.h
></code></td>
1805 <td>Additions to header
<code><cctype
></code></td>
1821 <td>Function
<code>isblank
</code></td>
1829 <td>Additions to header
<code><ctype.h
></code></td>
1837 <td>Header
<code><cfenv
></code></td>
1853 <td>Definitions
</td>
1861 <td>Header
<code><fenv.h
></code></td>
1869 <td>Additions to header
<code><cfloat
></code></td>
1877 <td>Additions to header
<code><float.h
></code></td>
1885 <td>Additions to header
<code><ios
></code></td>
1901 <td>Function
<code>hexfloat
</code></td>
1909 <td>Header
<code><cinttypes
></code></td>
1925 <td>Definitions
</td>
1933 <td>Header
<code><inttypes.h
></code></td>
1941 <td>Additions to header
<code><climits
></code></td>
1949 <td>Additions to header
<code><limits.h
></code></td>
1957 <td>Additions to header
<code><locale
></code></td>
1965 <td>Additions to header
<code><cmath
></code></td>
1981 <td>Definitions
</td>
1989 <td>Function template definitions
</td>
1997 <td>Additional overloads
</td>
2005 <td>Additions to header
<code><math.h
></code></td>
2013 <td>Additions to header
<code><cstdarg
></code></td>
2021 <td>Additions to header
<code><stdarg.h
></code></td>
2029 <td>The header
<code><cstdbool
></code></td>
2037 <td>The header
<code><stdbool.h
></code></td>
2045 <td>The header
<code><cstdint
></code></td>
2061 <td>Definitions
</td>
2069 <td>The header
<code><stdint.h
></code></td>
2077 <td>Additions to header
<code><cstdio
></code></td>
2093 <td>Definitions
</td>
2101 <td>Additional format specifiers
</td>
2105 <td>C library responsability
</td>
2109 <td>Additions to header
<code><stdio.h
></code></td>
2117 <td>Additions to header
<code><cstdlib
></code></td>
2133 <td>Definitions
</td>
2141 <td>Function
<code>abs
</code></td>
2149 <td>Function
<code>div
</code></td>
2157 <td>Additions to header
<code><stdlib.h
></code></td>
2165 <td>Header
<code><ctgmath
></code></td>
2173 <td>Header
<code><tgmath.h
></code></td>
2181 <td>Additions to header
<code><ctime
></code></td>
2189 <td>Additions to header
<code><cwchar
></code></td>
2205 <td>Definitions
</td>
2213 <td>Additional wide format specifiers
</td>
2217 <td>C library responsability
</td>
2221 <td>Additions to header
<code><wchar.h
></code></td>
2229 <td>Additions to header
<code><cwctype
></code></td>
2245 <td>Function
<code>iswblank
</code></td>
2253 <td>Additions to header
<code><wctype.h
></code></td>
2268 The shared_ptr implementation uses some code from the
2269 <a href=
"http://www.boost.org/libs/smart_ptr/shared_ptr.htm">Boost
2270 shared_ptr
</a> library.
2276 Please send FSF
& GNU inquiries
& questions to
2277 <a href=
"mailto:gnu@gnu.org">gnu@gnu.org
</a>.
2278 There are also
<a href=
"http://www.gnu.org/home.html#ContactInfo">other ways
2279 to contact
</a> the FSF.
2283 These pages are maintained by
2284 <a href=
"http://gcc.gnu.org/about.html">the GCC team
</a>.
2288 For questions related to the use of GCC, please consult these web
2289 pages and the
<a href=
"http://gcc.gnu.org/onlinedocs/">GCC manuals
</a>. If
2290 that fails, the
<a href=
"mailto:gcc-help@gcc.gnu.org">gcc-help@gcc.gnu.org
</a>
2291 mailing list might help.
<br />
2292 Please send comments on these web pages and the development of GCC to our
2293 developer mailing list at
<a href=
"mailto:gcc@gnu.org">gcc@gnu.org
</a>
2294 or
<a href=
"mailto:gcc@gcc.gnu.org">gcc@gcc.gnu.org
</a>. All of our lists
2295 have
<a href=
"http://gcc.gnu.org/lists.html">public archives
</a>.
2299 Copyright (C) Free Software Foundation, Inc.,
2300 51 Franklin St, Fifth Floor, Boston, MA
02110, USA.
2303 Verbatim copying and distribution of this entire article is
2304 permitted in any medium, provided this notice is preserved.
2307 <table width=
"100%" border=
"0">
2310 <!-- IGNORE DIFF -->Last modified
2006-
02-
05
2312 <td align=
"right" valign=
"bottom">
2313 <a href=
"http://validator.w3.org/check/referer">
2314 <img src=
"http://www.w3.org/Icons/valid-xhtml10"
2315 alt=
"Valid XHTML 1.0" border=
"0" width=
"88" height=
"31" />