From b1c2182bd9d129aab4679e4f864529ee9117fb70 Mon Sep 17 00:00:00 2001 From: Gerald Pfeifer Date: Sun, 15 Jan 2023 23:34:54 +0100 Subject: libstdc++: Move www.open-std.org in status part of manual to https libstdc++-v3/ChangeLog: 2023-01-15 Gerald Pfeifer * doc/xml/manual/status_cxx2014.xml: Switch www.open-std.org to https. * doc/xml/manual/status_cxx2017.xml: Ditto. * doc/xml/manual/status_cxx2020.xml: Ditto. * doc/xml/manual/status_cxx2023.xml: Ditto. * doc/html/manual/status.html: Regenerate. --- libstdc++-v3/doc/html/manual/status.html | 506 +++++++++++++++---------------- 1 file changed, 253 insertions(+), 253 deletions(-) (limited to 'libstdc++-v3/doc/html') diff --git a/libstdc++-v3/doc/html/manual/status.html b/libstdc++-v3/doc/html/manual/status.html index c1d7f68..47bb078 100644 --- a/libstdc++-v3/doc/html/manual/status.html +++ b/libstdc++-v3/doc/html/manual/status.html @@ -498,19 +498,19 @@ not in any particular release. Compatibility features D.1Increment operator with bool operand  D.2register keyword  D.3Implicit declaration of copy functions  D.4Dynamic exception specifications  D.5C standard library headersY D.6Old iostreams membersY D.7char* streamsY D.8Function objectsY D.9BindersY D.10auto_ptrY D.11Violating exception-specificationsY D.12Random shuffleY 

Table 1.4. C++ Technical Specifications Implementation Status

PaperTitleStatusComments
- + N3662 C++ Dynamic ArraysNArray Extensions TS
- + N3793 A proposal to add a utility class to represent optional objectsYLibrary Fundamentals TS
- + N3804 Any library proposalYLibrary Fundamentals TS
- + N3866 Invocation type traits, but dropping function_call_operator.NLibrary Fundamentals TS
@@ -518,31 +518,31 @@ not in any particular release. N3905 Faster string searching (Boyer-Moore et al.)YLibrary Fundamentals TS
- + N3915 apply() call a function with arguments from a tupleYLibrary Fundamentals TS
- + N3916 Polymorphic memory resourcesPartial (missing pool resource and buffer resource classes)Library Fundamentals TS
- + N3920 Extending shared_ptr to support arraysYLibrary Fundamentals TS
- + N3921 string_view: a non-owning reference to a stringYLibrary Fundamentals TS
- + N3925 A sample proposalYLibrary Fundamentals TS
- + N3932 Variable Templates For Type TraitsYLibrary Fundamentals TS
- + N4100 File SystemY @@ -592,69 +592,69 @@ Feature-testing recommendations for C++.

Table 1.5. C++ 2017 Library Features

