Ad alanları
Türevler
Eylemler

C++ derleyici desteği

cppreference.com sitesinden
< cpp


Aşağıdaki tablolarda yeni C++ özellikleri için derleyici desteği sunulmaktadır. Bunlar, standartta kabul edilen revizyonların yanı sıra çeşitli teknik özellikleri de içerir:

Konu başlıkları

[düzenle]Notlar

* - hover over a cell marked with the start 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.

[düzenle] C++23 özellikleri

Taslak C++23/2b standardı geliştikçe bu listenin değişebileceğini unutmayın.

[düzenle]C++23 core language features

C++23 feature
 
Paper(s)
 
GCC
Clang
MSVC
Apple Clang
EDG eccp
Intel C++
IBM XLC++
Sun/Oracle C++
Embarcadero C++ Builder
Cray
Nvidia HPC C++
(ex Portland Group/PGI)
Nvidia nvcc
Literal suffix for (signed) size_tP0330R811 13

13.1.6*

6.5
Make () more optional for lambdasP1102R211 13

13.1.6*

6.3
if constevalP1938R312 14

14.0.0*

6.3
Removing Garbage Collection Support P2186R212 19.30*N/A
Narrowing contextual conversions in static_assert and constexpr ifP1401R59 13 (partial)*
14

14.0.0*

Trimming whitespaces before line splicing P2223R2Evet Evet Evet
Make declaration order layout mandated P1847R4Evet Evet Evet Evet
Removing mixed wide string literal concatenationP2201R1Evet Evet Evet Evet Evet Evet
Explicit object parameter (deducing this) P0847R719.32*
(partial)*
6.3
auto(x) and auto{x}P0849R812 15

14.0.3*

6.4
Change scope of lambda trailing-return-type P2036R3
#elifdef and #elifndefP2334R112 13

13.1.6*

6.5
Non-literal variables (and labels and gotos) in constexpr functions P2242R312 15

14.0.3*

6.3
Consistent character literal encoding P2316R2Evet Evet 19.30*Evet Evet
Character sets and encodingsP2314R410 Evet Evet
Extend init-statement (of for loop) to allow alias-declarationP2360R012 14

14.0.0*

Multidimensional subscript operatorP2128R612 15

14.0.3*

Attributes on lambdasP2173R19 13

13.1.6*

#warningP2437R1Yes*Evet Evet 6.5 Evet
Remove non-encodable wide character literals and multicharacter wide character literals P2362R313 14
Labels at the end of compound statements P2324R213 16
Delimited escape sequencesP2290R313 15
Named universal character escapesP2071R213 15
Relaxing some constexpr restrictions P2448R213
Simpler implicit move P2266R313 13
static operator()P1169R413 16
Requirements for optional extended floating-point typesP1467R913 N/A6.4
Class template argument deduction from inherited constructors P2582R1
Attribute [[assume]]P1774R813
Support for UTF-8 as a portable source file encodingP2295R613*15*19.0 (Update 2)*
static operator[]P2589R013 16
Permitting staticconstexpr variables in constexpr functions P2647R113 16
Extending the lifetime of temporaries in range-based for loop initializer P2718R0
DR20: Meaningful exports P2615R0
DR20: consteval needs to propagate up P2564R0
DR: C++ Identifier Syntax using Unicode Standard Annex 31 P1949R712 14

14.0.0*

6.4
DR11: Allow duplicate attributesP2156R111 13

13.1.6*

6.5
DR20: Adjusting the value of feature-test macro __cpp_conceptsP2493R012 19.32*6.4
DR98: Relax requirements on wchar_t to match existing practices P2460R2Evet Evet
DR: Using unknown pointers and references in constant expressions P2280R4
DR20: The Equality Operator You Are Looking For P2468R213 16
DR20: char8_t Compatibility and Portability Fix P2513R413 16 19.34*
DR: Clarify reporting of diagnostic directives and allow static_assert of non-value-dependent expressions in a template context CWG2518
C++23 feature
 
Paper(s)
 
