diff options
author | Jonathan Wakely <jwakely@redhat.com> | 2020-04-21 22:18:51 +0100 |
---|---|---|
committer | Jonathan Wakely <jwakely@redhat.com> | 2020-04-21 22:18:51 +0100 |
commit | 57ede05c6a0b443943e312bf205cb79233c9396f (patch) | |
tree | cce24b2d71ae171c86714f8beced8f67403d7f26 /libstdc++-v3 | |
parent | d76925e46fad09fc9be6759cbf1f23c9a8344dbf (diff) | |
download | gcc-57ede05c6a0b443943e312bf205cb79233c9396f.zip gcc-57ede05c6a0b443943e312bf205cb79233c9396f.tar.gz gcc-57ede05c6a0b443943e312bf205cb79233c9396f.tar.bz2 |
libstdc++: Improve C++14 and C++17 status docs
This adds a full table of contents for the C++14 and C++17 standards,
with status for each part.
For C++14 the list of proposals is removed, as it adds little value now
that everything is supported. For C++17 the table of proposals is
retained, because it documents he feature test macros for the features.
* doc/Makefile.am (xml_sources_manual): Add missing XML files.
* doc/Makefile.in: Regenerate.
* doc/xml/manual/status_cxx1998.xml: Refer to "this section" instead
of "this page".
* doc/xml/manual/status_cxx2011.xml: Formatting and other corrections
to the C++11 status table.
* doc/xml/manual/status_cxx2014.xml: Replace list of C++14 feature
proposals with table matching contents of the C++14 standard.
* doc/xml/manual/status_cxx2017.xml: Add table matching contents of
the C++17 standard.
* doc/html/*: Regenerate.
Diffstat (limited to 'libstdc++-v3')
-rw-r--r-- | libstdc++-v3/ChangeLog | 12 | ||||
-rw-r--r-- | libstdc++-v3/doc/Makefile.am | 2 | ||||
-rw-r--r-- | libstdc++-v3/doc/Makefile.in | 2 | ||||
-rw-r--r-- | libstdc++-v3/doc/html/manual/index.html | 2 | ||||
-rw-r--r-- | libstdc++-v3/doc/html/manual/status.html | 246 | ||||
-rw-r--r-- | libstdc++-v3/doc/xml/manual/status_cxx1998.xml | 8 | ||||
-rw-r--r-- | libstdc++-v3/doc/xml/manual/status_cxx2011.xml | 61 | ||||
-rw-r--r-- | libstdc++-v3/doc/xml/manual/status_cxx2014.xml | 1514 | ||||
-rw-r--r-- | libstdc++-v3/doc/xml/manual/status_cxx2017.xml | 1867 |
9 files changed, 3479 insertions, 235 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 80c14a7..4e0a02f 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,5 +1,17 @@ 2020-04-21 Jonathan Wakely <jwakely@redhat.com> + * doc/Makefile.am (xml_sources_manual): Add missing XML files. + * doc/Makefile.in: Regenerate. + * doc/xml/manual/status_cxx1998.xml: Refer to "this section" instead + of "this page". + * doc/xml/manual/status_cxx2011.xml: Formatting and other corrections + to the C++11 status table. + * doc/xml/manual/status_cxx2014.xml: Replace list of C++14 feature + proposals with table matching contents of the C++14 standard. + * doc/xml/manual/status_cxx2017.xml: Add table matching contents of + the C++17 standard. + * doc/html/*: Regenerate. + PR c++/94149 * include/std/type_traits (__is_nt_constructible_impl): Add partial specializations for bounded arrays with non-empty initializers. diff --git a/libstdc++-v3/doc/Makefile.am b/libstdc++-v3/doc/Makefile.am index 32417d8..33386db 100644 --- a/libstdc++-v3/doc/Makefile.am +++ b/libstdc++-v3/doc/Makefile.am @@ -341,6 +341,8 @@ xml_sources_manual = \ ${xml_dir}/manual/status_cxx1998.xml \ ${xml_dir}/manual/status_cxx2011.xml \ ${xml_dir}/manual/status_cxx2014.xml \ + ${xml_dir}/manual/status_cxx2017.xml \ + ${xml_dir}/manual/status_cxx2020.xml \ ${xml_dir}/manual/status_cxxtr1.xml \ ${xml_dir}/manual/status_cxxtr24733.xml \ ${xml_dir}/manual/strings.xml \ diff --git a/libstdc++-v3/doc/Makefile.in b/libstdc++-v3/doc/Makefile.in index 9134d66..34fec57 100644 --- a/libstdc++-v3/doc/Makefile.in +++ b/libstdc++-v3/doc/Makefile.in @@ -483,6 +483,8 @@ xml_sources_manual = \ ${xml_dir}/manual/status_cxx1998.xml \ ${xml_dir}/manual/status_cxx2011.xml \ ${xml_dir}/manual/status_cxx2014.xml \ + ${xml_dir}/manual/status_cxx2017.xml \ + ${xml_dir}/manual/status_cxx2020.xml \ ${xml_dir}/manual/status_cxxtr1.xml \ ${xml_dir}/manual/status_cxxtr24733.xml \ ${xml_dir}/manual/strings.xml \ diff --git a/libstdc++-v3/doc/html/manual/index.html b/libstdc++-v3/doc/html/manual/index.html index 0344452..74bfb5d 100644 --- a/libstdc++-v3/doc/html/manual/index.html +++ b/libstdc++-v3/doc/html/manual/index.html @@ -149,7 +149,7 @@ Support for C++11 dialect. </a></dt><dt>21.10. <a href="policy_data_structures_design.html#id-1.3.5.8.4.3.3.3.23">Non-unique Mapping Containers</a></dt><dt>21.11. <a href="policy_data_structures_design.html#id-1.3.5.8.4.3.4.3.5">Point Iterator Hierarchy</a></dt><dt>21.12. <a href="policy_data_structures_design.html#id-1.3.5.8.4.3.4.4.5">Invalidation Guarantee Tags Hierarchy</a></dt><dt>21.13. <a href="policy_data_structures_design.html#id-1.3.5.8.4.3.5.7.4">Container Tag Hierarchy</a></dt><dt>21.14. <a href="policy_data_structures_design.html#id-1.3.5.8.4.4.2.3.2.2.3">Hash functions, ranged-hash functions, and range-hashing functions</a></dt><dt>21.15. <a href="policy_data_structures_design.html#id-1.3.5.8.4.4.2.3.2.5.3.4">Insert hash sequence diagram</a></dt><dt>21.16. <a href="policy_data_structures_design.html#id-1.3.5.8.4.4.2.3.2.5.3.6">Insert hash sequence diagram with a null policy</a></dt><dt>21.17. <a href="policy_data_structures_design.html#id-1.3.5.8.4.4.2.3.2.5.5.5">Hash policy class diagram</a></dt><dt>21.18. <a href="policy_data_structures_design.html#id-1.3.5.8.4.4.2.3.3.4.7">Balls and bins</a></dt><dt>21.19. <a href="policy_data_structures_design.html#id-1.3.5.8.4.4.2.3.3.5.3.6">Insert resize sequence diagram</a></dt><dt>21.20. <a href="policy_data_structures_design.html#id-1.3.5.8.4.4.2.3.3.5.3.9">Standard resize policy trigger sequence diagram</a></dt><dt>21.21. <a href="policy_data_structures_design.html#id-1.3.5.8.4.4.2.3.3.5.3.10">Standard resize policy size sequence - diagram</a></dt><dt>21.22. <a href="policy_data_structures_design.html#id-1.3.5.8.4.4.3.3.2.5">Tree node invariants</a></dt><dt>21.23. <a href="policy_data_structures_design.html#id-1.3.5.8.4.4.3.3.2.8">Tree node invalidation</a></dt><dt>21.24. <a href="policy_data_structures_design.html#id-1.3.5.8.4.4.3.3.2.11.3">A tree and its update policy</a></dt><dt>21.25. <a href="policy_data_structures_design.html#id-1.3.5.8.4.4.3.3.2.11.8">Restoring node invariants</a></dt><dt>21.26. <a href="policy_data_structures_design.html#id-1.3.5.8.4.4.3.3.2.11.10">Insert update sequence</a></dt><dt>21.27. <a href="policy_data_structures_design.html#id-1.3.5.8.4.4.3.3.2.11.20">Useless update path</a></dt><dt>21.28. <a href="policy_data_structures_design.html#id-1.3.5.8.4.4.4.3.2.10">A PATRICIA trie</a></dt><dt>21.29. <a href="policy_data_structures_design.html#id-1.3.5.8.4.4.4.3.3.5">A trie and its update policy</a></dt><dt>21.30. <a href="policy_data_structures_design.html#id-1.3.5.8.4.4.5.3.3.3">A simple list</a></dt><dt>21.31. <a href="policy_data_structures_design.html#id-1.3.5.8.4.4.5.3.3.6">The counter algorithm</a></dt><dt>21.32. <a href="policy_data_structures_design.html#id-1.3.5.8.4.4.6.3.3.3">Underlying Priority-Queue Data-Structures.</a></dt><dt>21.33. <a href="policy_data_structures_design.html#id-1.3.5.8.4.4.6.3.4.4">Priority-Queue Data-Structure Tags.</a></dt><dt>B.1. <a href="appendix_porting.html#fig.build_hacking.deps">Configure and Build File Dependencies</a></dt></dl></div><div class="list-of-tables"><p><strong>List of Tables</strong></p><dl><dt>1.1. <a href="status.html#table.cxx98_status">C++ 1998/2003 Implementation Status</a></dt><dt>1.2. <a href="status.html#table.cxx11_status">C++ 2011 Implementation Status</a></dt><dt>1.3. <a href="status.html#table.cxx14_status">C++ 2014 Implementation Status</a></dt><dt>1.4. <a href="status.html#table.ts_status">C++ Technical Specifications Implementation Status</a></dt><dt>1.5. <a href="status.html#table.cxx17_status">C++ 2017 Implementation Status</a></dt><dt>1.6. <a href="status.html#table.cxx17_ts_status">C++ Technical Specifications Implementation Status</a></dt><dt>1.7. <a href="status.html#table.cxx20_status">C++ 2020 Implementation Status</a></dt><dt>1.8. <a href="status.html#table.tr1_status">C++ TR1 Implementation Status</a></dt><dt>1.9. <a href="status.html#table.decfp_status">C++ TR 24733 Implementation Status</a></dt><dt>1.10. <a href="status.html#table.specfun_status">C++ Special Functions Implementation Status</a></dt><dt>3.1. <a href="using.html#table.cmd_options">C++ Command Options</a></dt><dt>3.2. <a href="using_headers.html#table.cxx98_headers">C++ 1998 Library Headers</a></dt><dt>3.3. <a href="using_headers.html#table.cxx98_cheaders">C++ 1998 Library Headers for C Library Facilities</a></dt><dt>3.4. <a href="using_headers.html#table.cxx98_deprheaders">C++ 1998 Deprecated Library Header</a></dt><dt>3.5. <a href="using_headers.html#table.cxx11_headers">C++ 2011 Library Headers</a></dt><dt>3.6. <a href="using_headers.html#table.cxx11_cheaders">C++ 2011 Library Headers for C Library Facilities</a></dt><dt>3.7. <a href="using_headers.html#table.cxx14_headers">C++ 2014 Library Header</a></dt><dt>3.8. <a href="using_headers.html#table.cxx17_headers">C++ 2017 Library Headers</a></dt><dt>3.9. <a href="using_headers.html#table.cxx20_headers">C++ 2020 Library Headers</a></dt><dt>3.10. <a href="using_headers.html#table.cxx20_deprheaders">C++ 2020 Obsolete Headers</a></dt><dt>3.11. <a href="using_headers.html#table.filesystemts_headers">File System TS Header</a></dt><dt>3.12. <a href="using_headers.html#table.libfundts_headers">Library Fundamentals TS Headers</a></dt><dt>3.13. <a href="using_headers.html#table.tr1_headers">C++ TR 1 Library Headers</a></dt><dt>3.14. <a href="using_headers.html#table.tr1_cheaders">C++ TR 1 Library Headers for C Library Facilities</a></dt><dt>3.15. <a href="using_headers.html#table.decfp_headers">C++ TR 24733 Decimal Floating-Point Header</a></dt><dt>3.16. <a href="using_headers.html#table.abi_headers">C++ ABI Headers</a></dt><dt>3.17. <a href="using_headers.html#table.ext_headers">Extension Headers</a></dt><dt>3.18. <a href="using_headers.html#table.debug_headers">Extension Debug Headers</a></dt><dt>3.19. <a href="using_headers.html#table.parallel_headers">Extension Parallel Headers</a></dt><dt>17.1. <a href="debug_mode_using.html#table.debug_mode_containers">Debugging Containers</a></dt><dt>17.2. <a href="debug_mode_using.html#table.debug_mode_containers_cxx11">Debugging Containers C++11</a></dt><dt>18.1. <a href="parallel_mode_using.html#table.parallel_algos">Parallel Algorithms</a></dt><dt>20.1. <a href="bitmap_allocator_impl.html#table.bitmap_alloc">Bitmap Allocator Memory Map</a></dt><dt>B.1. <a href="documentation_hacking.html#table.doxygen_prereq">Doxygen Prerequisites</a></dt><dt>B.2. <a href="documentation_hacking.html#table.doxygen_cmp">HTML to Doxygen Markup Comparison</a></dt><dt>B.3. <a href="documentation_hacking.html#table.docbook_prereq">Docbook Prerequisites</a></dt><dt>B.4. <a href="documentation_hacking.html#table.docbook_cmp">HTML to Docbook XML Markup Comparison</a></dt><dt>B.5. <a href="documentation_hacking.html#table.docbook_elem">Docbook XML Element Use</a></dt><dt>B.6. <a href="api.html#table.extension_allocators">Extension Allocators</a></dt><dt>B.7. <a href="api.html#table.extension_allocators2">Extension Allocators Continued</a></dt></dl></div><div class="list-of-equations"><p><strong>List of Equations</strong></p><dl><dt>21.1. <a href="policy_data_structures_design.html#id-1.3.5.8.4.4.2.3.2.2.15">Ranged Hash Function</a></dt><dt>21.2. <a href="policy_data_structures_design.html#id-1.3.5.8.4.4.2.3.2.3.3">Range-Hashing, Division Method</a></dt><dt>21.3. <a href="policy_data_structures_design.html#id-1.3.5.8.4.4.2.3.2.3.9">Division via Prime Modulo</a></dt><dt>21.4. <a href="policy_data_structures_design.html#id-1.3.5.8.4.4.2.3.2.3.11">Division via Bit Mask</a></dt><dt>21.5. <a href="policy_data_structures_design.html#id-1.3.5.8.4.4.2.3.2.4.7"> + diagram</a></dt><dt>21.22. <a href="policy_data_structures_design.html#id-1.3.5.8.4.4.3.3.2.5">Tree node invariants</a></dt><dt>21.23. <a href="policy_data_structures_design.html#id-1.3.5.8.4.4.3.3.2.8">Tree node invalidation</a></dt><dt>21.24. <a href="policy_data_structures_design.html#id-1.3.5.8.4.4.3.3.2.11.3">A tree and its update policy</a></dt><dt>21.25. <a href="policy_data_structures_design.html#id-1.3.5.8.4.4.3.3.2.11.8">Restoring node invariants</a></dt><dt>21.26. <a href="policy_data_structures_design.html#id-1.3.5.8.4.4.3.3.2.11.10">Insert update sequence</a></dt><dt>21.27. <a href="policy_data_structures_design.html#id-1.3.5.8.4.4.3.3.2.11.20">Useless update path</a></dt><dt>21.28. <a href="policy_data_structures_design.html#id-1.3.5.8.4.4.4.3.2.10">A PATRICIA trie</a></dt><dt>21.29. <a href="policy_data_structures_design.html#id-1.3.5.8.4.4.4.3.3.5">A trie and its update policy</a></dt><dt>21.30. <a href="policy_data_structures_design.html#id-1.3.5.8.4.4.5.3.3.3">A simple list</a></dt><dt>21.31. <a href="policy_data_structures_design.html#id-1.3.5.8.4.4.5.3.3.6">The counter algorithm</a></dt><dt>21.32. <a href="policy_data_structures_design.html#id-1.3.5.8.4.4.6.3.3.3">Underlying Priority-Queue Data-Structures.</a></dt><dt>21.33. <a href="policy_data_structures_design.html#id-1.3.5.8.4.4.6.3.4.4">Priority-Queue Data-Structure Tags.</a></dt><dt>B.1. <a href="appendix_porting.html#fig.build_hacking.deps">Configure and Build File Dependencies</a></dt></dl></div><div class="list-of-tables"><p><strong>List of Tables</strong></p><dl><dt>1.1. <a href="status.html#table.cxx98_status">C++ 1998/2003 Implementation Status</a></dt><dt>1.2. <a href="status.html#table.cxx11_status">C++ 2011 Implementation Status</a></dt><dt>1.3. <a href="status.html#table.cxx14_status">C++ 2014 Implementation Status</a></dt><dt>1.4. <a href="status.html#table.ts_status">C++ Technical Specifications Implementation Status</a></dt><dt>1.5. <a href="status.html#table.cxx17_features">C++ 2017 Library Features</a></dt><dt>1.6. <a href="status.html#table.cxx17_status">C++ 2017 Implementation Status</a></dt><dt>1.7. <a href="status.html#table.cxx17_ts_status">C++ Technical Specifications Implementation Status</a></dt><dt>1.8. <a href="status.html#table.cxx20_status">C++ 2020 Implementation Status</a></dt><dt>1.9. <a href="status.html#table.tr1_status">C++ TR1 Implementation Status</a></dt><dt>1.10. <a href="status.html#table.decfp_status">C++ TR 24733 Implementation Status</a></dt><dt>1.11. <a href="status.html#table.specfun_status">C++ Special Functions Implementation Status</a></dt><dt>3.1. <a href="using.html#table.cmd_options">C++ Command Options</a></dt><dt>3.2. <a href="using_headers.html#table.cxx98_headers">C++ 1998 Library Headers</a></dt><dt>3.3. <a href="using_headers.html#table.cxx98_cheaders">C++ 1998 Library Headers for C Library Facilities</a></dt><dt>3.4. <a href="using_headers.html#table.cxx98_deprheaders">C++ 1998 Deprecated Library Header</a></dt><dt>3.5. <a href="using_headers.html#table.cxx11_headers">C++ 2011 Library Headers</a></dt><dt>3.6. <a href="using_headers.html#table.cxx11_cheaders">C++ 2011 Library Headers for C Library Facilities</a></dt><dt>3.7. <a href="using_headers.html#table.cxx14_headers">C++ 2014 Library Header</a></dt><dt>3.8. <a href="using_headers.html#table.cxx17_headers">C++ 2017 Library Headers</a></dt><dt>3.9. <a href="using_headers.html#table.cxx20_headers">C++ 2020 Library Headers</a></dt><dt>3.10. <a href="using_headers.html#table.cxx20_deprheaders">C++ 2020 Obsolete Headers</a></dt><dt>3.11. <a href="using_headers.html#table.filesystemts_headers">File System TS Header</a></dt><dt>3.12. <a href="using_headers.html#table.libfundts_headers">Library Fundamentals TS Headers</a></dt><dt>3.13. <a href="using_headers.html#table.tr1_headers">C++ TR 1 Library Headers</a></dt><dt>3.14. <a href="using_headers.html#table.tr1_cheaders">C++ TR 1 Library Headers for C Library Facilities</a></dt><dt>3.15. <a href="using_headers.html#table.decfp_headers">C++ TR 24733 Decimal Floating-Point Header</a></dt><dt>3.16. <a href="using_headers.html#table.abi_headers">C++ ABI Headers</a></dt><dt>3.17. <a href="using_headers.html#table.ext_headers">Extension Headers</a></dt><dt>3.18. <a href="using_headers.html#table.debug_headers">Extension Debug Headers</a></dt><dt>3.19. <a href="using_headers.html#table.parallel_headers">Extension Parallel Headers</a></dt><dt>17.1. <a href="debug_mode_using.html#table.debug_mode_containers">Debugging Containers</a></dt><dt>17.2. <a href="debug_mode_using.html#table.debug_mode_containers_cxx11">Debugging Containers C++11</a></dt><dt>18.1. <a href="parallel_mode_using.html#table.parallel_algos">Parallel Algorithms</a></dt><dt>20.1. <a href="bitmap_allocator_impl.html#table.bitmap_alloc">Bitmap Allocator Memory Map</a></dt><dt>B.1. <a href="documentation_hacking.html#table.doxygen_prereq">Doxygen Prerequisites</a></dt><dt>B.2. <a href="documentation_hacking.html#table.doxygen_cmp">HTML to Doxygen Markup Comparison</a></dt><dt>B.3. <a href="documentation_hacking.html#table.docbook_prereq">Docbook Prerequisites</a></dt><dt>B.4. <a href="documentation_hacking.html#table.docbook_cmp">HTML to Docbook XML Markup Comparison</a></dt><dt>B.5. <a href="documentation_hacking.html#table.docbook_elem">Docbook XML Element Use</a></dt><dt>B.6. <a href="api.html#table.extension_allocators">Extension Allocators</a></dt><dt>B.7. <a href="api.html#table.extension_allocators2">Extension Allocators Continued</a></dt></dl></div><div class="list-of-equations"><p><strong>List of Equations</strong></p><dl><dt>21.1. <a href="policy_data_structures_design.html#id-1.3.5.8.4.4.2.3.2.2.15">Ranged Hash Function</a></dt><dt>21.2. <a href="policy_data_structures_design.html#id-1.3.5.8.4.4.2.3.2.3.3">Range-Hashing, Division Method</a></dt><dt>21.3. <a href="policy_data_structures_design.html#id-1.3.5.8.4.4.2.3.2.3.9">Division via Prime Modulo</a></dt><dt>21.4. <a href="policy_data_structures_design.html#id-1.3.5.8.4.4.2.3.2.3.11">Division via Bit Mask</a></dt><dt>21.5. <a href="policy_data_structures_design.html#id-1.3.5.8.4.4.2.3.2.4.7"> A Standard String Hash Function </a></dt><dt>21.6. <a href="policy_data_structures_design.html#id-1.3.5.8.4.4.2.3.2.4.12"> Only k String DNA Hash diff --git a/libstdc++-v3/doc/html/manual/status.html b/libstdc++-v3/doc/html/manual/status.html index 2fbd10b..e0583a8 100644 --- a/libstdc++-v3/doc/html/manual/status.html +++ b/libstdc++-v3/doc/html/manual/status.html @@ -5,7 +5,7 @@ </th><td width="20%" align="right"> <a accesskey="n" href="license.html">Next</a></td></tr></table><hr /></div><div class="chapter"><div class="titlepage"><div><div><h2 class="title"><a id="manual.intro.status"></a>Chapter 1. Status</h2></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl class="toc"><dt><span class="section"><a href="status.html#manual.intro.status.iso">Implementation Status</a></span></dt><dd><dl><dt><span class="section"><a href="status.html#status.iso.1998">C++ 1998/2003</a></span></dt><dd><dl><dt><span class="section"><a href="status.html#iso.1998.status">Implementation Status</a></span></dt><dt><span class="section"><a href="status.html#iso.1998.specific">Implementation Specific Behavior</a></span></dt></dl></dd><dt><span class="section"><a href="status.html#status.iso.2011">C++ 2011</a></span></dt><dd><dl><dt><span class="section"><a href="status.html#iso.2011.specific">Implementation Specific Behavior</a></span></dt></dl></dd><dt><span class="section"><a href="status.html#status.iso.2014">C++ 2014</a></span></dt><dt><span class="section"><a href="status.html#status.iso.2017">C++ 2017</a></span></dt><dd><dl><dt><span class="section"><a href="status.html#iso.2017.specific">Implementation Specific Behavior</a></span></dt></dl></dd><dt><span class="section"><a href="status.html#status.iso.2020">C++ 202a</a></span></dt><dd><dl><dt><span class="section"><a href="status.html#iso.2020.specific">Implementation Specific Behavior</a></span></dt></dl></dd><dt><span class="section"><a href="status.html#status.iso.tr1">C++ TR1</a></span></dt><dd><dl><dt><span class="section"><a href="status.html#iso.tr1.specific">Implementation Specific Behavior</a></span></dt></dl></dd><dt><span class="section"><a href="status.html#status.iso.tr24733">C++ TR 24733</a></span></dt><dt><span class="section"><a href="status.html#status.iso.specfun">C++ IS 29124</a></span></dt><dd><dl><dt><span class="section"><a href="status.html#iso.specfun.specific">Implementation Specific Behavior</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a href="license.html">License</a></span></dt><dd><dl><dt><span class="section"><a href="license.html#manual.intro.status.license.gpl">The Code: GPL</a></span></dt><dt><span class="section"><a href="license.html#manual.intro.status.license.fdl">The Documentation: GPL, FDL</a></span></dt></dl></dd><dt><span class="section"><a href="bugs.html">Bugs</a></span></dt><dd><dl><dt><span class="section"><a href="bugs.html#manual.intro.status.bugs.impl">Implementation Bugs</a></span></dt><dt><span class="section"><a href="bugs.html#manual.intro.status.bugs.iso">Standard Bugs</a></span></dt></dl></dd></dl></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.intro.status.iso"></a>Implementation Status</h2></div></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="status.iso.1998"></a>C++ 1998/2003</h3></div></div></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="iso.1998.status"></a>Implementation Status</h4></div></div></div><p> This status table is based on the table of contents of ISO/IEC 14882:2003. </p><p> -This page describes the C++ support in mainline GCC, not in any +This section describes the C++ support in mainline GCC, not in any particular release. </p><div class="table"><a id="table.cxx98_status"></a><p class="title"><strong>Table 1.1. C++ 1998/2003 Implementation Status</strong></p><div class="table-contents"><table class="table" summary="C++ 1998/2003 Implementation Status" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /></colgroup><thead><tr><th align="left">Section</th><th align="left">Description</th><th align="left">Status</th><th align="left">Comments</th></tr></thead><tbody><tr><td align="left"> <span class="emphasis"><em>18</em></span> @@ -155,30 +155,30 @@ options. The pre-defined symbol <code class="constant">__cplusplus</code> is used to check for the presence of the required flag. </p><p> -This page describes the C++11 support in mainline GCC, not in any +This status table is based on the table of contents of ISO/IEC 14882:2011. +</p><p> +This section describes the C++11 support in mainline GCC, not in any particular release. </p><div class="table"><a id="table.cxx11_status"></a><p class="title"><strong>Table 1.2. C++ 2011 Implementation Status</strong></p><div class="table-contents"><table class="table" summary="C++ 2011 Implementation Status" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /></colgroup><thead><tr><th align="left">Section</th><th align="left">Description</th><th align="left">Status</th><th align="left">Comments</th></tr></thead><tbody><tr><td align="left"> <span class="emphasis"><em>18</em></span> </td><td colspan="3" align="left"> <span class="emphasis"><em>Language support</em></span> - </td></tr><tr><td align="left">18.1</td><td align="left">General</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">18.2</td><td align="left">Types</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">18.3</td><td align="left">Implementation properties</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">18.3.2</td><td align="left">Numeric Limits</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">18.3.2.3</td><td align="left">Class template <code class="code">numeric_limits</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">18.3.2.4</td><td align="left"><code class="code">numeric_limits</code> members</td><td align="left">Y</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">18.3.2.5</td><td align="left"><code class="code">float_round_style</code></td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">18.3.2.6</td><td align="left"><code class="code">float_denorm_style</code></td><td align="left">N</td><td align="left"> </td></tr><tr><td align="left">18.3.2.7</td><td align="left"><code class="code">numeric_limits</code> specializations</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">18.3.3</td><td align="left">C Library</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">18.4</td><td align="left">Integer types</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">18.4.1</td><td align="left">Header <code class="code"><cstdint></code> synopsis</td><td align="left">Y</td><td align="left"> </td></tr><tr bgcolor="#B0B0B0"><td align="left">18.5</td><td align="left">Start and termination</td><td align="left">Partial</td><td align="left">C library dependency for quick_exit, at_quick_exit</td></tr><tr><td align="left">18.6</td><td align="left">Dynamic memory management</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">18.7</td><td align="left">Type identification</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">18.7.1</td><td align="left">Class type_info</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">18.7.2</td><td align="left">Class bad_cast</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">18.7.3</td><td align="left">Class bad_typeid</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">18.8</td><td align="left">Exception handling</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">18.8.1</td><td align="left">Class exception</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">18.8.2</td><td align="left">Class bad_exception</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">18.8.3</td><td align="left">Abnormal termination</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">18.8.4</td><td align="left"><code class="code">uncaught_exception</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">18.8.5</td><td align="left">Exception Propagation</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">18.8.6</td><td align="left"><code class="code">nested_exception</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">18.9</td><td align="left">Initializer lists</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">18.9.1</td><td align="left">Initializer list constructors</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">18.9.2</td><td align="left">Initializer list access</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">18.9.3</td><td align="left">Initializer list range access</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">18.10</td><td align="left">Other runtime support</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left"> + </td></tr><tr><td align="left">18.1</td><td align="left">General</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">18.2</td><td align="left">Types</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">18.3</td><td align="left">Implementation properties</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">18.3.2</td><td align="left">Numeric Limits</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">18.3.2.3</td><td align="left">Class template <code class="code">numeric_limits</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">18.3.2.4</td><td align="left"><code class="code">numeric_limits</code> members</td><td align="left">Y</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">18.3.2.5</td><td align="left"><code class="code">float_round_style</code></td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">18.3.2.6</td><td align="left"><code class="code">float_denorm_style</code></td><td align="left">N</td><td align="left"> </td></tr><tr><td align="left">18.3.2.7</td><td align="left"><code class="code">numeric_limits</code> specializations</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">18.3.3</td><td align="left">C Library</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">18.4</td><td align="left">Integer types</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">18.4.1</td><td align="left">Header <code class="code"><cstdint></code> synopsis</td><td align="left">Y</td><td align="left"> </td></tr><tr bgcolor="#B0B0B0"><td align="left">18.5</td><td align="left">Start and termination</td><td align="left">Partial</td><td align="left">C library dependency for quick_exit, at_quick_exit</td></tr><tr><td align="left">18.6</td><td align="left">Dynamic memory management</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">18.7</td><td align="left">Type identification</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">18.7.1</td><td align="left">Class type_info</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">18.7.2</td><td align="left">Class bad_cast</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">18.7.3</td><td align="left">Class bad_typeid</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">18.8</td><td align="left">Exception handling</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">18.8.1</td><td align="left">Class exception</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">18.8.2</td><td align="left">Class bad_exception</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">18.8.3</td><td align="left">Abnormal termination</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">18.8.4</td><td align="left"><code class="code">uncaught_exception</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">18.8.5</td><td align="left">Exception Propagation</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">18.8.6</td><td align="left"><code class="code">nested_exception</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">18.9</td><td align="left">Initializer lists</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">18.9.1</td><td align="left">Initializer list constructors</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">18.9.2</td><td align="left">Initializer list access</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">18.9.3</td><td align="left">Initializer list range access</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">18.10</td><td align="left">Other runtime support</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left"> <span class="emphasis"><em>19</em></span> </td><td colspan="3" align="left"> <span class="emphasis"><em>Diagnostics</em></span> - </td></tr><tr><td align="left">19.1</td><td align="left">General</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">19.2</td><td align="left">Exception classes</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">19.3</td><td align="left">Assertions</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">19.4</td><td align="left">Error numbers</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">19.5</td><td align="left">System error support</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">19.5.1</td><td align="left">Class <code class="code">error_category</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">19.5.2</td><td align="left">Class <code class="code">error_code</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">19.5.3</td><td align="left">Class <code class="code">error_condition</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">19.5.4</td><td align="left">Comparison operators</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">19.5.5</td><td align="left">Class <code class="code">system_error</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left"> + </td></tr><tr><td align="left">19.1</td><td align="left">General</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">19.2</td><td align="left">Exception classes</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">19.3</td><td align="left">Assertions</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">19.4</td><td align="left">Error numbers</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">19.5</td><td align="left">System error support</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">19.5.1</td><td align="left">Class <code class="code">error_category</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">19.5.2</td><td align="left">Class <code class="code">error_code</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">19.5.3</td><td align="left">Class <code class="code">error_condition</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">19.5.4</td><td align="left">Comparison operators</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">19.5.5</td><td align="left">Class <code class="code">system_error</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left"> <span class="emphasis"><em>20</em></span> </td><td colspan="3" align="left"> <span class="emphasis"><em>General utilities</em></span> - </td></tr><tr><td align="left">20.1</td><td align="left">General</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.2</td><td align="left">Utility components</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.2.1</td><td align="left">Operators</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.2.2</td><td align="left">Swap</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.2.3</td><td align="left"><code class="code">forward</code> and <code class="code">move</code> helpers</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.2.4</td><td align="left">Function template <code class="code">declval</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.3</td><td align="left">Pairs</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.3.1</td><td align="left">In general</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.3.2</td><td align="left">Class template <code class="code">pair</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.3.3</td><td align="left">Specialized algorithms</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.3.4</td><td align="left">Tuple-like access to <code class="code">pair</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.3.5</td><td align="left">Piecewise construction</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.4</td><td align="left">Tuples</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.4.1</td><td align="left">In general</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.4.2</td><td align="left">Class template <code class="code">tuple</code></td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.4.2.1</td><td align="left">Construction</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.4.2.2</td><td align="left">Assignment</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.4.2.3</td><td align="left">Swap</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.4.2.4</td><td align="left">Tuple creation functions</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.4.2.5</td><td align="left">Tuple helper classes</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.4.2.6</td><td align="left">Element access</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.4.2.7</td><td align="left">Relational operators</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.4.2.8</td><td align="left">Tuple traits</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.4.2.9</td><td align="left">Tuple specialized algorithms</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.5</td><td align="left">Class template <code class="code">bitset</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.5.1</td><td align="left"><code class="code">bitset</code> constructors</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.5.2</td><td align="left"><code class="code">bitset</code> members</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.5.3</td><td align="left"><code class="code">bitset</code> hash support</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.5.4</td><td align="left"><code class="code">bitset</code> operators</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.6</td><td align="left">Memory</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.6.1</td><td align="left">In general</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.6.2</td><td align="left">Header <code class="code"><memory></code> synopsis</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.6.3</td><td align="left">Pointer traits</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.6.4</td><td align="left">Pointer safety</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.6.5</td><td align="left">Align</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.6.6</td><td align="left">Allocator argument tag</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.6.7</td><td align="left"><code class="code">uses_allocator</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.6.8</td><td align="left">Allocator traits</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.6.9</td><td align="left">The default allocator</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.6.10</td><td align="left">Raw storage iterator</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.6.11</td><td align="left">Temporary buffers</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.6.12</td><td align="left">Specialized algorithms</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.6.12.1</td><td align="left"><code class="code">addressof</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.6.12.2</td><td align="left"><code class="code">uninitialized_copy</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.6.12.3</td><td align="left"><code class="code">uninitialized_fill</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.6.12.4</td><td align="left"><code class="code">uninitialized_fill_n</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.6.13</td><td align="left">C library</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.7</td><td align="left">Smart pointers</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.7.1</td><td align="left">Class template <code class="code">unique_ptr</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.7.2</td><td align="left">Shared-ownership pointers</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.7.2.1</td><td align="left">Class <code class="code">bad_weak_ptr</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.7.2.2</td><td align="left">Class template <code class="code">shared_ptr</code></td><td align="left">Y</td><td align="left"> + </td></tr><tr><td align="left">20.1</td><td align="left">General</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.2</td><td align="left">Utility components</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.2.1</td><td align="left">Operators</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.2.2</td><td align="left">swap</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.2.3</td><td align="left">forward/move helpers</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.2.4</td><td align="left">Function template <code class="code">declval</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.3</td><td align="left">Pairs</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.3.1</td><td align="left">In general</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.3.2</td><td align="left">Class template <code class="code">pair</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.3.3</td><td align="left">Specialized algorithms</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.3.4</td><td align="left">Tuple-like access to <code class="code">pair</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.3.5</td><td align="left">Piecewise construction</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.4</td><td align="left">Tuples</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.4.1</td><td align="left">In general</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.4.2</td><td align="left">Class template <code class="code">tuple</code></td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.4.2.1</td><td align="left">Construction</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.4.2.2</td><td align="left">Assignment</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.4.2.3</td><td align="left">Swap</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.4.2.4</td><td align="left">Tuple creation functions</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.4.2.5</td><td align="left">Tuple helper classes</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.4.2.6</td><td align="left">Element access</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.4.2.7</td><td align="left">Relational operators</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.4.2.8</td><td align="left">Tuple traits</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.4.2.9</td><td align="left">Tuple specialized algorithms</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.5</td><td align="left">Class template <code class="code">bitset</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.5.1</td><td align="left"><code class="code">bitset</code> constructors</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.5.2</td><td align="left"><code class="code">bitset</code> members</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.5.3</td><td align="left"><code class="code">bitset</code> hash support</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.5.4</td><td align="left"><code class="code">bitset</code> operators</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.6</td><td align="left">Memory</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.6.1</td><td align="left">In general</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.6.2</td><td align="left">Header <code class="code"><memory></code> synopsis</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.6.3</td><td align="left">Pointer traits</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.6.4</td><td align="left">Pointer safety</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.6.5</td><td align="left">Align</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.6.6</td><td align="left">Allocator argument tag</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.6.7</td><td align="left"><code class="code">uses_allocator</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.6.8</td><td align="left">Allocator traits</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.6.9</td><td align="left">The default allocator</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.6.10</td><td align="left">Raw storage iterator</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.6.11</td><td align="left">Temporary buffers</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.6.12</td><td align="left">Specialized algorithms</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.6.12.1</td><td align="left"><code class="code">addressof</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.6.12.2</td><td align="left"><code class="code">uninitialized_copy</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.6.12.3</td><td align="left"><code class="code">uninitialized_fill</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.6.12.4</td><td align="left"><code class="code">uninitialized_fill_n</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.6.13</td><td align="left">C library</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.7</td><td align="left">Smart pointers</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.7.1</td><td align="left">Class template <code class="code">unique_ptr</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.7.2</td><td align="left">Shared-ownership pointers</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.7.2.1</td><td align="left">Class <code class="code">bad_weak_ptr</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.7.2.2</td><td align="left">Class template <code class="code">shared_ptr</code></td><td align="left">Y</td><td align="left"> Uses code from <a class="link" href="http://www.boost.org/libs/smart_ptr/shared_ptr.htm" target="_top">boost::shared_ptr</a>. - </td></tr><tr><td align="left">20.7.2.3</td><td align="left">Class template <code class="code">weak_ptr</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.7.2.4</td><td align="left">Class template <code class="code">emable_shared_from_this</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.7.2.5</td><td align="left"><code class="code">shared_ptr</code> atomic access</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.7.2.6</td><td align="left">Smart pointer hash support</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.8</td><td align="left">Function objects</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.8.1</td><td align="left">Definitions</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.8.2</td><td align="left">Requirements</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.8.3</td><td align="left">Class template <code class="code">reference_wrapper</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.8.4</td><td align="left">Arithmetic operation</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.8.5</td><td align="left">Comparisons</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.8.6</td><td align="left">Logical operations</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.8.7</td><td align="left">Bitwise operations</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.8.8</td><td align="left">Negators</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.8.9</td><td align="left">Function template <code class="code">bind</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.8.10</td><td align="left">Function template <code class="code">mem_fn</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.8.11</td><td align="left">Polymorphic function wrappers</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.8.11.1</td><td align="left">Class <code class="code">bad_function_call</code></td><td align="left">Y</td><td align="left"> </td></tr><tr bgcolor="#B0B0B0"><td align="left">20.8.11.2</td><td align="left">Class template <code class="code">function</code></td><td align="left">Partial</td><td align="left">Missing allocator support</td></tr><tr><td align="left">20.8.12</td><td align="left">Class template <code class="code">hash</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.9</td><td align="left">Metaprogramming and type traits</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.9.1</td><td align="left">Requirements</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.9.2</td><td align="left">Header <code class="code"><type_traits></code> synopsis</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.9.3</td><td align="left">Helper classes</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.9.4</td><td align="left">Unary Type Traits</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.9.4.1</td><td align="left">Primary type categories</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.9.4.2</td><td align="left">Composite type traits</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.9.4.3</td><td align="left">Type properties</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.9.5</td><td align="left">Type property queries</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.9.6</td><td align="left">Relationships between types</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.9.7</td><td align="left">Transformations between types</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.9.7.1</td><td align="left">Const-volatile modifications</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.9.7.2</td><td align="left">Reference modifications</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.9.7.3</td><td align="left">Sign modifications</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.9.7.4</td><td align="left">Array modifications</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.9.7.5</td><td align="left">Pointer modifications</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.9.7.6</td><td align="left">Other transformations</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.10</td><td align="left">Compile-time rational arithmetic</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.10.1</td><td align="left">In general</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.10.2</td><td align="left">Header <code class="code"><ratio></code> synopsis</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.10.3</td><td align="left">Class template <code class="code">ratio</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.10.4</td><td align="left">Arithmetic on <code class="code">ratio</code>s</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.10.5</td><td align="left">Comparison of <code class="code">ratio</code>s</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.10.6</td><td align="left">SI types for <code class="code">ratio</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.11</td><td align="left">Time utilities</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.11.3</td><td align="left">Clock requirements</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.11.4</td><td align="left">Time-related traits</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.11.4.1</td><td align="left"><code class="code">treat_as_floating_point</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.11.4.2</td><td align="left"><code class="code">duration_values</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.11.4.3</td><td align="left">Specializations of <code class="code">common_type</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.11.5</td><td align="left">Class template <code class="code">duration</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.11.6</td><td align="left">Class template <code class="code">time_point</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.11.7</td><td align="left">Clocks</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.11.7.1</td><td align="left">Class <code class="code">system_clock</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.11.7.2</td><td align="left">Class <code class="code">steady_clock</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.11.7.3</td><td align="left">Class <code class="code">high_resolution_clock</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.11.8</td><td align="left">Date and time functions</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.12</td><td align="left">Scoped allocator adaptor</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.12.1</td><td align="left">Header <code class="code"><scoped_allocator></code> synopsis</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.12.2</td><td align="left">Scoped allocator adaptor member types</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.12.3</td><td align="left">Scoped allocator adaptor constructors</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.12.4</td><td align="left">Scoped allocator adaptor members</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.12.5</td><td align="left">Scoped allocator operators</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.13</td><td align="left">Class <code class="code">type_index</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left"> + </td></tr><tr><td align="left">20.7.2.3</td><td align="left">Class template <code class="code">weak_ptr</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.7.2.4</td><td align="left">Class template <code class="code">enable_shared_from_this</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.7.2.5</td><td align="left"><code class="code">shared_ptr</code> atomic access</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.7.2.6</td><td align="left">Smart pointer hash support</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.8</td><td align="left">Function objects</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.8.1</td><td align="left">Definitions</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.8.2</td><td align="left">Requirements</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.8.3</td><td align="left">Class template <code class="code">reference_wrapper</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.8.4</td><td align="left">Arithmetic operation</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.8.5</td><td align="left">Comparisons</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.8.6</td><td align="left">Logical operations</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.8.7</td><td align="left">Bitwise operations</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.8.8</td><td align="left">Negators</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.8.9</td><td align="left">Function template <code class="code">bind</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.8.10</td><td align="left">Function template <code class="code">mem_fn</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.8.11</td><td align="left">Polymorphic function wrappers</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.8.11.1</td><td align="left">Class <code class="code">bad_function_call</code></td><td align="left">Y</td><td align="left"> </td></tr><tr bgcolor="#B0B0B0"><td align="left">20.8.11.2</td><td align="left">Class template <code class="code">function</code></td><td align="left">Partial</td><td align="left">Missing allocator support</td></tr><tr><td align="left">20.8.12</td><td align="left">Class template <code class="code">hash</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.9</td><td align="left">Metaprogramming and type traits</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.9.1</td><td align="left">Requirements</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.9.2</td><td align="left">Header <code class="code"><type_traits></code> synopsis</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.9.3</td><td align="left">Helper classes</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.9.4</td><td align="left">Unary Type Traits</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.9.4.1</td><td align="left">Primary type categories</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.9.4.2</td><td align="left">Composite type traits</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.9.4.3</td><td align="left">Type properties</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.9.5</td><td align="left">Type property queries</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.9.6</td><td align="left">Relationships between types</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.9.7</td><td align="left">Transformations between types</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.9.7.1</td><td align="left">Const-volatile modifications</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.9.7.2</td><td align="left">Reference modifications</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.9.7.3</td><td align="left">Sign modifications</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.9.7.4</td><td align="left">Array modifications</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.9.7.5</td><td align="left">Pointer modifications</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.9.7.6</td><td align="left">Other transformations</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.10</td><td align="left">Compile-time rational arithmetic</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.10.1</td><td align="left">In general</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.10.2</td><td align="left">Header <code class="code"><ratio></code> synopsis</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.10.3</td><td align="left">Class template <code class="code">ratio</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.10.4</td><td align="left">Arithmetic on <code class="code">ratio</code>s</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.10.5</td><td align="left">Comparison of <code class="code">ratio</code>s</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.10.6</td><td align="left">SI types for <code class="code">ratio</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.11</td><td align="left">Time utilities</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.11.3</td><td align="left">Clock requirements</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.11.4</td><td align="left">Time-related traits</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.11.4.1</td><td align="left"><code class="code">treat_as_floating_point</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.11.4.2</td><td align="left"><code class="code">duration_values</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.11.4.3</td><td align="left">Specializations of <code class="code">common_type</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.11.5</td><td align="left">Class template <code class="code">duration</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.11.6</td><td align="left">Class template <code class="code">time_point</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.11.7</td><td align="left">Clocks</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.11.7.1</td><td align="left">Class <code class="code">system_clock</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.11.7.2</td><td align="left">Class <code class="code">steady_clock</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.11.7.3</td><td align="left">Class <code class="code">high_resolution_clock</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.11.8</td><td align="left">Date and time functions</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.12</td><td align="left">Scoped allocator adaptor</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.12.1</td><td align="left">Header <code class="code"><scoped_allocator></code> synopsis</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.12.2</td><td align="left">Scoped allocator adaptor member types</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.12.3</td><td align="left">Scoped allocator adaptor constructors</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.12.4</td><td align="left">Scoped allocator adaptor members</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.12.5</td><td align="left">Scoped allocator operators</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.13</td><td align="left">Class <code class="code">type_index</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left"> <span class="emphasis"><em>21</em></span> </td><td colspan="3" align="left"> <span class="emphasis"><em>Strings</em></span> - </td></tr><tr><td align="left">21.1</td><td align="left">General</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">21.2</td><td align="left">Character traits</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">21.2.1</td><td align="left">Character traits requirements</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">21.2.2</td><td align="left">traits typedefs</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">21.2.3</td><td align="left"><code class="code">char_traits</code> specializations</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">21.2.3.1</td><td align="left">struct <code class="code">char_traits<char></code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">21.2.3.2</td><td align="left">struct <code class="code">char_traits<char16_t></code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">21.2.3.3</td><td align="left">struct <code class="code">char_traits<char32_t></code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">21.2.3.4</td><td align="left">struct <code class="code">char_traits<wchar_t></code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">21.3</td><td align="left">String classes</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">21.4</td><td align="left">Class template <code class="code">basic_string</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">21.5</td><td align="left">Numeric Conversions</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">21.6</td><td align="left">Hash support</td><td align="left">Y</td><td align="left"> </td></tr><tr bgcolor="#B0B0B0"><td align="left">21.7</td><td align="left">Null-terminated sequence utilities</td><td align="left">Partial</td><td align="left">C library dependency. - Missing <code class="filename"><cuchar></code> - </td></tr><tr><td align="left"> + </td></tr><tr><td align="left">21.1</td><td align="left">General</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">21.2</td><td align="left">Character traits</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">21.2.1</td><td align="left">Character traits requirements</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">21.2.2</td><td align="left">traits typedefs</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">21.2.3</td><td align="left"><code class="code">char_traits</code> specializations</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">21.2.3.1</td><td align="left">struct <code class="code">char_traits<char></code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">21.2.3.2</td><td align="left">struct <code class="code">char_traits<char16_t></code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">21.2.3.3</td><td align="left">struct <code class="code">char_traits<char32_t></code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">21.2.3.4</td><td align="left">struct <code class="code">char_traits<wchar_t></code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">21.3</td><td align="left">String classes</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">21.4</td><td align="left">Class template <code class="code">basic_string</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">21.5</td><td align="left">Numeric Conversions</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">21.6</td><td align="left">Hash support</td><td align="left">Y</td><td align="left"> </td></tr><tr bgcolor="#B0B0B0"><td align="left">21.7</td><td align="left">Null-terminated sequence utilities</td><td align="left">Partial</td><td align="left">C library dependency. </td></tr><tr><td align="left"> <span class="emphasis"><em>22</em></span> </td><td colspan="3" align="left"> <span class="emphasis"><em>Localization</em></span> @@ -198,7 +198,7 @@ particular release. <span class="emphasis"><em>26</em></span> </td><td colspan="3" align="left"> <span class="emphasis"><em>Numerics</em></span> - </td></tr><tr><td align="left">26.1</td><td align="left">General</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.2</td><td align="left">Numeric type requirements</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.3</td><td align="left">The floating-point environment</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.4</td><td align="left">Complex numbers</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.5</td><td align="left">Random number generation</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">26.5.1</td><td align="left">Requirements</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">26.5.2</td><td align="left">Header <code class="code"><random></code> synopsis</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">26.5.3</td><td align="left">Random number engine class templates</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">26.5.3.1</td><td align="left">Class template <code class="code">linear_congruential_engine</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.5.3.2</td><td align="left">Class template <code class="code">mersenne_twister_engine</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.5.3.3</td><td align="left">Class template <code class="code">subtract_with_carry_engine</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.5.4</td><td align="left">Random number engine adaptor class templates</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">26.5.4.2</td><td align="left">Class template <code class="code">discard_block_engine</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.5.4.3</td><td align="left">Class template <code class="code">independent_bits_engine</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.5.4.4</td><td align="left">Class template <code class="code">shuffle_order_engine</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.5.5</td><td align="left">Engines and engine adaptors with predefined parameters</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.5.6</td><td align="left">Class <code class="code">random_device</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.5.7</td><td align="left">Utilities</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">26.5.7.1</td><td align="left">Class <code class="code">seed_seq</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.5.7.2</td><td align="left">Function template <code class="code">generate_canonical</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.5.8</td><td align="left">Random number distribution class templates</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">26.5.8.2</td><td align="left">Uniform distributions</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">26.5.8.2.1</td><td align="left">Class template <code class="code">uniform_int_distribution</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.5.8.2.2</td><td align="left">Class template <code class="code">uniform_real_distribution</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.5.8.3</td><td align="left">Bernoulli distributions</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">26.5.8.3.1</td><td align="left">Class <code class="code">bernoulli_distribution</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.5.8.3.2</td><td align="left">Class template <code class="code">binomial_distribution</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.5.8.3.3</td><td align="left">Class template <code class="code">geometric_distribution</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.5.8.3.4</td><td align="left">Class template <code class="code">negative_binomial_distribution</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.5.8.4</td><td align="left">Poisson distributions</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">26.5.8.4.1</td><td align="left">Class template <code class="code">poisson_distribution</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.5.8.4.2</td><td align="left">Class template <code class="code">exponential_distribution</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.5.8.4.3</td><td align="left">Class template <code class="code">gamma_distribution</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.5.8.4.4</td><td align="left">Class template <code class="code">weibull_distribution</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.5.8.4.5</td><td align="left">Class template <code class="code">extreme_value_distribution</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.5.8.5</td><td align="left">Normal distributions</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">26.5.8.5.1</td><td align="left">Class template <code class="code">normal_distribution</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.5.8.5.2</td><td align="left">Class template <code class="code">lognormal_distribution</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.5.8.5.3</td><td align="left">Class template <code class="code">chi_squared_distribution</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.5.8.5.4</td><td align="left">Class template <code class="code">cauchy_distribution</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.5.8.5.5</td><td align="left">Class template <code class="code">fisher_f_distribution</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.5.8.5.6</td><td align="left">Class template <code class="code">student_t_distribution</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.5.8.6</td><td align="left">Sampling distributions</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">26.5.8.6.1</td><td align="left">Class template <code class="code">discrete_distribution</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.5.8.6.2</td><td align="left">Class template <code class="code">piecewise_constant_distribution</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.5.8.6.3</td><td align="left">Class template <code class="code">piecewise_linear_distribution</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.6</td><td align="left">Numeric arrays</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">26.6.1</td><td align="left">Header <code class="code"><valarray></code> synopsis</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.6.2</td><td align="left">Class template <code class="code">valarray</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.6.3</td><td align="left"><code class="code">valarray</code> non-member operations</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.6.4</td><td align="left">Class <code class="code">slice</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.6.5</td><td align="left">Class template <code class="code">slice_array</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.6.6</td><td align="left">The <code class="code">gslice</code> class</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.6.7</td><td align="left">Class template <code class="code">gslice_array</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.6.8</td><td align="left">Class template <code class="code">mask_array</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.6.9</td><td align="left">Class template <code class="code">indirect_array</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.6.10</td><td align="left"><code class="code">valarray</code> range access</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.7</td><td align="left">Generalized numeric operations</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">26.7.1</td><td align="left">Header <code class="code"><numeric></code> synopsis</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.7.2</td><td align="left"><code class="code">accumulate</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.7.3</td><td align="left"><code class="code">inner_product</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.7.4</td><td align="left"><code class="code">partial_sum</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.7.5</td><td align="left"><code class="code">adjacent_difference</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.7.6</td><td align="left">iota</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.8</td><td align="left">C Library</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left"> + </td></tr><tr><td align="left">26.1</td><td align="left">General</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">26.2</td><td align="left">Numeric type requirements</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.3</td><td align="left">The floating-point environment</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.4</td><td align="left">Complex numbers</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.5</td><td align="left">Random number generation</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">26.5.1</td><td align="left">Requirements</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">26.5.2</td><td align="left">Header <code class="code"><random></code> synopsis</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">26.5.3</td><td align="left">Random number engine class templates</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">26.5.3.1</td><td align="left">Class template <code class="code">linear_congruential_engine</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.5.3.2</td><td align="left">Class template <code class="code">mersenne_twister_engine</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.5.3.3</td><td align="left">Class template <code class="code">subtract_with_carry_engine</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.5.4</td><td align="left">Random number engine adaptor class templates</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">26.5.4.2</td><td align="left">Class template <code class="code">discard_block_engine</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.5.4.3</td><td align="left">Class template <code class="code">independent_bits_engine</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.5.4.4</td><td align="left">Class template <code class="code">shuffle_order_engine</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.5.5</td><td align="left">Engines and engine adaptors with predefined parameters</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.5.6</td><td align="left">Class <code class="code">random_device</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.5.7</td><td align="left">Utilities</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">26.5.7.1</td><td align="left">Class <code class="code">seed_seq</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.5.7.2</td><td align="left">Function template <code class="code">generate_canonical</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.5.8</td><td align="left">Random number distribution class templates</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">26.5.8.2</td><td align="left">Uniform distributions</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">26.5.8.2.1</td><td align="left">Class template <code class="code">uniform_int_distribution</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.5.8.2.2</td><td align="left">Class template <code class="code">uniform_real_distribution</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.5.8.3</td><td align="left">Bernoulli distributions</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">26.5.8.3.1</td><td align="left">Class <code class="code">bernoulli_distribution</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.5.8.3.2</td><td align="left">Class template <code class="code">binomial_distribution</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.5.8.3.3</td><td align="left">Class template <code class="code">geometric_distribution</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.5.8.3.4</td><td align="left">Class template <code class="code">negative_binomial_distribution</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.5.8.4</td><td align="left">Poisson distributions</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">26.5.8.4.1</td><td align="left">Class template <code class="code">poisson_distribution</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.5.8.4.2</td><td align="left">Class template <code class="code">exponential_distribution</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.5.8.4.3</td><td align="left">Class template <code class="code">gamma_distribution</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.5.8.4.4</td><td align="left">Class template <code class="code">weibull_distribution</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.5.8.4.5</td><td align="left">Class template <code class="code">extreme_value_distribution</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.5.8.5</td><td align="left">Normal distributions</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">26.5.8.5.1</td><td align="left">Class template <code class="code">normal_distribution</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.5.8.5.2</td><td align="left">Class template <code class="code">lognormal_distribution</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.5.8.5.3</td><td align="left">Class template <code class="code">chi_squared_distribution</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.5.8.5.4</td><td align="left">Class template <code class="code">cauchy_distribution</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.5.8.5.5</td><td align="left">Class template <code class="code">fisher_f_distribution</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.5.8.5.6</td><td align="left">Class template <code class="code">student_t_distribution</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.5.8.6</td><td align="left">Sampling distributions</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">26.5.8.6.1</td><td align="left">Class template <code class="code">discrete_distribution</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.5.8.6.2</td><td align="left">Class template <code class="code">piecewise_constant_distribution</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.5.8.6.3</td><td align="left">Class template <code class="code">piecewise_linear_distribution</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.6</td><td align="left">Numeric arrays</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">26.6.1</td><td align="left">Header <code class="code"><valarray></code> synopsis</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.6.2</td><td align="left">Class template <code class="code">valarray</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.6.3</td><td align="left"><code class="code">valarray</code> non-member operations</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.6.4</td><td align="left">Class <code class="code">slice</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.6.5</td><td align="left">Class template <code class="code">slice_array</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.6.6</td><td align="left">The <code class="code">gslice</code> class</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.6.7</td><td align="left">Class template <code class="code">gslice_array</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.6.8</td><td align="left">Class template <code class="code">mask_array</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.6.9</td><td align="left">Class template <code class="code">indirect_array</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.6.10</td><td align="left"><code class="code">valarray</code> range access</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.7</td><td align="left">Generalized numeric operations</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">26.7.1</td><td align="left">Header <code class="code"><numeric></code> synopsis</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.7.2</td><td align="left">Accumulate></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.7.3</td><td align="left">Inner product</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.7.4</td><td align="left">Partial sum</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.7.5</td><td align="left">Adjacent difference</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.7.6</td><td align="left">Iota</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.8</td><td align="left">C Library</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left"> <span class="emphasis"><em>27</em></span> </td><td colspan="3" align="left"> <span class="emphasis"><em>Input/output library</em></span> @@ -210,15 +210,17 @@ particular release. <span class="emphasis"><em>29</em></span> </td><td colspan="3" align="left"> <span class="emphasis"><em>Atomic operations</em></span> - </td></tr><tr><td align="left">29.1</td><td align="left">General</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">29.2</td><td align="left">Header <code class="code"><atomic></code> synopsis</td><td align="left">Y</td><td align="left"> </td></tr><tr bgcolor="#B0B0B0"><td align="left">29.3</td><td align="left">Order and consistency</td><td align="left">Partial</td><td align="left"> </td></tr><tr><td align="left">29.4</td><td align="left">Lock-free property</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">29.5</td><td align="left">Atomic types</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">29.6</td><td align="left">Operations on atomic types</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">29.7</td><td align="left">Flag Type and operations</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">29.8</td><td align="left">Fences</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left"> + </td></tr><tr><td align="left">29.1</td><td align="left">General</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">29.2</td><td align="left">Header <code class="code"><atomic></code> synopsis</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">29.3</td><td align="left">Order and consistency</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">29.4</td><td align="left">Lock-free property</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">29.5</td><td align="left">Atomic types</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">29.6</td><td align="left">Operations on atomic types</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">29.7</td><td align="left">Flag Type and operations</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">29.8</td><td align="left">Fences</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left"> <span class="emphasis"><em>30</em></span> </td><td colspan="3" align="left"> <span class="emphasis"><em>Thread support</em></span> - </td></tr><tr><td align="left">30.1</td><td align="left">General</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">30.2</td><td align="left">Requirements</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">30.3</td><td align="left">Threads</td><td align="left"> </td><td align="left"> </td></tr><tr bgcolor="#B0B0B0"><td align="left">30.3.1</td><td align="left">Class <code class="code">thread</code></td><td align="left">Partial</td><td align="left"><code class="code">thread::id</code> comparisons not well-defined</td></tr><tr><td align="left">30.3.2</td><td align="left">Namespace <code class="code">this_thread</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">30.4</td><td align="left">Mutual exclusion</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">30.4.1</td><td align="left">Mutex requirements</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">30.4.1.1</td><td align="left">In general</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">30.4.1.2</td><td align="left">Mutex types</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">30.4.1.2.1</td><td align="left">Class <code class="code">mutex</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">30.4.1.2.2</td><td align="left">Class <code class="code">recursive_mutex</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">30.4.1.3</td><td align="left">Timed mutex types</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">30.4.1.3.1</td><td align="left">Class <code class="code">timed_mutex</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">30.4.1.3.2</td><td align="left">Class <code class="code">recursive_timed_mutex</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">30.4.2</td><td align="left">Locks</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">30.4.2.1</td><td align="left">Class template <code class="code">lock_guard</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">30.4.2.2</td><td align="left">Class template <code class="code">unique_lock</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">30.4.3</td><td align="left">Generic locking algorithms</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">30.4.4</td><td align="left">Call once</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">30.4.4.1</td><td align="left">Struct <code class="code">once_flag</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">30.4.4.2</td><td align="left">Function <code class="code">call_once</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">30.5</td><td align="left">Condition variables</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">30.5.1</td><td align="left">Class <code class="code">condition_variable</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">30.5.2</td><td align="left">Class <code class="code">condition_variable_any</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">30.6</td><td align="left">Futures</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">30.6.1</td><td align="left">Overview</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">30.6.2</td><td align="left">Error handling</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">30.6.3</td><td align="left">Class <code class="code">future_error</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">30.6.4</td><td align="left">Shared state</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">30.6.5</td><td align="left">Class template <code class="code">promise</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">30.6.6</td><td align="left">Class template <code class="code">future</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">30.6.7</td><td align="left">Class template <code class="code">shared_future</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">30.6.8</td><td align="left">Function template <code class="code">async</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">30.6.9</td><td align="left">Class template <code class="code">packaged_task</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left"> + </td></tr><tr><td align="left">30.1</td><td align="left">General</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">30.2</td><td align="left">Requirements</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">30.3</td><td align="left">Threads</td><td align="left"> </td><td align="left"> </td></tr><tr bgcolor="#B0B0B0"><td align="left">30.3.1</td><td align="left">Class <code class="code">thread</code></td><td align="left">Partial</td><td align="left"><code class="code">thread::id</code> comparisons not well-defined</td></tr><tr><td align="left">30.3.2</td><td align="left">Namespace <code class="code">this_thread</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">30.4</td><td align="left">Mutual exclusion</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">30.4.1</td><td align="left">Mutex requirements</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">30.4.1.1</td><td align="left">In general</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">30.4.1.2</td><td align="left">Mutex types</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">30.4.1.2.1</td><td align="left">Class <code class="code">mutex</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">30.4.1.2.2</td><td align="left">Class <code class="code">recursive_mutex</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">30.4.1.3</td><td align="left">Timed mutex types</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">30.4.1.3.1</td><td align="left">Class <code class="code">timed_mutex</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">30.4.1.3.2</td><td align="left">Class <code class="code">recursive_timed_mutex</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">30.4.2</td><td align="left">Locks</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">30.4.2.1</td><td align="left">Class template <code class="code">lock_guard</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">30.4.2.2</td><td align="left">Class template <code class="code">unique_lock</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">30.4.3</td><td align="left">Generic locking algorithms</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">30.4.4</td><td align="left">Call once</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">30.4.4.1</td><td align="left">Struct <code class="code">once_flag</code></td><td align="left">Y</td><td align="left"> </td></tr><tr bgcolor="#B0B0B0"><td align="left">30.4.4.2</td><td align="left">Function <code class="code">call_once</code></td><td align="left">Broken</td><td align="left">See <a class="link" href="https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66146" target="_top">PR + 66146</a> + </td></tr><tr><td align="left">30.5</td><td align="left">Condition variables</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">30.5.1</td><td align="left">Class <code class="code">condition_variable</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">30.5.2</td><td align="left">Class <code class="code">condition_variable_any</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">30.6</td><td align="left">Futures</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">30.6.1</td><td align="left">Overview</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">30.6.2</td><td align="left">Error handling</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">30.6.3</td><td align="left">Class <code class="code">future_error</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">30.6.4</td><td align="left">Shared state</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">30.6.5</td><td align="left">Class template <code class="code">promise</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">30.6.6</td><td align="left">Class template <code class="code">future</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">30.6.7</td><td align="left">Class template <code class="code">shared_future</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">30.6.8</td><td align="left">Function template <code class="code">async</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">30.6.9</td><td align="left">Class template <code class="code">packaged_task</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left"> <span class="emphasis"><em>Appendix D</em></span> </td><td colspan="3" align="left"> <span class="emphasis"><em>Compatibility features</em></span> - </td></tr><tr><td align="left">D.1</td><td align="left">Increment operator with <code class="code">bool</code> operand</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">D.2</td><td align="left"><code class="code">register</code> keyword</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">D.3</td><td align="left">Implicit declaration of copy functions</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">D.4</td><td align="left">Dynamic exception specifications</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">D.5</td><td align="left">C standard library headers</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">D.6</td><td align="left">Old iostreams members</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">D.7</td><td align="left"><code class="code">char*</code> streams</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">D.8</td><td align="left">Function objects</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">D.9</td><td align="left">Binders</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">D.10</td><td align="left"><code class="code">auto_ptr</code></td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">D.11</td><td align="left">Violating exception-specifications</td><td align="left"> </td><td align="left"> </td></tr></tbody></table></div></div><br class="table-break" /><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="iso.2011.specific"></a>Implementation Specific Behavior</h4></div></div></div><p>For behaviour which is also specified by the 1998 and 2003 standards, + </td></tr><tr><td align="left">D.1</td><td align="left">Increment operator with <code class="code">bool</code> operand</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">D.2</td><td align="left"><code class="code">register</code> keyword</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">D.3</td><td align="left">Implicit declaration of copy functions</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">D.4</td><td align="left">Dynamic exception specifications</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">D.5</td><td align="left">C standard library headers</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">D.6</td><td align="left">Old iostreams members</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">D.7</td><td align="left"><code class="code">char*</code> streams</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">D.8</td><td align="left">Function objects</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">D.9</td><td align="left">Binders</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">D.10</td><td align="left"><code class="code">auto_ptr</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">D.11</td><td align="left">Violating exception-specifications</td><td align="left">Y</td><td align="left"> </td></tr></tbody></table></div></div><br class="table-break" /><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="iso.2011.specific"></a>Implementation Specific Behavior</h4></div></div></div><p>For behaviour which is also specified by the 1998 and 2003 standards, see <a class="link" href="status.html#iso.1998.specific" title="Implementation Specific Behavior">C++ 1998/2003 Implementation Specific Behavior</a>. This section only documents behaviour which is new in the 2011 standard. @@ -407,81 +409,74 @@ options. The pre-defined symbol <code class="constant">__cplusplus</code> is used to check for the presence of the required flag. </p><p> -This page describes the C++14 and library TS support in mainline GCC, +This status table is based on the table of contents of ISO/IEC 14882:2014. +Some subclauses are not shown in the table where the content is unchanged +since C++11 and the implementation is complete. +</p><p> +This section describes the C++14 and library TS support in mainline GCC, not in any particular release. -</p><div class="table"><a id="table.cxx14_status"></a><p class="title"><strong>Table 1.3. C++ 2014 Implementation Status</strong></p><div class="table-contents"><table class="table" summary="C++ 2014 Implementation Status" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /></colgroup><thead><tr><th align="left">Paper</th><th align="left">Title</th><th align="left">Status</th><th align="left">Comments</th></tr></thead><tbody><tr><td align="left"> - <a class="link" href="http://www.open-std.org/JTC1/sc22/WG21/docs/papers/2013/n3669.pdf" target="_top"> - N3669 - </a> - </td><td align="left">Fixing constexpr member functions without const</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left"> - <a class="link" href="http://www.open-std.org/JTC1/sc22/WG21/docs/papers/2013/n3668.html" target="_top"> - N3668 - </a> - </td><td align="left"><code class="code">exchange()</code> utility function</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left"> - <a class="link" href="http://www.open-std.org/JTC1/sc22/WG21/docs/papers/2013/n3670.html" target="_top"> - N3670 - </a> - </td><td align="left">Wording for Addressing Tuples by Type</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left"> - <a class="link" href="http://www.open-std.org/JTC1/sc22/WG21/docs/papers/2013/n3656.htm" target="_top"> - N3656 - </a> - </td><td align="left"><code class="code">make_unique</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left"> - <a class="link" href="http://www.open-std.org/JTC1/sc22/WG21/docs/papers/2012/n3462.html" target="_top"> - N3462 - </a> - </td><td align="left"><code class="code">std::result_of</code> and SFINAE</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left"> - <a class="link" href="http://www.open-std.org/JTC1/sc22/WG21/docs/papers/2013/n3545.pdf" target="_top"> - N3545 - </a> - </td><td align="left">An Incremental Improvement to <code class="code">integral_constant</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left"> - <a class="link" href="http://www.open-std.org/JTC1/sc22/WG21/docs/papers/2013/n3642.pdf" target="_top"> - N3642 - </a> - </td><td align="left">User-defined Literals for Standard Library Types</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left"> - <a class="link" href="http://www.open-std.org/JTC1/sc22/WG21/docs/papers/2013/n3671.html" target="_top"> - N3671 - </a> - </td><td align="left">Making non-modifying sequence operations more robust</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left"> - <a class="link" href="http://www.open-std.org/JTC1/sc22/WG21/docs/papers/2013/n3654.html" target="_top"> - N3654 - </a> - </td><td align="left">Quoted Strings Library Proposal</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left"> - <a class="link" href="http://www.open-std.org/JTC1/sc22/WG21/docs/papers/2012/n3469.html" target="_top"> - N3469 - </a> - </td><td align="left">Constexpr Library Additions: chrono</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left"> - <a class="link" href="http://www.open-std.org/JTC1/sc22/WG21/docs/papers/2012/n3470.html" target="_top"> - N3470 - </a> - </td><td align="left">Constexpr Library Additions: containers</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left"> - <a class="link" href="http://www.open-std.org/JTC1/sc22/WG21/docs/papers/2012/n3471.html" target="_top"> - N3471 - </a> - </td><td align="left">Constexpr Library Additions: utilities</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left"> - <a class="link" href="http://www.open-std.org/JTC1/sc22/WG21/docs/papers/2013/n3658.html" target="_top"> - N3658 - </a> - </td><td align="left">Compile-time integer sequences</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left"> - <a class="link" href="http://www.open-std.org/JTC1/sc22/WG21/docs/papers/2013/n3659.html" target="_top"> - N3659 - </a> - </td><td align="left">Shared Locking in C++</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left"> - <a class="link" href="http://www.open-std.org/JTC1/sc22/WG21/docs/papers/2012/n3421.htm" target="_top"> - N3421 - </a> - </td><td align="left">Making Operator Functors greater<></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left"> - <a class="link" href="http://www.open-std.org/JTC1/sc22/WG21/docs/papers/2013/n3657.htm" target="_top"> - N3657 - </a> - </td><td align="left">Adding heterogeneous comparison lookup to associative containers</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left"> - <a class="link" href="http://www.open-std.org/JTC1/sc22/WG21/docs/papers/2013/n3655.pdf" target="_top"> - N3655 - </a> - </td><td align="left">TransformationTraits Redux</td><td align="left">Y</td><td align="left"> </td></tr><tr bgcolor="#B0B0B0"><td align="left"> - <a class="link" href="http://www.open-std.org/JTC1/sc22/WG21/docs/papers/2013/n3644.pdf" target="_top"> - N3644 - </a> - </td><td align="left">Null Forward Iterators</td><td align="left">Partial</td><td align="left">Only affects Debug Mode</td></tr></tbody></table></div></div><br class="table-break" /><div class="table"><a id="table.ts_status"></a><p class="title"><strong>Table 1.4. C++ Technical Specifications Implementation Status</strong></p><div class="table-contents"><table class="table" summary="C++ Technical Specifications Implementation Status" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /></colgroup><thead><tr><th align="left">Paper</th><th align="left">Title</th><th align="left">Status</th><th align="left">Comments</th></tr></thead><tbody><tr bgcolor="#C8B0B0"><td align="left"> +</p><div class="table"><a id="table.cxx14_status"></a><p class="title"><strong>Table 1.3. C++ 2014 Implementation Status</strong></p><div class="table-contents"><table class="table" summary="C++ 2014 Implementation Status" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /></colgroup><thead><tr><th align="left">Section</th><th align="left">Description</th><th align="left">Status</th><th align="left">Comments</th></tr></thead><tbody><tr><td align="left"> + <span class="emphasis"><em>18</em></span> + </td><td colspan="3" align="left"> + <span class="emphasis"><em>Language support</em></span> + </td></tr><tr><td align="left">18.1</td><td align="left">General</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">18.2</td><td align="left">Types</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">18.3</td><td align="left">Implementation properties</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">18.3.2</td><td align="left">Numeric Limits</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">18.3.2.3</td><td align="left">Class template <code class="code">numeric_limits</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">18.3.2.4</td><td align="left"><code class="code">numeric_limits</code> members</td><td align="left">Y</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">18.3.2.5</td><td align="left"><code class="code">float_round_style</code></td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">18.3.2.6</td><td align="left"><code class="code">float_denorm_style</code></td><td align="left">N</td><td align="left"> </td></tr><tr><td align="left">18.3.2.7</td><td align="left"><code class="code">numeric_limits</code> specializations</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">18.3.3</td><td align="left">C Library</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">18.4</td><td align="left">Integer types</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">18.4.1</td><td align="left">Header <code class="code"><cstdint></code> synopsis</td><td align="left">Y</td><td align="left"> </td></tr><tr bgcolor="#B0B0B0"><td align="left">18.5</td><td align="left">Start and termination</td><td align="left">Partial</td><td align="left">C library dependency for quick_exit, at_quick_exit</td></tr><tr><td align="left">18.6</td><td align="left">Dynamic memory management</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">18.7</td><td align="left">Type identification</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">18.7.1</td><td align="left">Class type_info</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">18.7.2</td><td align="left">Class bad_cast</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">18.7.3</td><td align="left">Class bad_typeid</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">18.8</td><td align="left">Exception handling</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">18.8.1</td><td align="left">Class exception</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">18.8.2</td><td align="left">Class bad_exception</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">18.8.3</td><td align="left">Abnormal termination</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">18.8.4</td><td align="left"><code class="code">uncaught_exception</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">18.8.5</td><td align="left">Exception Propagation</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">18.8.6</td><td align="left"><code class="code">nested_exception</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">18.9</td><td align="left">Initializer lists</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">18.9.1</td><td align="left">Initializer list constructors</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">18.9.2</td><td align="left">Initializer list access</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">18.9.3</td><td align="left">Initializer list range access</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">18.10</td><td align="left">Other runtime support</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left"> + <span class="emphasis"><em>19</em></span> + </td><td colspan="3" align="left"> + <span class="emphasis"><em>Diagnostics</em></span> + </td></tr><tr><td align="left">19.1</td><td align="left">General</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">19.2</td><td align="left">Exception classes</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">19.3</td><td align="left">Assertions</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">19.4</td><td align="left">Error numbers</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">19.5</td><td align="left">System error support</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">19.5.1</td><td align="left">Class <code class="code">error_category</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">19.5.2</td><td align="left">Class <code class="code">error_code</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">19.5.3</td><td align="left">Class <code class="code">error_condition</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">19.5.4</td><td align="left">Comparison operators</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">19.5.5</td><td align="left">Class <code class="code">system_error</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left"> + <span class="emphasis"><em>20</em></span> + </td><td colspan="3" align="left"> + <span class="emphasis"><em>General utilities</em></span> + </td></tr><tr><td align="left">20.1</td><td align="left">General</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.2</td><td align="left">Utility components</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.2.1</td><td align="left">Operators</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.2.2</td><td align="left">swap</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.2.3</td><td align="left">exchange</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.2.4</td><td align="left">forward/move helpers</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.2.5</td><td align="left">Function template <code class="code">declval</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.3</td><td align="left">Pairs</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.4</td><td align="left">Tuples</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.5</td><td align="left">Compile-time integer sequences</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.5.2</td><td align="left">Class template <code class="code">integer_sequence</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.5.3</td><td align="left">Alias template <code class="code">make_integer_sequence</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.6</td><td align="left">Class template <code class="code">bitset</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.7</td><td align="left">Memory</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.8</td><td align="left">Smart pointers</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.8.1</td><td align="left">Class template <code class="code">unique_ptr</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.8.1.1</td><td align="left">Default deleters</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.8.1.2</td><td align="left"><code class="code">unique_ptr</code> for single objects</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.8.1.3</td><td align="left"><code class="code">unique_ptr</code> for array objects with a runtime length</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.8.1.4</td><td align="left"><code class="code">unique_ptr</code> creation</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.8.1.5</td><td align="left"><code class="code">unique_ptr</code> specialized algorithms</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.8.2</td><td align="left">Shared-ownership pointers</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.8.2.1</td><td align="left">Class <code class="code">bad_weak_ptr</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.8.2.2</td><td align="left">Class template <code class="code">shared_ptr</code></td><td align="left">Y</td><td align="left"> + Uses code from + <a class="link" href="http://www.boost.org/libs/smart_ptr/shared_ptr.htm" target="_top">boost::shared_ptr</a>. + </td></tr><tr><td align="left">20.8.2.3</td><td align="left">Class template <code class="code">weak_ptr</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.8.2.4</td><td align="left">Class template <code class="code">owner_less</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.8.2.5</td><td align="left">Class template <code class="code">enable_shared_from_this</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.8.2.6</td><td align="left"><code class="code">shared_ptr</code> atomic access</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.8.2.7</td><td align="left">Smart pointer hash support</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.9</td><td align="left">Function objects</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.9.1</td><td align="left">Definitions</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.9.2</td><td align="left">Requirements</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.9.3</td><td align="left">Class template <code class="code">reference_wrapper</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.9.4</td><td align="left">Arithmetic operation</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.9.5</td><td align="left">Comparisons</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.8.6</td><td align="left">Logical operations</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.9.7</td><td align="left">Bitwise operations</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.9.8</td><td align="left">Negators</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.9.9</td><td align="left">Function object binders</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.9.10</td><td align="left">Function template <code class="code">mem_fn</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.9.11</td><td align="left">Polymorphic function wrappers</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.9.11.1</td><td align="left">Class <code class="code">bad_function_call</code></td><td align="left">Y</td><td align="left"> </td></tr><tr bgcolor="#B0B0B0"><td align="left">20.9.11.2</td><td align="left">Class template <code class="code">function</code></td><td align="left">Partial</td><td align="left">Missing allocator support</td></tr><tr><td align="left">20.9.12</td><td align="left">Class template <code class="code">hash</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.10</td><td align="left">Metaprogramming and type traits</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.10.1</td><td align="left">Requirements</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.10.2</td><td align="left">Header <code class="code"><type_traits></code> synopsis</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.10.3</td><td align="left">Helper classes</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.10.4</td><td align="left">Unary Type Traits</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.10.5</td><td align="left">Type property queries</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.10.6</td><td align="left">Relationships between types</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.10.7</td><td align="left">Transformations between types</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.11</td><td align="left">Compile-time rational arithmetic</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.12</td><td align="left">Time utilities</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.12.3</td><td align="left">Clock requirements</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.12.4</td><td align="left">Time-related traits</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.12.5</td><td align="left">Class template <code class="code">duration</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.12.5.8</td><td align="left">Suffixes for duration literals</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.12.6</td><td align="left">Class template <code class="code">time_point</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.12.7</td><td align="left">Clocks</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.12.8</td><td align="left">Date and time functions</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.13</td><td align="left">Scoped allocator adaptor</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.14</td><td align="left">Class <code class="code">type_index</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left"> + <span class="emphasis"><em>21</em></span> + </td><td colspan="3" align="left"> + <span class="emphasis"><em>Strings</em></span> + </td></tr><tr><td align="left">21.1</td><td align="left">General</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">21.2</td><td align="left">Character traits</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">21.3</td><td align="left">String classes</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">21.4</td><td align="left">Class template <code class="code">basic_string</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">21.5</td><td align="left">Numeric Conversions</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">21.6</td><td align="left">Hash support</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">21.7</td><td align="left">Suffixes for <code class="code">basic_string</code> literals</td><td align="left">Y</td><td align="left"> </td></tr><tr bgcolor="#B0B0B0"><td align="left">21.7</td><td align="left">Null-terminated sequence utilities</td><td align="left">Partial</td><td align="left">C library dependency. </td></tr><tr><td align="left"> + <span class="emphasis"><em>22</em></span> + </td><td colspan="3" align="left"> + <span class="emphasis"><em>Localization</em></span> + </td></tr><tr><td align="left">22.1</td><td align="left">General</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">22.2</td><td align="left">Header <code class="code"><locale></code> synopsis</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">22.3</td><td align="left">Locales</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">22.4</td><td align="left">Standard <code class="code">locale</code> categories</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">22.5</td><td align="left">Standard code conversion facets</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">22.6</td><td align="left">C Library Locales</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left"> + <span class="emphasis"><em>23</em></span> + </td><td colspan="3" align="left"> + <span class="emphasis"><em>Containers</em></span> + </td></tr><tr><td align="left">23.1</td><td align="left">General</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">23.2</td><td align="left">Container requirements</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">23.3</td><td align="left">Sequence containers</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">23.4</td><td align="left">Associative containers</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">23.5</td><td align="left">Unordered associative containers</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">23.6</td><td align="left">Container adaptors</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left"> + <span class="emphasis"><em>24</em></span> + </td><td colspan="3" align="left"> + <span class="emphasis"><em>Iterators</em></span> + </td></tr><tr><td align="left">24.1</td><td align="left">General</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">24.2</td><td align="left">Iterator requirements</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">24.3</td><td align="left">Header <code class="code"><iterator></code> synopsis</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">24.4</td><td align="left">Iterator primitives</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">24.5</td><td align="left">Iterator adaptors</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">24.6</td><td align="left">Stream iterators</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">24.7</td><td align="left">range access</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left"> + <span class="emphasis"><em>25</em></span> + </td><td colspan="3" align="left"> + <span class="emphasis"><em>Algorithms</em></span> + </td></tr><tr><td align="left">25.1</td><td align="left">General</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">25.2</td><td align="left">Non-modifying sequence operations</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">25.3</td><td align="left">Mutating sequence operations</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">25.4</td><td align="left">Sorting and related operations</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">25.5</td><td align="left">C library algorithms</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left"> + <span class="emphasis"><em>26</em></span> + </td><td colspan="3" align="left"> + <span class="emphasis"><em>Numerics</em></span> + </td></tr><tr><td align="left">26.1</td><td align="left">General</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">26.2</td><td align="left">Numeric type requirements</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.3</td><td align="left">The floating-point environment</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.4</td><td align="left">Complex numbers</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.4.10</td><td align="left">Suffixes for complex number literals</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.5</td><td align="left">Random number generation</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.6</td><td align="left">Numeric arrays</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.7</td><td align="left">Generalized numeric operations</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.8</td><td align="left">C Library</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left"> + <span class="emphasis"><em>27</em></span> + </td><td colspan="3" align="left"> + <span class="emphasis"><em>Input/output library</em></span> + </td></tr><tr><td align="left">27.1</td><td align="left">General</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">27.2</td><td align="left">Iostreams requirements</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">27.2.1</td><td align="left">Imbue Limitations</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">27.2.2</td><td align="left">Positioning Type Limitations</td><td align="left">Y</td><td align="left"> </td></tr><tr bgcolor="#B0B0B0"><td align="left">27.2.3</td><td align="left">Thread safety</td><td align="left">Partial</td><td align="left"> </td></tr><tr><td align="left">27.3</td><td align="left">Forward declarations</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">27.4</td><td align="left">Standard iostream objects</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">27.5</td><td align="left">Iostreams base classes</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">27.6</td><td align="left">Stream buffers</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">27.7</td><td align="left">Formatting and manipulators</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">27.7.6</td><td align="left">Quoted manipulators</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">27.8</td><td align="left">String-based streams</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">27.9</td><td align="left">File-based streams</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left"> + <span class="emphasis"><em>28</em></span> + </td><td colspan="3" align="left"> + <span class="emphasis"><em>Regular expressions</em></span> + </td></tr><tr><td align="left">28.1</td><td align="left">General</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">28.2</td><td align="left">Definitions</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">28.3</td><td align="left">Requirements</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">28.4</td><td align="left">Header <code class="code"><regex></code> synopsis</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">28.5</td><td align="left">Namespace <code class="code">std::regex_constants</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">28.6</td><td align="left">Class <code class="code">regex_error</code></td><td align="left">Y</td><td align="left"> </td></tr><tr bgcolor="#B0B0B0"><td align="left">28.7</td><td align="left">Class template <code class="code">regex_traits</code></td><td align="left">Partial</td><td align="left"><code class="code">transform_primary</code> is not correctly implemented</td><td align="left"> </td></tr><tr><td align="left">28.8</td><td align="left">Class template <code class="code">basic_regex</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">28.9</td><td align="left">Class template <code class="code">sub_match</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">28.10</td><td align="left">Class template <code class="code">match_results</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">28.11</td><td align="left">Regular expression algorithms</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">28.12</td><td align="left">Regular expression Iterators</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">28.13</td><td align="left">Modified ECMAScript regular expression grammar</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left"> + <span class="emphasis"><em>29</em></span> + </td><td colspan="3" align="left"> + <span class="emphasis"><em>Atomic operations</em></span> + </td></tr><tr><td align="left">29.1</td><td align="left">General</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">29.2</td><td align="left">Header <code class="code"><atomic></code> synopsis</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">29.3</td><td align="left">Order and consistency</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">29.4</td><td align="left">Lock-free property</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">29.5</td><td align="left">Atomic types</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">29.6</td><td align="left">Operations on atomic types</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">29.7</td><td align="left">Flag Type and operations</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">29.8</td><td align="left">Fences</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left"> + <span class="emphasis"><em>30</em></span> + </td><td colspan="3" align="left"> + <span class="emphasis"><em>Thread support</em></span> + </td></tr><tr><td align="left">30.1</td><td align="left">General</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">30.2</td><td align="left">Requirements</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">30.3</td><td align="left">Threads</td><td align="left"> </td><td align="left"> </td></tr><tr bgcolor="#B0B0B0"><td align="left">30.3.1</td><td align="left">Class <code class="code">thread</code></td><td align="left">Partial</td><td align="left"><code class="code">thread::id</code> comparisons not well-defined</td></tr><tr><td align="left">30.3.2</td><td align="left">Namespace <code class="code">this_thread</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">30.4</td><td align="left">Mutual exclusion</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">30.4.1</td><td align="left">Mutex requirements</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">30.4.1.1</td><td align="left">In general</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">30.4.1.2</td><td align="left">Mutex types</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">30.4.1.2.1</td><td align="left">Class <code class="code">mutex</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">30.4.1.2.2</td><td align="left">Class <code class="code">recursive_mutex</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">30.4.1.3</td><td align="left">Timed mutex types</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">30.4.1.3.1</td><td align="left">Class <code class="code">timed_mutex</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">30.4.1.3.2</td><td align="left">Class <code class="code">recursive_timed_mutex</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">30.4.1.4</td><td align="left">Shared timed mutex types</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">30.4.1.4.1</td><td align="left">Class <code class="code">shared_timed_mutex</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">30.4.2</td><td align="left">Locks</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">30.4.2.1</td><td align="left">Class template <code class="code">lock_guard</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">30.4.2.2</td><td align="left">Class template <code class="code">unique_lock</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">30.4.2.3</td><td align="left">Class template <code class="code">shared_lock</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">30.4.3</td><td align="left">Generic locking algorithms</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">30.4.4</td><td align="left">Call once</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">30.4.4.1</td><td align="left">Struct <code class="code">once_flag</code></td><td align="left">Y</td><td align="left"> </td></tr><tr bgcolor="#B0B0B0"><td align="left">30.4.4.2</td><td align="left">Function <code class="code">call_once</code></td><td align="left">Broken</td><td align="left">See <a class="link" href="https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66146" target="_top">PR + 66146</a> + </td></tr><tr><td align="left">30.5</td><td align="left">Condition variables</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">30.5.1</td><td align="left">Class <code class="code">condition_variable</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">30.5.2</td><td align="left">Class <code class="code">condition_variable_any</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">30.6</td><td align="left">Futures</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">30.6.1</td><td align="left">Overview</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">30.6.2</td><td align="left">Error handling</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">30.6.3</td><td align="left">Class <code class="code">future_error</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">30.6.4</td><td align="left">Shared state</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">30.6.5</td><td align="left">Class template <code class="code">promise</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">30.6.6</td><td align="left">Class template <code class="code">future</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">30.6.7</td><td align="left">Class template <code class="code">shared_future</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">30.6.8</td><td align="left">Function template <code class="code">async</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">30.6.9</td><td align="left">Class template <code class="code">packaged_task</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left"> + <span class="emphasis"><em>Appendix D</em></span> + </td><td colspan="3" align="left"> + <span class="emphasis"><em>Compatibility features</em></span> + </td></tr><tr><td align="left">D.1</td><td align="left">Increment operator with <code class="code">bool</code> operand</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">D.2</td><td align="left"><code class="code">register</code> keyword</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">D.3</td><td align="left">Implicit declaration of copy functions</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">D.4</td><td align="left">Dynamic exception specifications</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">D.5</td><td align="left">C standard library headers</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">D.6</td><td align="left">Old iostreams members</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">D.7</td><td align="left"><code class="code">char*</code> streams</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">D.8</td><td align="left">Function objects</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">D.9</td><td align="left">Binders</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">D.10</td><td align="left"><code class="code">auto_ptr</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">D.11</td><td align="left">Violating exception-specifications</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">D.12</td><td align="left">Random shuffle</td><td align="left">Y</td><td align="left"> </td></tr></tbody></table></div></div><br class="table-break" /><div class="table"><a id="table.ts_status"></a><p class="title"><strong>Table 1.4. C++ Technical Specifications Implementation Status</strong></p><div class="table-contents"><table class="table" summary="C++ Technical Specifications Implementation Status" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /></colgroup><thead><tr><th align="left">Paper</th><th align="left">Title</th><th align="left">Status</th><th align="left">Comments</th></tr></thead><tbody><tr bgcolor="#C8B0B0"><td align="left"> <a class="link" href="http://www.open-std.org/JTC1/sc22/WG21/docs/papers/2013/n3662.html" target="_top"> N3662 </a> @@ -553,7 +548,7 @@ this feature (if it has been implemented). The "SD-6 Feature Test" column shows the corresponding macro or header from <a class="link" href="https://isocpp.org/std/standing-documents/sd-6-sg10-feature-test-recommendations" target="_top">SD-6: Feature-testing recommendations for C++</a>. -</p><div class="table"><a id="table.cxx17_status"></a><p class="title"><strong>Table 1.5. C++ 2017 Implementation Status</strong></p><div class="table-contents"><table class="table" summary="C++ 2017 Implementation Status" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /></colgroup><thead><tr><th align="left">Library Feature</th><th align="left">Proposal</th><th align="left">Status</th><th align="left">SD-6 Feature Test</th></tr></thead><tbody><tr bgcolor="#C8B0B0"><td align="left"> +</p><div class="table"><a id="table.cxx17_features"></a><p class="title"><strong>Table 1.5. C++ 2017 Library Features</strong></p><div class="table-contents"><table class="table" summary="C++ 2017 Library Features" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /></colgroup><thead><tr><th align="left">Library Feature</th><th align="left">Proposal</th><th align="left">Status</th><th align="left">SD-6 Feature Test</th></tr></thead><tbody><tr bgcolor="#C8B0B0"><td align="left"> <code class="code">constexpr std::hardware_{constructive,destructive}_interference_size</code> </td><td align="left"> <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0154r1.html" target="_top"> @@ -716,7 +711,7 @@ Feature-testing recommendations for C++</a>. <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0077r2.html" target="_top"> P0077R2 </a> - </td><td align="center"> 7.1 </td><td align="left"><code class="code"> __cpp_lib_is_callable >= 201603 </code></td></tr><tr><td align="left"> has_unique_object_representations </td><td align="left"> + </td><td align="center"> 7.1 </td><td align="left"><code class="code"> __cpp_lib_is_invocable >= 201703 </code></td></tr><tr><td align="left"> has_unique_object_representations </td><td align="left"> <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0258r2.html" target="_top"> P0258R2 </a> @@ -874,7 +869,70 @@ Note 4: The mathematical special functions are enabled in C++17 mode from GCC 7.1 onwards. For GCC 6.x or for C++11/C++14 define <code class="code">__STDCPP_WANT_MATH_SPEC_FUNCS__</code> to a non-zero value and test for <code class="code">__STDCPP_MATH_SPEC_FUNCS__ >= 201003L</code>. -</p><div class="table"><a id="table.cxx17_ts_status"></a><p class="title"><strong>Table 1.6. C++ Technical Specifications Implementation Status</strong></p><div class="table-contents"><table class="table" summary="C++ Technical Specifications Implementation Status" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /></colgroup><thead><tr><th align="left">Paper</th><th align="left">Title</th><th align="left">Status</th><th align="left">Comments</th></tr></thead><tbody><tr><td align="left"> +</p><p> +The following status table is based on the table of contents of +ISO/IEC 14882:2017. +Some subclauses are not shown in the table where the content is unchanged +since C++14 and the implementation is complete. +</p><div class="table"><a id="table.cxx17_status"></a><p class="title"><strong>Table 1.6. C++ 2017 Implementation Status</strong></p><div class="table-contents"><table class="table" summary="C++ 2017 Implementation Status" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /></colgroup><thead><tr><th align="left">Section</th><th align="left">Description</th><th align="left">Status</th><th align="left">Comments</th></tr></thead><tbody><tr><td align="left"> + <span class="emphasis"><em>21</em></span> + </td><td colspan="3" align="left"> + <span class="emphasis"><em>Language support</em></span> + </td></tr><tr><td align="left">21.1</td><td align="left">General</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">21.2</td><td align="left">Common definitions</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">21.3</td><td align="left">Implementation properties</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">21.3.1</td><td align="left">General</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">21.3.2</td><td align="left">Header <code class="code"><limits></code> synopsis</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">21.3.3</td><td align="left">Floating-point type properties</td><td align="left"> </td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">21.3.3.1</td><td align="left"><code class="code">float_round_style</code></td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">21.3.3.2</td><td align="left"><code class="code">float_denorm_style</code></td><td align="left">N</td><td align="left"> </td></tr><tr><td align="left">21.3.4</td><td align="left">Class template <code class="code">numeric_limits</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">21.3.5</td><td align="left">Header <code class="code"><climits></code> synopsis</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">21.3.6</td><td align="left">Header <code class="code"><cfloat></code> synopsis</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">21.4</td><td align="left">Integer types</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">21.4.1</td><td align="left">Header <code class="code"><cstdint></code> synopsis</td><td align="left">Y</td><td align="left"> </td></tr><tr bgcolor="#B0B0B0"><td align="left">21.5</td><td align="left">Start and termination</td><td align="left">Partial</td><td align="left">C library dependency for quick_exit, at_quick_exit</td></tr><tr><td align="left">21.6</td><td align="left">Dynamic memory management</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">21.6.1</td><td align="left">Header <code class="code"><new></code> synopsis</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">21.6.2</td><td align="left">Storage allocation and deallocation</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">21.6.3</td><td align="left">Storage allocation errors</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">21.6.4</td><td align="left">Pointer optimization barrier</td><td align="left">Y</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">21.6.5</td><td align="left">Hardware interference size</td><td align="left">N</td><td align="left"> </td></tr><tr><td align="left">21.7</td><td align="left">Type identification</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">21.8</td><td align="left">Exception handling</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">21.8.1</td><td align="left">Header <code class="code"><exception></code> synopsis</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">21.8.2</td><td align="left">Class exception</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">21.8.3</td><td align="left">Class bad_exception</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">21.8.4</td><td align="left">Abnormal termination</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">21.8.5</td><td align="left"><code class="code">uncaught_exceptions</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">21.8.6</td><td align="left">Exception Propagation</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">21.8.7</td><td align="left"><code class="code">nested_exception</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">21.9</td><td align="left">Initializer lists</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">21.10</td><td align="left">Other runtime support</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left"> + <span class="emphasis"><em>22</em></span> + </td><td colspan="3" align="left"> + <span class="emphasis"><em>Diagnostics</em></span> + </td></tr><tr><td align="left">22.1</td><td align="left">General</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">22.2</td><td align="left">Exception classes</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">22.3</td><td align="left">Assertions</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">22.4</td><td align="left">Error numbers</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">22.5</td><td align="left">System error support</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left"> + <span class="emphasis"><em>23</em></span> + </td><td colspan="3" align="left"> + <span class="emphasis"><em>General utilities</em></span> + </td></tr><tr><td align="left">23.1</td><td align="left">General</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">23.2</td><td align="left">Utility components</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">23.2.1</td><td align="left">Header <code class="code"><utility></code> synopsis</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">23.2.2</td><td align="left">Operators</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">23.2.3</td><td align="left"><code class="code">swap</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">23.2.4</td><td align="left"><code class="code">exchange</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">23.2.5</td><td align="left">Forward/move helpers</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">23.2.6</td><td align="left">Function template <code class="code">as_const</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">23.2.7</td><td align="left">Function template <code class="code">declval</code></td><td align="left">Y</td><td align="left"> </td></tr><tr bgcolor="#B0B0B0"><td align="left">23.2.8</td><td align="left">Primitive numeric output conversion</td><td align="left">Partial</td><td align="left">Only integer types supported, not floating-point types</td></tr><tr bgcolor="#B0B0B0"><td align="left">23.2.9</td><td align="left">Primitive numeric input conversion</td><td align="left">Partial</td><td align="left">Only integer types supported, not floating-point types</td></tr><tr><td align="left">23.3</td><td align="left">Compile-time integer sequences</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">23.4</td><td align="left">Pairs</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">23.5</td><td align="left">Tuples</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">23.6</td><td align="left">Optional objects</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">23.7</td><td align="left">Variants</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">23.8</td><td align="left">Storage for any type</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">23.9</td><td align="left">Bitsets</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">23.10</td><td align="left">Memory</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">23.10.1</td><td align="left">In general</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">23.10.2</td><td align="left">Header <code class="code"><memory></code> synopsis</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">23.10.3</td><td align="left">Pointer traits</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">23.10.4</td><td align="left">Pointer safety</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">23.10.5</td><td align="left">Align</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">23.10.6</td><td align="left">Allocator argument tag</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">23.10.7</td><td align="left"><code class="code">uses_allocator</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">23.10.8</td><td align="left">Allocator traits</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">23.10.9</td><td align="left">The default allocator</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">23.10.10</td><td align="left">Specialized algorithms</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">23.10.11</td><td align="left">C library memory allocation</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">23.11</td><td align="left">Smart pointers</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">23.11.1</td><td align="left">Class template <code class="code">unique_ptr</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">23.11.2</td><td align="left">Shared-ownership pointers</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">23.12</td><td align="left">Memory resources</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">23.12.1</td><td align="left">Header <code class="code"><memory_resource></code> synopsis</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">23.12.2</td><td align="left">Class <code class="code">memory_resource</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">23.12.3</td><td align="left">Class template <code class="code">polymorphic_allocator</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">23.12.4</td><td align="left">Access to program-wide <code class="code">memory_resource</code> objects</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">23.12.5</td><td align="left">Pool resource classes</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">23.12.6</td><td align="left">Class <code class="code">monotonic_buffer_resource</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">23.13</td><td align="left">Class template <code class="code">scoped_allocator_adaptor</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">23.14</td><td align="left">Function objects</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">23.14.1</td><td align="left">Header <code class="code"><functional></code> synopsis</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">23.14.2</td><td align="left">Definitions</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">23.14.3</td><td align="left">Requirements</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">23.14.4</td><td align="left">Function template <code class="code">invoke</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">23.14.5</td><td align="left">Class template <code class="code">reference_wrapper</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">23.14.6</td><td align="left">Arithmetic operation</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">23.14.7</td><td align="left">Comparisons</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">23.14.8</td><td align="left">Logical operations</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">23.14.9</td><td align="left">Bitwise operations</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">23.14.10</td><td align="left">Function template <code class="code">not_fn</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">23.14.11</td><td align="left">Function object binders</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">23.14.12</td><td align="left">Function template <code class="code">mem_fn</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">23.14.13</td><td align="left">Polymorphic function wrappers</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">23.14.14</td><td align="left">Searchers</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">23.14.15</td><td align="left">Class template <code class="code">hash</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">23.15</td><td align="left">Metaprogramming and type traits</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">23.15.1</td><td align="left">Requirements</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">23.15.2</td><td align="left">Header <code class="code"><type_traits></code> synopsis</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">23.15.3</td><td align="left">Helper classes</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">23.15.4</td><td align="left">Unary Type Traits</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">23.15.5</td><td align="left">Type property queries</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">23.15.6</td><td align="left">Relationships between types</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">23.15.7</td><td align="left">Transformations between types</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">23.15.8</td><td align="left">Logical operator traits</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">23.16</td><td align="left">Compile-time rational arithmetic</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">23.17.1</td><td align="left">In general</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">23.17.2</td><td align="left">Header <code class="code"><chrono></code> synopsis</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">23.17</td><td align="left">Time utilities</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">23.17.3</td><td align="left">Clock requirements</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">23.17.4</td><td align="left">Time-related traits</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">23.17.5</td><td align="left">Class template <code class="code">duration</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">23.17.6</td><td align="left">Class template <code class="code">time_point</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">23.17.7</td><td align="left">Clocks</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">23.17.8</td><td align="left">Header <code class="code"><ctime></code> synopsis</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">23.18</td><td align="left">Class <code class="code">type_index</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">23.19</td><td align="left">Execution policies</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">23.19.1</td><td align="left">In general</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">23.19.2</td><td align="left">Header <code class="code"><execution></code> synopsis</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">23.19.3</td><td align="left">Execution policy type trait</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">23.19.4</td><td align="left">Sequenced execution policy</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">23.19.5</td><td align="left">Parallel execution policy</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">23.19.6</td><td align="left">Parallel and unsequenced execution policy</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">23.19.7</td><td align="left">Execution policy objects</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left"> + <span class="emphasis"><em>24</em></span> + </td><td colspan="3" align="left"> + <span class="emphasis"><em>Strings</em></span> + </td></tr><tr><td align="left">24.1</td><td align="left">General</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">24.2</td><td align="left">Character traits</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">24.3</td><td align="left">String classes</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">24.4</td><td align="left">String view classes</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">24.4.1</td><td align="left">Header <code class="code"><string_view></code> synopsis</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">24.4.2</td><td align="left">Class template <code class="code">basic_string_view</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">24.4.3</td><td align="left">Non-member comparison functions</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">24.4.4</td><td align="left">Inserters and extractors</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">24.4.5</td><td align="left">Hash support</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">24.4.6</td><td align="left">Suffix for <code class="code">basic_string_view</code> literals</td><td align="left">Y</td><td align="left"> </td></tr><tr bgcolor="#B0B0B0"><td align="left">24.5</td><td align="left">Null-terminated sequence utilities</td><td align="left">Partial</td><td align="left">C library dependency. </td></tr><tr><td align="left"> + <span class="emphasis"><em>25</em></span> + </td><td colspan="3" align="left"> + <span class="emphasis"><em>Localization</em></span> + </td></tr><tr><td align="left">25.1</td><td align="left">General</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">25.2</td><td align="left">Header <code class="code"><locale></code> synopsis</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">25.3</td><td align="left">Locales</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">25.4</td><td align="left">Standard <code class="code">locale</code> categories</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">25.5</td><td align="left">C Library Locales</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left"> + <span class="emphasis"><em>26</em></span> + </td><td colspan="3" align="left"> + <span class="emphasis"><em>Containers</em></span> + </td></tr><tr><td align="left">26.1</td><td align="left">General</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">26.2</td><td align="left">Container requirements</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.3</td><td align="left">Sequence containers</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.4</td><td align="left">Associative containers</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.5</td><td align="left">Unordered associative containers</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.6</td><td align="left">Container adaptors</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left"> + <span class="emphasis"><em>27</em></span> + </td><td colspan="3" align="left"> + <span class="emphasis"><em>Iterators</em></span> + </td></tr><tr><td align="left">27.1</td><td align="left">General</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">27.2</td><td align="left">Iterator requirements</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">27.3</td><td align="left">Header <code class="code"><iterator></code> synopsis</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">27.4</td><td align="left">Iterator primitives</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">27.5</td><td align="left">Iterator adaptors</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">27.6</td><td align="left">Stream iterators</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">27.7</td><td align="left">Range access</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">27.8</td><td align="left">Container access</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left"> + <span class="emphasis"><em>28</em></span> + </td><td colspan="3" align="left"> + <span class="emphasis"><em>Algorithms</em></span> + </td></tr><tr><td align="left">28.1</td><td align="left">General</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">28.2</td><td align="left">Header <code class="code"><algorithm></code> synopsis</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">28.3</td><td align="left">Algorithms requirements</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">28.4</td><td align="left">Parallel algorithms</td><td align="left"> </td><td align="left">Using <a class="link" href="https://github.com/intel/parallelstl" target="_top">PSTL</a></td></tr><tr><td align="left">28.5</td><td align="left">Non-modifying sequence operations</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">28.6</td><td align="left">Mutating sequence operations</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">28.7</td><td align="left">Sorting and related operations</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">28.8</td><td align="left">C library algorithms</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left"> + <span class="emphasis"><em>29</em></span> + </td><td colspan="3" align="left"> + <span class="emphasis"><em>Numerics</em></span> + </td></tr><tr><td align="left">29.1</td><td align="left">General</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">29.2</td><td align="left">Definitions</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">29.3</td><td align="left">Numeric type requirements</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">29.4</td><td align="left">The floating-point environment</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">29.5</td><td align="left">Complex numbers</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">29.6</td><td align="left">Random number generation</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">29.7</td><td align="left">Numeric arrays</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">29.8</td><td align="left">Generalized numeric operations</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">29.8.1</td><td align="left">Header <code class="code"><numeric></code> synopsis</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">29.8.2</td><td align="left">Accumulate</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">29.8.3</td><td align="left">Reduce</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">29.8.4</td><td align="left">Inner product</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">29.8.5</td><td align="left">Transform reduce</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">29.8.6</td><td align="left">Partial sum</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">29.8.7</td><td align="left">Exclusive scan</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">29.8.8</td><td align="left">Inclusive scan</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">29.8.9</td><td align="left">Transform exclusive scan</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">29.8.10</td><td align="left">Transform inclusive scan</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">29.8.11</td><td align="left">Adjacent difference</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">29.8.12</td><td align="left">Iota</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">29.8.13</td><td align="left">Greatest common divisor</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">29.8.14</td><td align="left">Least common multiple</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">29.9</td><td align="left">Mathematical functions for floating-point types</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">29.9.1</td><td align="left">Header <code class="code"><cmath></code> synopsis</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">29.9.2</td><td align="left">Absolute values</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">29.9.3</td><td align="left">Three-dimensional hypotenuse</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">29.9.4</td><td align="left">Classification / comparison functions</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">29.9.5</td><td align="left">Mathematical special functions</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left"> + <span class="emphasis"><em>30</em></span> + </td><td colspan="3" align="left"> + <span class="emphasis"><em>Input/output library</em></span> + </td></tr><tr><td align="left">30.1</td><td align="left">General</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">30.2</td><td align="left">Iostreams requirements</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">30.2.1</td><td align="left">Imbue Limitations</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">30.2.2</td><td align="left">Positioning Type Limitations</td><td align="left">Y</td><td align="left"> </td></tr><tr bgcolor="#B0B0B0"><td align="left">30.2.3</td><td align="left">Thread safety</td><td align="left">Partial</td><td align="left"> </td></tr><tr><td align="left">30.3</td><td align="left">Forward declarations</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">30.4</td><td align="left">Standard iostream objects</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">30.5</td><td align="left">Iostreams base classes</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">30.6</td><td align="left">Stream buffers</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">30.7</td><td align="left">Formatting and manipulators</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">30.8</td><td align="left">String-based streams</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">30.9</td><td align="left">File-based streams</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">30.10</td><td align="left">File systemss</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">30.11</td><td align="left">C library files</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left"> + <span class="emphasis"><em>31</em></span> + </td><td colspan="3" align="left"> + <span class="emphasis"><em>Regular expressions</em></span> + </td></tr><tr><td align="left">31.1</td><td align="left">General</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">31.2</td><td align="left">Definitions</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">31.3</td><td align="left">Requirements</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">31.4</td><td align="left">Header <code class="code"><regex></code> synopsis</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">31.5</td><td align="left">Namespace <code class="code">std::regex_constants</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">31.6</td><td align="left">Class <code class="code">regex_error</code></td><td align="left">Y</td><td align="left"> </td></tr><tr bgcolor="#B0B0B0"><td align="left">31.7</td><td align="left">Class template <code class="code">regex_traits</code></td><td align="left">Partial</td><td align="left"><code class="code">transform_primary</code> is not correctly implemented</td><td align="left"> </td></tr><tr><td align="left">31.8</td><td align="left">Class template <code class="code">basic_regex</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">31.9</td><td align="left">Class template <code class="code">sub_match</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">31.10</td><td align="left">Class template <code class="code">match_results</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">31.11</td><td align="left">Regular expression algorithms</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">31.12</td><td align="left">Regular expression Iterators</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">31.13</td><td align="left">Modified ECMAScript regular expression grammar</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left"> + <span class="emphasis"><em>32</em></span> + </td><td colspan="3" align="left"> + <span class="emphasis"><em>Atomic operations</em></span> + </td></tr><tr><td align="left">32.1</td><td align="left">General</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">32.2</td><td align="left">Header <code class="code"><atomic></code> synopsis</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">32.3</td><td align="left">Type aliases</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">32.4</td><td align="left">Order and consistency</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">32.5</td><td align="left">Lock-free property</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">32.6</td><td align="left">Class template <code class="code"><atomic></code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">32.7</td><td align="left">Non-member functions</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">32.8</td><td align="left">Flag Type and operations</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">32.9</td><td align="left">Fences</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left"> + <span class="emphasis"><em>33</em></span> + </td><td colspan="3" align="left"> + <span class="emphasis"><em>Thread support</em></span> + </td></tr><tr><td align="left">33.1</td><td align="left">General</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">33.2</td><td align="left">Requirements</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">33.3</td><td align="left">Threads</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">33.3.1</td><td align="left">Header <code class="code">thread</code> synopsis</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">33.3.2</td><td align="left">Class <code class="code">thread</code></td><td align="left">Y</td><td align="left"> </td></tr><tr bgcolor="#B0B0B0"><td align="left">33.3.2.1</td><td align="left">Class <code class="code">thread</code></td><td align="left">Partial</td><td align="left"><code class="code">thread::id</code> comparisons not well-defined</td></tr><tr><td align="left">33.3.3</td><td align="left">Namespace <code class="code">this_thread</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">33.4</td><td align="left">Mutual exclusion</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">33.4.3</td><td align="left">Mutex requirements</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">33.4.3.1</td><td align="left">In general</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">33.4.3.2</td><td align="left">Mutex types</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">33.4.3.2.1</td><td align="left">Class <code class="code">mutex</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">33.4.3.2.2</td><td align="left">Class <code class="code">recursive_mutex</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">33.4.3.3</td><td align="left">Timed mutex types</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">33.4.3.3.1</td><td align="left">Class <code class="code">timed_mutex</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">33.4.3.3.2</td><td align="left">Class <code class="code">recursive_timed_mutex</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">33.4.3.4</td><td align="left">Shared mutex types</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">33.4.3.4.1</td><td align="left">Class <code class="code">shared_mutex</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">33.4.3.5</td><td align="left">Shared timed mutex types</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">33.4.3.5.1</td><td align="left">Class <code class="code">shared_timed_mutex</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">33.4.4</td><td align="left">Locks</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">33.4.4.1</td><td align="left">Class template <code class="code">lock_guard</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">33.4.4.2</td><td align="left">Class template <code class="code">scoped_guard</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">33.4.4.3</td><td align="left">Class template <code class="code">unique_lock</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">33.4.4.4</td><td align="left">Class template <code class="code">shared_lock</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">33.4.5</td><td align="left">Generic locking algorithms</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">33.4.6</td><td align="left">Call once</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">33.4.6.1</td><td align="left">Struct <code class="code">once_flag</code></td><td align="left">Y</td><td align="left"> </td></tr><tr bgcolor="#B0B0B0"><td align="left">33.4.6.2</td><td align="left">Function <code class="code">call_once</code></td><td align="left">Broken</td><td align="left">See <a class="link" href="https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66146" target="_top">PR + 66146</a> + </td></tr><tr><td align="left">33.5</td><td align="left">Condition variables</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">33.5.1</td><td align="left">Class <code class="code">condition_variable</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">33.5.2</td><td align="left">Class <code class="code">condition_variable_any</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">33.6</td><td align="left">Futures</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">33.6.1</td><td align="left">Overview</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">33.6.2</td><td align="left">Header <code class="code"><future></code></td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">33.6.3</td><td align="left">Error handling</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">33.6.4</td><td align="left">Class <code class="code">future_error</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">33.6.5</td><td align="left">Shared state</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">33.6.6</td><td align="left">Class template <code class="code">promise</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">33.6.7</td><td align="left">Class template <code class="code">future</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">33.6.8</td><td align="left">Class template <code class="code">shared_future</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">33.6.9</td><td align="left">Function template <code class="code">async</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">33.6.10</td><td align="left">Class template <code class="code">packaged_task</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left"> + <span class="emphasis"><em>Appendix D</em></span> + </td><td colspan="3" align="left"> + <span class="emphasis"><em>Compatibility features</em></span> + </td></tr><tr><td align="left">D.4</td><td align="left">C++ standard library headers</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">D.4.1</td><td align="left">Header <code class="code"><ccomplex></code> synopsis</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">D.4.1</td><td align="left">Header <code class="code"><cstdalign></code> synopsis</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">D.4.1</td><td align="left">Header <code class="code"><cstdbool></code> synopsis</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">D.4.1</td><td align="left">Header <code class="code"><ctgmath></code> synopsis</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">D.5</td><td align="left">C standard library headers</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">D.6</td><td align="left"><code class="code">char*</code> streams</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">D.7</td><td align="left"><code class="code">uncaught_exception</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">D.8</td><td align="left">Old adaptable function bindings</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">D.9</td><td align="left">The default allocator</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">D.10</td><td align="left">Raw storage iterator</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">D.11</td><td align="left">Temporary buffers</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">D.12</td><td align="left">Deprecated type traits</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">D.13</td><td align="left">Deprecated iterator primitives</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">D.14</td><td align="left">Deprecated <code class="code">shared_ptr</code> observers</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">D.15</td><td align="left">Deprecated standard code conversion facets</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">D.16</td><td align="left">Deprecated convenience conversion interfaces</td><td align="left">Y</td><td align="left"> </td></tr></tbody></table></div></div><br class="table-break" /><div class="table"><a id="table.cxx17_ts_status"></a><p class="title"><strong>Table 1.7. C++ Technical Specifications Implementation Status</strong></p><div class="table-contents"><table class="table" summary="C++ Technical Specifications Implementation Status" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /></colgroup><thead><tr><th align="left">Paper</th><th align="left">Title</th><th align="left">Status</th><th align="left">Comments</th></tr></thead><tbody><tr><td align="left"> <a class="link" href="http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2014/n4076.html" target="_top"> N4076 </a> @@ -1045,7 +1103,7 @@ this feature (if it has been implemented). The "SD-6 Feature Test" column shows the corresponding macro or header from <a class="link" href="https://isocpp.org/std/standing-documents/sd-6-sg10-feature-test-recommendations" target="_top">SD-6: Feature-testing recommendations for C++</a>. -</p><div class="table"><a id="table.cxx20_status"></a><p class="title"><strong>Table 1.7. C++ 2020 Implementation Status</strong></p><div class="table-contents"><table class="table" summary="C++ 2020 Implementation Status" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /></colgroup><thead><tr><th align="left">Library Feature</th><th align="left">Proposal</th><th align="left">Status</th><th align="left">SD-6 Feature Test</th></tr></thead><tbody><tr><td align="left"> Endian just Endian </td><td align="left"> +</p><div class="table"><a id="table.cxx20_status"></a><p class="title"><strong>Table 1.8. C++ 2020 Implementation Status</strong></p><div class="table-contents"><table class="table" summary="C++ 2020 Implementation Status" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /></colgroup><thead><tr><th align="left">Library Feature</th><th align="left">Proposal</th><th align="left">Status</th><th align="left">SD-6 Feature Test</th></tr></thead><tbody><tr><td align="left"> Endian just Endian </td><td align="left"> <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0463r1.html" target="_top"> P0463R1 </a> @@ -1525,7 +1583,7 @@ In this implementation the header names are prefixed by </p><p> This page describes the TR1 support in mainline GCC, not in any particular release. -</p><div class="table"><a id="table.tr1_status"></a><p class="title"><strong>Table 1.8. C++ TR1 Implementation Status</strong></p><div class="table-contents"><table class="table" summary="C++ TR1 Implementation Status" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /></colgroup><thead><tr><th align="left">Section</th><th align="left">Description</th><th align="left">Status</th><th align="left">Comments</th></tr></thead><tbody><tr><td align="left"><span class="emphasis"><em>2</em></span></td><td colspan="3" align="left"><span class="emphasis"><em>General Utilities</em></span></td></tr><tr><td align="left">2.1</td><td align="left">Reference wrappers</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">2.1.1</td><td align="left">Additions to header <code class="code"><functional></code> synopsis</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">2.1.2</td><td align="left">Class template <code class="code">reference_wrapper</code></td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">2.1.2.1</td><td align="left"><code class="code">reference_wrapper</code> construct/copy/destroy</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">2.1.2.2</td><td align="left"><code class="code">reference_wrapper</code> assignment</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">2.1.2.3</td><td align="left"><code class="code">reference_wrapper</code> access</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">2.1.2.4</td><td align="left"><code class="code">reference_wrapper</code> invocation</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">2.1.2.5</td><td align="left"><code class="code">reference_wrapper</code> helper functions</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">2.2</td><td align="left">Smart pointers</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">2.2.1</td><td align="left">Additions to header <code class="code"><memory></code> synopsis</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">2.2.2</td><td align="left">Class <code class="code">bad_weak_ptr</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">2.2.3</td><td align="left">Class template <code class="code">shared_ptr</code></td><td align="left"> </td><td align="left"> +</p><div class="table"><a id="table.tr1_status"></a><p class="title"><strong>Table 1.9. C++ TR1 Implementation Status</strong></p><div class="table-contents"><table class="table" summary="C++ TR1 Implementation Status" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /></colgroup><thead><tr><th align="left">Section</th><th align="left">Description</th><th align="left">Status</th><th align="left">Comments</th></tr></thead><tbody><tr><td align="left"><span class="emphasis"><em>2</em></span></td><td colspan="3" align="left"><span class="emphasis"><em>General Utilities</em></span></td></tr><tr><td align="left">2.1</td><td align="left">Reference wrappers</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">2.1.1</td><td align="left">Additions to header <code class="code"><functional></code> synopsis</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">2.1.2</td><td align="left">Class template <code class="code">reference_wrapper</code></td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">2.1.2.1</td><td align="left"><code class="code">reference_wrapper</code> construct/copy/destroy</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">2.1.2.2</td><td align="left"><code class="code">reference_wrapper</code> assignment</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">2.1.2.3</td><td align="left"><code class="code">reference_wrapper</code> access</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">2.1.2.4</td><td align="left"><code class="code">reference_wrapper</code> invocation</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">2.1.2.5</td><td align="left"><code class="code">reference_wrapper</code> helper functions</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">2.2</td><td align="left">Smart pointers</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">2.2.1</td><td align="left">Additions to header <code class="code"><memory></code> synopsis</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">2.2.2</td><td align="left">Class <code class="code">bad_weak_ptr</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">2.2.3</td><td align="left">Class template <code class="code">shared_ptr</code></td><td align="left"> </td><td align="left"> <p> Uses code from <a class="link" href="http://www.boost.org/libs/smart_ptr/shared_ptr.htm" target="_top">boost::shared_ptr</a>. @@ -1546,7 +1604,7 @@ decimal floating-point arithmetic </p><p> This page describes the TR 24733 support in mainline GCC, not in any particular release. -</p><div class="table"><a id="table.decfp_status"></a><p class="title"><strong>Table 1.9. C++ TR 24733 Implementation Status</strong></p><div class="table-contents"><table class="table" summary="C++ TR 24733 Implementation Status" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /></colgroup><thead><tr><th align="left">Section</th><th align="left">Description</th><th align="left">Status</th><th align="left">Comments</th></tr></thead><tbody><tr><td align="left"> +</p><div class="table"><a id="table.decfp_status"></a><p class="title"><strong>Table 1.10. C++ TR 24733 Implementation Status</strong></p><div class="table-contents"><table class="table" summary="C++ TR 24733 Implementation Status" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /></colgroup><thead><tr><th align="left">Section</th><th align="left">Description</th><th align="left">Status</th><th align="left">Comments</th></tr></thead><tbody><tr><td align="left"> <span class="emphasis"><em>0</em></span> </td><td colspan="3" align="left"> <span class="emphasis"><em>Introduction</em></span> @@ -1586,7 +1644,7 @@ non-strict modes (i.e. <code class="code">-std=gnu++NN</code> modes) the hypergeometric functions and confluent hypergeometric functions from TR1 are also provided, defined in namespace <code class="code">__gnu_cxx</code>. -</p><div class="table"><a id="table.specfun_status"></a><p class="title"><strong>Table 1.10. C++ Special Functions Implementation Status</strong></p><div class="table-contents"><table class="table" summary="C++ Special Functions Implementation Status" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /></colgroup><thead><tr><th align="left">Section</th><th align="left">Description</th><th align="left">Status</th><th align="left">Comments</th></tr></thead><tbody><tr bgcolor="#B0B0B0"><td align="left">7</td><td align="left">Macro names</td><td align="left">Partial</td><td align="left">No diagnostic for inconsistent definitions of +</p><div class="table"><a id="table.specfun_status"></a><p class="title"><strong>Table 1.11. C++ Special Functions Implementation Status</strong></p><div class="table-contents"><table class="table" summary="C++ Special Functions Implementation Status" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /></colgroup><thead><tr><th align="left">Section</th><th align="left">Description</th><th align="left">Status</th><th align="left">Comments</th></tr></thead><tbody><tr bgcolor="#B0B0B0"><td align="left">7</td><td align="left">Macro names</td><td align="left">Partial</td><td align="left">No diagnostic for inconsistent definitions of <code class="code">__STDCPP_WANT_MATH_SPEC_FUNCS__</code></td></tr><tr><td align="left">8</td><td align="left">Mathematical special functions</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.1</td><td align="left">Additions to header <code class="code"><cmath></code> synopsis</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.1.1</td><td align="left">associated Laguerre polynomials</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.1.2</td><td align="left">associated Legendre functions</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.1.3</td><td align="left">beta function</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.1.4</td><td align="left">(complete) elliptic integral of the first kind</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.1.5</td><td align="left">(complete) elliptic integral of the second kind</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.1.6</td><td align="left">(complete) elliptic integral of the third kind</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.1.7</td><td align="left">regular modified cylindrical Bessel functions</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.1.8</td><td align="left">cylindrical Bessel functions (of the first kind)</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.1.9</td><td align="left">irregular modified cylindrical Bessel functions</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.1.10</td><td align="left">cylindrical Neumann functions</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.1.11</td><td align="left">(incomplete) elliptic integral of the first kind</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.1.12</td><td align="left">(incomplete) elliptic integral of the second kind</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.1.13</td><td align="left">(incomplete) elliptic integral of the third kind</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.1.14</td><td align="left">exponential integral</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.1.15</td><td align="left">Hermite polynomials</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.1.16</td><td align="left">Laguerre polynomials</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.1.17</td><td align="left">Legendre polynomials</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.1.18</td><td align="left">Riemann zeta function</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.1.19</td><td align="left">spherical Bessel functions (of the first kind)</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.1.20</td><td align="left">spherical associated Legendre functions</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.1.21</td><td align="left">spherical Neumann functions</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.2</td><td align="left">Additions to header <code class="code"><math.h></code></td><td align="left">Y</td><td align="left"> </td></tr><tr bgcolor="#B0B0B0"><td align="left">8.3</td><td align="left">The header <code class="code"><ctgmath></code></td><td align="left">Partial</td><td align="left">Conflicts with C++ 2011 requirements.</td></tr><tr bgcolor="#C8B0B0"><td align="left">8.4</td><td align="left">The header <code class="code"><tgmath.h></code></td><td align="left">N</td><td align="left">Conflicts with C++ 2011 requirements.</td></tr></tbody></table></div></div><br class="table-break" /><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="iso.specfun.specific"></a>Implementation Specific Behavior</h4></div></div></div><p>For behaviour which is specified by the 2011 standard, see <a class="link" href="status.html#iso.2011.specific" title="Implementation Specific Behavior">C++ 2011 Implementation Specific Behavior</a>. This section documents behaviour which diff --git a/libstdc++-v3/doc/xml/manual/status_cxx1998.xml b/libstdc++-v3/doc/xml/manual/status_cxx1998.xml index cf57223..792272b 100644 --- a/libstdc++-v3/doc/xml/manual/status_cxx1998.xml +++ b/libstdc++-v3/doc/xml/manual/status_cxx1998.xml @@ -1,4 +1,4 @@ -<section xmlns="http://docbook.org/ns/docbook" version="5.0" +<section xmlns="http://docbook.org/ns/docbook" version="5.0" xml:id="status.iso.1998" xreflabel="ISO C++ 1998"> <?dbhtml filename="status_iso_cxx1998.html"?> @@ -11,14 +11,14 @@ <section xml:id="iso.1998.status" xreflabel="Implementation Status"> -<info><title>Implementation Status</title></info> +<info><title>Implementation Status</title></info> <para> This status table is based on the table of contents of ISO/IEC 14882:2003. </para> <para> -This page describes the C++ support in mainline GCC, not in any +This section describes the C++ support in mainline GCC, not in any particular release. </para> @@ -1030,7 +1030,7 @@ particular release. </section> <section xml:id="iso.1998.specific" xreflabel="Implementation Specific"><info><title>Implementation Specific Behavior</title></info> - + <para> The ISO standard defines the following phrase: diff --git a/libstdc++-v3/doc/xml/manual/status_cxx2011.xml b/libstdc++-v3/doc/xml/manual/status_cxx2011.xml index 9d2de53..e8f8784 100644 --- a/libstdc++-v3/doc/xml/manual/status_cxx2011.xml +++ b/libstdc++-v3/doc/xml/manual/status_cxx2011.xml @@ -1,4 +1,4 @@ -<section xmlns="http://docbook.org/ns/docbook" version="5.0" +<section xmlns="http://docbook.org/ns/docbook" version="5.0" xml:id="status.iso.2011" xreflabel="Status C++ 2011"> <?dbhtml filename="status_iso_cxx2011.html"?> @@ -27,7 +27,11 @@ presence of the required flag. </para> <para> -This page describes the C++11 support in mainline GCC, not in any +This status table is based on the table of contents of ISO/IEC 14882:2011. +</para> + +<para> +This section describes the C++11 support in mainline GCC, not in any particular release. </para> @@ -71,7 +75,7 @@ particular release. <row> <entry>18.1</entry> <entry>General</entry> - <entry>Y</entry> + <entry/> <entry/> </row> <row> @@ -265,7 +269,7 @@ particular release. <row> <entry>19.1</entry> <entry>General</entry> - <entry>Y</entry> + <entry/> <entry/> </row> <row> @@ -350,13 +354,13 @@ particular release. </row> <row> <entry>20.2.2</entry> - <entry>Swap</entry> + <entry>swap</entry> <entry>Y</entry> <entry/> </row> <row> <entry>20.2.3</entry> - <entry><code>forward</code> and <code>move</code> helpers</entry> + <entry>forward/move helpers</entry> <entry>Y</entry> <entry/> </row> @@ -627,7 +631,7 @@ particular release. <row> <entry>20.7.2</entry> <entry>Shared-ownership pointers</entry> - <entry>Y</entry> + <entry/> <entry/> </row> <row> @@ -653,7 +657,7 @@ particular release. </row> <row> <entry>20.7.2.4</entry> - <entry>Class template <code>emable_shared_from_this</code></entry> + <entry>Class template <code>enable_shared_from_this</code></entry> <entry>Y</entry> <entry/> </row> @@ -1115,9 +1119,7 @@ particular release. <entry>21.7</entry> <entry>Null-terminated sequence utilities</entry> <entry>Partial</entry> - <entry>C library dependency. - Missing <filename class="headerfile"><cuchar></filename> - </entry> + <entry>C library dependency. </entry> </row> <row> <entry> @@ -1636,7 +1638,7 @@ particular release. <row> <entry>26.1</entry> <entry>General</entry> - <entry>Y</entry> + <entry/> <entry/> </row> <row> @@ -1989,31 +1991,31 @@ particular release. </row> <row> <entry>26.7.2</entry> - <entry><code>accumulate</code></entry> + <entry>Accumulate></entry> <entry>Y</entry> <entry/> </row> <row> <entry>26.7.3</entry> - <entry><code>inner_product</code></entry> + <entry>Inner product</entry> <entry>Y</entry> <entry/> </row> <row> <entry>26.7.4</entry> - <entry><code>partial_sum</code></entry> + <entry>Partial sum</entry> <entry>Y</entry> <entry/> </row> <row> <entry>26.7.5</entry> - <entry><code>adjacent_difference</code></entry> + <entry>Adjacent difference</entry> <entry>Y</entry> <entry/> </row> <row> <entry>26.7.6</entry> - <entry>iota</entry> + <entry>Iota</entry> <entry>Y</entry> <entry/> </row> @@ -2231,10 +2233,9 @@ particular release. <entry/> </row> <row> - <?dbhtml bgcolor="#B0B0B0" ?> <entry>29.3</entry> <entry>Order and consistency</entry> - <entry>Partial</entry> + <entry>Y</entry> <entry/> </row> <row> @@ -2397,10 +2398,14 @@ particular release. <entry/> </row> <row> + <?dbhtml bgcolor="#B0B0B0" ?> <entry>30.4.4.2</entry> <entry>Function <code>call_once</code></entry> - <entry>Y</entry> - <entry/> + <entry>Broken</entry> + <entry>See <link xmlns:xlink="http://www.w3.org/1999/xlink" + xlink:href="https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66146">PR + 66146</link> + </entry> </row> <row> <entry>30.5</entry> @@ -2515,43 +2520,43 @@ particular release. <row> <entry>D.5</entry> <entry>C standard library headers</entry> - <entry/> + <entry>Y</entry> <entry/> </row> <row> <entry>D.6</entry> <entry>Old iostreams members</entry> - <entry/> + <entry>Y</entry> <entry/> </row> <row> <entry>D.7</entry> <entry><code>char*</code> streams</entry> - <entry/> + <entry>Y</entry> <entry/> </row> <row> <entry>D.8</entry> <entry>Function objects</entry> - <entry/> + <entry>Y</entry> <entry/> </row> <row> <entry>D.9</entry> <entry>Binders</entry> - <entry/> + <entry>Y</entry> <entry/> </row> <row> <entry>D.10</entry> <entry><code>auto_ptr</code></entry> - <entry/> + <entry>Y</entry> <entry/> </row> <row> <entry>D.11</entry> <entry>Violating exception-specifications</entry> - <entry/> + <entry>Y</entry> <entry/> </row> diff --git a/libstdc++-v3/doc/xml/manual/status_cxx2014.xml b/libstdc++-v3/doc/xml/manual/status_cxx2014.xml index a0b900d..0d138ab 100644 --- a/libstdc++-v3/doc/xml/manual/status_cxx2014.xml +++ b/libstdc++-v3/doc/xml/manual/status_cxx2014.xml @@ -1,4 +1,4 @@ -<section xmlns="http://docbook.org/ns/docbook" version="5.0" +<section xmlns="http://docbook.org/ns/docbook" version="5.0" xml:id="status.iso.2014" xreflabel="Status C++ 2014"> <?dbhtml filename="status_iso_cxx2014.html"?> @@ -20,10 +20,25 @@ presence of the required flag. </para> <para> -This page describes the C++14 and library TS support in mainline GCC, +This status table is based on the table of contents of ISO/IEC 14882:2014. +Some subclauses are not shown in the table where the content is unchanged +since C++11 and the implementation is complete. +</para> + +<para> +This section describes the C++14 and library TS support in mainline GCC, not in any particular release. </para> +<!-- Status is Yes or No, Broken/Partial--> +<!-- + Yes + + No + <?dbhtml bgcolor="#C8B0B0" ?> + Broken/Partial + <?dbhtml bgcolor="#B0B0B0" ?> +--> <table frame="all" xml:id="table.cxx14_status"> <title>C++ 2014 Implementation Status</title> @@ -32,10 +47,10 @@ not in any particular release. <colspec colname="c2"/> <colspec colname="c3"/> <colspec colname="c4"/> - <thead> +<thead> <row> - <entry>Paper</entry> - <entry>Title</entry> + <entry>Section</entry> + <entry>Description</entry> <entry>Status</entry> <entry>Comments</entry> </row> @@ -45,211 +60,1502 @@ not in any particular release. <row> <entry> - <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/JTC1/sc22/WG21/docs/papers/2013/n3669.pdf"> - N3669 - </link> + <emphasis>18</emphasis> </entry> - <entry>Fixing constexpr member functions without const</entry> + <entry namest="c2" nameend="c4" align="left"> + <emphasis>Language support</emphasis> + </entry> + </row> + + <row> + <entry>18.1</entry> + <entry>General</entry> + <entry/> + <entry/> + </row> + <row> + <entry>18.2</entry> + <entry>Types</entry> <entry>Y</entry> <entry/> </row> + <row> + <entry>18.3</entry> + <entry>Implementation properties</entry> + <entry/> + <entry/> + </row> <row> - <entry> - <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/JTC1/sc22/WG21/docs/papers/2013/n3668.html"> - N3668 - </link> - </entry> - <entry><code>exchange()</code> utility function</entry> + <entry>18.3.2</entry> + <entry>Numeric Limits</entry> + <entry/> + <entry/> + </row> + <row> + <entry>18.3.2.3</entry> + <entry>Class template <code>numeric_limits</code></entry> <entry>Y</entry> <entry/> </row> - <row> - <entry> - <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/JTC1/sc22/WG21/docs/papers/2013/n3670.html"> - N3670 - </link> - </entry> - <entry>Wording for Addressing Tuples by Type</entry> + <entry>18.3.2.4</entry> + <entry><code>numeric_limits</code> members</entry> <entry>Y</entry> <entry/> </row> - <row> - <entry> - <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/JTC1/sc22/WG21/docs/papers/2013/n3656.htm"> - N3656 - </link> - </entry> - <entry><code>make_unique</code></entry> + <?dbhtml bgcolor="#C8B0B0" ?> + <entry>18.3.2.5</entry> + <entry><code>float_round_style</code></entry> + <entry>N</entry> + <entry/> + </row> + <row> + <?dbhtml bgcolor="#C8B0B0" ?> + <entry>18.3.2.6</entry> + <entry><code>float_denorm_style</code></entry> + <entry>N</entry> + <entry/> + </row> + <row> + <entry>18.3.2.7</entry> + <entry><code>numeric_limits</code> specializations</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>18.3.3</entry> + <entry>C Library</entry> <entry>Y</entry> <entry/> </row> <row> + <entry>18.4</entry> + <entry>Integer types</entry> + <entry/> + <entry/> + </row> + <row> + <entry>18.4.1</entry> + <entry>Header <code><cstdint></code> synopsis</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <?dbhtml bgcolor="#B0B0B0" ?> + <entry>18.5</entry> + <entry>Start and termination</entry> + <entry>Partial</entry> + <entry>C library dependency for quick_exit, at_quick_exit</entry> + </row> + <row> + <entry>18.6</entry> + <entry>Dynamic memory management</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>18.7</entry> + <entry>Type identification</entry> + <entry/> + <entry/> + </row> + <row> + <entry>18.7.1</entry> + <entry>Class type_info</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>18.7.2</entry> + <entry>Class bad_cast</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>18.7.3</entry> + <entry>Class bad_typeid</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>18.8</entry> + <entry>Exception handling</entry> + <entry/> + <entry/> + </row> + <row> + <entry>18.8.1</entry> + <entry>Class exception</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>18.8.2</entry> + <entry>Class bad_exception</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>18.8.3</entry> + <entry>Abnormal termination</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>18.8.4</entry> + <entry><code>uncaught_exception</code></entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>18.8.5</entry> + <entry>Exception Propagation</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>18.8.6</entry> + <entry><code>nested_exception</code></entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>18.9</entry> + <entry>Initializer lists</entry> + <entry/> + <entry/> + </row> + <row> + <entry>18.9.1</entry> + <entry>Initializer list constructors</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>18.9.2</entry> + <entry>Initializer list access</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>18.9.3</entry> + <entry>Initializer list range access</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>18.10</entry> + <entry>Other runtime support</entry> + <entry>Y</entry> + <entry/> + </row> + <row> <entry> - <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/JTC1/sc22/WG21/docs/papers/2012/n3462.html"> - N3462 - </link> + <emphasis>19</emphasis> + </entry> + <entry namest="c2" nameend="c4" align="left"> + <emphasis>Diagnostics</emphasis> </entry> - <entry><code>std::result_of</code> and SFINAE</entry> + </row> + <row> + <entry>19.1</entry> + <entry>General</entry> + <entry/> + <entry/> + </row> + <row> + <entry>19.2</entry> + <entry>Exception classes</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>19.3</entry> + <entry>Assertions</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>19.4</entry> + <entry>Error numbers</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>19.5</entry> + <entry>System error support</entry> + <entry/> + <entry/> + </row> + <row> + <entry>19.5.1</entry> + <entry>Class <code>error_category</code></entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>19.5.2</entry> + <entry>Class <code>error_code</code></entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>19.5.3</entry> + <entry>Class <code>error_condition</code></entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>19.5.4</entry> + <entry>Comparison operators</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>19.5.5</entry> + <entry>Class <code>system_error</code></entry> <entry>Y</entry> <entry/> </row> - <row> <entry> - <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/JTC1/sc22/WG21/docs/papers/2013/n3545.pdf"> - N3545 - </link> + <emphasis>20</emphasis> + </entry> + <entry namest="c2" nameend="c4" align="left"> + <emphasis>General utilities</emphasis> </entry> - <entry>An Incremental Improvement to <code>integral_constant</code></entry> + </row> + <row> + <entry>20.1</entry> + <entry>General</entry> + <entry/> + <entry/> + </row> + <row> + <entry>20.2</entry> + <entry>Utility components</entry> + <entry/> + <entry/> + </row> + <row> + <entry>20.2.1</entry> + <entry>Operators</entry> <entry>Y</entry> <entry/> </row> - <row> + <entry>20.2.2</entry> + <entry>swap</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>20.2.3</entry> + <entry>exchange</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>20.2.4</entry> + <entry>forward/move helpers</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>20.2.5</entry> + <entry>Function template <code>declval</code></entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>20.3</entry> + <entry>Pairs</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>20.4</entry> + <entry>Tuples</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>20.5</entry> + <entry>Compile-time integer sequences</entry> + <entry/> + <entry/> + </row> + <row> + <entry>20.5.2</entry> + <entry>Class template <code>integer_sequence</code></entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>20.5.3</entry> + <entry>Alias template <code>make_integer_sequence</code></entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>20.6</entry> + <entry>Class template <code>bitset</code></entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>20.7</entry> + <entry>Memory</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>20.8</entry> + <entry>Smart pointers</entry> + <entry/> + <entry/> + </row> + <row> + <entry>20.8.1</entry> + <entry>Class template <code>unique_ptr</code></entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>20.8.1.1</entry> + <entry>Default deleters</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>20.8.1.2</entry> + <entry><code>unique_ptr</code> for single objects</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>20.8.1.3</entry> + <entry><code>unique_ptr</code> for array objects with a runtime length</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>20.8.1.4</entry> + <entry><code>unique_ptr</code> creation</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>20.8.1.5</entry> + <entry><code>unique_ptr</code> specialized algorithms</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>20.8.2</entry> + <entry>Shared-ownership pointers</entry> + <entry/> + <entry/> + </row> + <row> + <entry>20.8.2.1</entry> + <entry>Class <code>bad_weak_ptr</code></entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>20.8.2.2</entry> + <entry>Class template <code>shared_ptr</code></entry> + <entry>Y</entry> <entry> - <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/JTC1/sc22/WG21/docs/papers/2013/n3642.pdf"> - N3642 - </link> + Uses code from + <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.boost.org/libs/smart_ptr/shared_ptr.htm">boost::shared_ptr</link>. </entry> - <entry>User-defined Literals for Standard Library Types</entry> + </row> + <row> + <entry>20.8.2.3</entry> + <entry>Class template <code>weak_ptr</code></entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>20.8.2.4</entry> + <entry>Class template <code>owner_less</code></entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>20.8.2.5</entry> + <entry>Class template <code>enable_shared_from_this</code></entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>20.8.2.6</entry> + <entry><code>shared_ptr</code> atomic access</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>20.8.2.7</entry> + <entry>Smart pointer hash support</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>20.9</entry> + <entry>Function objects</entry> + <entry/> + <entry/> + </row> + <row> + <entry>20.9.1</entry> + <entry>Definitions</entry> + <entry/> + <entry/> + </row> + <row> + <entry>20.9.2</entry> + <entry>Requirements</entry> + <entry/> + <entry/> + </row> + <row> + <entry>20.9.3</entry> + <entry>Class template <code>reference_wrapper</code></entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>20.9.4</entry> + <entry>Arithmetic operation</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>20.9.5</entry> + <entry>Comparisons</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>20.8.6</entry> + <entry>Logical operations</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>20.9.7</entry> + <entry>Bitwise operations</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>20.9.8</entry> + <entry>Negators</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>20.9.9</entry> + <entry>Function object binders</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>20.9.10</entry> + <entry>Function template <code>mem_fn</code></entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>20.9.11</entry> + <entry>Polymorphic function wrappers</entry> + <entry/> + <entry/> + </row> + <row> + <entry>20.9.11.1</entry> + <entry>Class <code>bad_function_call</code></entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <?dbhtml bgcolor="#B0B0B0" ?> + <entry>20.9.11.2</entry> + <entry>Class template <code>function</code></entry> + <entry>Partial</entry> + <entry>Missing allocator support</entry> + </row> + <row> + <entry>20.9.12</entry> + <entry>Class template <code>hash</code></entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>20.10</entry> + <entry>Metaprogramming and type traits</entry> + <entry/> + <entry/> + </row> + <row> + <entry>20.10.1</entry> + <entry>Requirements</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>20.10.2</entry> + <entry>Header <code><type_traits></code> synopsis</entry> + <entry/> + <entry/> + </row> + <row> + <entry>20.10.3</entry> + <entry>Helper classes</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>20.10.4</entry> + <entry>Unary Type Traits</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>20.10.5</entry> + <entry>Type property queries</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>20.10.6</entry> + <entry>Relationships between types</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>20.10.7</entry> + <entry>Transformations between types</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>20.11</entry> + <entry>Compile-time rational arithmetic</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>20.12</entry> + <entry>Time utilities</entry> + <entry/> + <entry/> + </row> + <row> + <entry>20.12.3</entry> + <entry>Clock requirements</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>20.12.4</entry> + <entry>Time-related traits</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>20.12.5</entry> + <entry>Class template <code>duration</code></entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>20.12.5.8</entry> + <entry>Suffixes for duration literals</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>20.12.6</entry> + <entry>Class template <code>time_point</code></entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>20.12.7</entry> + <entry>Clocks</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>20.12.8</entry> + <entry>Date and time functions</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>20.13</entry> + <entry>Scoped allocator adaptor</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>20.14</entry> + <entry>Class <code>type_index</code></entry> <entry>Y</entry> <entry/> </row> - <row> <entry> - <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/JTC1/sc22/WG21/docs/papers/2013/n3671.html"> - N3671 - </link> + <emphasis>21</emphasis> + </entry> + <entry namest="c2" nameend="c4" align="left"> + <emphasis>Strings</emphasis> </entry> - <entry>Making non-modifying sequence operations more robust</entry> + </row> + <row> + <entry>21.1</entry> + <entry>General</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>21.2</entry> + <entry>Character traits</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>21.3</entry> + <entry>String classes</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>21.4</entry> + <entry>Class template <code>basic_string</code></entry> <entry>Y</entry> <entry/> </row> - + <row> + <entry>21.5</entry> + <entry>Numeric Conversions</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>21.6</entry> + <entry>Hash support</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>21.7</entry> + <entry>Suffixes for <code>basic_string</code> literals</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <?dbhtml bgcolor="#B0B0B0" ?> + <entry>21.7</entry> + <entry>Null-terminated sequence utilities</entry> + <entry>Partial</entry> + <entry>C library dependency. </entry> + </row> <row> <entry> - <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/JTC1/sc22/WG21/docs/papers/2013/n3654.html"> - N3654 - </link> + <emphasis>22</emphasis> </entry> - <entry>Quoted Strings Library Proposal</entry> + <entry namest="c2" nameend="c4" align="left"> + <emphasis>Localization</emphasis> + </entry> + </row> + <row> + <entry>22.1</entry> + <entry>General</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>22.2</entry> + <entry>Header <code><locale></code> synopsis</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>22.3</entry> + <entry>Locales</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>22.4</entry> + <entry>Standard <code>locale</code> categories</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>22.5</entry> + <entry>Standard code conversion facets</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>22.6</entry> + <entry>C Library Locales</entry> <entry>Y</entry> <entry/> </row> - - <row> <entry> - <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/JTC1/sc22/WG21/docs/papers/2012/n3469.html"> - N3469 - </link> + <emphasis>23</emphasis> + </entry> + <entry namest="c2" nameend="c4" align="left"> + <emphasis>Containers</emphasis> </entry> - <entry>Constexpr Library Additions: chrono</entry> + </row> + <row> + <entry>23.1</entry> + <entry>General</entry> + <entry/> + <entry/> + </row> + <row> + <entry>23.2</entry> + <entry>Container requirements</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>23.3</entry> + <entry>Sequence containers</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>23.4</entry> + <entry>Associative containers</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>23.5</entry> + <entry>Unordered associative containers</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>23.6</entry> + <entry>Container adaptors</entry> <entry>Y</entry> <entry/> </row> - <row> <entry> - <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/JTC1/sc22/WG21/docs/papers/2012/n3470.html"> - N3470 - </link> + <emphasis>24</emphasis> + </entry> + <entry namest="c2" nameend="c4" align="left"> + <emphasis>Iterators</emphasis> </entry> - <entry>Constexpr Library Additions: containers</entry> + </row> + <row> + <entry>24.1</entry> + <entry>General</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>24.2</entry> + <entry>Iterator requirements</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>24.3</entry> + <entry>Header <code><iterator></code> synopsis</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>24.4</entry> + <entry>Iterator primitives</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>24.5</entry> + <entry>Iterator adaptors</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>24.6</entry> + <entry>Stream iterators</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>24.7</entry> + <entry>range access</entry> <entry>Y</entry> <entry/> </row> - <row> <entry> - <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/JTC1/sc22/WG21/docs/papers/2012/n3471.html"> - N3471 - </link> + <emphasis>25</emphasis> + </entry> + <entry namest="c2" nameend="c4" align="left"> + <emphasis>Algorithms</emphasis> </entry> - <entry>Constexpr Library Additions: utilities</entry> + </row> + <row> + <entry>25.1</entry> + <entry>General</entry> + <entry/> + <entry/> + </row> + <row> + <entry>25.2</entry> + <entry>Non-modifying sequence operations</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>25.3</entry> + <entry>Mutating sequence operations</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>25.4</entry> + <entry>Sorting and related operations</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>25.5</entry> + <entry>C library algorithms</entry> <entry>Y</entry> <entry/> </row> - - <row> <entry> - <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/JTC1/sc22/WG21/docs/papers/2013/n3658.html"> - N3658 - </link> + <emphasis>26</emphasis> </entry> - <entry>Compile-time integer sequences</entry> + <entry namest="c2" nameend="c4" align="left"> + <emphasis>Numerics</emphasis> + </entry> + </row> + <row> + <entry>26.1</entry> + <entry>General</entry> + <entry/> + <entry/> + </row> + <row> + <entry>26.2</entry> + <entry>Numeric type requirements</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>26.3</entry> + <entry>The floating-point environment</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>26.4</entry> + <entry>Complex numbers</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>26.4.10</entry> + <entry>Suffixes for complex number literals</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>26.5</entry> + <entry>Random number generation</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>26.6</entry> + <entry>Numeric arrays</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>26.7</entry> + <entry>Generalized numeric operations</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>26.8</entry> + <entry>C Library</entry> <entry>Y</entry> <entry/> </row> - <row> <entry> - <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/JTC1/sc22/WG21/docs/papers/2013/n3659.html"> - N3659 - </link> + <emphasis>27</emphasis> </entry> - <entry>Shared Locking in C++</entry> + <entry namest="c2" nameend="c4" align="left"> + <emphasis>Input/output library</emphasis> + </entry> + </row> + <row> + <entry>27.1</entry> + <entry>General</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>27.2</entry> + <entry>Iostreams requirements</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>27.2.1</entry> + <entry>Imbue Limitations</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>27.2.2</entry> + <entry>Positioning Type Limitations</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <?dbhtml bgcolor="#B0B0B0" ?> + <entry>27.2.3</entry> + <entry>Thread safety</entry> + <entry>Partial</entry> + <entry/> + </row> + <row> + <entry>27.3</entry> + <entry>Forward declarations</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>27.4</entry> + <entry>Standard iostream objects</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>27.5</entry> + <entry>Iostreams base classes</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>27.6</entry> + <entry>Stream buffers</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>27.7</entry> + <entry>Formatting and manipulators</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>27.7.6</entry> + <entry>Quoted manipulators</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>27.8</entry> + <entry>String-based streams</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>27.9</entry> + <entry>File-based streams</entry> <entry>Y</entry> <entry/> </row> - - <row> <entry> - <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/JTC1/sc22/WG21/docs/papers/2012/n3421.htm"> - N3421 - </link> + <emphasis>28</emphasis> </entry> - <entry>Making Operator Functors greater<></entry> + <entry namest="c2" nameend="c4" align="left"> + <emphasis>Regular expressions</emphasis> + </entry> + </row> + <row> + <entry>28.1</entry> + <entry>General</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>28.2</entry> + <entry>Definitions</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>28.3</entry> + <entry>Requirements</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>28.4</entry> + <entry>Header <code><regex></code> synopsis</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>28.5</entry> + <entry>Namespace <code>std::regex_constants</code></entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>28.6</entry> + <entry>Class <code>regex_error</code></entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <?dbhtml bgcolor="#B0B0B0" ?> + <entry>28.7</entry> + <entry>Class template <code>regex_traits</code></entry> + <entry>Partial</entry> + <entry><code>transform_primary</code> is not correctly implemented</entry> + <entry/> + </row> + <row> + <entry>28.8</entry> + <entry>Class template <code>basic_regex</code></entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>28.9</entry> + <entry>Class template <code>sub_match</code></entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>28.10</entry> + <entry>Class template <code>match_results</code></entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>28.11</entry> + <entry>Regular expression algorithms</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>28.12</entry> + <entry>Regular expression Iterators</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>28.13</entry> + <entry>Modified ECMAScript regular expression grammar</entry> <entry>Y</entry> <entry/> </row> - <row> <entry> - <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/JTC1/sc22/WG21/docs/papers/2013/n3657.htm"> - N3657 - </link> + <emphasis>29</emphasis> </entry> - <entry>Adding heterogeneous comparison lookup to associative containers</entry> + <entry namest="c2" nameend="c4" align="left"> + <emphasis>Atomic operations</emphasis> + </entry> + </row> + <row> + <entry>29.1</entry> + <entry>General</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>29.2</entry> + <entry>Header <code><atomic></code> synopsis</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>29.3</entry> + <entry>Order and consistency</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>29.4</entry> + <entry>Lock-free property</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>29.5</entry> + <entry>Atomic types</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>29.6</entry> + <entry>Operations on atomic types</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>29.7</entry> + <entry>Flag Type and operations</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>29.8</entry> + <entry>Fences</entry> <entry>Y</entry> <entry/> </row> - <row> <entry> - <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/JTC1/sc22/WG21/docs/papers/2013/n3655.pdf"> - N3655 - </link> + <emphasis>30</emphasis> + </entry> + <entry namest="c2" nameend="c4" align="left"> + <emphasis>Thread support</emphasis> </entry> - <entry>TransformationTraits Redux</entry> + </row> + <row> + <entry>30.1</entry> + <entry>General</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>30.2</entry> + <entry>Requirements</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>30.3</entry> + <entry>Threads</entry> + <entry/> + <entry/> + </row> + <row> + <?dbhtml bgcolor="#B0B0B0" ?> + <entry>30.3.1</entry> + <entry>Class <code>thread</code></entry> + <entry>Partial</entry> + <entry><code>thread::id</code> comparisons not well-defined</entry> + </row> + <row> + <entry>30.3.2</entry> + <entry>Namespace <code>this_thread</code></entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>30.4</entry> + <entry>Mutual exclusion</entry> + <entry/> + <entry/> + </row> + <row> + <entry>30.4.1</entry> + <entry>Mutex requirements</entry> + <entry/> + <entry/> + </row> + <row> + <entry>30.4.1.1</entry> + <entry>In general</entry> + <entry/> + <entry/> + </row> + <row> + <entry>30.4.1.2</entry> + <entry>Mutex types</entry> + <entry/> + <entry/> + </row> + <row> + <entry>30.4.1.2.1</entry> + <entry>Class <code>mutex</code></entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>30.4.1.2.2</entry> + <entry>Class <code>recursive_mutex</code></entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>30.4.1.3</entry> + <entry>Timed mutex types</entry> + <entry/> + <entry/> + </row> + <row> + <entry>30.4.1.3.1</entry> + <entry>Class <code>timed_mutex</code></entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>30.4.1.3.2</entry> + <entry>Class <code>recursive_timed_mutex</code></entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>30.4.1.4</entry> + <entry>Shared timed mutex types</entry> + <entry/> + <entry/> + </row> + <row> + <entry>30.4.1.4.1</entry> + <entry>Class <code>shared_timed_mutex</code></entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>30.4.2</entry> + <entry>Locks</entry> + <entry/> + <entry/> + </row> + <row> + <entry>30.4.2.1</entry> + <entry>Class template <code>lock_guard</code></entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>30.4.2.2</entry> + <entry>Class template <code>unique_lock</code></entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>30.4.2.3</entry> + <entry>Class template <code>shared_lock</code></entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>30.4.3</entry> + <entry>Generic locking algorithms</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>30.4.4</entry> + <entry>Call once</entry> + <entry/> + <entry/> + </row> + <row> + <entry>30.4.4.1</entry> + <entry>Struct <code>once_flag</code></entry> <entry>Y</entry> <entry/> </row> - <row> <?dbhtml bgcolor="#B0B0B0" ?> + <entry>30.4.4.2</entry> + <entry>Function <code>call_once</code></entry> + <entry>Broken</entry> + <entry>See <link xmlns:xlink="http://www.w3.org/1999/xlink" + xlink:href="https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66146">PR + 66146</link> + </entry> + </row> + <row> + <entry>30.5</entry> + <entry>Condition variables</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>30.5.1</entry> + <entry>Class <code>condition_variable</code></entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>30.5.2</entry> + <entry>Class <code>condition_variable_any</code></entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>30.6</entry> + <entry>Futures</entry> + <entry/> + <entry/> + </row> + <row> + <entry>30.6.1</entry> + <entry>Overview</entry> + <entry/> + <entry/> + </row> + <row> + <entry>30.6.2</entry> + <entry>Error handling</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>30.6.3</entry> + <entry>Class <code>future_error</code></entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>30.6.4</entry> + <entry>Shared state</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>30.6.5</entry> + <entry>Class template <code>promise</code></entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>30.6.6</entry> + <entry>Class template <code>future</code></entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>30.6.7</entry> + <entry>Class template <code>shared_future</code></entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>30.6.8</entry> + <entry>Function template <code>async</code></entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>30.6.9</entry> + <entry>Class template <code>packaged_task</code></entry> + <entry>Y</entry> + <entry/> + </row> + <row> <entry> - <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/JTC1/sc22/WG21/docs/papers/2013/n3644.pdf"> - N3644 - </link> + <emphasis>Appendix D</emphasis> </entry> - <entry>Null Forward Iterators</entry> - <entry>Partial</entry> - <entry>Only affects Debug Mode</entry> + <entry namest="c2" nameend="c4" align="left"> + <emphasis>Compatibility features</emphasis> + </entry> + </row> + <row> + <entry>D.1</entry> + <entry>Increment operator with <code>bool</code> operand</entry> + <entry/> + <entry/> + </row> + <row> + <entry>D.2</entry> + <entry><code>register</code> keyword</entry> + <entry/> + <entry/> + </row> + <row> + <entry>D.3</entry> + <entry>Implicit declaration of copy functions</entry> + <entry/> + <entry/> + </row> + <row> + <entry>D.4</entry> + <entry>Dynamic exception specifications</entry> + <entry/> + <entry/> + </row> + <row> + <entry>D.5</entry> + <entry>C standard library headers</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>D.6</entry> + <entry>Old iostreams members</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>D.7</entry> + <entry><code>char*</code> streams</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>D.8</entry> + <entry>Function objects</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>D.9</entry> + <entry>Binders</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>D.10</entry> + <entry><code>auto_ptr</code></entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>D.11</entry> + <entry>Violating exception-specifications</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>D.12</entry> + <entry>Random shuffle</entry> + <entry>Y</entry> + <entry/> </row> </tbody> </tgroup> </table> - <table frame="all" xml:id="table.ts_status"> <title>C++ Technical Specifications Implementation Status</title> diff --git a/libstdc++-v3/doc/xml/manual/status_cxx2017.xml b/libstdc++-v3/doc/xml/manual/status_cxx2017.xml index 188c3f8..0f03126 100644 --- a/libstdc++-v3/doc/xml/manual/status_cxx2017.xml +++ b/libstdc++-v3/doc/xml/manual/status_cxx2017.xml @@ -1,4 +1,4 @@ -<section xmlns="http://docbook.org/ns/docbook" version="5.0" +<section xmlns="http://docbook.org/ns/docbook" version="5.0" xml:id="status.iso.2017" xreflabel="Status C++ 2017"> <?dbhtml filename="status_iso_cxx2017.html"?> @@ -35,8 +35,8 @@ The "SD-6 Feature Test" column shows the corresponding macro or header from Feature-testing recommendations for C++</link>. </para> -<table frame="all" xml:id="table.cxx17_status"> -<title>C++ 2017 Implementation Status</title> +<table frame="all" xml:id="table.cxx17_features"> +<title>C++ 2017 Library Features</title> <tgroup cols="4" align="left" colsep="0" rowsep="1"> <colspec colname="c1"/> @@ -469,7 +469,7 @@ Feature-testing recommendations for C++</link>. </link> </entry> <entry align="center"> 7.1 </entry> - <entry><code> __cpp_lib_is_callable >= 201603 </code></entry> + <entry><code> __cpp_lib_is_invocable >= 201703 </code></entry> </row> <row> @@ -854,6 +854,1865 @@ GCC 7.1 onwards. For GCC 6.x or for C++11/C++14 define and test for <code>__STDCPP_MATH_SPEC_FUNCS__ >= 201003L</code>. </para> + + +<para> +The following status table is based on the table of contents of +ISO/IEC 14882:2017. +Some subclauses are not shown in the table where the content is unchanged +since C++14 and the implementation is complete. +</para> + +<table frame="all" xml:id="table.cxx17_status"> +<title>C++ 2017 Implementation Status</title> + +<tgroup cols="4" align="left" colsep="0" rowsep="1"> +<colspec colname="c1"/> +<colspec colname="c2"/> +<colspec colname="c3"/> +<colspec colname="c4"/> + <thead> + <row> + <entry>Section</entry> + <entry>Description</entry> + <entry>Status</entry> + <entry>Comments</entry> + </row> + </thead> + + <tbody> + + <row> + <entry> + <emphasis>21</emphasis> + </entry> + <entry namest="c2" nameend="c4" align="left"> + <emphasis>Language support</emphasis> + </entry> + </row> + + <row> + <entry>21.1</entry> + <entry>General</entry> + <entry/> + <entry/> + </row> + <row> + <entry>21.2</entry> + <entry>Common definitions</entry> + <entry/> + <entry/> + </row> + <row> + <entry>21.3</entry> + <entry>Implementation properties</entry> + <entry/> + <entry/> + </row> + <row> + <entry>21.3.1</entry> + <entry>General</entry> + <entry/> + <entry/> + </row> + <row> + <entry>21.3.2</entry> + <entry>Header <code><limits></code> synopsis</entry> + <entry/> + <entry/> + </row> + <row> + <entry>21.3.3</entry> + <entry>Floating-point type properties</entry> + <entry/> + <entry/> + </row> + <row> + <?dbhtml bgcolor="#C8B0B0" ?> + <entry>21.3.3.1</entry> + <entry><code>float_round_style</code></entry> + <entry>N</entry> + <entry/> + </row> + <row> + <?dbhtml bgcolor="#C8B0B0" ?> + <entry>21.3.3.2</entry> + <entry><code>float_denorm_style</code></entry> + <entry>N</entry> + <entry/> + </row> + <row> + <entry>21.3.4</entry> + <entry>Class template <code>numeric_limits</code></entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>21.3.5</entry> + <entry>Header <code><climits></code> synopsis</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>21.3.6</entry> + <entry>Header <code><cfloat></code> synopsis</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>21.4</entry> + <entry>Integer types</entry> + <entry/> + <entry/> + </row> + <row> + <entry>21.4.1</entry> + <entry>Header <code><cstdint></code> synopsis</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <?dbhtml bgcolor="#B0B0B0" ?> + <entry>21.5</entry> + <entry>Start and termination</entry> + <entry>Partial</entry> + <entry>C library dependency for quick_exit, at_quick_exit</entry> + </row> + <row> + <entry>21.6</entry> + <entry>Dynamic memory management</entry> + <entry/> + <entry/> + </row> + <row> + <entry>21.6.1</entry> + <entry>Header <code><new></code> synopsis</entry> + <entry/> + <entry/> + </row> + <row> + <entry>21.6.2</entry> + <entry>Storage allocation and deallocation</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>21.6.3</entry> + <entry>Storage allocation errors</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>21.6.4</entry> + <entry>Pointer optimization barrier</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <?dbhtml bgcolor="#C8B0B0" ?> + <entry>21.6.5</entry> + <entry>Hardware interference size</entry> + <entry>N</entry> + <entry/> + </row> + <row> + <entry>21.7</entry> + <entry>Type identification</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>21.8</entry> + <entry>Exception handling</entry> + <entry/> + <entry/> + </row> + <row> + <entry>21.8.1</entry> + <entry>Header <code><exception></code> synopsis</entry> + <entry/> + <entry/> + </row> + <row> + <entry>21.8.2</entry> + <entry>Class exception</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>21.8.3</entry> + <entry>Class bad_exception</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>21.8.4</entry> + <entry>Abnormal termination</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>21.8.5</entry> + <entry><code>uncaught_exceptions</code></entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>21.8.6</entry> + <entry>Exception Propagation</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>21.8.7</entry> + <entry><code>nested_exception</code></entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>21.9</entry> + <entry>Initializer lists</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>21.10</entry> + <entry>Other runtime support</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry> + <emphasis>22</emphasis> + </entry> + <entry namest="c2" nameend="c4" align="left"> + <emphasis>Diagnostics</emphasis> + </entry> + </row> + <row> + <entry>22.1</entry> + <entry>General</entry> + <entry/> + <entry/> + </row> + <row> + <entry>22.2</entry> + <entry>Exception classes</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>22.3</entry> + <entry>Assertions</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>22.4</entry> + <entry>Error numbers</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>22.5</entry> + <entry>System error support</entry> + <entry/> + <entry/> + </row> + <row> + <entry> + <emphasis>23</emphasis> + </entry> + <entry namest="c2" nameend="c4" align="left"> + <emphasis>General utilities</emphasis> + </entry> + </row> + <row> + <entry>23.1</entry> + <entry>General</entry> + <entry/> + <entry/> + </row> + <row> + <entry>23.2</entry> + <entry>Utility components</entry> + <entry/> + <entry/> + </row> + <row> + <entry>23.2.1</entry> + <entry>Header <code><utility></code> synopsis</entry> + <entry/> + <entry/> + </row> + <row> + <entry>23.2.2</entry> + <entry>Operators</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>23.2.3</entry> + <entry><code>swap</code></entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>23.2.4</entry> + <entry><code>exchange</code></entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>23.2.5</entry> + <entry>Forward/move helpers</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>23.2.6</entry> + <entry>Function template <code>as_const</code></entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>23.2.7</entry> + <entry>Function template <code>declval</code></entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <?dbhtml bgcolor="#B0B0B0" ?> + <entry>23.2.8</entry> + <entry>Primitive numeric output conversion</entry> + <entry>Partial</entry> + <entry>Only integer types supported, not floating-point types</entry> + </row> + <row> + <?dbhtml bgcolor="#B0B0B0" ?> + <entry>23.2.9</entry> + <entry>Primitive numeric input conversion</entry> + <entry>Partial</entry> + <entry>Only integer types supported, not floating-point types</entry> + </row> + <row> + <entry>23.3</entry> + <entry>Compile-time integer sequences</entry> + <entry/> + <entry/> + </row> + <row> + <entry>23.4</entry> + <entry>Pairs</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>23.5</entry> + <entry>Tuples</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>23.6</entry> + <entry>Optional objects</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>23.7</entry> + <entry>Variants</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>23.8</entry> + <entry>Storage for any type</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>23.9</entry> + <entry>Bitsets</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>23.10</entry> + <entry>Memory</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>23.10.1</entry> + <entry>In general</entry> + <entry/> + <entry/> + </row> + <row> + <entry>23.10.2</entry> + <entry>Header <code><memory></code> synopsis</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>23.10.3</entry> + <entry>Pointer traits</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>23.10.4</entry> + <entry>Pointer safety</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>23.10.5</entry> + <entry>Align</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>23.10.6</entry> + <entry>Allocator argument tag</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>23.10.7</entry> + <entry><code>uses_allocator</code></entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>23.10.8</entry> + <entry>Allocator traits</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>23.10.9</entry> + <entry>The default allocator</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>23.10.10</entry> + <entry>Specialized algorithms</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>23.10.11</entry> + <entry>C library memory allocation</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>23.11</entry> + <entry>Smart pointers</entry> + <entry/> + <entry/> + </row> + <row> + <entry>23.11.1</entry> + <entry>Class template <code>unique_ptr</code></entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>23.11.2</entry> + <entry>Shared-ownership pointers</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>23.12</entry> + <entry>Memory resources</entry> + <entry/> + <entry/> + </row> + <row> + <entry>23.12.1</entry> + <entry>Header <code><memory_resource></code> synopsis</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>23.12.2</entry> + <entry>Class <code>memory_resource</code></entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>23.12.3</entry> + <entry>Class template <code>polymorphic_allocator</code></entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>23.12.4</entry> + <entry>Access to program-wide <code>memory_resource</code> objects</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>23.12.5</entry> + <entry>Pool resource classes</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>23.12.6</entry> + <entry>Class <code>monotonic_buffer_resource</code></entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>23.13</entry> + <entry>Class template <code>scoped_allocator_adaptor</code></entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>23.14</entry> + <entry>Function objects</entry> + <entry/> + <entry/> + </row> + <row> + <entry>23.14.1</entry> + <entry>Header <code><functional></code> synopsis</entry> + <entry/> + <entry/> + </row> + <row> + <entry>23.14.2</entry> + <entry>Definitions</entry> + <entry/> + <entry/> + </row> + <row> + <entry>23.14.3</entry> + <entry>Requirements</entry> + <entry/> + <entry/> + </row> + <row> + <entry>23.14.4</entry> + <entry>Function template <code>invoke</code></entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>23.14.5</entry> + <entry>Class template <code>reference_wrapper</code></entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>23.14.6</entry> + <entry>Arithmetic operation</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>23.14.7</entry> + <entry>Comparisons</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>23.14.8</entry> + <entry>Logical operations</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>23.14.9</entry> + <entry>Bitwise operations</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>23.14.10</entry> + <entry>Function template <code>not_fn</code></entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>23.14.11</entry> + <entry>Function object binders</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>23.14.12</entry> + <entry>Function template <code>mem_fn</code></entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>23.14.13</entry> + <entry>Polymorphic function wrappers</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>23.14.14</entry> + <entry>Searchers</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>23.14.15</entry> + <entry>Class template <code>hash</code></entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>23.15</entry> + <entry>Metaprogramming and type traits</entry> + <entry/> + <entry/> + </row> + <row> + <entry>23.15.1</entry> + <entry>Requirements</entry> + <entry/> + <entry/> + </row> + <row> + <entry>23.15.2</entry> + <entry>Header <code><type_traits></code> synopsis</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>23.15.3</entry> + <entry>Helper classes</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>23.15.4</entry> + <entry>Unary Type Traits</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>23.15.5</entry> + <entry>Type property queries</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>23.15.6</entry> + <entry>Relationships between types</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>23.15.7</entry> + <entry>Transformations between types</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>23.15.8</entry> + <entry>Logical operator traits</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>23.16</entry> + <entry>Compile-time rational arithmetic</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>23.17.1</entry> + <entry>In general</entry> + <entry/> + <entry/> + </row> + <row> + <entry>23.17.2</entry> + <entry>Header <code><chrono></code> synopsis</entry> + <entry/> + <entry/> + </row> + <row> + <entry>23.17</entry> + <entry>Time utilities</entry> + <entry/> + <entry/> + </row> + <row> + <entry>23.17.3</entry> + <entry>Clock requirements</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>23.17.4</entry> + <entry>Time-related traits</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>23.17.5</entry> + <entry>Class template <code>duration</code></entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>23.17.6</entry> + <entry>Class template <code>time_point</code></entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>23.17.7</entry> + <entry>Clocks</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>23.17.8</entry> + <entry>Header <code><ctime></code> synopsis</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>23.18</entry> + <entry>Class <code>type_index</code></entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>23.19</entry> + <entry>Execution policies</entry> + <entry/> + <entry/> + </row> + <row> + <entry>23.19.1</entry> + <entry>In general</entry> + <entry/> + <entry/> + </row> + <row> + <entry>23.19.2</entry> + <entry>Header <code><execution></code> synopsis</entry> + <entry/> + <entry/> + </row> + <row> + <entry>23.19.3</entry> + <entry>Execution policy type trait</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>23.19.4</entry> + <entry>Sequenced execution policy</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>23.19.5</entry> + <entry>Parallel execution policy</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>23.19.6</entry> + <entry>Parallel and unsequenced execution policy</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>23.19.7</entry> + <entry>Execution policy objects</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry> + <emphasis>24</emphasis> + </entry> + <entry namest="c2" nameend="c4" align="left"> + <emphasis>Strings</emphasis> + </entry> + </row> + <row> + <entry>24.1</entry> + <entry>General</entry> + <entry/> + <entry/> + </row> + <row> + <entry>24.2</entry> + <entry>Character traits</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>24.3</entry> + <entry>String classes</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>24.4</entry> + <entry>String view classes</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>24.4.1</entry> + <entry>Header <code><string_view></code> synopsis</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>24.4.2</entry> + <entry>Class template <code>basic_string_view</code></entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>24.4.3</entry> + <entry>Non-member comparison functions</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>24.4.4</entry> + <entry>Inserters and extractors</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>24.4.5</entry> + <entry>Hash support</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>24.4.6</entry> + <entry>Suffix for <code>basic_string_view</code> literals</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <?dbhtml bgcolor="#B0B0B0" ?> + <entry>24.5</entry> + <entry>Null-terminated sequence utilities</entry> + <entry>Partial</entry> + <entry>C library dependency. </entry> + </row> + <row> + <entry> + <emphasis>25</emphasis> + </entry> + <entry namest="c2" nameend="c4" align="left"> + <emphasis>Localization</emphasis> + </entry> + </row> + <row> + <entry>25.1</entry> + <entry>General</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>25.2</entry> + <entry>Header <code><locale></code> synopsis</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>25.3</entry> + <entry>Locales</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>25.4</entry> + <entry>Standard <code>locale</code> categories</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>25.5</entry> + <entry>C Library Locales</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry> + <emphasis>26</emphasis> + </entry> + <entry namest="c2" nameend="c4" align="left"> + <emphasis>Containers</emphasis> + </entry> + </row> + <row> + <entry>26.1</entry> + <entry>General</entry> + <entry/> + <entry/> + </row> + <row> + <entry>26.2</entry> + <entry>Container requirements</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>26.3</entry> + <entry>Sequence containers</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>26.4</entry> + <entry>Associative containers</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>26.5</entry> + <entry>Unordered associative containers</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>26.6</entry> + <entry>Container adaptors</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry> + <emphasis>27</emphasis> + </entry> + <entry namest="c2" nameend="c4" align="left"> + <emphasis>Iterators</emphasis> + </entry> + </row> + <row> + <entry>27.1</entry> + <entry>General</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>27.2</entry> + <entry>Iterator requirements</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>27.3</entry> + <entry>Header <code><iterator></code> synopsis</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>27.4</entry> + <entry>Iterator primitives</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>27.5</entry> + <entry>Iterator adaptors</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>27.6</entry> + <entry>Stream iterators</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>27.7</entry> + <entry>Range access</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>27.8</entry> + <entry>Container access</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry> + <emphasis>28</emphasis> + </entry> + <entry namest="c2" nameend="c4" align="left"> + <emphasis>Algorithms</emphasis> + </entry> + </row> + <row> + <entry>28.1</entry> + <entry>General</entry> + <entry/> + <entry/> + </row> + <row> + <entry>28.2</entry> + <entry>Header <code><algorithm></code> synopsis</entry> + <entry/> + <entry/> + </row> + <row> + <entry>28.3</entry> + <entry>Algorithms requirements</entry> + <entry/> + <entry/> + </row> + <row> + <entry>28.4</entry> + <entry>Parallel algorithms</entry> + <entry/> + <entry>Using <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://github.com/intel/parallelstl">PSTL</link></entry> + </row> + <row> + <entry>28.5</entry> + <entry>Non-modifying sequence operations</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>28.6</entry> + <entry>Mutating sequence operations</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>28.7</entry> + <entry>Sorting and related operations</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>28.8</entry> + <entry>C library algorithms</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry> + <emphasis>29</emphasis> + </entry> + <entry namest="c2" nameend="c4" align="left"> + <emphasis>Numerics</emphasis> + </entry> + </row> + <row> + <entry>29.1</entry> + <entry>General</entry> + <entry/> + <entry/> + </row> + <row> + <entry>29.2</entry> + <entry>Definitions</entry> + <entry/> + <entry/> + </row> + <row> + <entry>29.3</entry> + <entry>Numeric type requirements</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>29.4</entry> + <entry>The floating-point environment</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>29.5</entry> + <entry>Complex numbers</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>29.6</entry> + <entry>Random number generation</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>29.7</entry> + <entry>Numeric arrays</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>29.8</entry> + <entry>Generalized numeric operations</entry> + <entry/> + <entry/> + </row> + <row> + <entry>29.8.1</entry> + <entry>Header <code><numeric></code> synopsis</entry> + <entry/> + <entry/> + </row> + <row> + <entry>29.8.2</entry> + <entry>Accumulate</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>29.8.3</entry> + <entry>Reduce</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>29.8.4</entry> + <entry>Inner product</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>29.8.5</entry> + <entry>Transform reduce</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>29.8.6</entry> + <entry>Partial sum</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>29.8.7</entry> + <entry>Exclusive scan</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>29.8.8</entry> + <entry>Inclusive scan</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>29.8.9</entry> + <entry>Transform exclusive scan</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>29.8.10</entry> + <entry>Transform inclusive scan</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>29.8.11</entry> + <entry>Adjacent difference</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>29.8.12</entry> + <entry>Iota</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>29.8.13</entry> + <entry>Greatest common divisor</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>29.8.14</entry> + <entry>Least common multiple</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>29.9</entry> + <entry>Mathematical functions for floating-point types</entry> + <entry/> + <entry/> + </row> + <row> + <entry>29.9.1</entry> + <entry>Header <code><cmath></code> synopsis</entry> + <entry/> + <entry/> + </row> + <row> + <entry>29.9.2</entry> + <entry>Absolute values</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>29.9.3</entry> + <entry>Three-dimensional hypotenuse</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>29.9.4</entry> + <entry>Classification / comparison functions</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>29.9.5</entry> + <entry>Mathematical special functions</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry> + <emphasis>30</emphasis> + </entry> + <entry namest="c2" nameend="c4" align="left"> + <emphasis>Input/output library</emphasis> + </entry> + </row> + <row> + <entry>30.1</entry> + <entry>General</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>30.2</entry> + <entry>Iostreams requirements</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>30.2.1</entry> + <entry>Imbue Limitations</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>30.2.2</entry> + <entry>Positioning Type Limitations</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <?dbhtml bgcolor="#B0B0B0" ?> + <entry>30.2.3</entry> + <entry>Thread safety</entry> + <entry>Partial</entry> + <entry/> + </row> + <row> + <entry>30.3</entry> + <entry>Forward declarations</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>30.4</entry> + <entry>Standard iostream objects</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>30.5</entry> + <entry>Iostreams base classes</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>30.6</entry> + <entry>Stream buffers</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>30.7</entry> + <entry>Formatting and manipulators</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>30.8</entry> + <entry>String-based streams</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>30.9</entry> + <entry>File-based streams</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>30.10</entry> + <entry>File systemss</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>30.11</entry> + <entry>C library files</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry> + <emphasis>31</emphasis> + </entry> + <entry namest="c2" nameend="c4" align="left"> + <emphasis>Regular expressions</emphasis> + </entry> + </row> + <row> + <entry>31.1</entry> + <entry>General</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>31.2</entry> + <entry>Definitions</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>31.3</entry> + <entry>Requirements</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>31.4</entry> + <entry>Header <code><regex></code> synopsis</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>31.5</entry> + <entry>Namespace <code>std::regex_constants</code></entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>31.6</entry> + <entry>Class <code>regex_error</code></entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <?dbhtml bgcolor="#B0B0B0" ?> + <entry>31.7</entry> + <entry>Class template <code>regex_traits</code></entry> + <entry>Partial</entry> + <entry><code>transform_primary</code> is not correctly implemented</entry> + <entry/> + </row> + <row> + <entry>31.8</entry> + <entry>Class template <code>basic_regex</code></entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>31.9</entry> + <entry>Class template <code>sub_match</code></entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>31.10</entry> + <entry>Class template <code>match_results</code></entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>31.11</entry> + <entry>Regular expression algorithms</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>31.12</entry> + <entry>Regular expression Iterators</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>31.13</entry> + <entry>Modified ECMAScript regular expression grammar</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry> + <emphasis>32</emphasis> + </entry> + <entry namest="c2" nameend="c4" align="left"> + <emphasis>Atomic operations</emphasis> + </entry> + </row> + <row> + <entry>32.1</entry> + <entry>General</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>32.2</entry> + <entry>Header <code><atomic></code> synopsis</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>32.3</entry> + <entry>Type aliases</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>32.4</entry> + <entry>Order and consistency</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>32.5</entry> + <entry>Lock-free property</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>32.6</entry> + <entry>Class template <code><atomic></code></entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>32.7</entry> + <entry>Non-member functions</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>32.8</entry> + <entry>Flag Type and operations</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>32.9</entry> + <entry>Fences</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry> + <emphasis>33</emphasis> + </entry> + <entry namest="c2" nameend="c4" align="left"> + <emphasis>Thread support</emphasis> + </entry> + </row> + <row> + <entry>33.1</entry> + <entry>General</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>33.2</entry> + <entry>Requirements</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>33.3</entry> + <entry>Threads</entry> + <entry/> + <entry/> + </row> + <row> + <entry>33.3.1</entry> + <entry>Header <code>thread</code> synopsis</entry> + <entry/> + <entry/> + </row> + <row> + <entry>33.3.2</entry> + <entry>Class <code>thread</code></entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <?dbhtml bgcolor="#B0B0B0" ?> + <entry>33.3.2.1</entry> + <entry>Class <code>thread</code></entry> + <entry>Partial</entry> + <entry><code>thread::id</code> comparisons not well-defined</entry> + </row> + <row> + <entry>33.3.3</entry> + <entry>Namespace <code>this_thread</code></entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>33.4</entry> + <entry>Mutual exclusion</entry> + <entry/> + <entry/> + </row> + <row> + <entry>33.4.3</entry> + <entry>Mutex requirements</entry> + <entry/> + <entry/> + </row> + <row> + <entry>33.4.3.1</entry> + <entry>In general</entry> + <entry/> + <entry/> + </row> + <row> + <entry>33.4.3.2</entry> + <entry>Mutex types</entry> + <entry/> + <entry/> + </row> + <row> + <entry>33.4.3.2.1</entry> + <entry>Class <code>mutex</code></entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>33.4.3.2.2</entry> + <entry>Class <code>recursive_mutex</code></entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>33.4.3.3</entry> + <entry>Timed mutex types</entry> + <entry/> + <entry/> + </row> + <row> + <entry>33.4.3.3.1</entry> + <entry>Class <code>timed_mutex</code></entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>33.4.3.3.2</entry> + <entry>Class <code>recursive_timed_mutex</code></entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>33.4.3.4</entry> + <entry>Shared mutex types</entry> + <entry/> + <entry/> + </row> + <row> + <entry>33.4.3.4.1</entry> + <entry>Class <code>shared_mutex</code></entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>33.4.3.5</entry> + <entry>Shared timed mutex types</entry> + <entry/> + <entry/> + </row> + <row> + <entry>33.4.3.5.1</entry> + <entry>Class <code>shared_timed_mutex</code></entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>33.4.4</entry> + <entry>Locks</entry> + <entry/> + <entry/> + </row> + <row> + <entry>33.4.4.1</entry> + <entry>Class template <code>lock_guard</code></entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>33.4.4.2</entry> + <entry>Class template <code>scoped_guard</code></entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>33.4.4.3</entry> + <entry>Class template <code>unique_lock</code></entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>33.4.4.4</entry> + <entry>Class template <code>shared_lock</code></entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>33.4.5</entry> + <entry>Generic locking algorithms</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>33.4.6</entry> + <entry>Call once</entry> + <entry/> + <entry/> + </row> + <row> + <entry>33.4.6.1</entry> + <entry>Struct <code>once_flag</code></entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <?dbhtml bgcolor="#B0B0B0" ?> + <entry>33.4.6.2</entry> + <entry>Function <code>call_once</code></entry> + <entry>Broken</entry> + <entry>See <link xmlns:xlink="http://www.w3.org/1999/xlink" + xlink:href="https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66146">PR + 66146</link> + </entry> + </row> + <row> + <entry>33.5</entry> + <entry>Condition variables</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>33.5.1</entry> + <entry>Class <code>condition_variable</code></entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>33.5.2</entry> + <entry>Class <code>condition_variable_any</code></entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>33.6</entry> + <entry>Futures</entry> + <entry/> + <entry/> + </row> + <row> + <entry>33.6.1</entry> + <entry>Overview</entry> + <entry/> + <entry/> + </row> + <row> + <entry>33.6.2</entry> + <entry>Header <code><future></code></entry> + <entry/> + <entry/> + </row> + <row> + <entry>33.6.3</entry> + <entry>Error handling</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>33.6.4</entry> + <entry>Class <code>future_error</code></entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>33.6.5</entry> + <entry>Shared state</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>33.6.6</entry> + <entry>Class template <code>promise</code></entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>33.6.7</entry> + <entry>Class template <code>future</code></entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>33.6.8</entry> + <entry>Class template <code>shared_future</code></entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>33.6.9</entry> + <entry>Function template <code>async</code></entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>33.6.10</entry> + <entry>Class template <code>packaged_task</code></entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry> + <emphasis>Appendix D</emphasis> + </entry> + <entry namest="c2" nameend="c4" align="left"> + <emphasis>Compatibility features</emphasis> + </entry> + </row> + <row> + <entry>D.4</entry> + <entry>C++ standard library headers</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>D.4.1</entry> + <entry>Header <code><ccomplex></code> synopsis</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>D.4.1</entry> + <entry>Header <code><cstdalign></code> synopsis</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>D.4.1</entry> + <entry>Header <code><cstdbool></code> synopsis</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>D.4.1</entry> + <entry>Header <code><ctgmath></code> synopsis</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>D.5</entry> + <entry>C standard library headers</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>D.6</entry> + <entry><code>char*</code> streams</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>D.7</entry> + <entry><code>uncaught_exception</code></entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>D.8</entry> + <entry>Old adaptable function bindings</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>D.9</entry> + <entry>The default allocator</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>D.10</entry> + <entry>Raw storage iterator</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>D.11</entry> + <entry>Temporary buffers</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>D.12</entry> + <entry>Deprecated type traits</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>D.13</entry> + <entry>Deprecated iterator primitives</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>D.14</entry> + <entry>Deprecated <code>shared_ptr</code> observers</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>D.15</entry> + <entry>Deprecated standard code conversion facets</entry> + <entry>Y</entry> + <entry/> + </row> + <row> + <entry>D.16</entry> + <entry>Deprecated convenience conversion interfaces</entry> + <entry>Y</entry> + <entry/> + </row> + + </tbody> +</tgroup> +</table> + <table frame="all" xml:id="table.cxx17_ts_status"> <title>C++ Technical Specifications Implementation Status</title> |