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 arrays 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.