From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 2181) id 47D2F38425B2; Mon, 16 May 2022 14:10:16 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 47D2F38425B2 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset="utf-8" From: Jonathan Wakely To: gcc-cvs@gcc.gnu.org, libstdc++-cvs@gcc.gnu.org Subject: [gcc r11-10002] libstdc++: Add C++23 status docs X-Act-Checkin: gcc X-Git-Author: Jonathan Wakely X-Git-Refname: refs/heads/releases/gcc-11 X-Git-Oldrev: aeb6898b89e09a6c2106a75b5a4b5b7d647371c5 X-Git-Newrev: 54e6c40de721ee43a02b93d4f8a59e6ca78bb6f7 Message-Id: <20220516141016.47D2F38425B2@sourceware.org> Date: Mon, 16 May 2022 14:10:16 +0000 (GMT) X-BeenThere: gcc-cvs@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-cvs mailing list List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 16 May 2022 14:10:16 -0000 https://gcc.gnu.org/g:54e6c40de721ee43a02b93d4f8a59e6ca78bb6f7 commit r11-10002-g54e6c40de721ee43a02b93d4f8a59e6ca78bb6f7 Author: Jonathan Wakely Date: Mon May 16 14:09:05 2022 +0100 libstdc++: Add C++23 status docs These are the C++23 proposals already supported in the gcc-11 branch. libstdc++-v3/ChangeLog: * doc/xml/manual/intro.xml: Include new chapter. * doc/xml/manual/status_cxx2020.xml: Tweak release numbers. * doc/xml/manual/status_cxx2023.xml: New file. * doc/html/*: Regenerate. (cherry picked from commit 436186734481c38ccbd22becbd5aedb274bf5fa7) Diff: --- libstdc++-v3/doc/html/index.html | 2 +- libstdc++-v3/doc/html/manual/index.html | 4 +- libstdc++-v3/doc/html/manual/intro.html | 2 +- libstdc++-v3/doc/html/manual/status.html | 109 ++++++++++-- libstdc++-v3/doc/xml/manual/intro.xml | 10 +- libstdc++-v3/doc/xml/manual/status_cxx2020.xml | 16 +- libstdc++-v3/doc/xml/manual/status_cxx2023.xml | 232 +++++++++++++++++++++++++ 7 files changed, 347 insertions(+), 28 deletions(-) diff --git a/libstdc++-v3/doc/html/index.html b/libstdc++-v3/doc/html/index.html index ed1a05f36f7..b118c214b47 100644 --- a/libstdc++-v3/doc/html/index.html +++ b/libstdc++-v3/doc/html/index.html @@ -23,7 +23,7 @@


Table of Contents

The GNU C++ Library Manual
I. Introduction -
1. Status
Implementation Status
C++ 1998/2003
Implementation Status
Implementation Specific Behavior
C++ 2011
Implementation Specific Behavior
C++ 2014
Implementation Specific Behavior
Filesystem TS
C++ 2017
Implementation Specific Behavior
Parallelism 2 TS
C++ 2020
C++ TR1
Implementation Specific Behavior
C++ TR 24733
C++ IS 29124
Implementation Specific Behavior
License
The Code: GPL
The Documentation: GPL, FDL
Bugs
Implementation Bugs
Standard Bugs
2. Setup
Prerequisites
Configure
Make
3. Using
Command Options
Headers
Header Files
Mixing Headers
The C Headers and namespace std
Precompiled Headers
Macros
Dual ABI
Troubleshooting
Namespaces
Available Namespaces
namespace std
Using Namespace Composition
Linking
Almost Nothing
Finding Dynamic or Shared Libraries
Experimental Library Extensions
Concurrency
Prerequisites
Thread Safety
Atomics
IO
Structure
Defaults
Future
Alternatives
Containers
Exceptions
Exception Safety
Exception Neutrality
Doing without
Compatibility
With C
With POSIX thread cancellation
Debugging Support
Using g++
Debug Versions of Library Binary Files
Memory Leak Hunting
Non-memory leaks in Pool and MT allocators
Data Race Hunting
Using gdb
Tracking uncaught exceptions
Debug Mode
Compile Time Checking
II. +
1. Status
Implementation Status
C++ 1998/2003
Implementation Status
Implementation Specific Behavior
C++ 2011
Implementation Specific Behavior
C++ 2014
Implementation Specific Behavior
Filesystem TS
C++ 2017
Implementation Specific Behavior
Parallelism 2 TS
C++ 2020
C++ 2023
C++ TR1
Implementation Specific Behavior
C++ TR 24733
C++ IS 29124
Implementation Specific Behavior
License
The Code: GPL
The Documentation: GPL, FDL
Bugs
Implementation Bugs
Standard Bugs
2. Setup
Prerequisites
Configure
Make
3. Using
Command Options
Headers
Header Files
Mixing Headers
The C Headers and namespace std
Precompiled Headers
Macros
Dual ABI
Troubleshooting
Namespaces
Available Namespaces
namespace std
Using Namespace Composition
Linking
Almost Nothing
Finding Dynamic or Shared Libraries
Experimental Library Extensions
Concurrency
Prerequisites
Thread Safety
Atomics
IO
Structure
Defaults
Future
Alternatives
Containers
Exceptions
Exception Safety
Exception Neutrality
Doing without
Compatibility
With C
With POSIX thread cancellation
Debugging Support
Using g++
Debug Versions of Library Binary Files
Memory Leak Hunting
Non-memory leaks in Pool and MT allocators
Data Race Hunting
Using gdb
Tracking uncaught exceptions
Debug Mode
Compile Time Checking
II. Standard Contents
4. Support diff --git a/libstdc++-v3/doc/html/manual/index.html b/libstdc++-v3/doc/html/manual/index.html index e34210ee5d9..392e416b954 100644 --- a/libstdc++-v3/doc/html/manual/index.html +++ b/libstdc++-v3/doc/html/manual/index.html @@ -4,7 +4,7 @@