GCC
Clang
MSVC
Apple Clang
EDG eccp
Intel C++
IBM XLC++
Sun/Oracle C++
Embarcadero C++ Builder
Cray
Nvidia HPC C++
(ex Portland Group/PGI)
Nvidia nvcc

[düzenle]C++23 library features

C++23 feature
 
Paper(s)
 
GCC libstdc++
Clang libc++
MSVC STL
Apple Clang
Sun/Oracle C++
Standard Library
Embarcadero C++ Builder
Standard Library
Stacktrace libraryP0881R7
P2301R1
12 (partial)*19.34*
<stdatomic.h>P0943R612 15 19.31*

14.0.3*

std::is_scoped_enumP1048R111 12 19.30*

13.0.0*

std::basic_string::contains(), std::basic_string_view::contains()P1679R311 12 19.30*

13.0.0*

std::to_underlyingP1682R311 13 19.30*

13.1.6*

Relaxing requirements for time_point<>::clockP2212R2N/AN/A
Providing size feedback in the Allocator interface P0401R615 19.30*

14.0.3*

<spanstream>: string-stream with std::span-based buffer P0448R412 19.31*
std::out_ptr(), std::inout_ptr()P1132R819.30*
constexprtype_info::operator==()P1328R112 17 19.33**
19.34*
Iterator pair constructors for std::stack and std::queueP1425R412 14 19.31*

14.0.3*

Non-deduction context for allocators in container deduction guides P1518R212 13 19.31*

13.1.6*

ranges::starts_with() and ranges::ends_with()P1659R317 (partial)*19.31*
Prohibiting std::basic_string and std::basic_string_view construction from nullptrP2166R112 13 19.30*

13.1.6*

std::invoke_r()P2136R312 17 19.31*
Range constructor for std::basic_string_viewP1989R211 14 19.30*

14.0.3*

Default template arguments for std::pair's forwarding constructorP1951R114 19.30*

14.0.3*

Remove Garbage Collection and Reachability-Based Leak Detection (library support) P2186R212 14 19.30*

14.0.3*

zip: views::zip, views::zip_transform, views::adjacent, and views::adjacent_transformP2321R213 15 (partial)*19.33*(partial)***
19.37*

14.0.3*

Heterogeneous erasure overloads for associative containers P2077R319.32*
std::byteswap()P1272R412 14 19.31*

14.0.3*

Printingvolatile T*P1147R111.3 14 19.31*

14.0.3*

basic_string::resize_and_overwrite()P1072R1012 14 19.31*

14.0.3*

Monadic operations for std::optionalP0798R812 14 19.32*

14.0.3*

std::move_only_functionP0288R912 19.32*
Add a conditional noexcept specification to std::exchangeP2401R012 14 19.25*

14.0.3*

Require std::span & std::basic_string_view to be TriviallyCopyableP2251R1Evet Evet Evet Evet
Clarifying the status of the “C headers” P2340R1Evet Evet Evet Evet
<expected>P0323R12
P2549R1
12 16 19.33*
constexpr for <cmath> and <cstdlib>P0533R94.6 (partial)*
std::unreachable()P0627R612 15 19.32*

14.0.3*

