ISO C++
200x
C++ 200x
This table is based on the table of contents of ISO/IEC
Doc No: N2461=07-0331 Date: 2007-10-22
Working Draft, Standard for Programming Language C++
In this implementation -std=gnu++0x or
-std=c++0x flags must be used to enable language and
library features. The pre-defined symbol
__GXX_EXPERIMENTAL_CXX0X__ is used to check for the
presence of the required flag.
This page describes the C++0x support in mainline GCC SVN, not in any
particular release.
C++ 200x Implementation Status
Section
Description
Done
Broken
Missing
Comments
20
General Utilities
20.2
Utility Components
incomplete
20.2.1
Operators
partial
20.2.2
forward/move helpers
partial
20.2.3
Pairs
done
20.3
Header <tuple>
synopsis
done
20.3.1
Class template tuple
done
20.3.1.1
Construction
done
20.3.1.2
Tuple creation functions
done
20.3.1.3
Tuple helper classes
done
20.3.1.4
Element access
done
20.3.1.5
Relational operators
done
20.4
Metaprogramming and type traits
20.4.1
Requirements
done
20.4.2
Header <type_traits>
synopsis
done
20.4.3
Helper classes
done
20.4.4
General Requirements
done
20.4.5
Unary Type Traits
done
20.4.5.1
Primary Type Categories
done
20.4.5.2
Composite type traits
done
20.4.5.3
Type properties
done
20.4.6
Relationships between types
done
20.4.7
Transformations between types
done
20.4.7.1
Const-volatile modifications
done
20.4.7.2
Reference modifications
done
20.4.7.3
Array modifications
done
20.4.7.4
Pointer modifications
done
20.4.8
Other transformations
done
20.4.9
Implementation requirements
done
20.5
Function Objects
done
20.5
Additions to header <functional>
synopsis
done
20.5.1
Definitions
done
20.5.2
Requirements
done
20.5.3
Base
done
20.5.4
Function return types
done
20.5.5
Class template reference_wrapper
done
20.5.5.1
reference_wrapper
construct/copy/destroy
done
20.5.5.2
reference_wrapper
assignment
done
20.5.5.3
reference_wrapper
access
done
20.5.5.4
reference_wrapper
invocation
done
20.5.5.5
reference_wrapper
helper functions
done
20.5.14
Function template mem_fn
done
20.5.11
Template function bind
done
20.5.11.1
Function object binders
done
20.5.11.1.1
Class template is_bind_expression
done
20.5.11.1.2
Class template is_placeholder
done
20.5.11.1.3
Function template bind
done
20.5.11.1.4
Placeholders
done
20.5.15
Polymorphic function wrappers
done
20.5.15.1
Class bad_function_call
done
20.5.15.1.1
bad_function_call
constructor
done
20.5.15.2
Class template function
done
20.5.15.2.1
function
construct/copy/destroy
done
20.5.15.2.2
function
modifiers
done
20.5.15.2.3
function
capacity
done
20.5.15.2.4
function
invocation
done
20.5.15.2.5
function
target access
done
20.5.15.2.7
null pointer comparison operators
done
20.5.15.2.8
specialized algorithms
done
20.5.16
Class template hash
done
20.6
Additions to header <memory>
synopsis
partial
missing unique_ptr
20.6.5
Class template unique_ptr
missing
20.6.6
Smart pointers
done
20.6.6.1
Class bad_weak_ptr
done
20.6.6.2
Class template shared_ptr
done
See Footnotes.
20.6.6.2.1
shared_ptr
constructors
done
20.6.6.2.2
shared_ptr
destructor
done
20.6.6.2.3
shared_ptr
assignment
done
20.6.6.2.4
shared_ptr
modifiers
done
20.6.6.2.5
shared_ptr
observers
done
20.6.6.2.6
shared_ptr
creation
done
N2351
20.6.6.2.7
shared_ptr
comparison
done
20.6.6.2.8
shared_ptr
I/O
done
20.6.6.2.9
shared_ptr
specialized algorithms
done
20.6.6.2.10
shared_ptr
casts
done
20.6.6.2.11
get_deleter
done
20.6.6.3
Class template weak_ptr
done
20.6.6.3.1
weak_ptr
constructors
done
20.6.6.3.2
weak_ptr
destructor
done
20.6.6.3.3
weak_ptr
assignment
done
20.6.6.3.4
weak_ptr
modifiers
done
20.6.6.3.5
weak_ptr
observers
done
20.6.6.3.6
weak_ptr
comparison
done
20.6.6.3.7
weak_ptr
specialized algorithms
done
20.6.6.4
Class template enable_shared_from_this
done
23
Containers
23.2.1
Header <array>
synopsis
done
23.2.1
Class template array
done
23.2.1.1
array
constructors, copy, and assignment
done
23.2.1.2
array
specialized algorithms
done
23.2.1.3
array
size
done
23.2.1.4
array
data
done
23.2.1.5
Zero sized array
s
done
23.2.1.6
Tuple interface to class template array
done
23.4
Unordered associative containers
done
23.4.1
Class template unordered_map
done
23.4.1.1
unordered_map
constructors
done
23.4.1.2
unordered_map
element access
done
23.4.1.3
unordered_map
swap
done
23.4.2
Class template unordered_multimap
done
23.4.2.1
unordered_multimap
constructors
done
23.4.2.2
unordered_multimap
swap
done
23.4.3
Class template unordered_set
done
23.4.3.1
unordered_set
constructors
done
23.4.3.2
unordered_set
swap
done
23.4.4
Class template unordered_multiset
done
23.4.4.1
unordered_multiset
constructors
done
23.4.4.2
unordered_multiset
swap
done
26
Numerics
26.4
Random number generation
done
26.4.1
Requirements
done
26.4.2
Header <random>
synopsis
partial
26.4.3
Random number engine class templates
done
26.4.3.1
Class template linear_congruential_engine
done
26.4.3.2
Class template mersenne_twister_engine
done
26.4.3.3
Class template subtract_with_carry_engine
done
26.4.4
Random number engine adaptor class templates
done
26.4.4.1
Class template discard_block_engine
done
26.4.4.2
Class template independent_bits_engine
done
26.4.4.3
Class template shuffle_order_engine
done
26.4.4.4
Class template xor_combine_engine
done
operator()() per N2079
26.4.5
Engines and engine adaptors with predefined parameters
done
26.4.6
Class random_device
done
26.4.7
Utilities
done
26.4.7.1
Class seed_seq
missing
26.4.7.2
Function template generate_cannonical
missing
26.4.8
Random number generation class templates
done
26.4.8.1
Uniform distributions
partial
26.4.8.1
Class template uniform_int_distribution
missing
26.4.8.1
Class template uniform_real_distribution
missing
26.4.8.2
Bernoulli distributions
partial
26.4.8.2.1
Class bernoulli_distribution
done
26.4.8.2.2
Class template binomial_distribution
done
26.4.8.2.3
Class template geometric_distribution
done
26.4.8.2.4
Class template negative_binomial_distribution
missing
26.4.8.3
Poisson distributions
partial
26.4.8.3.1
Class template poisson_distribution
done
26.4.8.3.2
Class template exponential_distribution
done
26.4.8.3.3
Class template gamma_distribution
done
26.4.8.3.4
Class template weibull_distribution
missing
26.4.8.3.5
Class template extreme_value_distribution
missing
26.4.8.4
Normal distributions
partial
26.4.8.4.1
Class template normal_distribution
done
26.4.8.4.2
Class template lognormal_distribution
missing
26.4.8.4.3
Class template chi_squared_distribution
missing
26.4.8.4.4
Class template cauchy_distribution
missing
26.4.8.4.5
Class template fisher_f_distribution
missing
26.4.8.4.6
Class template student_t_distribution
missing
26.4.8.5
Sampling distributions
missing
26.4.8.5.1
Class template discrete_distribution
missing
26.4.8.5.1
Class template piecewise_constant_distribution
missing
26.4.8.5.1
Class template general_pdf_distribution
missing
28
Regular Expressions
28.1
Definitions
missing
28.2
Requirements
missing
28.3
Regular expressions summary
missing
28.4
Header <regex>
synopsis
missing
28.5
Namespace tr1::regex_constants
missing
28.5.1
Bitmask Type syntax_option_type
missing
28.5.2
Bitmask Type regex_constants::match_flag_type
missing
28.5.3
Implementation defined error_type
missing
28.6
Class regex_error
missing
28.7
Class template regex_traits
missing
28.8
Class template basic_regex
missing
28.8.1
basic_regex
constants
missing
28.8.2
basic_regex
constructors
missing
28.8.3
basic_regex
assign
missing
28.8.4
basic_regex
constant operations
missing
28.8.5
basic_regex
locale
missing
28.8.6
basic_regex
swap
missing
28.8.7
basic_regex
non-member functions
missing
28.8.7.1
basic_regex
non-member swap
missing
28.9
Class template sub_match
missing
28.9.1
sub_match
members
missing
28.9.2
sub_match
non-member operators
missing
28.10
Class template match_results
missing
28.10.1
match_results
constructors
missing
28.10.2
match_results
size
missing
28.10.3
match_results
element access
missing
28.10.4
match_results
formatting
missing
28.10.5
match_results
allocator
missing
28.10.6
match_results
swap
missing
28.11
Regular expression algorithms
missing
28.11.1
exceptions
missing
28.11.2
regex_match
missing
28.11.3
regex_search
missing
28.11.4
regex_replace
missing
28.12
Regular expression Iterators
missing
28.12.1
Class template regex_iterator
missing
28.12.1.1
regex_iterator
constructors
missing
28.12.1.2
regex_iterator
comparisons
missing
28.12.1.3
regex_iterator
dereference
missing
28.12.1.4
regex_iterator
increment
missing
28.12.2
Class template regex_token_iterator
missing
28.12.2.1
regex_token_iterator
constructors
missing
28.12.2.2
regex_token_iterator
comparisons
missing
28.12.2.3
regex_token_iterator
dereference
missing
28.12.2.4
regex_token_iterator
increment
missing
28.13
Modified ECMAScript regular expression grammar
missing
C
C Compatibility
C2.1
Additions to header <complex>
done
C2.1.1
Synopsis
done
C2.1.2
Function acos
done
C2.1.3
Function asin
done
C2.1.4
Function atan
done
C2.1.5
Function acosh
done
C2.1.6
Function asinh
done
C2.1.7
Function atanh
done
C2.1.8
Function fabs
done
C2.1.9
Additional Overloads
done
C2.2
Header <ccomplex>
missing
DR 551
C2.3
Header <complex.h>
missing
DR 551
C2.4
Additions to header <cctype>
done
C2.4.1
Synopsis
done
C2.4.2
Function isblank
done
C2.5
Additions to header <ctype.h>
done
C2.6
Header <cfenv>
done
C2.6.1
Synopsis
done
C2.6.2
Definitions
done
C2.7
Header <fenv.h>
done
C2.8
Additions to header <cfloat>
done
C2.9
Additions to header <float.h>
done
C2.10
Additions to header <ios>
missing
C2.10.1
Synopsis
missing
C2.10.2
Function hexfloat
missing
C2.11
Header <cinttypes>
done
C2.11.1
Synopsis
done
DR 557
C2.11.2
Definitions
done
C2.12
Header <inttypes.h>
done
C2.13
Additions to header <climits>
done
C2.14
Additions to header <limits.h>
done
C2.15
Additions to header <locale>
missing
C2.16
Additions to header <cmath>
done
C2.16.1
Synopsis
done
C2.16.2
Definitions
done
C2.16.3
Function template definitions
done
C2.16.4
Additional overloads
done
DR 568; DR 550
C2.17
Additions to header <math.h>
done
C2.18
Additions to header <cstdarg>
done
C2.19
Additions to header <stdarg.h>
done
C2.20
The header <cstdbool>
done
C2.21
The header <stdbool.h>
done
C2.22
The header <cstdint>
done
C2.22.1
Synopsis
done
C2.22.2
Definitions
done
C2.23
The header <stdint.h>
done
C2.24
Additions to header <cstdio>
done
C2.24.1
Synopsis
done
C2.24.2
Definitions
done
C2.24.3
Additional format specifiers
done
C library responsibility
C2.24.4
Additions to header <stdio.h>
done
C2.25
Additions to header <cstdlib>
done
C2.25.1
Synopsis
done
C2.25.2
Definitions
done
C2.25.3
Function abs
done
C2.25.4
Function div
done
C2.26
Additions to header <stdlib.h>
done
C2.27
Header <ctgmath>
done
DR 551
C2.28
Header <tgmath.h>
done
DR 551
C2.29
Additions to header <ctime>
done
C library responsibility
C2.30
Additions to header <cwchar>
done
C2.30.1
Synopsis
done
C2.30.2
Definitions
done
C2.30.3
Additional wide format specifiers
done
C library responsibility
C2.31
Additions to header <wchar.h>
done
C2.32
Additions to header <cwctype>
done
C2.32.1
Synopsis
done
C2.32.2
Function iswblank
done
C2.33
Additions to header <wctype.h>
done
D
Compatibility Features
D.6
Old iostream members
done
D.8
Binders
done
33911
D.9
Class template auto_ptr
done
33911
Footnotes
The shared_ptr implementation uses some code from the
Boost
shared_ptr library.