Table of Contents

I. Introduction -
1. Status
Implementation Status
C++ 1998/2003
Implementation Status
Implementation Specific Behavior
C++ 2011
Implementation Specific Behavior
C++ 2014
Implementation Specific Behavior
Filesystem TS
C++ 2017
Implementation Specific Behavior
Parallelism 2 TS
C++ 2020
C++ TR1
Implementation Specific Behavior
C++ TR 24733
C++ IS 29124
Implementation Specific Behavior
License
The Code: GPL
The Documentation: GPL, FDL
Bugs
Implementation Bugs
Standard Bugs
2. Setup
Prerequisites
Configure
Make
3. Using
Command Options
Headers
Header Files
Mixing Headers
The C Headers and namespace std
Precompiled Headers
Macros
Dual ABI
Troubleshooting
Namespaces
Available Namespaces
namespace std
Using Namespace Composition
Linking
Almost Nothing
Finding Dynamic or Shared Libraries
Experimental Library Extensions
Concurrency
Prerequisites
Thread Safety
Atomics
IO
Structure
Defaults
Future
Alternatives
Containers
Exceptions
Exception Safety
Exception Neutrality
Doing without
Compatibility
With C
With POSIX thread cancellation
Debugging Support
Using g++
Debug Versions of Library Binary Files
Memory Leak Hunting
Non-memory leaks in Pool and MT allocators
Data Race Hunting
Using gdb
Tracking uncaught exceptions
Debug Mode
Compile Time Checking
II. +
1. Status
Implementation Status
C++ 1998/2003
Implementation Status
Implementation Specific Behavior
C++ 2011
Implementation Specific Behavior
C++ 2014
Implementation Specific Behavior
Filesystem TS
C++ 2017
Implementation Specific Behavior
Parallelism 2 TS
C++ 2020
C++ 2023
C++ TR1
Implementation Specific Behavior
C++ TR 24733
C++ IS 29124
Implementation Specific Behavior
License
The Code: GPL
The Documentation: GPL, FDL
Bugs
Implementation Bugs
Standard Bugs
2. Setup
Prerequisites
Configure
Make
3. Using
Command Options
Headers
Header Files
Mixing Headers
The C Headers and namespace std
Precompiled Headers
Macros
Dual ABI
Troubleshooting
Namespaces
Available Namespaces
namespace std
Using Namespace Composition
Linking
Almost Nothing
Finding Dynamic or Shared Libraries
Experimental Library Extensions
Concurrency
Prerequisites
Thread Safety
Atomics
IO
Structure
Defaults
Future
Alternatives
Containers
Exceptions
Exception Safety
Exception Neutrality
Doing without
Compatibility
With C
With POSIX thread cancellation
Debugging Support
Using g++
Debug Versions of Library Binary Files
Memory Leak Hunting
Non-memory leaks in Pool and MT allocators
Data Race Hunting
Using gdb
Tracking uncaught exceptions
Debug Mode
Compile Time Checking
II. Standard Contents
4. Support @@ -145,7 +145,7 @@ Support for C++11 dialect.
21.10. Non-unique Mapping Containers
21.11. Point Iterator Hierarchy
21.12. Invalidation Guarantee Tags Hierarchy
21.13. Container Tag Hierarchy
21.14. Hash functions, ranged-hash functions, and range-hashing functions
21.15. Insert hash sequence diagram
21.16. Insert hash sequence diagram with a null policy
21.17. Hash policy class diagram
21.18. Balls and bins
21.19. Insert resize sequence diagram
21.20. Standard resize policy trigger sequence diagram
21.21. Standard resize policy size sequence - diagram
21.22. Tree node invariants
21.23. Tree node invalidation
21.24. A tree and its update policy
21.25. Restoring node invariants
21.26. Insert update sequence
21.27. Useless update path
21.28. A PATRICIA trie
21.29. A trie and its update policy
21.30. A simple list
21.31. The counter algorithm
21.32. Underlying Priority-Queue Data-Structures.
21.33. Priority-Queue Data-Structure Tags.
B.1. Configure and Build File Dependencies