Library FeatureProposalStatusSD-6 Feature Test
constexpr std::hardware_{constructive,destructive}_interference_size - + P0154R1 12.1 __cpp_lib_hardware_interference_size >= 201603
Core Issue 1776: Replacement of class objects containing reference members - + P0137R1 7.1 __cpp_lib_launder >= 201606
Wording for std::uncaught_exceptions - + N4259 6.1__cpp_lib_uncaught_exceptions >= 201411
C++17 should refer to C11 instead of C99 - + P0063R3 9.1  
Variant: a type-safe union for C++17 - + P0088R3 7.1 __has_include(<variant>), __cpp_lib_variant >= 201603 (since 7.3, see Note 1)
Library Fundamentals V1 TS Components: optional - + P0220R1 7.1 __has_include(<optional>), __cpp_lib_optional >= 201603 (since 7.3, see Note 1)
Library Fundamentals V1 TS Components: any - + P0220R1 7.1 __has_include(<any>), __cpp_lib_any >= 201603 (since 7.3, see Note 1)
Library Fundamentals V1 TS Components: string_view - + P0220R1 7.1 __has_include(<string_view>), __cpp_lib_string_view >= 201603 (since 7.3, see Note 1)
Library Fundamentals V1 TS Components: memory_resource - + P0220R1 9.1 __has_include(<memory_resource>), __cpp_lib_memory_resource >= 201603
Library Fundamentals V1 TS Components: apply - + P0220R1 7.1 __cpp_lib_apply >= 201603
Library Fundamentals V1 TS Components: shared_ptr<T[]> - + P0220R1 7.1 __cpp_lib_shared_ptr_arrays >= 201603
Library Fundamentals V1 TS Components: Searchers - + P0220R1 7.1 __cpp_lib_boyer_moore_searcher >= 201603
Library Fundamentals V1 TS Components: Sampling - + P0220R1 7.1 __cpp_lib_sample >= 201603
Constant View: A proposal for a std::as_const helper function template @@ -662,160 +662,160 @@ Feature-testing recommendations for C++. P0007R1 7.1 __cpp_lib_as_const >= 201510
Improving pair and tuple - + N4387 6.1 N/A
make_from_tuple: apply for construction - + P0209R2 7.1 __cpp_lib_make_from_tuple >= 201606
Removing auto_ptr, random_shuffle(), And Old <functional> Stuff - + N4190 No (kept for backwards compatibility) 
Deprecating Vestigial Library Parts in C++17 - + P0174R2 12.1  
Making std::owner_less more flexible - + P0074R0 7.1 __cpp_lib_transparent_operators >= 201510
std::addressof should be constexpr - + LWG2296 7.1 __cpp_lib_addressof_constexpr >= 201603
Safe conversions in unique_ptr<T[]> - + N4089 6  
LWG 2228: Missing SFINAE rule in unique_ptr templated assignment - + N4366 6  
Re-enabling shared_from_this - + P0033R1 7.1 __cpp_lib_enable_shared_from_this >= 201603
A proposal to add invoke function template - + N4169 6.1 __cpp_lib_invoke >= 201411
TriviallyCopyable reference_wrapper - + N4277 5.1  
Adopt not_fn from Library Fundamentals 2 for C++17 - + P0005R4 7.1 __cpp_lib_not_fn >= 201603
Fixes for not_fn - + P0358R1 7.1  
Fixing a design mistake in the searchers interface in Library Fundamentals - + P0253R1 7.1  
Extending memory management tools - + P0040R3 7.1 __cpp_lib_raw_memory_algorithms >= 201606L
shared_ptr::weak_type - + P0163R0 7.1 __cpp_lib_shared_ptr_weak_type >= 201606
Transformation Trait Alias void_t - + N3911 6.1 __cpp_lib_void_t >= 201411
Wording for bool_constant, revision 1 - + N4389 6.1 __cpp_lib_bool_constant >= 201505
Adopt Type Traits Variable Templates from Library Fundamentals TS for C++17 - + P0006R0 7.1 __cpp_lib_type_trait_variable_templates >= 201510
Logical Operator Type Traits - + P0013R1 6.1 __cpp_lib_logical_traits >= 201510
Adding [nothrow-]swappable traits - + P0185R1 7.1 (__is_swappable available since 6.1) __cpp_lib_is_swappable >= 201603
is_callable, the missing INVOKE related trait - + P0077R2 7.1 __cpp_lib_is_invocable >= 201703
has_unique_object_representations - + P0258R2 7.1 __cpp_lib_has_unique_object_representations >= 201606
Polishing <chrono> - + P0092R1 7.1 __cpp_lib_chrono >= 201510
Adding more constexpr to <chrono> - + P0505R0 7.1 __cpp_lib_chrono >= 201611 (since 7.3, see Note 2)
Constexpr for std::char_traits - + P0426R1 8.1 __cpp_lib_constexpr_string >= 201611
Integrating std::string_view and std::string - + P0254R2 7.1
Give 'std::string' a non-const '.data()' member function - + P0272R1 7.1
Cleaning-up noexcept in the Library - + N4258 6.1 __cpp_lib_allocator_traits_is_always_equal >= 201411
Contiguous Iterators - + N4284 N/A 
Minimal incomplete type support for standard containers - + N4510 3.0 __cpp_lib_incomplete_container_elements >= 201505 (since 6.2, see Note 2)
Emplace return type - + P0084R2 7.1  
Improved insertion interface for unique-key maps - + N4279 6.1 __cpp_lib_map_try_emplace >= 201411, __cpp_lib_unordered_map_try_emplace >= 201411
Splicing Maps and Sets - + P0083R3 7.1 __cpp_lib_node_extract >= 201606
Non-member size() and more - + N4280 6.1 __cpp_lib_nonmember_container_access >= 201411
A Proposal to Add Constexpr Modifiers to reverse_iterator, move_iterator, array and Range Access - + P0031R0 7.1 __cpp_lib_array_constexpr >= 201603
The Parallelism TS Should be Standardized - + P0024R2 9.1 __has_include(<execution>), @@ -823,66 +823,66 @@ Feature-testing recommendations for C++. __cpp_lib_parallel_algorithm >= 201603 (requires linking with -ltbb, see Note 3)
An algorithm to "clamp" a value between a pair of boundary values - + P0025R0 7.1 __cpp_lib_clamp >= 201603
Adopt Selected Library Fundamentals V2 Components for C++17 - + P0295R0 7.1 __cpp_lib_gcd_lcm >= 201606
Proposal to Introduce a 3-Argument Overload to std::hypot - + P0030R1 7.1 __cpp_lib_hypot >= 201603
Mathematical Special Functions for C++17 - + P0226R1 7.1 __cpp_lib_math_special_functions >= 201603 (see Note 4)
Adopt the File System TS for C++17 - + P0218R1 8.1 __has_include(<filesystem>), __cpp_lib_filesystem >= 201603 (GCC 8.x requires linking with -lstdc++fs)
Relative Paths for Filesystem - + P0219R1 8.1 __cpp_lib_filesystem >= 201606
Adapting string_view by filesystem paths - + P0392R0 8.1 __cpp_lib_filesystem >= 201606
Directory Entry Caching for Filesystem - + P0317R1 8.1 __cpp_lib_filesystem >= 201703
constexpr atomic<T>::is_always_lock_free - + P0152R1 7.1 __cpp_lib_atomic_is_always_lock_free >= 201603
A proposal to add shared_mutex (untimed) (Revision 4) - + N4508 6.1 __cpp_lib_shared_mutex >= 201505
Variadic lock_guard (Rev. 5) - + P0156R2 7.1 __cpp_lib_scoped_lock >= 201703
A byte type definition - + P0298R3 7.1 __cpp_lib_byte >= 201603 (since 7.3, see Note 2)
Elementary string conversions - + P0067R5 11.1 (integral types supported since 8.1) __has_include(<charconv>), __cpp_lib_to_chars >= 201611
Homogeneous interface for variant, any and optional - + P0032R3 7.1 @@ -890,7 +890,7 @@ Feature-testing recommendations for C++. __cpp_lib_optional >= 201606 , __cpp_lib_variant >= 201606
Making Optional Greater Equal Again - + P0307R2 7.1 __cpp_lib_optional >= 201606