Deprecating std::aligned_storage and std::aligned_unionP1413R313 16 19.33*
std::reference_constructs_from_temporary & std::reference_converts_from_temporaryP2255R213 (partial)*
constexpr std::unique_ptrP2273R312 16 19.33*
ranges::to()P1206R719.34*
Pipe support for user-defined range adaptors (ranges::range_adaptor_closure, std::bind_back) P2387R313 19.34*
ranges::iota(), ranges::shift_left(), and ranges::shift_right()P2440R113 (partial)*19.34*
views::join_withP2441R213 19.34*
views::chunk and views::slideP2442R113 19.33*
views::chunk_byP2443R113 19.33*
std::mdspan: a non-owning multidimensional array reference P0009R18
P2599R2
P2604R0
P2613R1
P2763R1
17 (partial)*
<flat_map>P0429R9
<flat_set>P1222R4
ranges::find_last(), ranges::find_last_if(), and ranges::find_last_if_not()P1223R513 19.36*
Freestanding Library: Easy <utility>, <ranges>, and <iterator>P1642R1113*N/A
views::strideP1899R313 19.34*
Compatibility between std::tuple and tuple-like objects P2165R42.9 (partial)*19.36* (partial)*
19.37*
Partial*
Rectifying constant iterators, sentinels, and ranges P2278R413 19.35*(partial)*
19.36*
Formatting Ranges P2286R816
Improve default container formatting P2585R116 (partial)*
17
Formatted output library <print>P2093R14
P2539R3
19.37*
Formatting std::thread::id and std::stacktraceP2693R117 (partial)*
constexpr for integral overloads of std::to_chars() and std::from_chars(). P2291R313 16 19.34*
ranges::contains() and ranges::contains_subrange()P2302R413 19.34*
Ranges fold algorithmsP2322R613 19.35*
views::cartesian_productP2374R4
P2540R1
13 19.37*
Adding move-only types support for comparison concepts P2404R319.36*
Ranges iterators as inputs to non-ranges algorithms P2408R519.34*
constexpr std::bitsetP2417R213 16 19.34*
basic_string::substr()&&P2438R216 19.34*
views::as_rvalueP2446R213 16 19.34*
Standard Library Modules P2465R319.35*
(partial)*
std::forward_like()P2445R116 19.34*
Support exclusive mode for std::fstreamP2467R112 19.36*
views::repeatP2474R213 19.36*
Relaxing range adaptors to allow for move-only types P2494R219.34*
std::basic_string_view range constructor should be explicit P2499R012.2 16 19.34*
std::generator: synchronous coroutine generator for ranges P2502R2
P2787R0
Add a conditional noexcept specification to std::applyP2517R110 19.34*
Explicit lifetime management (std::start_lifetime_as) P2590R2
P2679R2
Clarify handling of encodings in localized formatting of chrono types P2419R219.34**
std::move_iterator should not always be input_iteratorP2520R017*19.34**
Deduction guides update for explicit object parameter call operators LWG361719.34*
Deduction guides update for static operator()P1169R413 16
Standard names and library support for extended floating-point typesP1467R913 19.37**
Monadic operations for std::expectedP2505R513 17 19.36*
views::enumerateP2164R913 19.37*
std::is_implicit_lifetimeP2674R1
std::common_reference_t of std::reference_wrapper should be a reference type P2655R319.37*
Disallowing user specialization of std::allocator_traitsP2652R219.37*
Deprecating std::numeric_limits::has_denormP2614R219.37*
std::barrier's phase completion guarantees P2588R319.36*
Making Multi-Param Constructors Of viewsexplicitP2711R119.36**
Relaxing Ranges Just A Smidge P2609R319.37*
Stashing Stashing Iterators For Proper Flattening P2770R019.37*
DR17: std::visit() for classes derived from std::variantP2162R211.3 13 19.20**
19.30*

13.1.6*

DR20: Conditionally borrowed ranges P2017R111 19.30*
DR20: Repairing input range adaptors and std::counted_iteratorP2259R112 19.30*(partial)*
19.31*
DR20: views::join should join all views of ranges P2328R111.2 15 19.30*

14.0.3*

DR20: view does not require default_initializableP2325R311.3 16 19.30*
DR20: Range adaptor objects bind arguments by value P2281R111 14 19.29 (16.10)*
(partial)*
19.31*

14.0.3*

DR20: constexpr for std::optional and std::variantP2231R111.3 (partial)*
12
13 (partial)*19.31*

13.1.6* (partial)

DR20: views::lazy_split and redesigned views::splitP2210R212 16 19.31*
DR20: Fix ranges::istream_viewP2432R112 16 19.31*
DR20: view with ownership P2415R212 14 19.31*

14.0.3*

DR20: Fixing locale handling in chrono formatters P2372R319.31*
DR20: Cleaning up integer-class types P2393R119.32*
DR20: std::format() improvements P2216R313 14 (partial)*
15
19.32*