List of Tables

1.1. C++ 1998/2003 Implementation Status
1.2. C++ 2011 Implementation Status
1.3. C++ 2014 Implementation Status
1.4. C++ Technical Specifications Implementation Status
1.5. C++ 2017 Library Features
1.6. C++ 2017 Implementation Status
1.7. C++ Technical Specifications Implementation Status
1.8. Support for Extended ABI Tags
1.9. C++ 2020 Library Features
1.10. C++ 2023 Library Features
1.11. C++ TR1 Implementation Status
1.12. C++ TR 24733 Implementation Status
1.13. C++ Special Functions Implementation Status
3.1. C++ Command Options
3.2. C++ 1998 Library Headers
3.3. C++ 1998 Library Headers for C Library Facilities
3.4. C++ 1998 Deprecated Library Header
3.5. C++ 2011 Library Headers
3.6. C++ 2011 Library Headers for C Library Facilities
3.7. C++ 2014 Library Header
3.8. C++ 2017 Library Headers
3.9. C++ 2020 Library Headers
3.10. C++ 2020 Obsolete Headers
3.11. File System TS Header
3.12. Library Fundamentals TS Headers
3.13. C++ TR 1 Library Headers
3.14. C++ TR 1 Library Headers for C Library Facilities
3.15. C++ TR 24733 Decimal Floating-Point Header
3.16. C++ ABI Headers
3.17. Extension Headers
3.18. Extension Debug Headers
3.19. Extension Parallel Headers
17.1. Debugging Containers
17.2. Debugging Containers C++11
18.1. Parallel Algorithms
20.1. Bitmap Allocator Memory Map
B.1. Doxygen Prerequisites
B.2. HTML to Doxygen Markup Comparison
B.3. Docbook Prerequisites
B.4. HTML to Docbook XML Markup Comparison
B.5. Docbook XML Element Use
B.6. Extension Allocators
B.7. Extension Allocators Continued
\ No newline at end of file + \ No newline at end of file diff --git a/libstdc++-v3/doc/html/manual/status.html b/libstdc++-v3/doc/html/manual/status.html index c325f939f09..30d7fe2d95a 100644 --- a/libstdc++-v3/doc/html/manual/status.html +++ b/libstdc++-v3/doc/html/manual/status.html @@ -2,7 +2,7 @@ Chapter 1. Status

Chapter 1. Status

Implementation Status

C++ 1998/2003

Implementation Status

Next


Chapter 1. Status

Implementation Status

C++ 1998/2003

Implementation Status

This status table is based on the table of contents of ISO/IEC 14882:2003.

This section describes the C++ support in the GCC 11 release series. @@ -1242,8 +1242,8 @@ presence of the required flag. This section describes the C++20 and library TS support in the GCC 11 release series.