@@ -975,43 +975,43 @@ since C++14 and the implementation is complete.

Compatibility features
D.4C++ standard library headersY 
D.4.1Header <ccomplex> synopsisY 
D.4.1Header <cstdalign> synopsisY 
D.4.1Header <cstdbool> synopsisY 
D.4.1Header <ctgmath> synopsisY 
D.5C standard library headersY 
D.6char* streamsY 
D.7uncaught_exceptionY 
D.8Old adaptable function bindingsY 
D.9The default allocatorY 
D.10Raw storage iteratorY 
D.11Temporary buffersY 
D.12Deprecated type traitsY 
D.13Deprecated iterator primitivesY 
D.14Deprecated shared_ptr observersY 
D.15Deprecated standard code conversion facetsY 
D.16Deprecated convenience conversion interfacesY 

Table 1.7. C++ Technical Specifications Implementation Status

PaperTitleStatusComments
- + N4076 A generalized callable negatorYLibrary Fundamentals 2 TS
- + N4273 Uniform Container ErasureYLibrary Fundamentals 2 TS
- + N4061 Greatest Common Divisor and Least Common MultipleYLibrary Fundamentals 2 TS
- + N4066 Delimited iteratorsYLibrary Fundamentals 2 TS
- + N4282 The World's Dumbest Smart PointerYLibrary Fundamentals 2 TS
- + N4388 Const-Propagating WrapperYLibrary Fundamentals 2 TS
- + N4391 make_array, revision 4 YLibrary Fundamentals 2 TS
- + N4502 Support for the C++ Detection Idiom, V2 YLibrary Fundamentals 2 TS
- + N4519 Source-Code Information Capture YLibrary Fundamentals 2 TS
- + N4521 Merge Fundamentals V1 into V2 @@ -1022,11 +1022,11 @@ since C++14 and the implementation is complete. P0013R1 Logical Operator Type Traits (revision 1)YLibrary Fundamentals 2 TS
- + N4531 std::rand replacement, revision 3YLibrary Fundamentals 2 TS
- + P0214R9 Data-Parallel TypesYParallelism 2 TS