14.0.3*

DR20: Add support for non-const-formattable types to std::formatP2418R213 15 19.32*

14.0.3*

DR20: std::basic_format_stringP2508R113 15 19.35*

14.0.3*

DR20: Poison Pills are Too Toxic P2602R219.36*
DR20: std::format fill character allowances P2572R119.37*
C++23 feature
 
Paper(s)
 
GCC libstdc++
Clang libc++
MSVC STL
Apple Clang
Sun/Oracle C++
Standard Library
Embarcadero C++ Builder
Standard Library

[düzenle] C++20 özellikleri

[düzenle]C++20 core language features

C++20 feature
 
Paper(s)
 
GCC
Clang
MSVC
Apple Clang
EDG eccp
Intel C++
IBM XLC++
Sun/Oracle C++
Embarcadero C++ Builder
Cray
Nvidia HPC C++
(ex Portland Group/PGI)
Nvidia nvcc
Allow Lambda capture[=, this]P0409R28 6 19.22*

10.0.0*

5.1 2021.1 11.0 20.7 12.0
__VA_OPT__P0306R4
P1042R1
8 (partial)*
10 (partial)*
12
9 19.25*

11.0.3*

5.1 2021.1 11.0 20.7 12.0
Designated initializersP0329R44.7 (partial)*
8
3.0 (partial)*
10
19.21*

12.0.0*

5.1 2021.1 11.0 20.7 12.0
template-parameter-list for generic lambdasP0428R28 9 19.22*

11.0.0*

5.1 2021.1 11.0 20.7 12.0
Default member initializers for bit-fieldsP0683R18 6 19.25*

10.0.0*

5.1 2021.1 11.0 20.7 12.0
Initializer list constructors in class template argument deduction P0702R18 6 19.14*Evet 5.0 2021.1 11.0 20.7 12.0
const&-qualified pointers to members P0704R18 6 19.0 (2015)*

10.0.0*

5.1 2021.1 11.0 20.7 12.0
ConceptsP0734R06
(TS only)
10
10 19.23*(partial)*
19.30*

12.0.0* (partial)

6.1 was supported in 2021.6, removed in 2021.7 11.0 20.11 12.0
Lambdas in unevaluated contextsP0315R49 13 (partial)*
14 (partial)*
19.28 (16.8)*

13.1.6* (partial)

6.2 12.0
Three-way comparison operator P0515R310 8 (partial)
10
19.20*

12.0.0*

5.1 2021.1 11.0 20.7 12.0
DR: Simplifying implicit lambda capture P0588R18 19.24*5.1 2021.1 20.7 12.0
init-statements for range-based forP0614R19 8 19.25*

11.0.0*

6.0 2021.7 11.0 20.11 12.0
Default constructible and assignable stateless lambdasP0624R29 8 19.22*

10.0.1*

5.1 2021.1 11.0 20.7 12.0
const mismatch with defaulted copy constructor P0641R29 8 19.0 (2015)*

10.0.1*

5.1 2021.1 11.0 20.7 12.0
Access checking on specializations P0692R1Evet 8 (partial)
14
19.26*

14.0.0*

5.1 2021.1 20.7 12.0
ADL and function templates that are not visible P0846R09 9 19.21*

11.0.3*

5.1 2021.1 11.0 20.7 12.0
DR11: Specify when constexpr function definitions are needed for constant evaluationP0859R05.2 (partial)*
9
8 19.27* (partial)*
19.31*

11.0.0*

11.0 12.0
Attributes [[likely]] and [[unlikely]]P0479R59 12 19.26*

13.0.0*

5.1 2021.7 20.7 12.0
Make typename more optional P0634R39 16 19.29 (16.10)*5.1 20.7 12.0
Pack-expansions in lambda init-capturesP0780R29 9 19.22*

11.0.3*

6.1 2021.7 11.0 20.11 12.0
Attribute [[no_unique_address]]P0840R29 9 19.28 (16.9)**