-The following table lists new library features that have been accepted into -the C++20 working draft. The "Proposal" column provides a link to the +The following table lists new library features that are included in +the C++20 standard. The "Proposal" column provides a link to the ISO C++ committee proposal that describes the feature, while the "Status" column indicates the first version of GCC that contains an implementation of this feature (if it has been implemented). @@ -1344,10 +1344,10 @@ or any notes about the implementation. 10.1 __cpp_lib_atomic_float >= 201711L C++ Synchronized Buffered Ostream P0053R7 - 11 __cpp_lib_syncbuf >= 201711L Manipulators for C++ Synchronized Buffered Ostream + 11.1 __cpp_lib_syncbuf >= 201711L Manipulators for C++ Synchronized Buffered Ostream P0753R2 - 11 __cpp_lib_syncbuf >= 201803L Make std::memory_order a scoped enumeration + 11.1 __cpp_lib_syncbuf >= 201803L Make std::memory_order a scoped enumeration P0439R0 9.1   The Curious Case of Padding Bits, Featuring Atomic Compare-and-Exchange @@ -1428,7 +1428,7 @@ or any notes about the implementation. string::reserve Should Not Shrink P0966R1 - 11   char8_t: A type for UTF-8 characters and strings + 11.1   char8_t: A type for UTF-8 characters and strings P0482R6 9.1 __cpp_lib_char8_t >= 201811L char8_t backward compatibility remediation @@ -1555,7 +1555,7 @@ or any notes about the implementation.   Bit-casting object representations P0476R2 - 11 __cpp_lib_bit_cast >= 201806L Integral power-of-2 operations + 11.1 __cpp_lib_bit_cast >= 201806L Integral power-of-2 operations P0556R3 9.1 __cpp_lib_int_pow2 >= 201806L (since 9.4, see Note 1) On the names of low-level bit manipulation functions @@ -1684,16 +1684,99 @@ or any notes about the implementation. 10.1 __cpp_lib_math_constants >= 201907L std::source_location P1208R6 - 11 + 11.1 __cpp_lib_source_location >= 201907L Efficient access to std::basic_stringbuf's Buffer P0408R7 - 11  


+ 11.1  


Note 1: This feature is supported in older releases but the __cpp_lib macro is not defined to the right value (or not defined at all) until the version shown in parentheses. -

C++ TR1

+

C++ 2023

+In this implementation the -std=gnu++23 or +-std=c++23 flag must be used to enable language +and library +features. See dialect +options. The pre-defined symbol +__cplusplus is used to check for the +presence of the required flag. +

+This section describes the C++23 and library TS support in mainline GCC, +not in any particular release. +

+The following table lists new library features that have been accepted into +the C++23 working draft. The "Proposal" column provides a link to the +ISO C++ committee proposal that describes the feature, while the "Status" +column indicates the first version of GCC that contains an implementation of +this feature (if it has been implemented). +A dash (—) in the status column indicates that the changes in the proposal +either do not affect the code in libstdc++, or the changes are not required for conformance. +The "SD-6 Feature Test / Notes" column shows the corresponding macro or header from +SD-6: +Feature-testing recommendations for C++ (where applicable) +or any notes about the implementation. +

Table 1.10. C++ 2023 Library Features

Library FeatureProposalStatusSD-6 Feature Test / Notes
+ Ranges and Views +
Range constructor for std::string_view + + P1989R2 + + 11.1  
join_view should join all views of ranges + + P2328R1 + + 11.2  
Clarifying range adaptor objects + + P2281R1 + + 11.1  
Views should not be required to be default constructible + + P2325R3 + + 11.3 __cpp_lib_ranges >= 202106L
Conditionally borrowed ranges + + P2017R1 + + 11.1  
Require span & basic_string_view to be Trivially Copyable + + P2251R1 + + Yes  
+ Compile-time programming +
A proposal for a type trait to detect scoped enumerations + + P1048R1 + + 11.1 __cpp_lib_is_scoped_enum >= 202011L
std::to_underlying for enumerations + + P1682R3 + + 11.1 __cpp_lib_to_underlying >= 202102L
+ Strings and text +
string contains function + + P1679R3 + + 11.1 __cpp_lib_string_contains >= 202011L
+ Miscellaneous +
Inheriting from std::variant + + P2162R2 + + 11.3 __cpp_lib_variant >= 202102L
Printing volatile Pointers + + P1147R1 + + 11.3  
Clarifying the status of the "C headers" + + P2340R1 + + Yes  
Relax Requirements for time_point::clock + + P2212R2 + + Yes  

C++ TR1

This table is based on the table of contents of ISO/IEC DTR 19768 Doc No: N1836=05-0096 Date: 2005-06-24 Draft Technical Report on C++ Library Extensions @@ -1703,7 +1786,7 @@ In this implementation the header names are prefixed by <tr1/memory>, and so on.

