From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 2181) id AD64D38485BC; Mon, 16 May 2022 14:07:34 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org AD64D38485BC 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 r12-8386] libstdc++: Add C++23 status docs X-Act-Checkin: gcc X-Git-Author: Jonathan Wakely X-Git-Refname: refs/heads/releases/gcc-12 X-Git-Oldrev: 02acb54c6e024019731864fc4bd4d83f9cf41bda X-Git-Newrev: 228bd8151c16ebd04afe85aed63db94ebe95ba50 Message-Id: <20220516140734.AD64D38485BC@sourceware.org> Date: Mon, 16 May 2022 14:07:34 +0000 (GMT) X-BeenThere: libstdc++-cvs@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libstdc++-cvs mailing list List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 16 May 2022 14:07:34 -0000 https://gcc.gnu.org/g:228bd8151c16ebd04afe85aed63db94ebe95ba50 commit r12-8386-g228bd8151c16ebd04afe85aed63db94ebe95ba50 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 b0c94da4ff7..5cc9226f4a1 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 380cedf5297..7122ddeaabd 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 7ce5d5ed10b..dab92b3011f 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 12 release series, @@ -1257,8 +1257,8 @@ presence of the required flag. This section describes the C++20 and library TS support in the GCC 12 release series, not in any particular release.

-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). @@ -1359,10 +1359,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 @@ -1443,7 +1443,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 @@ -1570,7 +1570,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 @@ -1699,16 +1699,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". @@ -1719,7 +1802,7 @@ In this implementation the header names are prefixed by

This page describes the TR1 support in the GCC 12 release series, not in any particular release. -

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. @@ -1740,7 +1823,7 @@ decimal floating-point arithmetic".

This page describes the TR 24733 support in the GCC 12 release series, not in any particular release. -

Table 1.11. C++ TR 24733 Implementation Status

SectionDescriptionStatusComments
+

Table 1.12. C++ TR 24733 Implementation Status

SectionDescriptionStatusComments
0 Introduction @@ -1780,7 +1863,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 548b632b6e4..290e5d3a74e 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 97aac8babdc..a13445f2246 100644 --- a/libstdc++-v3/doc/xml/manual/status_cxx2020.xml +++ b/libstdc++-v3/doc/xml/manual/status_cxx2020.xml @@ -25,8 +25,8 @@ not in any particular release. -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). @@ -359,7 +359,7 @@ or any notes about the implementation. P0053R7 - 11 + 11.1 __cpp_lib_syncbuf >= 201711L @@ -369,7 +369,7 @@ or any notes about the implementation. P0753R2 - 11 + 11.1 __cpp_lib_syncbuf >= 201803L @@ -643,7 +643,7 @@ or any notes about the implementation. P0966R1 - 11 + 11.1 @@ -1039,7 +1039,7 @@ or any notes about the implementation. P0476R2 - 11 + 11.1 __cpp_lib_bit_cast >= 201806L @@ -1424,7 +1424,7 @@ or any notes about the implementation. P1208R6 - 11 + 11.1 __cpp_lib_source_location >= 201907L @@ -1436,7 +1436,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 + + + + + +
+ +