11.0.3*

5.1 2021.1 11.0 20.7 12.0
Conditionally Trivial Special Member Functions P0848R310 16 19.28 (16.8)*6.1 2021.7 20.11 12.0
DR11: Relaxing the structured bindings customization point finding rules P0961R18 8 19.21*

10.0.1*

5.1 2021.1 11.0 20.7 12.0
DR11: Relaxing the range-for loop customization point finding rules P0962R18 8 19.25*

11.0.0*

5.1 2021.1 11.0 20.7 12.0
DR17: Allow structured bindings to accessible members P0969R08 8 19.21*

10.0.1*

5.1 2021.1 11.0 20.7 12.0
Destroying operator deleteP0722R39 6 19.27*

10.0.0*

6.1 11.0 20.11 12.0
Class types in Non-type template parametersP0732R29 12 (partial) 19.26*(partial)*
19.28 (16.9)*

13.0.0* (partial)

6.2 12.0
Deprecate implicit capture of this via [=]P0806R29 7 19.22*

10.0.1*

5.1 11.0 20.7 12.0
explicit(bool)P0892R29 9 19.24*

11.0.3*

5.1 2021.1 11.0 20.7 12.0
Integrating feature-test macrosP0941R25 3.4 19.15* (partial)
19.20*
Evet 5.0 2021.1 11.0 20.7 12.0
Prohibit aggregates with user-declared constructors P1008R19 8 19.20*

10.0.1*

5.1 2021.1 11.0 20.7 12.0
constexprvirtual functionP1064R09 9 19.28 (16.9)*

11.0.3*

5.1 2021.1 11.0 20.7 12.0
Consistency improvements for comparisons P1120R010 8 (partial)
10
19.22*

12.0.0*

5.1 11.0 20.7 12.0
char8_tP0482R69 7*19.22*

10.0.0*

5.1 2021.1 11.0 20.7 12.0
std::is_constant_evaluated()P0595R29 9 19.25*

11.0.3*

5.1 19.1 11.0 12.0
constexprtry-catch blocks P1002R19 8 19.25*

10.0.1*

5.1 11.0 20.7 12.0
Immediate functions (consteval) P1073R310 (partial)*
11
11 (partial)
14 (partial)*
19.28 (16.8)*
(partial)*

19.29 (16.10)*

11.0.3* (partial)

5.1 2021.1 20.7 12.0
Nested inline namespacesP1094R29 8 19.27*

10.0.1*

5.1 2021.1 11.0 20.7 12.0
Yet another approach for constraineddeclarationsP1141R210 10 19.26* (partial)
19.28 (16.9)*

12.0.5*

6.1 11.0 20.11 12.0
Signed integers are two's complement P1236R19 9 Evet

11.0.3*

N/AN/A11.0 yes*12.0
dynamic_cast and polymorphic typeid in constant expressionsP1327R110 9 19.29 (16.10)*

11.0.3*

5.1 2021.1 11.0 20.7 12.0
Changing the active member of a union inside constexprP1330R09 9 19.10*

11.0.3*

5.1 2021.1 11.0 20.7 12.0
CoroutinesP0912R510 8 (partial) 19.0 (2015)* (partial)
19.10* (TS only)
19.28 (16.8)*

10.0.1* (partial)

5.1 2021.1 12.0 (host code only)
Parenthesized initialization of aggregatesP0960R310 16 19.28 (16.8)*5.1 2021.1 20.7 12.0
DR11: Array size deduction in new-expressionsP1009R211 9 19.27*

11.0.3*

5.1 2021.1 11.0 20.7 12.0
ModulesP1103R311 (partial) 8 (partial) 19.0 (2015)* (partial)
19.10* (TS only)
19.28 (16.8)*

10.0.1* (partial)

Stronger Unicode requirements P1041R4
P1139R2
10 Evet 19.0 (2015)* (P1041R4)
19.26* (P1139R2)
Evet N/A11.0 12.0
<=> != ==P1185R210 10 19.22*

12.0.0*