This page describes the TR1 support in the GCC 11 release series. -

Table 1.10. C++ TR1 Implementation Status

SectionDescriptionStatusComments
2General Utilities
2.1Reference wrappers  
2.1.1Additions to header <functional> synopsisY 
2.1.2Class template reference_wrapper  
2.1.2.1reference_wrapper construct/copy/destroyY 
2.1.2.2reference_wrapper assignmentY 
2.1.2.3reference_wrapper accessY 
2.1.2.4reference_wrapper invocationY 
2.1.2.5reference_wrapper helper functionsY 
2.2Smart pointers  
2.2.1Additions to header <memory> synopsisY 
2.2.2Class bad_weak_ptrY 
2.2.3Class template shared_ptr  +

Table 1.11. C++ TR1 Implementation Status

SectionDescriptionStatusComments
2General Utilities
2.1Reference wrappers  
2.1.1Additions to header <functional> synopsisY 
2.1.2Class template reference_wrapper  
2.1.2.1reference_wrapper construct/copy/destroyY 
2.1.2.2reference_wrapper assignmentY 
2.1.2.3reference_wrapper accessY 
2.1.2.4reference_wrapper invocationY 
2.1.2.5reference_wrapper helper functionsY 
2.2Smart pointers  
2.2.1Additions to header <memory> synopsisY 
2.2.2Class bad_weak_ptrY 
2.2.3Class template shared_ptr 

Uses code from boost::shared_ptr. @@ -1723,7 +1806,7 @@ Extension for the programming language C++ to support decimal floating-point arithmetic

This page describes the TR 24733 support in the GCC 11 release series. -

Table 1.11. C++ TR 24733 Implementation Status

SectionDescriptionStatusComments
+

Table 1.12. C++ TR 24733 Implementation Status

SectionDescriptionStatusComments
0 Introduction @@ -1763,7 +1846,7 @@ non-strict modes (i.e. -std=gnu++NN modes) the hypergeometric functions and confluent hypergeometric functions from TR1 are also provided, defined in namespace __gnu_cxx. -

Table 1.12. C++ Special Functions Implementation Status

SectionDescriptionStatusComments
7Macro namesPartialNo diagnostic for inconsistent definitions of +

Table 1.13. C++ Special Functions Implementation Status

SectionDescriptionStatusComments
7Macro namesPartialNo diagnostic for inconsistent definitions of __STDCPP_WANT_MATH_SPEC_FUNCS__
8Mathematical special functionsY 
8.1Additions to header <cmath> synopsisY 
8.1.1associated Laguerre polynomialsY 
8.1.2associated Legendre functionsY 
8.1.3beta functionY 
8.1.4(complete) elliptic integral of the first kindY 
8.1.5(complete) elliptic integral of the second kindY 
8.1.6(complete) elliptic integral of the third kindY 
8.1.7regular modified cylindrical Bessel functionsY 
8.1.8cylindrical Bessel functions (of the first kind)Y 
8.1.9irregular modified cylindrical Bessel functionsY 
8.1.10cylindrical Neumann functionsY 
8.1.11(incomplete) elliptic integral of the first kindY 
8.1.12(incomplete) elliptic integral of the second kindY 
8.1.13(incomplete) elliptic integral of the third kindY 
8.1.14exponential integralY 
8.1.15Hermite polynomialsY 
8.1.16Laguerre polynomialsY 
8.1.17Legendre polynomialsY 
8.1.18Riemann zeta functionY 
8.1.19spherical Bessel functions (of the first kind)Y 
8.1.20spherical associated Legendre functionsY 
8.1.21spherical Neumann functionsY 
8.2Additions to header <math.h>Y 
8.3The header <ctgmath>PartialConflicts with C++ 2011 requirements.
8.4The header <tgmath.h>NConflicts with C++ 2011 requirements.

Implementation Specific Behavior

