From patchwork Mon May 2 10:39:27 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jonathan Wakely X-Patchwork-Id: 93627 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) by ozlabs.org (Postfix) with SMTP id 7C7ECB6F64 for ; Mon, 2 May 2011 20:40:06 +1000 (EST) Received: (qmail 26960 invoked by alias); 2 May 2011 10:39:59 -0000 Received: (qmail 26916 invoked by uid 22791); 2 May 2011 10:39:47 -0000 X-SWARE-Spam-Status: No, hits=-2.4 required=5.0 tests=AWL, BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, FREEMAIL_FROM, RCVD_IN_DNSWL_LOW, RFC_ABUSE_POST X-Spam-Check-By: sourceware.org Received: from mail-pw0-f47.google.com (HELO mail-pw0-f47.google.com) (209.85.160.47) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Mon, 02 May 2011 10:39:28 +0000 Received: by pwj9 with SMTP id 9so3012975pwj.20 for ; Mon, 02 May 2011 03:39:28 -0700 (PDT) MIME-Version: 1.0 Received: by 10.143.24.40 with SMTP id b40mr2986992wfj.275.1304332767214; Mon, 02 May 2011 03:39:27 -0700 (PDT) Received: by 10.142.114.13 with HTTP; Mon, 2 May 2011 03:39:27 -0700 (PDT) In-Reply-To: References: Date: Mon, 2 May 2011 11:39:27 +0100 Message-ID: Subject: Re: update C++0x status table to FDIS From: Jonathan Wakely To: "libstdc++" , gcc-patches Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Delivered-To: mailing list gcc-patches@gcc.gnu.org On 1 May 2011 10:19, Jonathan Wakely wrote: > Most of this is shuffling round sub-clauses in Clause 20 Utilities and > adjusting section numbers, but I also added some missing type traits > and added a note about missing constexpr on the duration non-member > arithmetic binary operations (as pointed out by Magnus last time I > updated the table.) > > I haven't actually tried making the docs from this, as I'm away from > home and don't have the docbook stylesheets on my netbook or the > compile farm machine I've been working on, so I'll test that asap and > then commit the final version and regenerate the HTML. > > Please let me know if I've missed anything out or got anything wrong > (very likely, as I didn't have time to carefully review every one of > the C++0x library clauses!) > Tested with "make doc-html' on x86-64-linux (using docbook5 packages from Fedora 15 beta) and committed to trunk. 2011-05-02 Jonathan Wakely * doc/xml/manual/status_cxx200x.xml: Update to reflect current status and FDIS content. * doc/xml/manual/documentation_hacking.xml: Fix typo. * doc/html/*: Regenerate. Index: doc/xml/manual/status_cxx200x.xml =================================================================== --- doc/xml/manual/status_cxx200x.xml (revision 173234) +++ doc/xml/manual/status_cxx200x.xml (working copy) @@ -15,8 +15,8 @@ This table is based on the table of contents of ISO/IEC -JTC1 SC22 WG21 Doc No: N3092 Date: 2010-03-26 -Final Committee Draft, Standard for Programming Language C++ +JTC1 SC22 WG21 Doc No: N3290 Date: 2011-04-11 +Final Draft International Standard, Standard for Programming Language C++ @@ -92,46 +92,46 @@ - 18.3.1 + 18.3.2 Numeric Limits - 18.3.1.1 + 18.3.2.3 Class template numeric_limits Y - 18.3.1.2 + 18.3.2.4 numeric_limits members Y - 18.3.1.3 + 18.3.2.5 float_round_style N - 18.3.1.4 + 18.3.2.6 float_denorm_style N - 18.3.1.5 + 18.3.2.7 numeric_limits specializations Y - 18.3.2 + 18.3.3 C Library Y @@ -200,7 +200,7 @@ 18.8.2 - Violating exception-specifications + Class bad_exception Y @@ -343,66 +343,66 @@ 20.2 - Requirements - - - - - 20.3 Utility components - 20.3.1 + 20.2.1 Operators Y - 20.3.2 + 20.2.2 Swap Y - 20.3.3 + 20.2.3 forward and move helpers Y - 20.3.4 + 20.2.4 Function template declval Y - 20.3.5 + 20.3 Pairs - 20.3.5.1 + 20.3.1 In general - 20.3.5.2 + 20.3.2 Class template pair Y - 20.3.5.3 + 20.3.3 + Specialized algorithms + Y + + + + 20.3.4 Tuple-like access to pair Y - 20.3.5.5 + 20.3.5 Piecewise construction Y @@ -422,140 +422,264 @@ 20.4.2 Class template tuple + + + + + 20.4.2.1 + Construction Y + 20.4.2.2 + Assignment + Y + + + + 20.4.2.3 + Swap + Y + + + + + 20.4.2.4 + Tuple creation functions + Partial + tuple_cat should be a single variadic signature (DR 1385) + + + 20.4.2.5 + Tuple helper classes + Y + + + + 20.4.2.6 + Element access + Y + + + + 20.4.2.7 + Relational operators + Y + + + + + 20.4.2.8 + Tuple traits + N + + + + 20.4.2.9 + Tuple specialized algorithms + Y + + + 20.5 Class template bitset Y + 20.5.1 + bitset constructors + Y + + + + 20.5.2 + bitset members + Y + + + + 20.5.3 + bitset hash support + Y + + + + 20.5.4 + bitset operators + Y + + + 20.6 - Compile-time rational arithmetic + Memory 20.6.1 - Class template ratio - Y + In general + 20.6.2 - Arithmetic on ratio types - Y + Header <memory> synopsis + + 20.6.3 - Comparison of ratio types - Y + Pointer traits + N + 20.6.4 - SI types for ratio - Y + Pointer safety + Partial - 20.7 - Metaprogramming and type traits + + 20.6.5 + Align + N + + + 20.6.6 + Allocator argument tag + Y - 20.7.1 - Requirements + 20.6.7 + uses_allocator Y - 20.7.2 - Header <type_traits> synopsis + + 20.6.8 + Allocator traits + N + + + 20.6.9 + The default allocator + Y - 20.7.3 - Helper classes + 20.6.10 + Raw storage iterator Y - 20.7.4 - Unary Type Traits + 20.6.11 + Temporary buffers Y - 20.7.4.1 - Primary type categories + 20.6.12 + Specialized algorithms + + + + + 20.6.12.1 + addressof Y - 20.7.4.2 - Composite type traits + 20.6.12.2 + uninitialized_copy Y - - 20.7.4.3 - Type properties - Partial - Missing is_trivially_copyable, is_nothrow_constructible + 20.6.12.3 + uninitialized_fill + Y + - 20.7.5 - Relationships between types + 20.6.12.4 + uninitialized_fill_n Y - - 20.7.6 - Transformations between types - Partial - Missing underlying_type + 20.6.13 + C library + Y + - 20.7.6.1 - Const-volatile modifications + 20.7 + Smart pointers + + + + + 20.7.1 + Class template unique_ptr Y - 20.7.6.2 - Reference modifications + 20.7.2 + Shared-ownership pointers Y - 20.7.6.3 - Sign modifications + 20.7.2.1 + Class bad_weak_ptr Y - 20.7.6.4 - Array modifications + 20.7.2.2 + Class template shared_ptr Y + + + Uses code from + boost::shared_ptr. + + + + + 20.7.2.3 + Class template weak_ptr + Y - 20.7.6.5 - Pointer modifications + 20.7.2.4 + Class template emable_shared_from_this Y - 20.7.6.6 - Other transformations + + 20.7.2.5 + shared_ptr atomic access + Partial + + + + 20.7.2.6 + Smart pointer hash support Y @@ -568,363 +692,320 @@ 20.8.1 Definitions - Y + 20.8.2 Requirements - Y + 20.8.3 - Base + Class template reference_wrapper Y 20.8.4 - Class template reference_wrapper + Arithmetic operation Y 20.8.5 - Arithmetic operation + Comparisons Y 20.8.6 - Comparisons + Logical operations Y 20.8.7 - Logical operations + Bitwise operations Y 20.8.8 - Bitwise operations + Negators Y 20.8.9 - Negators - Y - - - - 20.8.10 Function template bind Y - 20.8.11 - Adaptors for pointers to functions - Y - - - - 20.8.12 - Adaptors for pointers to members - Y - - - - 20.8.13 + 20.8.10 Function template mem_fn Partial Missing overloads for reference-qualified member functions - 20.8.14 + 20.8.11 Polymorphic function wrappers - 20.8.14.1 + 20.8.11.1 Class bad_function_call Y - 20.8.14.2 + 20.8.11.2 Class template function Partial Missing allocator support - 20.8.15 + 20.8.12 Class template hash Y 20.9 - Memory + Metaprogramming and type traits 20.9.1 - Allocator argument tag + Requirements Y 20.9.2 - uses_allocator - Y + Header <type_traits> synopsis + - 20.9.3 - Pointer traits - N + Helper classes + Y - 20.9.4 - Allocator traits - N + Unary Type Traits + Y - 20.9.5 - The default allocator + 20.9.4.1 + Primary type categories Y - - 20.9.6 - Scoped allocator adaptor + 20.9.4.2 + Composite type traits + Y - - - 20.9.6.1 - Scoped allocator adaptor member types - N - + + 20.9.4.3 + Type properties + Partial + Missing is_trivially_copyable, + is_assignable, is_copy_assignable, is_move_assignable, + is_trivially_constructible, is_trivially_default_constructible, + is_trivially_copy_constructible, is_trivially_move_constructible, + is_trivially_assignable, is_trivially_default_assignable, + is_trivially_copy_assignable, is_trivially_move_assignable, + is_trivially_destructible, + is_nothrow_assignable, + is_nothrow_copy_assignable, is_nothrow_move_assignable, + is_nothrow_destructible + - - 20.9.6.2 - Scoped allocator adaptor constructors - N + 20.9.5 + Type property queries + Y - - 20.9.6.3 - Scoped allocator adaptor members - N + 20.9.6 + Relationships between types + Y 20.9.7 - Raw storage iterator - Y + Transformations between types + - 20.9.8 - Temporary buffers + 20.9.7.1 + Const-volatile modifications Y - 20.9.9 - Specialized algorithms - - - - - 20.9.9.1 - addressof + 20.9.7.2 + Reference modifications Y - 20.9.9.2 - uninitialized_copy + 20.9.7.3 + Sign modifications Y - 20.9.9.3 - uninitialized_fill + 20.9.7.4 + Array modifications Y - 20.9.9.4 - uninitialized_fill_n + 20.9.7.5 + Pointer modifications Y - 20.9.10 - Class template unique_ptr + 20.9.7.6 + Other transformations Y - 20.9.11 - Smart pointers + 20.10 + Compile-time rational arithmetic - 20.9.11.1 - Class bad_weak_ptr - Y + 20.10.1 + In general - - - 20.9.11.2 - Class template shared_ptr - Y - - - Uses code from - boost::shared_ptr. - - - - - 20.9.11.3 - Class template weak_ptr - Y - 20.9.11.4 - Class template emable_shared_from_this - Y + 20.10.2 + Header <ratio> synopsis - - - - 20.9.11.5 - shared_ptr atomic access - Partial - 20.9.11.6 - Hash support + 20.10.3 + Class template ratio Y - - 20.9.12 - Pointer safety - Partial + 20.10.4 + Arithmetic on ratios + Y - - 20.9.13 - Align - N + 20.10.5 + Comparison of ratios + Y - 20.9.16 - C library + 20.10.6 + SI types for ratio Y - 20.10 + 20.11 Time utilities - 20.10.1 + 20.11.3 Clock requirements Y - 20.10.2 + 20.11.4 Time-related traits - 20.10.2.1 + 20.11.4.1 treat_as_floating_point Y - 20.10.2.2 + 20.11.4.2 duration_values Y - 20.10.2.3 + 20.11.4.3 Specializations of common_type Y - 20.10.3 + + 20.11.5 Class template duration - Y - + Partial + Missing constexpr for non-member arithmetic operations - 20.10.4 + 20.11.6 Class template time_point Y - 20.10.5 + 20.11.7 Clocks - 20.10.5.1 + 20.11.7.1 Class system_clock Y - 20.10.5.2 - Class monotonic_clock - Y - + + 20.11.7.2 + Class steady_clock + N + Support old monotonic_clock spec instead - 20.10.5.3 + 20.11.7.3 Class high_resolution_clock Y - 20.11 + 20.11.8 Date and time functions Y @@ -932,6 +1013,48 @@ 20.12 + Scoped allocator adaptor + + + + + + 20.12.1 + Header <scoped_allocator> synopsis + + + + + + 20.12.2 + Scoped allocator adaptor member types + N + + + + + 20.12.3 + Scoped allocator adaptor constructors + N + + + + + 20.12.4 + Scoped allocator adaptor members + N + + + + + 20.12.5 + Scoped allocator operators + N + + + + + 20.13 Class type_index N @@ -1261,7 +1384,7 @@ 23.2.2 - Data races + Container data races Y @@ -1290,54 +1413,30 @@ - 23.3.1 + 23.3.2 Class template array Y - 23.3.2 + 23.3.3 Class template deque Y - 23.3.3 + 23.3.4 Class template forward_list Y - 23.3.4 + 23.3.5 Class template list Y - 23.3.5 - Container adaptors - - - - - 23.3.5.1 - Class template queue - Y - - - - 23.3.5.2 - Class template priority_queue - Y - - - - 23.3.5.3 - Class template stack - Y - - - 23.3.6 Class template vector Y @@ -1356,25 +1455,25 @@ - 23.4.1 + 23.4.4 Class template map Y - 23.4.2 + 23.4.5 Class template multimap Y - 23.4.3 + 23.4.6 Class template set Y - 23.4.4 + 23.4.7 Class template multiset Y @@ -1386,30 +1485,54 @@ - 23.5.1 + 23.5.4 Class template unordered_map Y - 23.5.2 + 23.5.5 Class template unordered_multimap Y - 23.5.3 + 23.5.6 Class template unordered_set Y - 23.5.4 + 23.5.7 Class template unordered_multiset Y + 23.6 + Container adaptors + + + + + 23.6.1 + Class template queue + Y + + + + 23.6.2 + Class template priority_queue + Y + + + + 23.6.3 + Class template stack + Y + + + 24 @@ -1621,19 +1744,19 @@ - 26.5.4.1 + 26.5.4.2 Class template discard_block_engine Y Missing constexpr - 26.5.4.2 + 26.5.4.3 Class template independent_bits_engine Y Missing constexpr - 26.5.4.3 + 26.5.4.4 Class template shuffle_order_engine Y Missing constexpr @@ -1675,151 +1798,151 @@ - 26.5.8.1 + 26.5.8.2 Uniform distributions - 26.5.8.1.1 + 26.5.8.2.1 Class template uniform_int_distribution Y - 26.5.8.1.2 + 26.5.8.2.2 Class template uniform_real_distribution Y - 26.5.8.2 + 26.5.8.3 Bernoulli distributions - 26.5.8.2.1 + 26.5.8.3.1 Class bernoulli_distribution Y - 26.5.8.2.2 + 26.5.8.3.2 Class template binomial_distribution Y - 26.5.8.2.3 + 26.5.8.3.3 Class template geometric_distribution Y - 26.5.8.2.4 + 26.5.8.3.4 Class template negative_binomial_distribution Y - 26.5.8.3 + 26.5.8.4 Poisson distributions - 26.5.8.3.1 + 26.5.8.4.1 Class template poisson_distribution Y - 26.5.8.3.2 + 26.5.8.4.2 Class template exponential_distribution Y - 26.5.8.3.3 + 26.5.8.4.3 Class template gamma_distribution Y - 26.5.8.3.4 + 26.5.8.4.4 Class template weibull_distribution Y - 26.5.8.3.5 + 26.5.8.4.5 Class template extreme_value_distribution Y - 26.5.8.4 + 26.5.8.5 Normal distributions - 26.5.8.4.1 + 26.5.8.5.1 Class template normal_distribution Y - 26.5.8.4.2 + 26.5.8.5.2 Class template lognormal_distribution Y - 26.5.8.4.3 + 26.5.8.5.3 Class template chi_squared_distribution Y - 26.5.8.4.4 + 26.5.8.5.4 Class template cauchy_distribution Y - 26.5.8.4.5 + 26.5.8.5.5 Class template fisher_f_distribution Y - 26.5.8.4.6 + 26.5.8.5.6 Class template student_t_distribution Y - 26.5.8.5 + 26.5.8.6 Sampling distributions - 26.5.8.5.1 + 26.5.8.6.1 Class template discrete_distribution Y - 26.5.8.5.2 + 26.5.8.6.2 Class template piecewise_constant_distribution Y - 26.5.8.5.3 + 26.5.8.6.3 Class template piecewise_linear_distribution Y @@ -1899,30 +2022,36 @@ 26.7.1 + Header <numeric> synopsis + Y + + + + 26.7.2 accumulate Y - 26.7.2 + 26.7.3 inner_product Y - 26.7.3 + 26.7.4 partial_sum Y - 26.7.4 + 26.7.5 adjacent_difference Y - 26.7.5 + 26.7.6 iota Y @@ -1986,12 +2115,18 @@ 27.4.1 + Overview + Y + + + + 27.4.2 Narrow stream objects Y - 27.4.2 + 27.4.3 Wide stream objects Y @@ -2001,7 +2136,10 @@ 27.5 Iostreams base classes Partial - Missing move and swap operations + + Missing move and swap operations on basic_ios. Missing + make_error_code and make_error_condition. + 27.6 @@ -2155,36 +2293,23 @@ + 29.4 Lock-free property - Y - Based on _GLIBCXX_ATOMIC_PROPERTY + Partial + Missing ATOMIC_BOOL_LOCK_FREE and + ATOMIC_POINTER_LOCK_FREE. + Based on _GLIBCXX_ATOMIC_PROPERTY + + 29.5 Atomic types - - - - - 29.5.1 - Integral types - Y + Partial Missing constexpr - 29.5.2 - Address types - Y - Missing constexpr - - - 29.5.3 - Generic types - Y - Missing constexpr - - 29.6 Operations on atomic types Y @@ -2234,7 +2359,7 @@ 30.3.1 Class thread Partial - thread::id is not trivially copyable + thread::id comparisons not well-defined 30.3.2 @@ -2256,73 +2381,85 @@ 30.4.1.1 + In general + + + + + 30.4.1.2 + Mutex types + + + + + 30.4.1.2.1 Class mutex Y - 30.4.1.2 + 30.4.1.2.2 Class recursive_mutex Y - 30.4.2 - Timed mutex requirements + 30.4.1.3 + Timed mutex types - 30.4.2.1 + 30.4.1.3.1 Class timed_mutex Y - 30.4.2.2 + 30.4.1.3.2 Class recursive_timed_mutex Y - 30.4.3 + 30.4.2 Locks - 30.4.3.1 + 30.4.2.1 Class template lock_guard Y - 30.4.3.2 + 30.4.2.2 Class template unique_lock Y - 30.4.4 + 30.4.3 Generic locking algorithms Y - 30.4.5 + 30.4.4 Call once - 30.4.5.1 - once_flag + 30.4.4.1 + Struct once_flag Y - 30.4.5.2 - call_once + 30.4.4.2 + Function call_once Y @@ -2371,7 +2508,7 @@ 30.6.4 - Associated asynchronous state + Shared state Y @@ -2397,14 +2534,14 @@ Missing future_status - 30.6.9 + 30.6.8 Function template async Y - 30.6.10 + 30.6.9 Class template packaged_task Partial Missing make_ready_at_thread_exit @@ -2425,43 +2562,43 @@ D.2 - static keyword + register keyword D.3 - Access declarations + Implicit declaration of copy functions D.4 - register keyword + Dynamic exception specifications D.5 - Dynamic exception specifications + C standard library headers D.6 - C standard library headers + Old iostreams members D.7 - Old iostreams members + char* streams D.8 - char* streams + Function objects @@ -2477,6 +2614,12 @@ + + D.11 + Violating exception-specifications + + + Index: doc/xml/manual/documentation_hacking.xml =================================================================== --- doc/xml/manual/documentation_hacking.xml (revision 173234) +++ doc/xml/manual/documentation_hacking.xml (working copy) @@ -746,7 +746,7 @@ Please note that individual sections and chapters of the - manual can be validated by substiuting the file desired for + manual can be validated by substituting the file desired for xml/index.xml in the command above. Reducing scope in this manner can be helpful when validation on the entire manual fails. @@ -987,4 +987,4 @@ - \ No newline at end of file +