typename optional in more contexts |
P0634R3 |
Requires Xcode 16 |
Structured binding extensions |
P1091R3 |
Requires Xcode 16 |
P1381R1 |
Parenthesized initialization of aggregates |
P0960R3 |
Requires Xcode 16 |
P1975R0 |
Concepts |
P0734R0 |
Not supported: papers P2103R0, DR1496, DR1734, P0848R3 |
P1084R2 |
P1141R2 |
P1616R1 |
P1452R2 |
P1972R0 |
P1980R0 |
P2493R0 |
P2092R0 |
Immediate functions (consteval ) |
P1073R3 |
Requires Xcode 15 or later |
P1937R2 |
Default member initializers for bit-fields |
P0683R1 |
|
Fix const -qualified (const& -qualified) pointers to members |
P0704R1 |
|
Allow lambda-capture [=, this] |
P0409R2 |
|
__VA_OPT__ for comma omission and comma deletion |
P0306R4 |
|
P1042R1 |
Designated initializers |
P0329R4 |
|
Familiar template-parameter-list syntax for generic lambdas |
P0428R2 |
|
Range-based for statements with initializer |
P0614R1 |
|
ADL and function templates that are not visible |
P0846R0 |
|
const mismatch with defaulted copy constructor |
P0641R2 |
|
Consistent comparison (operator<=> ) |
P0515R3 |
|
P0905R1 |
P1120R0 |
P1185R2 |
P1186R3 |
P1630R1 |
P1946R0 |
P1959R0 |
P2085R0 |
Relaxing access checking on specializations |
P0692R1 |
|
Default constructible and assignable stateless lambdas |
P0624R2 |
|
Allowing lambdas in unevaluated contexts |
P0315R4 |
Not supported: [temp.deduct/9] |
[[no_unique_address]] attribute |
P0840R2 |
|
[[likely]] and [[unlikely]] attributes |
P0479R5 |
|
Pack expansion in lambda init-capture |
P0780R2 |
|
Relaxations of constexpr restrictions |
P1064R0 |
|
P1002R1 |
P1327R1 |
P1330R0 |
P1331R2 |
P1668R1 |
P0784R7 |
Prohibit aggregates with user-declared constructors |
P1008R1 |
|
Feature test macros |
P0941R2 |
|
explicit(bool): conditionally explicit constructor |
P0892R2 |
|
Signed integers are two’s complement |
P1236R1 |
|
char8_t: A type for UTF-8 characters and strings |
P0482R6 |
|
std::is_constant_evaluated |
P0595R2 |
|
Nested inline namespaces |
P1094R2 |
|
Stronger unicode requirements |
P1041R4 |
|
P1139R2 |
Coroutines |
P0912R5 |
|
Deprecate comma operator in subscripting expressions like a[b,c] |
P1161R3 |
|
Deprecate some problematic uses of volatile |
P1152R4 |
|
[[nodiscard("with reason")]] |
P1301R4 |
|
using enum |
P1099R5 |
|
Permit conversions to arrays of unknown bound |
P0388R4 |
|
constinit |
P1143R2 |
|
Pseudo-destructors end object lifetimes |
P0593R6 (DR) |
|
Implicit move for more local objects and rvalue references |
P1825R0 (DR) |
|
Features implemented in the libc++library |
Floating Point Atomic |
P0020R6 |
Requires Xcode 16 |
Text formatting (std::format) |
P0645R10 |
Requires Xcode 15.3 or later |
Efficient access to basic_stringbuf ’s buffer |
P0408R7 |
Requires Xcode 15.3 or later |
Utility functions to implement uses-allocator construction |
P0591R4 |
Requires Xcode 15 or later |
char8_t: A type for UTF-8 characters and strings |
P0482R6 |
Requires Xcode 15 or later |
nodiscard in the Library |
P0600R1 |
Requires Xcode 15 or later |
polymorphic_allocator<> as a vocabulary type |
P0339R6 |
Requires Xcode 15 or later |
Constexpr for std::complex |
P0415R1 |
Requires Xcode 15 or later |
Adopt source_location for C++20 |
P1208R6 |
Requires Xcode 15 or later |
Input Range Adaptors |
P1035R7 |
Requires Xcode 15 or later |
Views should not be required to be default constructible |
P2325R3 |
Requires Xcode 15 or later |
Smart pointer creation with default initialization |
P1020R1 |
Requires Xcode 15 or later |
Superior String Splitting |
P2210R2 |
Requires Xcode 15 or later |
basic_istream_view::iterator should not be copyable |
P1638R1 |
Requires Xcode 15 or later |
Output std::chrono::days with ‘d’ suffix |
P1650R0 |
Requires Xcode 15 or later |
Ranges adaptors for non-copyable iterators |
P1862R1 |
Requires Xcode 15 or later |
Rename “_default_init” Functions, Rev1 |
P1973R1 |
Requires Xcode 15 or later |
elements_view needs its own sentinel |
P1994R1 |
Requires Xcode 15 or later |
Fix istream_view |
P2432R1 |
Requires Xcode 15 or later |
Making std::vector constexpr |
P1004R2 |
Requires Xcode 14.3 or later |
Consistent stateful allocator propagation for operator+(basic_string) |
P1165R1 |
Requires Xcode 14.3 or later |
Support arrays in make_shared and allocate_shared |
P0674R1 |
Requires Xcode 14.3 or later |
Making std::string constexpr |
P0980R1 |
Requires Xcode 14.3 or later |
Consider ATOMIC_FLAG_INIT undeprecation |
LWG3659 |
Requires Xcode 14.3 or later |
char8_t backward compatibility remediation |
P1423R3 |
Requires Xcode 14.3 or later |
Bit-casting object representations |
P0476R2 |
Requires Xcode 14.3 or later |
Ranges |
P0896R4 |
Requires Xcode 14.3 or later |
P2415R2 |
Requires Xcode 14.3 or later |
P2281R1 |
Requires Xcode 14.3 or later |
std::endian |
P0463R1 |
|
Add constexpr modifiers to functions in <algorithm> and <utility> headers |
P0202R3 |
|
Make std::memory_order a scoped enumeration |
P0439R0 |
|
String prefix and suffix checking |
P0457R2 |
|
Transformation trait remove_cvref |
P0550R2 |
|
De-pessimize legacy <numeric> algorithms with std::move |
P0616R0 |
|
Utility to convert a pointer to a raw pointer |
P0653R2 |
|
Deprecate is_pod |
P0767R1 |
|
Library support for the spaceship (comparison) operator <=> |
P0768R1 |
|
Treating unnecessary decay |
P0777R1 |
|
<span> |
P0122R7 |
|
Thou shalt not specialize std function templates! |
P0551R3 |
|
<version> |
P0754R2 |
|
Comparing unordered containers |
P0809R0 |
|
Constexpr iterator requirements |
P0858R0 |
|
string::reserve should not shrink |
P0966R1 |
|
Checking for existence of an element in associative containers |
P0458R2 |
|
Guaranteed copy elision for piecewise construction |
P0475R1 |
|
Integral power-of-2 operations |
P0556R3 |
|
Reviewing deprecated facilities of C++17 for C++20 |
P0619R4 |
Not supported: P0619, Sections D.4, D.7, D.11, and D.12 |
Improving the return value of erase-like algorithms |
P0646R1 |
|
Efficient sized delete for variable sized classes |
P0722R3 |
|
Implicit conversion traits and utility functions |
P0758R1 |
|
fpos requirements |
P0759R1 |
|
Add shift to <algorithm> |
P0769R2 |
|
constexpr for swap and swap related functions |
P0879R0 |
|
The identity metafunction |
P0887R1 |
|
Standard library concepts |
P0898R3 |
|
Eradicating unnecessarily explicit default constructors |
P0935R0 |
|
constexpr comparison operators for std::array |
P1023R0 |
|
std::unwrap_ref_decay and std::unwrap_reference |
P0318R1 |
|
Simplified partial function application |
P0356R5 |
|
Supporting Incomplete types In reference_wrapper |
P0357R3 |
|
Fixing operator>>(basic_istream&, CharT*) |
P0487R1 |
|
std::is_constant_evaluated() |
P0595R2 |
|
Variant and optional should propagate copy/move triviality |
P0602R4 |
|
Improving variant’s Converting Constructor/Assignment |
P0608R3 |
|
visit<R>: explicit return type for visit |
P0655R1 |
|
std::function move constructor should be noexcept |
P0771R1 |
|
Heterogeneous lookup for unordered containers |
P0919R3 |
|
<chrono> zero(), min(), and max() should be noexcept |
P0972R0 |
|
constexpr in std::pointer_traits |
P1006R1 |
|
Misc constexpr bits |
P1032R1 |
|
Remove comparison operators of std::span |
P1085R2 |
|
Adopt consistent container erasure from library fundamentals 2 |
P1209R0 |
|
Remove CommonReference requirement from StrictWeakOrdering |
P1248R1 |
|
Making std::underlying_type SFINAE-friendly |
P0340R3 |
|
Well-behaved interpolation for numbers and pointers |
P0811R3 |
|
Usability enhancements for std::span |
P1024R3 |
|
Make create_directory() intuitive |
P1164R1 |
|
signed ssize() functions, unsigned size() functions |
P1227R2 |
|
Traits for [Un]bounded Arrays |
P1357R1 |
|
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 22 - Iterators library |
P1464R1 |
|
to_array from LFTS with updates |
P0325R4 |
|
Bit operations |
P0553R4 |
|
Math constants |
P0631R8 |
|
More onstexpr containers |
P0784R7 |
|
constexpr invoke |
P1065R2 |
|
Synchronization library (<barrier> , <latch> , <semaphore> and notification functions on std::atomic ) |
P1135R6 |
Minimum deployment target: macOS 11.0, iOS 14.0, tvOS 14.0, watchOS 7.0 |
Exposing a narrow contract for ceil2 |
P1355R2 |
|
Relocate endian’s specification |
P1612R1 |
|
bind_front should not unwrap reference_wrapper |
P1651R0 |
|
Remove dedicated precalculated hash lookup interface |
P1661R1 |
|
Fixing atomic initialization |
P0883R2 |
|
Range constructor for std::string_view |
P1391R4 |
|
Range constructor for std::span |
P1394R4 |
|
constexpr for numeric algorithms |
P1645R1 |
|
Heterogeneous lookup for unordered containers |
P1690R1 |
|
Add max() to latch and barrier |
P1865R1 |
Minimum deployment target: macOS 11.0, iOS 14.0, tvOS 14.0, watchOS 7.0 |
Concept traits should be named after concepts |
P1871R1 |
|
span should have size_type , not index_type |
P1872R0 |
|
Remove std::weak_equality and std::strong_equality |
P1959R0 |
|
Safe integral comparisons |
P0586R2 |
|
Improving the return value of erase-like algorithms II: free erase/erase if |
P1115R3 |
|
On the names of low-level bit manipulation functions |
P1956R1 |
|
Wording for boolean-testable |
P1964R2 |
|
Fixed-size span construction from dynamic range |
P1976R2 |
|
Remove tuple-like protocol support from fixed-extent span |
P2116R0 |
|
Missing constexpr in std::optional and std::variant |
P2231R1 |
Not supported: changes to std::variant |