For behaviour which is specified by the 2011 standard, see C++ 2011 Implementation Specific Behavior. This section documents behaviour which diff --git a/libstdc++-v3/doc/xml/manual/intro.xml b/libstdc++-v3/doc/xml/manual/intro.xml index 99837988cf6..62cab81651e 100644 --- a/libstdc++-v3/doc/xml/manual/intro.xml +++ b/libstdc++-v3/doc/xml/manual/intro.xml @@ -47,15 +47,19 @@ - + + + + + - + - + diff --git a/libstdc++-v3/doc/xml/manual/status_cxx2020.xml b/libstdc++-v3/doc/xml/manual/status_cxx2020.xml index dc1e65cb66a..67aac7d64b8 100644 --- a/libstdc++-v3/doc/xml/manual/status_cxx2020.xml +++ b/libstdc++-v3/doc/xml/manual/status_cxx2020.xml @@ -25,8 +25,8 @@ release series. -The following table lists new library features that have been accepted into -the C++20 working draft. The "Proposal" column provides a link to the +The following table lists new library features that are included in +the C++20 standard. The "Proposal" column provides a link to the ISO C++ committee proposal that describes the feature, while the "Status" column indicates the first version of GCC that contains an implementation of this feature (if it has been implemented). @@ -362,7 +362,7 @@ or any notes about the implementation. P0053R7 - 11 + 11.1 __cpp_lib_syncbuf >= 201711L @@ -372,7 +372,7 @@ or any notes about the implementation. P0753R2 - 11 + 11.1 __cpp_lib_syncbuf >= 201803L @@ -647,7 +647,7 @@ or any notes about the implementation. P0966R1 - 11 + 11.1 @@ -1045,7 +1045,7 @@ or any notes about the implementation. P0476R2 - 11 + 11.1 __cpp_lib_bit_cast >= 201806L @@ -1431,7 +1431,7 @@ or any notes about the implementation. P1208R6 - 11 + 11.1 __cpp_lib_source_location >= 201907L @@ -1443,7 +1443,7 @@ or any notes about the implementation. P0408R7 - 11 + 11.1 diff --git a/libstdc++-v3/doc/xml/manual/status_cxx2023.xml b/libstdc++-v3/doc/xml/manual/status_cxx2023.xml new file mode 100644 index 00000000000..f1244da9dc8 --- /dev/null +++ b/libstdc++-v3/doc/xml/manual/status_cxx2023.xml @@ -0,0 +1,232 @@ +

+ + +C++ 2023 + + ISO C++ + 2023 + + + + +In this implementation the -std=gnu++23 or +-std=c++23 flag must be used to enable language +and library +features. See dialect +options. The pre-defined symbol +__cplusplus is used to check for the +presence of the required flag. + + + +This section describes the C++23 and library TS support in mainline GCC, +not in any particular release. + + + +The following table lists new library features that have been accepted into +the C++23 working draft. The "Proposal" column provides a link to the +ISO C++ committee proposal that describes the feature, while the "Status" +column indicates the first version of GCC that contains an implementation of +this feature (if it has been implemented). +A dash (—) in the status column indicates that the changes in the proposal +either do not affect the code in libstdc++, or the changes are not required for conformance. +The "SD-6 Feature Test / Notes" column shows the corresponding macro or header from +SD-6: +Feature-testing recommendations for C++ (where applicable) +or any notes about the implementation. + + + +C++ 2023 Library Features + + + + + + + + + Library Feature + Proposal + Status + SD-6 Feature Test / Notes + + + + + + + + Ranges and Views + + + + + Range constructor for std::string_view + + + P1989R2 + + + 11.1 + + + + + join_view should join all views of ranges + + + P2328R1 + + + 11.2 + + + + + + Clarifying range adaptor objects + + + P2281R1 + + + 11.1 + + + + + Views should not be required to be default constructible + + + P2325R3 + + + 11.3 + __cpp_lib_ranges >= 202106L + + + + Conditionally borrowed ranges + + + P2017R1 + + + 11.1 + + + + + Require span & basic_string_view to be Trivially Copyable + + + P2251R1 + + + Yes + + + + + + Compile-time programming + + + + + A proposal for a type trait to detect scoped enumerations + + + P1048R1 + + + 11.1 + __cpp_lib_is_scoped_enum >= 202011L + + + + std::to_underlying for enumerations + + + P1682R3 + + + 11.1 + __cpp_lib_to_underlying >= 202102L + + + + + Strings and text + + + + + string contains function + + + P1679R3 + + + 11.1 + __cpp_lib_string_contains >= 202011L + + + + + Miscellaneous + + + + + Inheriting from std::variant + + + P2162R2 + + + 11.3 + __cpp_lib_variant >= 202102L + + + + Printing volatile Pointers + + + P1147R1 + + + 11.3 + + + + + Clarifying the status of the "C headers" + + + P2340R1 + + + Yes + + + + + Relax Requirements for time_point::clock + + + P2212R2 + + + Yes + + + + + +
+ +