5.1 2021.1 11.0 20.7 12.0
DR: Explicitly defaulted functions with different exception specifications P1286R210 9 19.28 (16.8)*

11.0.3*

5.1 2021.1 11.0 20.7 12.0
Lambda capture and storage class specifiers of structured bindings P1091R3
P1381R1
10 8 (partial)
16
19.11*(P1381R1)
19.24*(P1091R3)

10.0.1* (partial)

5.1 2021.1 20.7 12.0
Permit conversions to arrays of unknown bound P0388R410 14 19.27*

14.0.0*

6.0 2021.5 20.11 12.0
constexpr container operations P0784R710 10 19.28 (16.9)*

12.0.0*

6.0 2021.5 11.0 20.11 12.0
Deprecating some uses of volatileP1152R410 10 19.27*

12.0.0*

6.0 2021.5 11.0 20.11 12.0
constinitP1143R210 10 19.29 (16.10)*

12.0.0*

6.1 2021.7 11.0 20.11 12.0
Deprecate comma operator in subscriptsP1161R310 9 19.25*

11.0.3*

6.0 2021.7 11.0 20.11 12.0
[[nodiscard]] with message P1301R410 9 19.25*

11.0.3*

6.0 2021.5 11.0 20.11 12.0
Trivial default initialization in constexpr functions P1331R210 10 19.27*

12.0.0*

6.1 2021.7 11.0 20.11 12.0
Unevaluated asm-declaration in constexpr functions P1668R110 10 19.28 (16.9)*

12.0.0*

6.1 2021.7 11.0 20.11 12.0
using enumP1099R511 13 19.24*

13.1.6*

6.3 12.0
Synthesizing Three-way comparison for specified comparison category P1186R311 10 19.24*

12.0.0*

6.0 2021.5 11.0 20.11 12.0
DR17: [[nodiscard]] for constructors P1771R110 9 19.24*

11.0.3*

6.0 2021.5 11.0 20.11 12.0
class template argument deduction for alias templates P1814R010 19.27*6.5 12.0
class template argument deduction for aggregates P1816R0
P2082R1
10(P1816R0)
11(P2082R1)
19.27*6.3 12.0
DR: Implicit move for more local objects and rvalue references P1825R011*13 19.24*

13.1.6*

6.0 2021.5 20.11 12.0
Allow defaulting comparisons by value P1946R010 10 19.25*

12.0.0*

6.1 2021.7 11.0 20.11 12.0
Remove std::weak_equality and std::strong_equalityP1959R010 10 19.25*

12.0.0*

6.1 2021.7 11.0 20.11 12.0
Inconsistencies with non-type template parameters P1907R110 (partial)
11
12 (partial) 19.26*

13.1.6* (partial)

6.2 12.0
DR98: Pseudo-destructors end object lifetimes P0593R611 11 Evet

12.0.5*

N/AN/A11.0 12.0
DR11: Converting from T* to bool should be considered narrowing P1957R210*
11*
11 19.27*

12.0.5*

6.1 11.0 12.0
C++20 feature
 
Paper(s)
 
GCC
Clang
MSVC
Apple Clang
EDG eccp
Intel C++
IBM XLC++
Sun/Oracle C++
Embarcadero C++ Builder
Cray
Nvidia HPC C++
(ex Portland Group/PGI)
Nvidia nvcc

[düzenle]C++20 library features

C++20 feature
 
Paper(s)
 
GCC libstdc++
Clang libc++
MSVC STL
Apple Clang
Sun/Oracle C++
Standard Library
Embarcadero C++ Builder
Standard Library
std::endianP0463R18 7 19.22*

10.0.0*

Extending std::make_shared() to support arrays P0674R112 15 19.27*

14.0.3*

Floating-point atomicP0020R610 19.22*
Synchronized buffered (std::basic_osyncstream) P0053R711 19.29 (16.10)*
constexpr for <algorithm> and <utility>P0202R310 8 (partial)
12
19.26*

10.0.1* (partial)
13.0.0*