Implementation Specific Behavior

For behaviour which is also specified by previous standards, @@ -1271,441 +1271,441 @@ or any notes about the implementation.

Table 1.9. C++ 2020 Library Features

Library FeatureProposalStatusSD-6 Feature Test / Notes
Compile-time programming
Add constexpr modifiers to functions in <algorithm> and <utility> Headers - + P0202R3 10.1 __cpp_lib_constexpr_algorithms >= 201703L
Constexpr for swap and swap related functions - + P0879R0 10.1 __cpp_lib_constexpr_algorithms >= 201806L
Constexpr for std::complex - + P0415R1 9.1 __cpp_lib_constexpr_complex >= 201711L (since 9.4, see Note 1)
std::is_constant_evaluated() - + P0595R2 9.1 __cpp_lib_is_constant_evaluated >= 201811L
More constexpr containers - + P0784R7 10.1 __cpp_lib_constexpr_dynamic_alloc >= 201907L
Making std::string constexpr - + P0980R1 12.1 __cpp_lib_constexpr_string >= 201907L
Making std::vector constexpr - + P1004R2 12.1 __cpp_lib_constexpr_vector >= 201907L
Constexpr in std::pointer_traits - + P1006R1 9.1 __cpp_lib_constexpr_memory >= 201811L (since 9.4, see Note 1)
constexpr for <numeric> algorithms - + P1645R1 10.1 __cpp_lib_constexpr_numeric >= 201911L
Constexpr iterator requirements - + P0858R0 9.1
__cpp_lib_array_constexpr >= 201803L
__cpp_lib_string_view >= 201803L
(both since 9.4, see Note 1)
constexpr comparison operators for std::array - + P1023R0 10.1 __cpp_lib_array_constexpr >= 201806
Misc constexpr bits - + P1032R1 10.1
__cpp_lib_array_constexpr >= 201811L
__cpp_lib_constexpr_functional >= 201811L
__cpp_lib_constexpr_iterator >= 201811L
__cpp_lib_constexpr_string_view >= 201811L
__cpp_lib_constexpr_tuple >= 201811L
__cpp_lib_constexpr_utility >= 201811L
constexpr INVOKE - + P1065R2 10.1 __cpp_lib_constexpr_functional >= 201907L
Transformation Trait remove_cvref - + P0550R2 9.1 __cpp_lib_remove_cvref >= 201711L (since 9.4, see Note 1)
Implicit conversion traits and utility functions - + P0758R1 9.1 __cpp_lib_is_nothrow_convertible >= 201806L (since 9.4, see Note 1)
The identity metafunction - + P0887R1 9.1 __cpp_lib_type_identity >= 201806L (since 9.4, see Note 1)
unwrap_ref_decay and unwrap_reference - + P0318R1 9.1 __cpp_lib_unwrap_ref >= 201811L (since 9.4, see Note 1)
Improving Completeness Requirements for Type Traits - + P1285R0 Partial  
Missing feature test macros - + P1353R0 9.1  
Making std::underlying_type SFINAE-friendly - + P0340R3 9.1  
Traits for [Un]bounded Arrays - + P1357R1 9.1 __cpp_lib_bounded_array_traits >= 201902L
Layout-compatibility and pointer-interconvertibility traits - + P0466R5 12.1
__cpp_lib_is_layout_compatible >= 201907L
__cpp_lib_is_pointer_interconvertible >= 201907L
Integrating feature-test macros into the C++ WD - + P0941R2 5.1  
<version> - + P0754R2 9.1 __has_include(<version>)
Synchronization
Atomic Ref - + P0019R8 10.1 __cpp_lib_atomic_ref >= 201806L
Floating Point Atomic - + P0020R6 10.1 __cpp_lib_atomic_float >= 201711L
C++ Synchronized Buffered Ostream - + P0053R7 11.1 __cpp_lib_syncbuf >= 201711L
Manipulators for C++ Synchronized Buffered Ostream - + P0753R2 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 - + P0528R3 13.1  
Atomic shared_ptr - + P0718R2 12.1 __cpp_lib_atomic_shared_ptr >= 201711L
std::stop_token and std::jthread - + P0660R10 10.1 __cpp_lib_jthread >= 201907L
Rename condition_variable_any interruptible wait methods - + P1869R1 10.1 __cpp_lib_jthread >= 201911L
Atomic waiting and notifying, std::semaphore, std::latch and std::barrier - + P1135R6 11.1
__cpp_lib_atomic_lock_free_type_aliases >= 201907L
__cpp_lib_atomic_flag_test >= 201907L
__cpp_lib_atomic_wait >= 201907L
__cpp_lib_semaphore >= 201907L
__cpp_lib_latch >= 201907L
__cpp_lib_barrier >= 201907L
Fixing Atomic Initialization - + P0883R2 10.1 __cpp_lib_atomic_value_initialization >= 201911L
Ranges and Concepts
Standard Library Concepts - + P0898R3 10.1 __cpp_lib_concepts >= 201806L
Rename concepts to standard_case for C++20, while we still can - + P1754R1 10.1 __cpp_lib_concepts >= 201907L
Wording for boolean-testable - + P1964R2 10.1 __cpp_lib_concepts >= 202002L
The One Ranges Proposal - + P0896R4 10.1 __cpp_lib_ranges >= 201811L
Input Range Adaptors - + P1035R7 10.1 __cpp_lib_ranges >= 201907L
ranges compare algorithm are over-constrained - + P1716R3 10.1 __cpp_lib_ranges >= 201911L
Remove CommonReference requirement from StrictWeakOrdering (a.k.a Fixing Relations) - + P1248R1 10.1  
Ranges Design Cleanup - + P1252R2 10.1  
Avoid template bloat for safe_ranges in combination with ‘subrange-y’ view adaptors. - + P1739R4  
Time, dates, calendars, time zones
Extending chrono to Calendars and Time Zones - + P0355R7   __cpp_lib_chrono >= 201803L
Miscellaneous minor fixes for chrono - + P1466R3   __cpp_lib_chrono >= 201907L
<chrono> zero(), min(), and max() should be noexcept - + P0972R0 9.1  
Three-way comparison
Library Support for the Spaceship (Comparison) Operator - + P0768R1 10.1 __cpp_lib_three_way_comparison >= 201711L
Symmetry for spaceship - + P0905R1 10.1  
Adding <=> to the standard library - + P1614R2 10.1 __cpp_lib_three_way_comparison >= 201907L
Strings and text
string::reserve Should Not Shrink - + P0966R1 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 - + P1423R3 10.1 __cpp_lib_char8_t >= 201907L
Text formatting - + P0645R10 __cpp_lib_format >= 201907L
Integration of chrono with text formatting - + P1361R2 __cpp_lib_format >= 201907L
Printf corner cases in std::format - + P1652R1 __cpp_lib_format >= 201907L
String Prefix and Suffix Checking - + P0457R2 9.1 __cpp_lib_starts_ends_with >= 201711L (since 9.4, see Note 1)
Update The Reference To The Unicode Standard - + P1025R1  
Containers
span: bounds-safe views for sequences of objects - + P0122R7 10.1 __cpp_lib_span >= 201803L
Usability Enhancements for std::span - + P1024R3 10.1 __cpp_lib_span >= 201902L
Should Span be Regular? - + P1085R2 10.1  
Fixed-size <span> construction from dynamic range - + P1976R2 10.1 __cpp_lib_span >= 202002L
std::to_array - + P0325R4 10.1 __cpp_lib_to_array >= 201907L
Checking for Existence of an Element in Associative Containers - + P0458R2 9.1  
Comparing Unordered Containers - + P0809R0  
Heterogeneous lookup for unordered containers - + P0919R3 11.1 __cpp_lib_generic_unordered_lookup >= 201811
Refinement Proposal for P0919 - + P1690R1 11.1  
Adopt Consistent Container Erasure from Library Fundamentals 2 for C++20 - + P1209R0 9.1 __cpp_lib_erase_if >= 201811L
Improving the Return Value of Erase-Like Algorithms - + P0646R1 9.1 __cpp_lib_list_remove_return_type >= 201806L
Improving the Return Value of Erase-Like Algorithms II: Free erase/erase_if - + P1115R3 9.1
__cpp_lib_erase_if >= 202002L
(defined to 201900L for GCC 9.1 and 9.2 so use > 201811L)
Signed ssize() functions, unsigned size() functions - + P1227R2 10.1 __cpp_lib_ssize >= 201902L
Memory management
Utility to convert a pointer to a raw pointer - + P0653R2 8.1 __cpp_lib_to_address >= 201711L (since 9.4, see Note 1)
Extending make_shared to Support Arrays - + P0674R1 12.1 __cpp_lib_shared_ptr_arrays >= 201707L
Efficient sized delete for variable sized classes - + P0722R3 9.1 __cpp_lib_destroying_delete >= 201806L
Utility functions to implement uses-allocator construction - + P0591R4 9.1 std::scoped_allocator_adaptor changes missing in 9.1.0
std::assume_aligned - + P1007R3 9.1 __cpp_lib_assume_aligned >= 201811L (since 9.4, see Note 1)
Smart pointer creation with default initialization - + P1020R1 12.1 __cpp_lib_smart_ptr_for_overwrite >= 201811L
Rename "default_init" Functions P1973R1 12.1 __cpp_lib_smart_ptr_for_overwrite >= 201811L
Make stateful allocator propagation more consistent for operator+(basic_string) - + P1165R1 10.1  
polymorphic_allocator<> as a vocabulary type - + P0339R6 9.1 __cpp_lib_polymorphic_allocator >= 201902L (since 9.4, see Note 1)
LWG 2511: guaranteed copy elision for piecewise construction - + P0475R1 7.1  
Miscellaneous
nodiscard in the Library - + P0600R1 9.1  
de-pessimize legacy algorithms with std::move - + P0616R0 9.1  
Deprecate POD - + P0767R1 10.1  
Treating Unnecessary decay - + P0777R1 9.1  
Thou Shalt Not Specialize std Function Templates! - + P0551R3  
Bit-casting object representations - + P0476R2 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 - + P1956R1 10.1 __cpp_lib_int_pow2 >= 202002L
Safe integral comparisons - + P0586R2 10.1 __cpp_lib_integer_comparison_functions >= 202002L
Reviewing Deprecated Facilities of C++17 for C++20 - + P0619R4 12.1  
fpos Requirements - + P0759R1  
Add shift to <algorithm> - + P0769R2 10.1 __cpp_lib_shift >= 201806L
Standard Library Specification in a Concepts and Contracts World - + P0788R3  
explicit(bool) - + P0892R2  
Eradicating unnecessarily explicit default constructors from the standard library - + P0935R0 9.1  
std::function move constructor should be noexcept - + P0771R1 7.2  
Simplified partial function application - + P0356R5 9.1 __cpp_lib_bind_front >= 201811L
bind_front should not unwrap reference_wrapper - + P1651R0 9.3 __cpp_lib_bind_front >= 201907L
reference_wrapper for incomplete types - + P0357R3 9.1  
Fixing operator>>(basic_istream&, CharT*) (LWG 2499) - + P0487R1 11.1  
variant and optional should propagate copy/move triviality - + P0602R4 8.3  
A sane variant converting constructor - + P0608R3 10.1  
visit<R>: Explicit Return Type for visit - + P0655R1 9.1  
P0899R1 - LWG 3016 is not a defect - + P0899R1 7.1  
Editorial Guidance for merging P0019r8 and P0528r3 - + P1123R0  
Cleaning up Clause 20 - + P1148R0  
Completing the Rebase of Library Fundamentals, Version 3, Working Draft - + P1210R0  
Alternative Wording for P0907R4 Signed Integers are Two's Complement - + P1236R1  
I Stream, You Stream, We All Stream for istream_iterator - + P0738R2 10.1  
Mandating the Standard Library: Clause 16 - Language support library - + P1458R1  
Mandating the Standard Library: Clause 18 - Diagnostics library - + P1459R1  
Mandating the Standard Library: Clause 20 - Strings library - + P1462R1  
Mandating the Standard Library: Clause 21 - Containers library - + P1463R1 10.1  
Mandating the Standard Library: Clause 22 - Iterators library - + P1464R1  
Make create_directory() Intuitive - + P1164R1 8.3 Treated as a DR for C++17
Target Vectorization Policies from Parallelism V2 TS to C++20 - + P1001R2 9.1 __cpp_lib_execution >= 201902L (since 9.4, see Note 1)
Merge Coroutines TS into C++20 working draft - + P0912R5 10.1 __cpp_lib_coroutines >= 201902L
Endian just Endian - + P0463R1 8.1 __cpp_lib_endian >= 201907L
Bit operations - + P0553R4 9.1 __cpp_lib_bitops >= 201907L (since 9.4, see Note 1)
Well-behaved interpolation for numbers and pointers - + P0811R3 9.1 __cpp_lib_interpolate >= 201902L
Mathematical constants - + P0631R8 10.1 __cpp_lib_math_constants >= 201907L
std::source_location - + P1208R6 11.1 __cpp_lib_source_location >= 201907L
Efficient access to std::basic_stringbuf's Buffer - + P0408R7 11.1  

