* - hover over a cell marked with the star * to see additional pop-up notes.
DRnn - the number nn after "DR" denotes target C++ revision the Defect Report is applied to, e.g., DR20 → C++20.
C++23 feature Paper(s) GCC libstdc++
Clang libc++
MSVC STL
Apple Clang*
(
)*
12 (partial)*
14*19.34*
(
)*
12 15 19.31*14.0.3*
(
)*
11 12 19.30*13.0.0*
,
std::basic_string_view::contains()
(
)*
11 12 19.30*13.0.0*
(
)*
11 13 19.30*13.1.6* Relaxing requirements for
N/AN/AN/AN/A
in the Allocator interface (
)*
16 15 19.30*14.0.3*
: string-stream with
-based buffer (
)*
12 19.31*
,
(
)*
14 19 19.30*constexpr
(
)*
12 17 19.33**
19.34*15.0.0*Iterator pair constructors for
and
(
)*
12 14 19.31*14.0.3* Non-deduction context for allocators in container deduction guides
12* 13*19.31**13.1.6**
and
(
)*
16 17 (partial)*
18 19.31*16.0.0* Prohibiting
and
construction from
12 13 19.30*13.1.6*
(
)*
12 17 19.31*15.0.0* Range
for
11 14 19.30*14.0.3* Default template arguments for
's forwarding
14 14 19.30*14.0.3* Remove Garbage Collection and Reachability-Based Leak Detection (
)
12 14 19.30*14.0.3*zip:
,
,
, and
(
)*
13 15 (partial)*
22 19.33*(partial)***
19.37*14.0.3*Heterogeneous erasure overloads for associative containers (
)*
16 19.32*
(
)*
12 14 19.31*14.0.3*
volatileT*
11.3 14 19.31*14.0.3*
basic_string::resize_and_overwrite()
(
)*
12 14 19.31*14.0.3*Monadic operations for
(
)*
12 14 19.32*14.0.3*
(
)*
12 19.32* Add a conditional noexcept specification to
12 14 19.31*14.0.3* Require
&
to be
Yes Yes 19.31* Yes Clarifying the status of the “C headers”
Yes Yes Yes Yes
(
)*
12 16 19.33*15.0.0*constexpr for
and
(
)*
4.6 (partial)*19.52*
(
)*
12 15 19.32*14.0.3* Deprecating
and
13 16 19.33*
std::reference_constructs_from_temporary
&
std::reference_converts_from_temporary
(
)*
13 (partial)*
14 21 (partial)*19.51*constexpr
(
)*
12 16 19.33*15.0.0*Constructing containers and strings from ranges with
, tagged constructors, insert and assign member functions (
)* (
)*
14 (partial)*
15 17 19.34*15.0.0*Pipe support for user-defined range adaptors (
,
) (
)* (
)*
13 (partial)*
14 19 19.34*
,
, and
(
)* (
)*
13 (partial)*
16 23 19.34*
(
)*
13 21 19.34*
and
(
)* (
)*
13 19.33*
(
)*
13 18 19.33*16.0.0*
: a non-owning multidimensional array reference (
)*
16 17 (partial)*
18 19.39*15.0.0*
(
)*
15 20 19.51*
(
)*
15 21 19.51*
,
, and
(
)*
13 19 19.36* Freestanding Library: Easy
,
, and
13*19.38*
(
)*
13 23 19.34*Compatibility between
and tuple-like objects (
)*
14 2.9 (partial)*19.36* (partial)*
19.37*partial*Rectifying constant iterators, sentinels, and ranges. views::as_const (
)*
13 19.35*(partial)*
19.36*
Ranges (
)*
15 16 19.37*(partial)*
19.39*(partial)*
19.41*(partial)*
19.42*15.0.0*Improve default container
(
)*
15 16 (partial)*
17 19.42*15.0.0*Formatted output library
(
)*
14 17 (partial)*
18 19.37*15.0.0**
16.0.0*
and
(
)*
14 17 (partial)*19.38*15.0.0*constexpr for integral overloads of
and
(
)*
13 16 19.34*15.0.0*
and
(
)*
13 19 19.34*16.0.0**
(
)*
13 23
18 (partial)*19.35*
(
)*
13 19.37*Adding move-only types support for comparison concepts (
,
,
) (
)*
16 22 19.36*Ranges iterators as inputs to non-ranges algorithms (
)*
16 19.34*constexpr
(
)*
13 16 19.34*15.0.0*
&&
16 16 19.34*15.0.0*
(
)*
13 16 19.34*15.0.0*Standard Library Modules (
)*
15*17 (partial)*19.35*
(partial)*
19.36*
(
)*
14 16 19.34*15.0.0*Support exclusive mode for
(
)*
12 18 19.36*16.0.0*
(
)*
13 17 19.36*15.0.0*Relaxing range adaptors to allow for move-only types (
)*
14 17 19.34*15.0.0*
range
should be explicit
12.2 16 19.34*15.0.0*
: synchronous coroutine generator for ranges (
)*
14 19.43* Add a conditional noexcept specification to
10 18 19.34*16.0.0*Explicit lifetime management (
) (
)*
16 19.51*Clarify handling of encodings in localized formatting of chrono types (
)*
15*19.34**
should not always be
(
)*
12.3*17*19.34**15.0.0* Deduction guides update for
call operators
14 19.34* Deduction guides update for staticoperator()
13 16 19.39*15.0.0* Standard names and library support for
13 19.37**Monadic operations for
(
)*
13 17 19.36*15.0.0*
(
)*
13 23 19.37*
(
)*
16 20 19.51*std::common_reference_t of
should be a reference type (
)* (
)*
16 21*19.37* Disallowing user specialization of
19 19.37* Deprecating
std::numeric_limits::has_denorm
17 18 19.37*16.0.0* Making Multi-Param Constructors Of
16 21
17 (partial)*19.36**15.0.0*DR20: Relaxing Ranges Just A Smidge (
)*
15 20 19.37* DR20: Stashing Stashing Iterators For Proper Flattening
14 21
18 (partial) 19.37*DR17:
for classes derived from
(
)*
11.3 13 19.20**
19.30*13.1.6* DR20: Conditionally borrowed ranges
11 16 19.30* DR20: Repairing
and
12 19.30*(partial)*
19.31* DR20:
should join all views of ranges
11.2 15 19.30*14.0.3*DR20:
does not require
(
)*
11.3 16 19.30*15.0.0* DR20: Range adaptor objects bind arguments by value
11 14 19.29 (16.10)*
(partial)*
19.31*14.0.3*DR20:
for
and
(
)* (
)*
11.3 (partial)*
12 13 (partial)*
19 19.31*13.1.6* (partial) DR20:
and redesigned
12 16 19.31*15.0.0* DR20: Fix
12 16 19.31*15.0.0*DR20:
with ownership (
)*
12 14 19.31*14.0.3*DR20: Fixing locale handling in chrono formatters (
)*
13 19.31* DR20: Cleaning up integer-class types
19.32*DR20: Compile-time format string checks; Reducing binary code size of
family (
)*
13 14 (partial)*
15 19.32*14.0.3* DR20: Add support for non-const-formattable types to
13 15 19.32*14.0.3* DR20:
13 15 19.35*14.0.3*DR20: Poison Pills are Too Toxic (
)*
14 19 19.36* DR20:
fill character allowances
14 17 19.37* DR20: Improving
's width estimation
14 17 19.38*DR20:
's phase completion guarantees (
)*
19.28 (16.8)**
19.36* C++23 feature
Paper(s)
GCC libstdc++
Clang libc++
MSVC STL
Apple Clang*