ISO C++
tr1
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 Status
Section
Description
Status
Comments
2
General Utilities
2.1
Reference wrappers
2.1.1
Additions to header <functional>
synopsis
Y
2.1.2
Class template reference_wrapper
2.1.2.1
reference_wrapper
construct/copy/destroy
Y
2.1.2.2
reference_wrapper
assignment
Y
2.1.2.3
reference_wrapper
access
Y
2.1.2.4
reference_wrapper
invocation
Y
2.1.2.5
reference_wrapper
helper functions
Y
2.2
Smart pointers
2.2.1
Additions to header <memory>
synopsis
Y
2.2.2
Class bad_weak_ptr
Y
2.2.3
Class template shared_ptr
Uses code from
boost::shared_ptr.
2.2.3.1
shared_ptr
constructors
Y
2.2.3.2
shared_ptr
destructor
Y
2.2.3.3
shared_ptr
assignment
Y
2.2.3.4
shared_ptr
modifiers
Y
2.2.3.5
shared_ptr
observers
Y
2.2.3.6
shared_ptr
comparison
Y
2.2.3.7
shared_ptr
I/O
Y
2.2.3.8
shared_ptr
specialized algorithms
Y
2.2.3.9
shared_ptr
casts
Y
2.2.3.10
get_deleter
Y
2.2.4
Class template weak_ptr
2.2.4.1
weak_ptr
constructors
Y
2.2.4.2
weak_ptr
destructor
Y
2.2.4.3
weak_ptr
assignment
Y
2.2.4.4
weak_ptr
modifiers
Y
2.2.4.5
weak_ptr
observers
Y
2.2.4.6
weak_ptr
comparison
Y
2.2.4.7
weak_ptr
specialized algorithms
Y
2.2.5
Class template enable_shared_from_this
Y
3
Function Objects
3.1
Definitions
Y
3.2
Additions to <functional> synopsis
Y
3.3
Requirements
Y
3.4
Function return types
Y
3.5
Function template mem_fn
Y
3.6
Function object binders
3.6.1
Class template is_bind_expression
Y
3.6.2
Class template is_placeholder
Y
3.6.3
Function template bind
Y
3.6.4
Placeholders
Y
3.7
Polymorphic function wrappers
3.7.1
Class bad_function_call
Y
3.7.1.1
bad_function_call
constructor
Y
3.7.2
Class template function
3.7.2.1
function
construct/copy/destroy
Y
3.7.2.2
function
modifiers
Y
3.7.2.3
function
capacity
Y
3.7.2.4
function
invocation
Y
3.7.2.5
function
target access
Y
3.7.2.6
undefined operators
Y
3.7.2.7
null pointer comparison operators
Y
3.7.2.8
specialized algorithms
Y
4
Metaprogramming and type traits
4.1
Requirements
Y
4.2
Header <type_traits>
synopsis
Y
4.3
Helper classes
Y
4.4
General Requirements
Y
4.5
Unary Type Traits
4.5.1
Primary Type Categories
Y
4.5.2
Composite type traits
Y
4.5.3
Type properties
Y
4.6
Relationships between types
Y
4.7
Transformations between types
4.7.1
Const-volatile modifications
Y
4.7.2
Reference modifications
Y
4.7.3
Array modifications
Y
4.7.4
Pointer modifications
Y
4.8
Other transformations
Y
4.9
Implementation requirements
Y
5
Numerical Facilities
5.1
Random number generation
5.1.1
Requirements
Y
5.1.2
Header <random>
synopsis
Y
5.1.3
Class template variate_generator
Y
5.1.4
Random number engine class templates
Y
5.1.4.1
Class template linear_congruential
Y
5.1.4.2
Class template mersenne_twister
Y
5.1.4.3
Class template subtract_with_carry
Y
5.1.4.4
Class template subtract_with_carry_01
Y
5.1.4.5
Class template discard_block
Y
5.1.4.6
Class template xor_combine
Y
operator()() per N2079
5.1.5
Engines with predefined parameters
Y
5.1.6
Class random_device
Y
5.1.7
Random distribution class templates
Y
5.1.7.1
Class template uniform_int
Y
5.1.7.2
Class bernoulli_distribution
Y
5.1.7.3
Class template geometric_distribution
Y
5.1.7.4
Class template poisson_distribution
Y
5.1.7.5
Class template binomial_distribution
Y
5.1.7.6
Class template uniform_real
Y
5.1.7.7
Class template exponential_distribution
Y
5.1.7.8
Class template normal_distribution
Y
5.1.7.9
Class template gamma_distribution
Y
5.2
Mathematical special functions
Y
5.2.1
Additions to header <cmath>
synopsis
Y
5.2.1.1
associated Laguerre polynomials
Y
5.2.1.2
associated Legendre functions
Y
5.2.1.3
beta function
Y
5.2.1.4
(complete) elliptic integral of the first kind
Y
5.2.1.5
(complete) elliptic integral of the second kind
Y
5.2.1.6
(complete) elliptic integral of the third kind
Y
5.2.1.7
confluent hypergeometric functions
Y
5.2.1.8
regular modified cylindrical Bessel functions
Y
5.2.1.9
cylindrical Bessel functions (of the first kind)
Y
5.2.1.10
irregular modified cylindrical Bessel functions
Y
5.2.1.11
cylindrical Neumann functions
Y
5.2.1.12
(incomplete) elliptic integral of the first kind
Y
5.2.1.13
(incomplete) elliptic integral of the second kind
Y
5.2.1.14
(incomplete) elliptic integral of the third kind
Y
5.2.1.15
exponential integral
Y
5.2.1.16
Hermite polynomials
Y
5.2.1.17
hypergeometric functions
Y
5.2.1.18
Laguerre polynomials
Y
5.2.1.19
Legendre polynomials
Y
5.2.1.20
Riemann zeta function
Y
5.2.1.21
spherical Bessel functions (of the first kind)
Y
5.2.1.22
spherical associated Legendre functions
Y
5.2.1.23
spherical Neumann functions
Y
5.2.2
Additions to header <math.h>
synopsis
Y
6
Containers
6.1
Tuple types
Y
6.1.1
Header <tuple>
synopsis
Y
6.1.2
Additions to header <utility>
synopsis
Y
6.1.3
Class template tuple
Y
6.1.3.1
Construction
Y
6.1.3.2
Tuple creation functions
Y
6.1.3.3
Tuple helper classes
Y
6.1.3.4
Element access
Y
6.1.3.5
Relational operators
Y
6.1.4
Pairs
Y
6.2
Fixed size array
Y
6.2.1
Header <array>
synopsis
Y
6.2.2
Class template array
Y
6.2.2.1
array
constructors, copy, and assignment
Y
6.2.2.2
array
specialized algorithms
Y
6.2.2.3
array
size
Y
6.2.2.4
Zero sized array
s
Y
6.2.2.5
Tuple interface to class template array
Y
6.3
Unordered associative containers
Y
6.3.1
Unordered associative container requirements
Y
6.3.1.1
Exception safety guarantees
Y
6.3.2
Additions to header <functional>
synopsis
Y
6.3.3
Class template hash
Y
6.3.4
Unordered associative container classes
Y
6.3.4.1
Header <unordered_set>
synopsis
Y
6.3.4.2
Header <unordered_map>
synopsis
Y
6.3.4.3
Class template unordered_set
Y
6.3.4.3.1
unordered_set
constructors
Y
6.3.4.3.2
unordered_set
swap
Y
6.3.4.4
Class template unordered_map
Y
6.3.4.4.1
unordered_map
constructors
Y
6.3.4.4.2
unordered_map
element access
Y
6.3.4.4.3
unordered_map
swap
Y
6.3.4.5
Class template unordered_multiset
Y
6.3.4.5.1
unordered_multiset
constructors
Y
6.3.4.5.2
unordered_multiset
swap
Y
6.3.4.6
Class template unordered_multimap
Y
6.3.4.6.1
unordered_multimap
constructors
Y
6.3.4.6.2
unordered_multimap
swap
Y
7
Regular Expressions
7.1
Definitions
N
7.2
Requirements
N
7.3
Regular expressions summary
N
7.4
Header <regex>
synopsis
N
7.5
Namespace tr1::regex_constants
N
7.5.1
Bitmask Type syntax_option_type
N
7.5.2
Bitmask Type regex_constants::match_flag_type
N
7.5.3
Implementation defined error_type
N
7.6
Class regex_error
N
7.7
Class template regex_traits
N
7.8
Class template basic_regex
N
7.8.1
basic_regex
constants
N
7.8.2
basic_regex
constructors
N
7.8.3
basic_regex
assign
N
7.8.4
basic_regex
constant operations
N
7.8.5
basic_regex
locale
N
7.8.6
basic_regex
swap
N
7.8.7
basic_regex
non-member functions
N
7.8.7.1
basic_regex
non-member swap
N
7.9
Class template sub_match
N
7.9.1
sub_match
members
N
7.9.2
sub_match
non-member operators
N
7.10
Class template match_results
N
7.10.1
match_results
constructors
N
7.10.2
match_results
size
N
7.10.3
match_results
element access
N
7.10.4
match_results
formatting
N
7.10.5
match_results
allocator
N
7.10.6
match_results
swap
N
7.11
Regular expression algorithms
N
7.11.1
exceptions
N
7.11.2
regex_match
N
7.11.3
regex_search
N
7.11.4
regex_replace
N
7.12
Regular expression Iterators
N
7.12.1
Class template regex_iterator
N
7.12.1.1
regex_iterator
constructors
N
7.12.1.2
regex_iterator
comparisons
N
7.12.1.3
regex_iterator
dereference
N
7.12.1.4
regex_iterator
increment
N
7.12.2
Class template regex_token_iterator
N
7.12.2.1
regex_token_iterator
constructors
N
7.12.2.2
regex_token_iterator
comparisons
N
7.12.2.3
regex_token_iterator
dereference
N
7.12.2.4
regex_token_iterator
increment
N
7.13
Modified ECMAScript regular expression grammar
N
8
C Compatibility
8.1
Additions to header <complex>
Y
8.1.1
Synopsis
Y
8.1.2
Function acos
Y
8.1.3
Function asin
Y
8.1.4
Function atan
Y
8.1.5
Function acosh
Y
8.1.6
Function asinh
Y
8.1.7
Function atanh
Y
8.1.8
Function fabs
Y
8.1.9
Additional Overloads
Y
8.2
Header <ccomplex>
N
DR 551
8.3
Header <complex.h>
N
DR 551
8.4
Additions to header <cctype>
Y
8.4.1
Synopsis
Y
8.4.2
Function isblank
Y
8.5
Additions to header <ctype.h>
Y
8.6
Header <cfenv>
Y
8.6.1
Synopsis
Y
8.6.2
Definitions
Y
8.7
Header <fenv.h>
Y
8.8
Additions to header <cfloat>
Y
8.9
Additions to header <float.h>
Y
8.10
Additions to header <ios>
N
8.10.1
Synopsis
N
8.10.2
Function hexfloat
N
8.11
Header <cinttypes>
Y
8.11.1
Synopsis
Y
DR 557
8.11.2
Definitions
Y
8.12
Header <inttypes.h>
Y
8.13
Additions to header <climits>
Y
8.14
Additions to header <limits.h>
Y
8.15
Additions to header <locale>
N
8.16
Additions to header <cmath>
Y
8.16.1
Synopsis
Y
8.16.2
Definitions
Y
8.16.3
Function template definitions
Y
8.16.4
Additional overloads
Y
DR 568; DR 550
8.17
Additions to header <math.h>
Y
8.18
Additions to header <cstdarg>
Y
8.19
Additions to header <stdarg.h>
Y
8.20
The header <cstdbool>
Y
8.21
The header <stdbool.h>
Y
8.22
The header <cstdint>
Y
8.22.1
Synopsis
Y
8.22.2
Definitions
Y
8.23
The header <stdint.h>
Y
8.24
Additions to header <cstdio>
Y
8.24.1
Synopsis
Y
8.24.2
Definitions
Y
8.24.3
Additional format specifiers
Y
C library dependency
8.24.4
Additions to header <stdio.h>
Y
8.25
Additions to header <cstdlib>
Y
8.25.1
Synopsis
Y
8.25.2
Definitions
Y
8.25.3
Function abs
Y
8.25.4
Function div
Y
8.26
Additions to header <stdlib.h>
Y
8.27
Header <ctgmath>
Y
DR 551
8.28
Header <tgmath.h>
Y
DR 551
8.29
Additions to header <ctime>
Y
C library dependency
8.30
Additions to header <cwchar>
Y
8.30.1
Synopsis
Y
8.30.2
Definitions
Y
8.30.3
Additional wide format specifiers
Y
C library dependency
8.31
Additions to header <wchar.h>
Y
8.32
Additions to header <cwctype>
Y
8.32.1
Synopsis
Y
8.32.2
Function iswblank
Y
8.33
Additions to header <wctype.h>
Y