More constexpr for <complex>P0415R19 7 (partial)
16
19.27*

10.0.0* (partial)

Make std::memory_order a scoped enumeration P0439R09 9 19.25*

11.0.3*

Stringprefix and suffix checking: string(_view) ::starts_with/ends_withP0457R29 6 19.21*

10.0.0*

Library support for operator<=><compare>P0768R110 7 (partial)
12
19.20* (partial)
19.28 (16.9)*

13.0.0*

std::remove_cvrefP0550R29 6 19.20*

10.0.0*

[[nodiscard]] in the standard libraryP0600R19 7 (partial)
16
19.13* (partial)
19.22*

10.0.0* (partial)

Using std::move in numeric algorithmsP0616R09 12 19.23*

13.0.0*

Utility to convert a pointer to a raw pointer P0653R28 6 19.22*Evet
Atomic std::shared_ptr and std::weak_ptrP0718R212 19.27*
std::spanP0122R710 7 19.26*

10.0.0*

Calendar and timezoneP0355R711 (partial)*
13 (partial)*
7 (partial) 19.29 (16.10)*

10.0.0* (partial)

<version>P0754R29 7 19.22*

10.0.0*

Comparing unordered containers P0809R0Evet Evet 16.0*Evet
ConstexprIterator requirements P0858R09 12 19.11*

13.0.0*

std::basic_string::reserve() should not shrink P0966R111 8 19.25*

10.0.1*

Atomic Compare-And-Exchange with padding bits P0528R313 19.28 (16.8)*
std::atomic_refP0019R810 19.28 (16.8)*
contains() member function of associative containers, e.g. std::map::contains()P0458R29 13 19.21*

13.1.6*

DR11: Guaranteed copy elision for piecewise constructionP0475R19 Evet 19.29 (16.10)*Evet
std::bit_cast()P0476R211 14 19.27*

14.0.3*

Integral power-of-2 operations:

std::bit_ceil(), std::bit_floor(), std::bit_width(), std::has_single_bit()

P0556R3P1956R19
(P0556R3)
10 (P1956R1)
9 (P0556R3)
12 (P1956R1)
19.25* (P0556R3)*
19.27* (P1956R1)*
19.28 (16.8)*

11.0.3* (P0556R3)
13.0.0* (P1956R1)

Improving the return value of erase-like algorithms P0646R19 10 19.21*

12.0.0*

std::destroying_deleteP0722R39 9 19.27*

11.0.3*

std::is_nothrow_convertibleP0758R19 9 19.23*

11.0.3*

Add std::shift_left/right to <algorithm>P0769R210 12 19.21*

13.0.0*

Constexpr for std::swap() and swap related functions P0879R010 13 19.26*

13.1.6*

std::type_identityP0887R19 8 19.21*

10.0.1*

Concepts libraryP0898R310 13 19.23*

13.1.6*

constexprcomparison operators for std::arrayP1023R010 8 19.27*

10.0.1*

std::unwrap_ref_decay and std::unwrap_referenceP0318R19 8 19.21*

10.0.1*

std::bind_front()P0356R59 13 19.25*

13.1.6*

std::reference_wrapper for incomplete types P0357R39 8 19.26*

10.0.1*

Fixing operator>>(basic_istream&, CharT*)P0487R111 8 19.23*

10.0.1*

Library support for char8_tP0482R69 8 (partial)
16
19.22*

10.0.1* (partial)

Utility functions to implement uses-allocatorconstructionP0591R49 16 19.29 (16.10)*
DR17: std::variant and std::optional should propagate copy/move triviality P0602R48.3 8 19.11*

10.0.1*

A sane std::variant converting constructor P0608R310 9 19.29 (16.10)*

11.0.3*

std::function's move constructor should be noexceptP0771R17.2 6 19.22*Evet
The OneRangesProposalP0896R410 13 (partial)
15*
19.29 (16.10)*

14.0.3*

Heterogeneous lookup for unordered containersP0919R3P1690R111 12 19.23* (P0919R3)
19.25* (P1690R1)

