diff --git a/libstdc++-v3/doc/html/manual/index.html b/libstdc++-v3/doc/html/manual/index.html index 1639c95397a..ef58061c5cf 100644 --- a/libstdc++-v3/doc/html/manual/index.html +++ b/libstdc++-v3/doc/html/manual/index.html @@ -145,7 +145,7 @@ Support for C++11 dialect.
List of Tables
List of Equations
List of Tables
List of Equations
Table 3.8. C++ 2017 Library Headers
any | charconv | execution | filesystem | memory_resource |
optional | string_view | variant | ||
Table 3.9, “C++ 2020 Library Headers”
-shows the C++2a include files.
-These are available in C++2a compilation
-mode, i.e. -std=c++2a or -std=gnu++2a.
+shows the C++20 include files.
+These are available in C++20 compilation
+mode, i.e. -std=c++20 or -std=gnu++20.
Including these headers in earlier modes will not result in
compilation errors, but will not define anything.
-
- The following headers have been removed in the C++2a working draft. +
Table 3.9. C++ 2020 Library Headers
barrier | bit | charconv | compare | concepts |
coroutine | format | latch | numbers | ranges |
semaphore | source_location | span | stop_token | syncstream |
version | ||||
+ 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.
-Table 3.11, “File System TS Header”,
+Table 3.11, “C++ 2023 Library Headers”
+shows the C++23 include files.
+These are available in C++23 compilation
+mode, i.e. -std=c++23 or -std=gnu++23.
+Including these headers in earlier modes will not result in
+compilation errors, but will not define anything.
+
+
+Table 3.12, “C++ 2026 Library Headers”
+shows the C++26 include files.
+These are available in C++26 compilation
+mode, i.e. -std=c++26 or -std=gnu++26.
+Including these headers in earlier modes will not result in
+compilation errors, but will not define anything.
+
+
+Table 3.13, “File System TS Header”, 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. -
-Table 3.12, “Library Fundamentals TS Headers”, +
+Table 3.14, “Library Fundamentals TS Headers”,
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
+<experimental/scope>
+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.
+
Table 3.14. Library Fundamentals TS Headers
experimental/algorithm | experimental/any | experimental/array | experimental/chrono | experimental/deque |
experimental/forward_list | experimental/functional | experimental/iterator | experimental/list | experimental/map |
experimental/memory | experimental/memory_resource | experimental/numeric | experimental/optional | experimental/propagate_const |
experimental/random | experimental/ratio | experimental/regex | experimental/scope | experimental/set |
experimental/source_location | experimental/string | experimental/string_view | experimental/system_error | experimental/tuple |
experimental/type_traits | experimental/unordered_map | experimental/unordered_set | experimental/utility | experimental/vector |
+Table 3.15, “Networking TS 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. -
Table 3.12. Library Fundamentals TS Headers
experimental/algorithm | experimental/any | experimental/array | experimental/chrono | experimental/deque |
experimental/forward_list | experimental/functional | experimental/iterator | experimental/list | experimental/map |
experimental/memory | experimental/memory_resource | experimental/numeric | experimental/optional | experimental/propagate_const |
experimental/random | experimental/ratio | experimental/regex | experimental/set | experimental/source_location |
experimental/string | experimental/string_view | experimental/system_error | experimental/tuple | experimental/type_traits |
experimental/unordered_map | experimental/unordered_set | experimental/utility | experimental/vector |
+
Table 3.15. Networking TS Headers
experimental/buffer | experimental/executor | experimental/internet | experimental/io_context |
experimental/net | experimental/netfwd | experimental/socket | experimental/timer |
In addition, TR1 includes as: -
Table 3.13. C++ TR 1 Library Headers
tr1/array | tr1/complex | tr1/memory | tr1/functional | tr1/random |
tr1/regex | tr1/tuple | tr1/type_traits | tr1/unordered_map | tr1/unordered_set |
tr1/utility | ||||
Table 3.14. C++ TR 1 Library Headers for C Library Facilities
tr1/ccomplex | tr1/cfenv | tr1/cfloat | tr1/cmath | tr1/cinttypes |
tr1/climits | tr1/cstdarg | tr1/cstdbool | tr1/cstdint | tr1/cstdio |
tr1/cstdlib | tr1/ctgmath | tr1/ctime | tr1/cwchar | tr1/cwctype |
Decimal floating-point arithmetic is available if the C++ +
Table 3.16. C++ TR 1 Library Headers
tr1/array | tr1/complex | tr1/memory | tr1/functional | tr1/random |
tr1/regex | tr1/tuple | tr1/type_traits | tr1/unordered_map | tr1/unordered_set |
tr1/utility | ||||
Table 3.17. C++ TR 1 Library Headers for C Library Facilities
tr1/ccomplex | tr1/cfenv | tr1/cfloat | tr1/cmath | tr1/cinttypes |
tr1/climits | tr1/cstdarg | tr1/cstdbool | tr1/cstdint | tr1/cstdio |
tr1/cstdlib | tr1/ctgmath | tr1/ctime | tr1/cwchar | tr1/cwctype |
Decimal floating-point arithmetic is available if the C++
compiler supports scalar decimal floating-point types defined via
__attribute__((mode(SD|DD|LD))).
-
+
Also included are files for the C++ ABI interface: -
+
And a large variety of extensions. -
Table 3.17. Extension Headers
ext/algorithm | ext/atomicity.h | ext/bitmap_allocator.h | ext/cast.h | |
ext/codecvt_specializations.h | ext/concurrence.h | ext/debug_allocator.h | ext/enc_filebuf.h | ext/extptr_allocator.h |
ext/functional | ext/iterator | ext/malloc_allocator.h | ext/memory | ext/mt_allocator.h |
ext/new_allocator.h | ext/numeric | ext/numeric_traits.h | ext/pb_ds/assoc_container.h | ext/pb_ds/priority_queue.h |
ext/pod_char_traits.h | ext/pool_allocator.h | ext/rb_tree | ext/rope | ext/slist |
ext/stdio_filebuf.h | ext/stdio_sync_filebuf.h | ext/throw_allocator.h | ext/typelist.h | ext/type_traits.h |
ext/vstring.h | ||||
Table 3.18. Extension Debug Headers
debug/array | debug/bitset | debug/deque | debug/forward_list | debug/list |
debug/map | debug/set | debug/string | debug/unordered_map | debug/unordered_set |
debug/vector | ||||
A few simple rules. +
Table 3.20. Extension Headers
ext/algorithm | ext/atomicity.h | ext/bitmap_allocator.h | ext/cast.h | |
ext/codecvt_specializations.h | ext/concurrence.h | ext/debug_allocator.h | ext/enc_filebuf.h | ext/extptr_allocator.h |
ext/functional | ext/iterator | ext/malloc_allocator.h | ext/memory | ext/mt_allocator.h |
ext/new_allocator.h | ext/numeric | ext/numeric_traits.h | ext/pb_ds/assoc_container.h | ext/pb_ds/priority_queue.h |
ext/pod_char_traits.h | ext/pool_allocator.h | ext/rb_tree | ext/rope | ext/slist |
ext/stdio_filebuf.h | ext/stdio_sync_filebuf.h | ext/throw_allocator.h | ext/typelist.h | ext/type_traits.h |
ext/vstring.h | ||||
Table 3.21. Extension Debug Headers
debug/array | debug/bitset | debug/deque | debug/forward_list | debug/list |
debug/map | debug/set | debug/string | debug/unordered_map | debug/unordered_set |
debug/vector | ||||
A few simple rules.
First, mixing different dialects of the standard headers is not possible. It's an all-or-nothing affair. Thus, code like
diff --git a/libstdc++-v3/doc/xml/manual/using.xml b/libstdc++-v3/doc/xml/manual/using.xml index 7276cad0feb..b3b0c368e44 100644 --- a/libstdc++-v3/doc/xml/manual/using.xml +++ b/libstdc++-v3/doc/xml/manual/using.xml @@ -468,9 +468,9 @@ Unless specified otherwise below, they are also available in later modes-shows the C++2a include files. -These are available in C++2a compilation -mode, i.e. -std=c++2a or-std=gnu++2a . +shows the C++20 include files. +These are available in C++20 compilation +mode, i.e.-std=c++20 or-std=gnu++20 . Including these headers in earlier modes will not result in compilation errors, but will not define anything.+
+barrier - bit + version + charconv + compare + concepts +
++ coroutine + format + latch + numbers + ranges +
++ semaphore + source_location + span + stop_token + syncstream +
-+ version - 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. @@ -529,10 +547,86 @@ Unless specified otherwise below, they are also available in later modes ++ + ++shows the C++23 include files. +These are available in C++23 compilation +mode, i.e. -std=c++23 or-std=gnu++23 . +Including these headers in earlier modes will not result in +compilation errors, but will not define anything. + ++ +
+ +C++ 2023 Library Headers + ++ ++ + + + + + +
++ expected + generator + + spanstream + stacktrace +
+ ++ stdatomic.h + stdfloat + + + + ++shows the C++26 include files. +These are available in C++26 compilation +mode, i.e. -std=c++26 or-std=gnu++26 . +Including these headers in earlier modes will not result in +compilation errors, but will not define anything. + ++ +
+ +C++ 2026 Library Headers + ++ ++ + + +
+ ++ + text_encoding , 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. @@ -598,22 +695,58 @@ compilation errors, but will not define anything. , 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 + <experimental/scope> +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.experimental/random experimental/ratio + experimental/regex experimental/scope - experimental/set experimental/source_location +
experimental/source_location experimental/string experimental/string_view experimental/system_error - experimental/tuple experimental/type_traits +
+ + + + + +experimental/type_traits experimental/unordered_map experimental/unordered_set experimental/utility - experimental/vector + + + +, +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. + + +
Networking TS Headers + ++ + + + + + +
++ experimental/buffer + experimental/executor + experimental/internet + experimental/io_context +
+ experimental/net + experimental/netfwd + experimental/socket experimental/timer