mirror of git://gcc.gnu.org/git/gcc.git
libstdc++: Add all supported headers to lists in the manual
libstdc++-v3/ChangeLog: * doc/xml/manual/using.xml: Update tables of supported headers. * doc/html/*: Regenerate.
This commit is contained in:
parent
86302e1a76
commit
00b2d7d17c
File diff suppressed because one or more lines are too long
|
@ -55,41 +55,67 @@ Unless specified otherwise below, they are also available in later modes
|
|||
(C++20 etc).
|
||||
</p><p></p><div class="table"><a id="table.cxx17_headers"></a><p class="title"><strong>Table 3.8. C++ 2017 Library Headers</strong></p><div class="table-contents"><table class="table" summary="C++ 2017 Library Headers" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /><col align="left" class="c5" /></colgroup><tbody><tr><td align="left"><code class="filename">any</code></td><td align="left"><code class="filename">charconv</code></td><td align="left"><code class="filename">execution</code></td><td align="left"><code class="filename">filesystem</code></td><td align="left"><code class="filename">memory_resource</code></td></tr><tr><td align="left"><code class="filename">optional</code></td><td align="left"><code class="filename">string_view</code></td><td align="left"><code class="filename">variant</code></td><td colspan="2" align="left"> </td></tr></tbody></table></div></div><br class="table-break" /><p>
|
||||
<a class="xref" href="using_headers.html#table.cxx20_headers" title="Table 3.9. C++ 2020 Library Headers">Table 3.9, “C++ 2020 Library Headers”</a>
|
||||
shows the C++2a include files.
|
||||
These are available in C++2a compilation
|
||||
mode, i.e. <code class="literal">-std=c++2a</code> or <code class="literal">-std=gnu++2a</code>.
|
||||
shows the C++20 include files.
|
||||
These are available in C++20 compilation
|
||||
mode, i.e. <code class="literal">-std=c++20</code> or <code class="literal">-std=gnu++20</code>.
|
||||
Including these headers in earlier modes will not result in
|
||||
compilation errors, but will not define anything.
|
||||
|
||||
</p><p></p><div class="table"><a id="table.cxx20_headers"></a><p class="title"><strong>Table 3.9. C++ 2020 Library Headers</strong></p><div class="table-contents"><table class="table" summary="C++ 2020 Library Headers" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /></colgroup><tbody><tr><td align="left"><code class="filename">bit</code></td><td align="left"><code class="filename">version</code></td></tr></tbody></table></div></div><br class="table-break" /><p>
|
||||
The following headers have been removed in the C++2a working draft.
|
||||
</p><p></p><div class="table"><a id="table.cxx20_headers"></a><p class="title"><strong>Table 3.9. C++ 2020 Library Headers</strong></p><div class="table-contents"><table class="table" summary="C++ 2020 Library Headers" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /><col align="left" class="c5" /></colgroup><tbody><tr><td align="left"><code class="filename">barrier</code></td><td align="left"><code class="filename">bit</code></td><td align="left"><code class="filename">charconv</code></td><td align="left"><code class="filename">compare</code></td><td align="left"><code class="filename">concepts</code></td></tr><tr><td align="left"><code class="filename">coroutine</code></td><td align="left"><code class="filename">format</code></td><td align="left"><code class="filename">latch</code></td><td align="left"><code class="filename">numbers</code></td><td align="left"><code class="filename">ranges</code></td></tr><tr><td align="left"><code class="filename">semaphore</code></td><td align="left"><code class="filename">source_location</code></td><td align="left"><code class="filename">span</code></td><td align="left"><code class="filename">stop_token</code></td><td align="left"><code class="filename">syncstream</code></td></tr><tr><td align="left"><code class="filename">version</code></td><td colspan="4" align="left"> </td></tr></tbody></table></div></div><br class="table-break" /><p>
|
||||
The following headers have been removed in the C++20 standard.
|
||||
They are still available when using this implementation, but in future
|
||||
they might start to produce warnings or errors when included in C++2a mode.
|
||||
they might start to produce warnings or errors when included in C++20 mode.
|
||||
Programs that intend to be portable should not include them.
|
||||
</p><div class="table"><a id="table.cxx20_deprheaders"></a><p class="title"><strong>Table 3.10. C++ 2020 Obsolete Headers</strong></p><div class="table-contents"><table class="table" summary="C++ 2020 Obsolete Headers" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /><col align="left" class="c5" /></colgroup><tbody><tr><td align="left"><code class="filename">ccomplex</code></td><td align="left"><code class="filename">ciso646</code></td><td align="left"><code class="filename">cstdalign</code></td><td align="left"><code class="filename">cstdbool</code></td><td align="left"><code class="filename">ctgmath</code></td></tr></tbody></table></div></div><br class="table-break" /><p>
|
||||
<a class="xref" href="using_headers.html#table.filesystemts_headers" title="Table 3.11. File System TS Header">Table 3.11, “File System TS Header”</a>,
|
||||
<a class="xref" href="using_headers.html#table.cxx23_headers" title="Table 3.11. C++ 2023 Library Headers">Table 3.11, “C++ 2023 Library Headers”</a>
|
||||
shows the C++23 include files.
|
||||
These are available in C++23 compilation
|
||||
mode, i.e. <code class="literal">-std=c++23</code> or <code class="literal">-std=gnu++23</code>.
|
||||
Including these headers in earlier modes will not result in
|
||||
compilation errors, but will not define anything.
|
||||
|
||||
</p><p></p><div class="table"><a id="table.cxx23_headers"></a><p class="title"><strong>Table 3.11. C++ 2023 Library Headers</strong></p><div class="table-contents"><table class="table" summary="C++ 2023 Library Headers" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /><col align="left" class="c5" /></colgroup><tbody><tr><td align="left"><code class="filename">expected</code></td><td align="left"><code class="filename">generator</code></td><td align="left"><code class="filename">print</code></td><td align="left"><code class="filename">spanstream</code></td><td align="left"><code class="filename">stacktrace</code></td></tr><tr><td align="left"><code class="filename">stdatomic.h</code></td><td align="left"><code class="filename">stdfloat</code></td><td colspan="3" align="left"> </td></tr></tbody></table></div></div><br class="table-break" /><p>
|
||||
<a class="xref" href="using_headers.html#table.cxx26_headers" title="Table 3.12. C++ 2026 Library Headers">Table 3.12, “C++ 2026 Library Headers”</a>
|
||||
shows the C++26 include files.
|
||||
These are available in C++26 compilation
|
||||
mode, i.e. <code class="literal">-std=c++26</code> or <code class="literal">-std=gnu++26</code>.
|
||||
Including these headers in earlier modes will not result in
|
||||
compilation errors, but will not define anything.
|
||||
|
||||
</p><p></p><div class="table"><a id="table.cxx26_headers"></a><p class="title"><strong>Table 3.12. C++ 2026 Library Headers</strong></p><div class="table-contents"><table class="table" summary="C++ 2026 Library Headers" border="1"><colgroup><col align="left" class="c1" /></colgroup><tbody><tr><td align="left"><code class="filename">text_encoding</code></td></tr></tbody></table></div></div><br class="table-break" /><p>
|
||||
<a class="xref" href="using_headers.html#table.filesystemts_headers" title="Table 3.13. File System TS Header">Table 3.13, “File System TS Header”</a>,
|
||||
shows the additional include file define by the
|
||||
File System Technical Specification, ISO/IEC TS 18822.
|
||||
File System Technical Specification, ISO/IEC TS 18822:2015.
|
||||
This is available in C++11 and later compilation modes.
|
||||
Including this header in earlier modes will not result in
|
||||
compilation errors, but will not define anything.
|
||||
</p><p></p><div class="table"><a id="table.filesystemts_headers"></a><p class="title"><strong>Table 3.11. File System TS Header</strong></p><div class="table-contents"><table class="table" summary="File System TS Header" border="1"><colgroup><col align="left" class="c1" /></colgroup><tbody><tr><td align="left"><code class="filename">experimental/filesystem</code></td></tr></tbody></table></div></div><br class="table-break" /><p>
|
||||
<a class="xref" href="using_headers.html#table.libfundts_headers" title="Table 3.12. Library Fundamentals TS Headers">Table 3.12, “Library Fundamentals TS Headers”</a>,
|
||||
</p><p></p><div class="table"><a id="table.filesystemts_headers"></a><p class="title"><strong>Table 3.13. File System TS Header</strong></p><div class="table-contents"><table class="table" summary="File System TS Header" border="1"><colgroup><col align="left" class="c1" /></colgroup><tbody><tr><td align="left"><code class="filename">experimental/filesystem</code></td></tr></tbody></table></div></div><br class="table-break" /><p>
|
||||
<a class="xref" href="using_headers.html#table.libfundts_headers" title="Table 3.14. Library Fundamentals TS Headers">Table 3.14, “Library Fundamentals TS Headers”</a>,
|
||||
shows the additional include files define by the C++ Extensions for
|
||||
Library Fundamentals Technical Specification, ISO/IEC TS 19568.
|
||||
Library Fundamentals Technical Specification, ISO/IEC TS 19568:2015,
|
||||
ISO/IEC TS 19568:2017, and ISO/IEC TS 19568:2024.
|
||||
These are available in C++14 and later compilation modes, except for
|
||||
<code class="filename"><experimental/scope></code>
|
||||
which is available in C++20 and later compilation modes.
|
||||
Including these headers in earlier modes will not result in
|
||||
compilation errors, but will not define anything.
|
||||
</p><p></p><div class="table"><a id="table.libfundts_headers"></a><p class="title"><strong>Table 3.14. Library Fundamentals TS Headers</strong></p><div class="table-contents"><table class="table" summary="Library Fundamentals TS Headers" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /><col align="left" class="c5" /></colgroup><tbody><tr><td align="left"><code class="filename">experimental/algorithm</code></td><td align="left"><code class="filename">experimental/any</code></td><td align="left"><code class="filename">experimental/array</code></td><td align="left"><code class="filename">experimental/chrono</code></td><td align="left"><code class="filename">experimental/deque</code></td></tr><tr><td align="left"><code class="filename">experimental/forward_list</code></td><td align="left"><code class="filename">experimental/functional</code></td><td align="left"><code class="filename">experimental/iterator</code></td><td align="left"><code class="filename">experimental/list</code></td><td align="left"><code class="filename">experimental/map</code></td></tr><tr><td align="left"><code class="filename">experimental/memory</code></td><td align="left"><code class="filename">experimental/memory_resource</code></td><td align="left"><code class="filename">experimental/numeric</code></td><td align="left"><code class="filename">experimental/optional</code></td><td align="left"><code class="filename">experimental/propagate_const</code></td></tr><tr><td align="left"><code class="filename">experimental/random</code></td><td align="left"><code class="filename">experimental/ratio</code></td><td align="left"><code class="filename">experimental/regex</code></td><td align="left"><code class="filename">experimental/scope</code></td><td align="left"><code class="filename">experimental/set</code></td></tr><tr><td align="left"><code class="filename">experimental/source_location</code></td><td align="left"><code class="filename">experimental/string</code></td><td align="left"><code class="filename">experimental/string_view</code></td><td align="left"><code class="filename">experimental/system_error</code></td><td align="left"><code class="filename">experimental/tuple</code></td></tr><tr><td align="left"><code class="filename">experimental/type_traits</code></td><td align="left"><code class="filename">experimental/unordered_map</code></td><td align="left"><code class="filename">experimental/unordered_set</code></td><td align="left"><code class="filename">experimental/utility</code></td><td align="left"><code class="filename">experimental/vector</code></td></tr></tbody></table></div></div><br class="table-break" /><p>
|
||||
<a class="xref" href="using_headers.html#table.networkingts_headers" title="Table 3.15. Networking TS Headers">Table 3.15, “Networking TS Headers”</a>,
|
||||
shows the additional include files define by the
|
||||
Networking Technical Specification, ISO/IEC TS 19216:2018.
|
||||
These are available in C++14 and later compilation modes.
|
||||
Including these headers in earlier modes will not result in
|
||||
compilation errors, but will not define anything.
|
||||
</p><p></p><div class="table"><a id="table.libfundts_headers"></a><p class="title"><strong>Table 3.12. Library Fundamentals TS Headers</strong></p><div class="table-contents"><table class="table" summary="Library Fundamentals TS Headers" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /><col align="left" class="c5" /></colgroup><tbody><tr><td align="left"><code class="filename">experimental/algorithm</code></td><td align="left"><code class="filename">experimental/any</code></td><td align="left"><code class="filename">experimental/array</code></td><td align="left"><code class="filename">experimental/chrono</code></td><td align="left"><code class="filename">experimental/deque</code></td></tr><tr><td align="left"><code class="filename">experimental/forward_list</code></td><td align="left"><code class="filename">experimental/functional</code></td><td align="left"><code class="filename">experimental/iterator</code></td><td align="left"><code class="filename">experimental/list</code></td><td align="left"><code class="filename">experimental/map</code></td></tr><tr><td align="left"><code class="filename">experimental/memory</code></td><td align="left"><code class="filename">experimental/memory_resource</code></td><td align="left"><code class="filename">experimental/numeric</code></td><td align="left"><code class="filename">experimental/optional</code></td><td align="left"><code class="filename">experimental/propagate_const</code></td></tr><tr><td align="left"><code class="filename">experimental/random</code></td><td align="left"><code class="filename">experimental/ratio</code></td><td align="left"><code class="filename">experimental/regex</code></td><td align="left"><code class="filename">experimental/set</code></td><td align="left"><code class="filename">experimental/source_location</code></td></tr><tr><td align="left"><code class="filename">experimental/string</code></td><td align="left"><code class="filename">experimental/string_view</code></td><td align="left"><code class="filename">experimental/system_error</code></td><td align="left"><code class="filename">experimental/tuple</code></td><td align="left"><code class="filename">experimental/type_traits</code></td></tr><tr><td align="left"><code class="filename">experimental/unordered_map</code></td><td align="left"><code class="filename">experimental/unordered_set</code></td><td align="left"><code class="filename">experimental/utility</code></td><td align="left"><code class="filename">experimental/vector</code></td><td align="left"> </td></tr></tbody></table></div></div><br class="table-break" /><p>
|
||||
</p><p></p><div class="table"><a id="table.networkingts_headers"></a><p class="title"><strong>Table 3.15. Networking TS Headers</strong></p><div class="table-contents"><table class="table" summary="Networking TS Headers" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /></colgroup><tbody><tr><td align="left"><code class="filename">experimental/buffer</code></td><td align="left"><code class="filename">experimental/executor</code></td><td align="left"><code class="filename">experimental/internet</code></td><td align="left"><code class="filename">experimental/io_context</code></td></tr><tr><td align="left"><code class="filename">experimental/net</code></td><td align="left"><code class="filename">experimental/netfwd</code></td><td align="left"><code class="filename">experimental/socket</code></td><td align="left"><code class="filename">experimental/timer</code></td></tr></tbody></table></div></div><br class="table-break" /><p>
|
||||
In addition, TR1 includes as:
|
||||
</p><div class="table"><a id="table.tr1_headers"></a><p class="title"><strong>Table 3.13. C++ TR 1 Library Headers</strong></p><div class="table-contents"><table class="table" summary="C++ TR 1 Library Headers" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /><col align="left" class="c5" /></colgroup><tbody><tr><td align="left"><code class="filename">tr1/array</code></td><td align="left"><code class="filename">tr1/complex</code></td><td align="left"><code class="filename">tr1/memory</code></td><td align="left"><code class="filename">tr1/functional</code></td><td align="left"><code class="filename">tr1/random</code></td></tr><tr><td align="left"><code class="filename">tr1/regex</code></td><td align="left"><code class="filename">tr1/tuple</code></td><td align="left"><code class="filename">tr1/type_traits</code></td><td align="left"><code class="filename">tr1/unordered_map</code></td><td align="left"><code class="filename">tr1/unordered_set</code></td></tr><tr><td align="left"><code class="filename">tr1/utility</code></td><td colspan="4" align="left"> </td></tr></tbody></table></div></div><br class="table-break" /><p></p><div class="table"><a id="table.tr1_cheaders"></a><p class="title"><strong>Table 3.14. C++ TR 1 Library Headers for C Library Facilities</strong></p><div class="table-contents"><table class="table" summary="C++ TR 1 Library Headers for C Library Facilities" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /><col align="left" class="c5" /></colgroup><tbody><tr><td align="left"><code class="filename">tr1/ccomplex</code></td><td align="left"><code class="filename">tr1/cfenv</code></td><td align="left"><code class="filename">tr1/cfloat</code></td><td align="left"><code class="filename">tr1/cmath</code></td><td align="left"><code class="filename">tr1/cinttypes</code></td></tr><tr><td align="left"><code class="filename">tr1/climits</code></td><td align="left"><code class="filename">tr1/cstdarg</code></td><td align="left"><code class="filename">tr1/cstdbool</code></td><td align="left"><code class="filename">tr1/cstdint</code></td><td align="left"><code class="filename">tr1/cstdio</code></td></tr><tr><td align="left"><code class="filename">tr1/cstdlib</code></td><td align="left"><code class="filename">tr1/ctgmath</code></td><td align="left"><code class="filename">tr1/ctime</code></td><td align="left"><code class="filename">tr1/cwchar</code></td><td align="left"><code class="filename">tr1/cwctype</code></td></tr></tbody></table></div></div><br class="table-break" /><p>Decimal floating-point arithmetic is available if the C++
|
||||
</p><div class="table"><a id="table.tr1_headers"></a><p class="title"><strong>Table 3.16. C++ TR 1 Library Headers</strong></p><div class="table-contents"><table class="table" summary="C++ TR 1 Library Headers" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /><col align="left" class="c5" /></colgroup><tbody><tr><td align="left"><code class="filename">tr1/array</code></td><td align="left"><code class="filename">tr1/complex</code></td><td align="left"><code class="filename">tr1/memory</code></td><td align="left"><code class="filename">tr1/functional</code></td><td align="left"><code class="filename">tr1/random</code></td></tr><tr><td align="left"><code class="filename">tr1/regex</code></td><td align="left"><code class="filename">tr1/tuple</code></td><td align="left"><code class="filename">tr1/type_traits</code></td><td align="left"><code class="filename">tr1/unordered_map</code></td><td align="left"><code class="filename">tr1/unordered_set</code></td></tr><tr><td align="left"><code class="filename">tr1/utility</code></td><td colspan="4" align="left"> </td></tr></tbody></table></div></div><br class="table-break" /><p></p><div class="table"><a id="table.tr1_cheaders"></a><p class="title"><strong>Table 3.17. C++ TR 1 Library Headers for C Library Facilities</strong></p><div class="table-contents"><table class="table" summary="C++ TR 1 Library Headers for C Library Facilities" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /><col align="left" class="c5" /></colgroup><tbody><tr><td align="left"><code class="filename">tr1/ccomplex</code></td><td align="left"><code class="filename">tr1/cfenv</code></td><td align="left"><code class="filename">tr1/cfloat</code></td><td align="left"><code class="filename">tr1/cmath</code></td><td align="left"><code class="filename">tr1/cinttypes</code></td></tr><tr><td align="left"><code class="filename">tr1/climits</code></td><td align="left"><code class="filename">tr1/cstdarg</code></td><td align="left"><code class="filename">tr1/cstdbool</code></td><td align="left"><code class="filename">tr1/cstdint</code></td><td align="left"><code class="filename">tr1/cstdio</code></td></tr><tr><td align="left"><code class="filename">tr1/cstdlib</code></td><td align="left"><code class="filename">tr1/ctgmath</code></td><td align="left"><code class="filename">tr1/ctime</code></td><td align="left"><code class="filename">tr1/cwchar</code></td><td align="left"><code class="filename">tr1/cwctype</code></td></tr></tbody></table></div></div><br class="table-break" /><p>Decimal floating-point arithmetic is available if the C++
|
||||
compiler supports scalar decimal floating-point types defined via
|
||||
<code class="code">__attribute__((mode(SD|DD|LD)))</code>.
|
||||
</p><div class="table"><a id="table.decfp_headers"></a><p class="title"><strong>Table 3.15. C++ TR 24733 Decimal Floating-Point Header</strong></p><div class="table-contents"><table class="table" summary="C++ TR 24733 Decimal Floating-Point Header" border="1"><colgroup><col align="left" class="c1" /></colgroup><tbody><tr><td align="left"><code class="filename">decimal/decimal</code></td></tr></tbody></table></div></div><br class="table-break" /><p>
|
||||
</p><div class="table"><a id="table.decfp_headers"></a><p class="title"><strong>Table 3.18. C++ TR 24733 Decimal Floating-Point Header</strong></p><div class="table-contents"><table class="table" summary="C++ TR 24733 Decimal Floating-Point Header" border="1"><colgroup><col align="left" class="c1" /></colgroup><tbody><tr><td align="left"><code class="filename">decimal/decimal</code></td></tr></tbody></table></div></div><br class="table-break" /><p>
|
||||
Also included are files for the C++ ABI interface:
|
||||
</p><div class="table"><a id="table.abi_headers"></a><p class="title"><strong>Table 3.16. C++ ABI Headers</strong></p><div class="table-contents"><table class="table" summary="C++ ABI Headers" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /></colgroup><tbody><tr><td align="left"><code class="filename">cxxabi.h</code></td><td align="left"><code class="filename">cxxabi_forced.h</code></td></tr></tbody></table></div></div><br class="table-break" /><p>
|
||||
</p><div class="table"><a id="table.abi_headers"></a><p class="title"><strong>Table 3.19. C++ ABI Headers</strong></p><div class="table-contents"><table class="table" summary="C++ ABI Headers" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /></colgroup><tbody><tr><td align="left"><code class="filename">cxxabi.h</code></td><td align="left"><code class="filename">cxxabi_forced.h</code></td></tr></tbody></table></div></div><br class="table-break" /><p>
|
||||
And a large variety of extensions.
|
||||
</p><div class="table"><a id="table.ext_headers"></a><p class="title"><strong>Table 3.17. Extension Headers</strong></p><div class="table-contents"><table class="table" summary="Extension Headers" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /><col align="left" class="c5" /></colgroup><tbody><tr><td align="left"><code class="filename">ext/algorithm</code></td><td align="left"><code class="filename">ext/atomicity.h</code></td><td align="left"><code class="filename">ext/bitmap_allocator.h</code></td><td align="left"><code class="filename">ext/cast.h</code></td><td class="auto-generated"> </td></tr><tr><td align="left"><code class="filename">ext/codecvt_specializations.h</code></td><td align="left"><code class="filename">ext/concurrence.h</code></td><td align="left"><code class="filename">ext/debug_allocator.h</code></td><td align="left"><code class="filename">ext/enc_filebuf.h</code></td><td align="left"><code class="filename">ext/extptr_allocator.h</code></td></tr><tr><td align="left"><code class="filename">ext/functional</code></td><td align="left"><code class="filename">ext/iterator</code></td><td align="left"><code class="filename">ext/malloc_allocator.h</code></td><td align="left"><code class="filename">ext/memory</code></td><td align="left"><code class="filename">ext/mt_allocator.h</code></td></tr><tr><td align="left"><code class="filename">ext/new_allocator.h</code></td><td align="left"><code class="filename">ext/numeric</code></td><td align="left"><code class="filename">ext/numeric_traits.h</code></td><td align="left"><code class="filename">ext/pb_ds/assoc_container.h</code></td><td align="left"><code class="filename">ext/pb_ds/priority_queue.h</code></td></tr><tr><td align="left"><code class="filename">ext/pod_char_traits.h</code></td><td align="left"><code class="filename">ext/pool_allocator.h</code></td><td align="left"><code class="filename">ext/rb_tree</code></td><td align="left"><code class="filename">ext/rope</code></td><td align="left"><code class="filename">ext/slist</code></td></tr><tr><td align="left"><code class="filename">ext/stdio_filebuf.h</code></td><td align="left"><code class="filename">ext/stdio_sync_filebuf.h</code></td><td align="left"><code class="filename">ext/throw_allocator.h</code></td><td align="left"><code class="filename">ext/typelist.h</code></td><td align="left"><code class="filename">ext/type_traits.h</code></td></tr><tr><td align="left"><code class="filename">ext/vstring.h</code></td><td colspan="4" align="left"> </td></tr></tbody></table></div></div><br class="table-break" /><p></p><div class="table"><a id="table.debug_headers"></a><p class="title"><strong>Table 3.18. Extension Debug Headers</strong></p><div class="table-contents"><table class="table" summary="Extension Debug Headers" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /><col align="left" class="c5" /></colgroup><tbody><tr><td align="left"><code class="filename">debug/array</code></td><td align="left"><code class="filename">debug/bitset</code></td><td align="left"><code class="filename">debug/deque</code></td><td align="left"><code class="filename">debug/forward_list</code></td><td align="left"><code class="filename">debug/list</code></td></tr><tr><td align="left"><code class="filename">debug/map</code></td><td align="left"><code class="filename">debug/set</code></td><td align="left"><code class="filename">debug/string</code></td><td align="left"><code class="filename">debug/unordered_map</code></td><td align="left"><code class="filename">debug/unordered_set</code></td></tr><tr><td align="left"><code class="filename">debug/vector</code></td><td colspan="4" align="left"> </td></tr></tbody></table></div></div><br class="table-break" /><p></p><div class="table"><a id="table.parallel_headers"></a><p class="title"><strong>Table 3.19. Extension Parallel Headers</strong></p><div class="table-contents"><table class="table" summary="Extension Parallel Headers" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /></colgroup><tbody><tr><td align="left"><code class="filename">parallel/algorithm</code></td><td align="left"><code class="filename">parallel/numeric</code></td></tr></tbody></table></div></div><br class="table-break" /></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="manual.intro.using.headers.mixing"></a>Mixing Headers</h3></div></div></div><p> A few simple rules.
|
||||
</p><div class="table"><a id="table.ext_headers"></a><p class="title"><strong>Table 3.20. Extension Headers</strong></p><div class="table-contents"><table class="table" summary="Extension Headers" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /><col align="left" class="c5" /></colgroup><tbody><tr><td align="left"><code class="filename">ext/algorithm</code></td><td align="left"><code class="filename">ext/atomicity.h</code></td><td align="left"><code class="filename">ext/bitmap_allocator.h</code></td><td align="left"><code class="filename">ext/cast.h</code></td><td class="auto-generated"> </td></tr><tr><td align="left"><code class="filename">ext/codecvt_specializations.h</code></td><td align="left"><code class="filename">ext/concurrence.h</code></td><td align="left"><code class="filename">ext/debug_allocator.h</code></td><td align="left"><code class="filename">ext/enc_filebuf.h</code></td><td align="left"><code class="filename">ext/extptr_allocator.h</code></td></tr><tr><td align="left"><code class="filename">ext/functional</code></td><td align="left"><code class="filename">ext/iterator</code></td><td align="left"><code class="filename">ext/malloc_allocator.h</code></td><td align="left"><code class="filename">ext/memory</code></td><td align="left"><code class="filename">ext/mt_allocator.h</code></td></tr><tr><td align="left"><code class="filename">ext/new_allocator.h</code></td><td align="left"><code class="filename">ext/numeric</code></td><td align="left"><code class="filename">ext/numeric_traits.h</code></td><td align="left"><code class="filename">ext/pb_ds/assoc_container.h</code></td><td align="left"><code class="filename">ext/pb_ds/priority_queue.h</code></td></tr><tr><td align="left"><code class="filename">ext/pod_char_traits.h</code></td><td align="left"><code class="filename">ext/pool_allocator.h</code></td><td align="left"><code class="filename">ext/rb_tree</code></td><td align="left"><code class="filename">ext/rope</code></td><td align="left"><code class="filename">ext/slist</code></td></tr><tr><td align="left"><code class="filename">ext/stdio_filebuf.h</code></td><td align="left"><code class="filename">ext/stdio_sync_filebuf.h</code></td><td align="left"><code class="filename">ext/throw_allocator.h</code></td><td align="left"><code class="filename">ext/typelist.h</code></td><td align="left"><code class="filename">ext/type_traits.h</code></td></tr><tr><td align="left"><code class="filename">ext/vstring.h</code></td><td colspan="4" align="left"> </td></tr></tbody></table></div></div><br class="table-break" /><p></p><div class="table"><a id="table.debug_headers"></a><p class="title"><strong>Table 3.21. Extension Debug Headers</strong></p><div class="table-contents"><table class="table" summary="Extension Debug Headers" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /><col align="left" class="c5" /></colgroup><tbody><tr><td align="left"><code class="filename">debug/array</code></td><td align="left"><code class="filename">debug/bitset</code></td><td align="left"><code class="filename">debug/deque</code></td><td align="left"><code class="filename">debug/forward_list</code></td><td align="left"><code class="filename">debug/list</code></td></tr><tr><td align="left"><code class="filename">debug/map</code></td><td align="left"><code class="filename">debug/set</code></td><td align="left"><code class="filename">debug/string</code></td><td align="left"><code class="filename">debug/unordered_map</code></td><td align="left"><code class="filename">debug/unordered_set</code></td></tr><tr><td align="left"><code class="filename">debug/vector</code></td><td colspan="4" align="left"> </td></tr></tbody></table></div></div><br class="table-break" /><p></p><div class="table"><a id="table.parallel_headers"></a><p class="title"><strong>Table 3.22. Extension Parallel Headers</strong></p><div class="table-contents"><table class="table" summary="Extension Parallel Headers" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /></colgroup><tbody><tr><td align="left"><code class="filename">parallel/algorithm</code></td><td align="left"><code class="filename">parallel/numeric</code></td></tr></tbody></table></div></div><br class="table-break" /></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="manual.intro.using.headers.mixing"></a>Mixing Headers</h3></div></div></div><p> A few simple rules.
|
||||
</p><p>First, mixing different dialects of the standard headers is not
|
||||
possible. It's an all-or-nothing affair. Thus, code like
|
||||
</p><pre class="programlisting">
|
||||
|
|
|
@ -468,9 +468,9 @@ Unless specified otherwise below, they are also available in later modes
|
|||
|
||||
<para>
|
||||
<xref linkend="table.cxx20_headers"/>
|
||||
shows the C++2a include files.
|
||||
These are available in C++2a compilation
|
||||
mode, i.e. <literal>-std=c++2a</literal> or <literal>-std=gnu++2a</literal>.
|
||||
shows the C++20 include files.
|
||||
These are available in C++20 compilation
|
||||
mode, i.e. <literal>-std=c++20</literal> or <literal>-std=gnu++20</literal>.
|
||||
Including these headers in earlier modes will not result in
|
||||
compilation errors, but will not define anything.
|
||||
<!--
|
||||
|
@ -483,28 +483,46 @@ Unless specified otherwise below, they are also available in later modes
|
|||
<table frame="all" xml:id="table.cxx20_headers">
|
||||
<title>C++ 2020 Library Headers</title>
|
||||
|
||||
<tgroup cols="2" align="left" colsep="1" rowsep="1">
|
||||
<tgroup cols="5" align="left" colsep="1" rowsep="1">
|
||||
<colspec colname="c1"/>
|
||||
<colspec colname="c2"/>
|
||||
<!--
|
||||
<colspec colname="c3"/>
|
||||
<colspec colname="c4"/>
|
||||
<colspec colname="c5"/>
|
||||
-->
|
||||
<tbody>
|
||||
<row>
|
||||
<entry><filename class="headerfile">barrier</filename></entry>
|
||||
<entry><filename class="headerfile">bit</filename></entry>
|
||||
<entry><filename class="headerfile">version</filename></entry>
|
||||
<entry><filename class="headerfile">charconv</filename></entry>
|
||||
<entry><filename class="headerfile">compare</filename></entry>
|
||||
<entry><filename class="headerfile">concepts</filename></entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><filename class="headerfile">coroutine</filename></entry>
|
||||
<entry><filename class="headerfile">format</filename></entry>
|
||||
<entry><filename class="headerfile">latch</filename></entry>
|
||||
<entry><filename class="headerfile">numbers</filename></entry>
|
||||
<entry><filename class="headerfile">ranges</filename></entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><filename class="headerfile">semaphore</filename></entry>
|
||||
<entry><filename class="headerfile">source_location</filename></entry>
|
||||
<entry><filename class="headerfile">span</filename></entry>
|
||||
<entry><filename class="headerfile">stop_token</filename></entry>
|
||||
<entry><filename class="headerfile">syncstream</filename></entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><filename class="headerfile">version</filename></entry>
|
||||
<entry namest="c2" nameend="c5"/>
|
||||
</row>
|
||||
<!-- TODO compare, concepts, contract, span, syncstream -->
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</table>
|
||||
|
||||
<para>
|
||||
The following headers have been removed in the C++2a working draft.
|
||||
The following headers have been removed in the C++20 standard.
|
||||
They are still available when using this implementation, but in future
|
||||
they might start to produce warnings or errors when included in C++2a mode.
|
||||
they might start to produce warnings or errors when included in C++20 mode.
|
||||
Programs that intend to be portable should not include them.
|
||||
</para>
|
||||
|
||||
|
@ -529,10 +547,86 @@ Unless specified otherwise below, they are also available in later modes
|
|||
</tgroup>
|
||||
</table>
|
||||
|
||||
<para>
|
||||
<xref linkend="table.cxx23_headers"/>
|
||||
shows the C++23 include files.
|
||||
These are available in C++23 compilation
|
||||
mode, i.e. <literal>-std=c++23</literal> or <literal>-std=gnu++23</literal>.
|
||||
Including these headers in earlier modes will not result in
|
||||
compilation errors, but will not define anything.
|
||||
<!--
|
||||
Unless specified otherwise below, they are also available in later modes
|
||||
(C++26 etc).
|
||||
-->
|
||||
</para>
|
||||
|
||||
<para/>
|
||||
<table frame="all" xml:id="table.cxx23_headers">
|
||||
<title>C++ 2023 Library Headers</title>
|
||||
|
||||
<tgroup cols="5" align="left" colsep="1" rowsep="1">
|
||||
<colspec colname="c1"/>
|
||||
<colspec colname="c2"/>
|
||||
<colspec colname="c3"/>
|
||||
<colspec colname="c4"/>
|
||||
<colspec colname="c5"/>
|
||||
<tbody>
|
||||
<row>
|
||||
<entry><filename class="headerfile">expected</filename></entry>
|
||||
<entry><filename class="headerfile">generator</filename></entry>
|
||||
<entry><filename class="headerfile">print</filename></entry>
|
||||
<entry><filename class="headerfile">spanstream</filename></entry>
|
||||
<entry><filename class="headerfile">stacktrace</filename></entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><filename class="headerfile">stdatomic.h</filename></entry>
|
||||
<entry><filename class="headerfile">stdfloat</filename></entry>
|
||||
<entry namest="c3" nameend="c5"/>
|
||||
<!-- TODO flat_map, flat_set, mdspan -->
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</table>
|
||||
|
||||
<para>
|
||||
<xref linkend="table.cxx26_headers"/>
|
||||
shows the C++26 include files.
|
||||
These are available in C++26 compilation
|
||||
mode, i.e. <literal>-std=c++26</literal> or <literal>-std=gnu++26</literal>.
|
||||
Including these headers in earlier modes will not result in
|
||||
compilation errors, but will not define anything.
|
||||
<!--
|
||||
Unless specified otherwise below, they are also available in later modes
|
||||
(C++2d etc).
|
||||
-->
|
||||
</para>
|
||||
|
||||
<para/>
|
||||
<table frame="all" xml:id="table.cxx26_headers">
|
||||
<title>C++ 2026 Library Headers</title>
|
||||
|
||||
<tgroup cols="1" align="left" colsep="1" rowsep="1">
|
||||
<colspec colname="c1"/>
|
||||
<!--
|
||||
<colspec colname="c2"/>
|
||||
<colspec colname="c3"/>
|
||||
<colspec colname="c4"/>
|
||||
<colspec colname="c5"/>
|
||||
-->
|
||||
<tbody>
|
||||
<row>
|
||||
<entry><filename class="headerfile">text_encoding</filename></entry>
|
||||
<!-- TODO debugging, hazard_pointer, linalg, rcu -->
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</table>
|
||||
|
||||
|
||||
<para>
|
||||
<xref linkend="table.filesystemts_headers"/>,
|
||||
shows the additional include file define by the
|
||||
File System Technical Specification, ISO/IEC TS 18822.
|
||||
File System Technical Specification, ISO/IEC TS 18822:2015.
|
||||
This is available in C++11 and later compilation modes.
|
||||
Including this header in earlier modes will not result in
|
||||
compilation errors, but will not define anything.
|
||||
|
@ -556,8 +650,11 @@ compilation errors, but will not define anything.
|
|||
<para>
|
||||
<xref linkend="table.libfundts_headers"/>,
|
||||
shows the additional include files define by the C++ Extensions for
|
||||
Library Fundamentals Technical Specification, ISO/IEC TS 19568.
|
||||
These are available in C++14 and later compilation modes.
|
||||
Library Fundamentals Technical Specification, ISO/IEC TS 19568:2015,
|
||||
ISO/IEC TS 19568:2017, and ISO/IEC TS 19568:2024.
|
||||
These are available in C++14 and later compilation modes, except for
|
||||
<filename class="headerfile"><experimental/scope></filename>
|
||||
which is available in C++20 and later compilation modes.
|
||||
Including these headers in earlier modes will not result in
|
||||
compilation errors, but will not define anything.
|
||||
</para>
|
||||
|
@ -598,22 +695,58 @@ compilation errors, but will not define anything.
|
|||
<entry><filename class="headerfile">experimental/random</filename></entry>
|
||||
<entry><filename class="headerfile">experimental/ratio</filename></entry>
|
||||
<entry><filename class="headerfile">experimental/regex</filename></entry>
|
||||
<entry><filename class="headerfile">experimental/scope</filename></entry>
|
||||
<entry><filename class="headerfile">experimental/set</filename></entry>
|
||||
<entry><filename class="headerfile">experimental/source_location</filename></entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><filename class="headerfile">experimental/source_location</filename></entry>
|
||||
<entry><filename class="headerfile">experimental/string</filename></entry>
|
||||
<entry><filename class="headerfile">experimental/string_view</filename></entry>
|
||||
<entry><filename class="headerfile">experimental/system_error</filename></entry>
|
||||
<entry><filename class="headerfile">experimental/tuple</filename></entry>
|
||||
<entry><filename class="headerfile">experimental/type_traits</filename></entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><filename class="headerfile">experimental/type_traits</filename></entry>
|
||||
<entry><filename class="headerfile">experimental/unordered_map</filename></entry>
|
||||
<entry><filename class="headerfile">experimental/unordered_set</filename></entry>
|
||||
<entry><filename class="headerfile">experimental/utility</filename></entry>
|
||||
<entry><filename class="headerfile">experimental/vector</filename></entry>
|
||||
<entry />
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</table>
|
||||
|
||||
|
||||
<para>
|
||||
<xref linkend="table.networkingts_headers"/>,
|
||||
shows the additional include files define by the
|
||||
Networking Technical Specification, ISO/IEC TS 19216:2018.
|
||||
These are available in C++14 and later compilation modes.
|
||||
Including these headers in earlier modes will not result in
|
||||
compilation errors, but will not define anything.
|
||||
</para>
|
||||
|
||||
<para/>
|
||||
<table frame="all" xml:id="table.networkingts_headers">
|
||||
<title>Networking TS Headers</title>
|
||||
|
||||
<tgroup cols="4" align="left" colsep="1" rowsep="1">
|
||||
<colspec colname="c1"/>
|
||||
<colspec colname="c2"/>
|
||||
<colspec colname="c3"/>
|
||||
<colspec colname="c4"/>
|
||||
<tbody>
|
||||
<row>
|
||||
<entry><filename class="headerfile">experimental/buffer</filename></entry>
|
||||
<entry><filename class="headerfile">experimental/executor</filename></entry>
|
||||
<entry><filename class="headerfile">experimental/internet</filename></entry>
|
||||
<entry><filename class="headerfile">experimental/io_context</filename></entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><filename class="headerfile">experimental/net</filename></entry>
|
||||
<entry><filename class="headerfile">experimental/netfwd</filename></entry>
|
||||
<entry><filename class="headerfile">experimental/socket</filename></entry>
|
||||
<entry><filename class="headerfile">experimental/timer</filename></entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
|
|
Loading…
Reference in New Issue