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.
${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 \
${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 \
</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
</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>
<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>
<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>
<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.
<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>
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">
<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>
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>
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>
</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>.
</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>
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
-<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"?>
<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>
</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:
-<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"?>
</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>
<row>
<entry>18.1</entry>
<entry>General</entry>
- <entry>Y</entry>
+ <entry/>
<entry/>
</row>
<row>
<row>
<entry>19.1</entry>
<entry>General</entry>
- <entry>Y</entry>
+ <entry/>
<entry/>
</row>
<row>
</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>
<row>
<entry>20.7.2</entry>
<entry>Shared-ownership pointers</entry>
- <entry>Y</entry>
+ <entry/>
<entry/>
</row>
<row>
</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>
<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>
<row>
<entry>26.1</entry>
<entry>General</entry>
- <entry>Y</entry>
+ <entry/>
<entry/>
</row>
<row>
</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>
<entry/>
</row>
<row>
- <?dbhtml bgcolor="#B0B0B0" ?>
<entry>29.3</entry>
<entry>Order and consistency</entry>
- <entry>Partial</entry>
+ <entry>Y</entry>
<entry/>
</row>
<row>
<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>
<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>
-<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"?>
</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>
<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>
<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>
- <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>
- </entry>
- <entry><code>std::result_of</code> and SFINAE</entry>
+ <entry>18.3.3</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/n3545.pdf">
- N3545
- </link>
- </entry>
- <entry>An Incremental Improvement to <code>integral_constant</code></entry>
+ <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>
- <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>
- </entry>
- <entry>User-defined Literals for Standard Library Types</entry>
+ <?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>
- <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>
- </entry>
- <entry>Making non-modifying sequence operations more robust</entry>
+ <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>
- <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>
- </entry>
- <entry>Quoted Strings Library Proposal</entry>
+ <entry>18.7.2</entry>
+ <entry>Class bad_cast</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>
- </entry>
- <entry>Constexpr Library Additions: chrono</entry>
+ <entry>18.7.3</entry>
+ <entry>Class bad_typeid</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>
- </entry>
- <entry>Constexpr Library Additions: containers</entry>
+ <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/n3471.html">
- N3471
- </link>
+ <emphasis>19</emphasis>
+ </entry>
+ <entry namest="c2" nameend="c4" align="left">
+ <emphasis>Diagnostics</emphasis>
</entry>
- <entry>Constexpr Library Additions: utilities</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/n3658.html">
- N3658
- </link>
+ <emphasis>20</emphasis>
+ </entry>
+ <entry namest="c2" nameend="c4" align="left">
+ <emphasis>General utilities</emphasis>
</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>
- <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>
- </entry>
- <entry>Shared Locking in C++</entry>
+ <entry>20.5.3</entry>
+ <entry>Alias template <code>make_integer_sequence</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/2012/n3421.htm">
- N3421
- </link>
- </entry>
- <entry>Making Operator Functors greater<></entry>
+ <entry>20.6</entry>
+ <entry>Class template <code>bitset</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/n3657.htm">
- N3657
- </link>
- </entry>
- <entry>Adding heterogeneous comparison lookup to associative containers</entry>
+ <entry>20.7</entry>
+ <entry>Memory</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>
- </entry>
- <entry>TransformationTraits Redux</entry>
+ <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>
- <?dbhtml bgcolor="#B0B0B0" ?>
- <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>
- </entry>
- <entry>Null Forward Iterators</entry>
- <entry>Partial</entry>
- <entry>Only affects Debug Mode</entry>
+ <entry>20.8.1.1</entry>
+ <entry>Default deleters</entry>
+ <entry>Y</entry>
+ <entry/>
</row>
-
- </tbody>
-</tgroup>
-</table>
-
+ <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>
+ 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>
+ </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>
+ <emphasis>21</emphasis>
+ </entry>
+ <entry namest="c2" nameend="c4" align="left">
+ <emphasis>Strings</emphasis>
+ </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>
+ <emphasis>22</emphasis>
+ </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>
+ <emphasis>23</emphasis>
+ </entry>
+ <entry namest="c2" nameend="c4" align="left">
+ <emphasis>Containers</emphasis>
+ </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>
+ <emphasis>24</emphasis>
+ </entry>
+ <entry namest="c2" nameend="c4" align="left">
+ <emphasis>Iterators</emphasis>
+ </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>
+ <emphasis>25</emphasis>
+ </entry>
+ <entry namest="c2" nameend="c4" align="left">
+ <emphasis>Algorithms</emphasis>
+ </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>
+ <emphasis>26</emphasis>
+ </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>
+ <emphasis>27</emphasis>
+ </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>
+ <emphasis>28</emphasis>
+ </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>
+ <emphasis>29</emphasis>
+ </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>
+ <emphasis>30</emphasis>
+ </entry>
+ <entry namest="c2" nameend="c4" align="left">
+ <emphasis>Thread support</emphasis>
+ </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>
+ <emphasis>Appendix D</emphasis>
+ </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>
-<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"?>
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"/>
</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>
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>