Note 1: This feature is supported in older releases but the @@ -1737,65 +1737,65 @@ 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  
Repairing input range adaptors and counted_iterator - + P2259R1 12.1  
Superior String Splitting - + P2210R2 12.1  
What is a view? - + P2415R2 12.1 __cpp_lib_ranges >= 202110L
Fix istream_view - + P2432R1 12.1  
starts_with and ends_with - + P1659R3 __cpp_lib_ranges_starts_ends_with >= 202106L
zip - + P2321R2 __cpp_lib_ranges_zip >= 202110L
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
Missing constexpr in std::optional and std::variant - + P2231R1 @@ -1803,117 +1803,117 @@ or any notes about the implementation.
__cpp_lib_constexpr_optional >= 202106L
__cpp_lib_variant >= 202106L
Making std::unique_ptr constexpr - + P2273R3 12.1 __cpp_lib_constexpr_memory >= 202202L
Making std::type_info::operator== constexpr - + P1328R1 12.1 __cpp_lib_constexpr_typeinfo >= 202106L
constexpr for <cmath> and <cstdlib> - + P0533R9 __cpp_lib_constexpr_cmath >= 202202L
Deprecate std::aligned_storage and std::aligned_union - + P1413R3  
A type trait to detect reference binding to temporary - + P2255R2 __cpp_lib_reference_from_temporary >= 202202L
Strings and text
string contains function - + P1679R3 11.1 __cpp_lib_string_contains >= 202011L
Prohibit std::basic_string and std::basic_string_view construction from nullptr - + P2166R1 12.1  
basic_string::resize_and_overwrite - + P1072R10 12.1 __cpp_lib_resize_and_overwrite >= 202110L
A strstream replacement using span<charT> as buffer - + P0448R4 12.1 __cpp_lib_spanstream >= 202106L
Containers
Iterator pair constructors for stack and queue - + P1425R4 12.1 __cpp_lib_adaptor_iterator_pair_constructor >= 202106L
Stop overconstraining allocators in container deduction guides - + P1518R2 12.1  
Heterogeneous erasure overloads for associative containers - + P2077R3 __cpp_lib_associative_heterogeneous_erasure >= 202110L
Miscellaneous
Inheriting from std::variant - + P2162R2 11.3 __cpp_lib_variant >= 202102L
Printing volatile Pointers - + P1147R1 11.3  
A Proposal to add stacktrace library - + P0881R7 12.1 __cpp_lib_stacktrace >= 202011L
Add a pmr alias for std::stacktrace - + P2301R1 12.1  
std::expected - + P0323R12 12.1 __cpp_lib_expected >= 202202L
Monadic operations for std::optional - + P0798R8 12.1 __cpp_lib_optional >= 202110L
move_only_function - + P0288R9 12.1 __cpp_lib_move_only_function >= 202110L
invoke_r - + P2136R3 12.1 __cpp_lib_invoke_r >= 202106L
Byteswapping for fun&&nuf - + P1272R4 12.1 __cpp_lib_byteswap >= 202110L
Function to mark unreachable code - + P0627R6 12.1 __cpp_lib_unreachable >= 202202L
Add a conditional noexcept specification to std::exchange - + P2401R0 12.1  
Support C atomics in C++ - + P0943R6 12.1 __cpp_lib_stdatomic_h >= 202011L
Clarifying the status of the "C headers" - + P2340R1 Yes  
Relax Requirements for time_point::clock - + P2212R2 Yes  
Removing Garbage Collection Support - + P2186R2 12.1  

C++ TR1

-- cgit v1.1