13.0.0*

<chrono>zero(), min(), and max() should be noexceptP0972R09 8 19.14*

10.0.1*

constexpr in std::pointer_traitsP1006R19 8 19.26*

10.0.1*

std::assume_aligned()P1007R39*
11
15 19.28 (16.9)*

14.0.3*

Smart pointer creation with default initialization (e.g. make_unique_for_overwrite) P1020R1
P1973R1
11 (unique_ptr)
12 (shared_ptr)
16 19.28 (16.9)*
Misc constexpr bits P1032R110 13 19.28 (16.8)*

13.1.6*

Remove comparison operators of std::spanP1085R210 8 19.26*

10.0.1*

Make stateful allocator propagation more consistent for operator+(basic_string)P1165R110 15 19.26*

14.0.3*

Consistent container erasure, e.g. std::erase(std::vector), or std::erase_if(std::map)P1209R0P1115R39
(P1209R0)
10 (P1115R3)
8 (P1209R0)
11 (P1115R3)
19.25* (P1209R0)
19.27* (P1115R3)

10.0.1* (P1209R0)
12.0.5* (P1115R3)

Standard library header units P1502R111 19.29 (16.10)*
polymorphic_allocator<> as a vocabulary type P0339R69 16 19.28 (16.9)*
std::execution::unseqP1001R29 19.28 (16.8)*
std::lerp() and std::midpoint()P0811R39 9 19.23* (partial)
19.28 (16.8)*

11.0.3*

Usability enhancements for std::spanP1024R310 9*
14
19.26*

11.0.3*

DR17: Make create_directory() intuitive P1164R18.3 12 19.20*

13.0.0*

std::ssize() and unsigned extent for std::spanP1227R210 9 19.25*

11.0.3*

Traits for (un)bounded arrays P1357R19 9 19.25*

11.0.3*

std::to_array()P0325R410 10 19.25*

12.0.0*

Efficient access to std::basic_stringbuf’s buffer P0408R711 17 (partial)*19.29 (16.10)*
Layout-compatibility and pointer-interconvertibility traits P0466R512 19.29 (16.10)**
Bit operations: std::

rotl(), rotr(), countl_zero(), countl_one(), countr_zero(), countr_one(), popcount()

P0553R49 9 19.25**
19.28 (16.8)*

11.0.3*

Mathematical constantsP0631R810 11 19.25*

12.0.5*

Text formattingP0645R1013 14*19.29 (16.10)*
std::stop_token and std::jthreadP0660R1010 17
(partial)*
19.28 (16.9)*
constexprstd::allocator and related utilities P0784R710 12 19.29 (16.10)*

13.0.0*

constexprstd::stringP0980R112 15 19.29 (16.10)*
19.30**

14.0.3*


constexprstd::vectorP1004R212 15 19.29 (16.10)*
19.30**

14.0.3*


Input range adaptorsP1035R710 16 19.29 (16.10)*
constexprstd::invoke() and related utilities P1065R210 12 19.28 (16.8)*

13.0.0*

Atomic waiting and notifying, std::counting_semaphore, std::latch and std::barrierP1135R611 11 19.28 (16.8)*

13.1.6*

std::source_locationP1208R611 15*
(partial)
16
19.29 (16.10)*
Adding <=> to the standard library P1614R210 14*
(partial)
19.29 (16.10)*

13.1.6* (partial)

constexpr default constructor of std::atomic and std::atomic_flagP0883R210 13 19.26*

13.1.6*

constexpr for numeric algorithmsP1645R110 12 19.26*

13.0.0*

Safe integral comparisonsP0586R210 13 19.27*

13.1.6*

C++20 feature
 
Paper(s)
 
GCC libstdc++
Clang libc++
MSVC STL
Apple Clang
Sun/Oracle C++
Standard Library
Embarcadero C++ Builder
Standard Library

[düzenle] Eski standartlar

[düzenle]Referanslar

[düzenle]Ayrıca bkz.

C documentation for derleyici desteği
close