1.link/P2748R5) |  14  |  |  |  |  |  |  |  |  |  |  |  |  |   
Attributes for [ structured bindings ](/w/cpp/language/structured_binding "cpp/language/structured binding") |  [ P0609R3 ](https://wg21.link/P0609R3) |  |  |  |  |  |  |  |  |  |  |  |  |  |   
Erroneous behavior for [ uninitialized reads ](/w/cpp/language/default_initialization#Read_from_an_indeterminate_byte "cpp/language/default initialization") |  [ P2795R5 ](https://wg21.link/P2795R5) |  |  |  |  |  |  |  |  |  |  |  |  |  |   
=  delete  (  "reason"  )  ;  |  [ P2573R2 ](https://wg21.link/P2573R2) |  |  19  |  |  |  |  |  |  |  |  |  |  |  |   
[ Variadic ](/w/cpp/language/parameter_pack "cpp/language/parameter pack") [ friends ](/w/cpp/language/friend "cpp/language/friend") |  [ P2893R3 ](https://wg21.link/P2893R3) |  |  |  |  |  |  |  |  |  |  |  |  |  |   
DR98: Clarifying rules for brace elision in [ aggregate initialization ](/w/cpp/language/aggregate_initialization "cpp/language/aggregate initialization") |  [ P3106R1 ](https://wg21.link/P3106R1) |  |  |  |  |  |  |  |  |  |  |  |  |  |   
DR20: Disallow module declarations to be macros  |  [ P3034R1 ](https://wg21.link/P3034R1) |  |  |  |  |  |  |  |  |  |  |  |  |  |   
DR: Trivial infinite loops are not undefined behavior  |  [ P2809R3 ](https://wg21.link/P2809R3) |  14  |  |  |  |  |  |  |  |  |  |  |  |  |   
  
  
C++26 feature  |    
  
Paper(s)  |  GCC  |  Clang  |  MSVC  |  Apple Clang  |  EDG eccp  |  Intel C++  |  IBM XL C++  |  IBM Open XL C++ for AIX  |  IBM Open XL C++ for z/OS  |  Sun/Oracle C++  |  Embarcadero C++ Builder  |  Cray  |  Nvidia HPC C++ (ex PGI)*  |  Nvidia nvcc   
  
###  [ [ edit
](/mwiki/index.php?title=Template:cpp/compiler_support/26&action=edit&section=T-2
"Template:cpp/compiler support/26") ]  C++26 library features

C++26 feature  
  
|  Paper(s)  
  
|  GCC libstdc++  |  Clang libc++  |  MSVC STL  |  Apple Clang*  |  IBM Open XL C/C++ for AIX*  |  Sun/Oracle C++*  |  Embarcadero C++ Builder*  |   
---|---|---|---|---|---|---|---|---|---  
Testing for success or failure of [ ` <charconv> ` ](/w/cpp/header/charconv "cpp/header/charconv") functions  |  [ P2497R0 ](https://wg21.link/P2497R0) |  14  |  18  |  |  |  |  |   
std::text_encoding  : text encodings identification  |  [ P1885R12 ](https://wg21.link/P1885R12) |  14  |  |  |  |  |  |   
Arithmetic overloads of [ ` std::to_string ` ](/w/cpp/string/basic_string/to_string "cpp/string/basic string/to string") and [ ` std::to_wstring ` ](/w/cpp/string/basic_string/to_wstring "cpp/string/basic string/to wstring") use [ ` std::format ` ](/w/cpp/utility/format/format "cpp/utility/format/format") |  [ P2587R3 ](https://wg21.link/P2587R3) |  14  |  |  |  |  |  |   
Type checking format args  |  [ P2757R3 ](https://wg21.link/P2757R3) |  |  |  |  |  |  |   
Formatting pointers  |  [ P2510R3 ](https://wg21.link/P2510R3) |  14  *  |  17  *  |  19.40*  *  |  |  |  |   
[ Hashing ](/w/cpp/utility/hash "cpp/utility/hash") support for [ ` std::chrono ` ](/w/cpp/chrono "cpp/chrono") value classes  |  [ P2592R3 ](https://wg21.link/P2592R3) |  |  |  |  |  |  |   
[ Read-Copy Update ](/w/cpp/thread#Read-Copy-Update_Mechanism "cpp/thread") |  [ P2545R4 ](https://wg21.link/P2545R4) |  |  |  |  |  |  |   
[ Hazard Pointers ](/w/cpp/thread#Hazard_Pointers "cpp/thread") |  [ P2530R3 ](https://wg21.link/P2530R3) |  |  |  |  |  |  |   
ADL-proof [ ` std::projected ` ](/w/cpp/iterator/projected "cpp/iterator/projected") |  [ P2538R1 ](https://wg21.link/P2538R1) |  14  *  |  18  *  |  19.38*  *  |  |  |  |   
constexpr stable sorting  |  [ P2562R1 ](https://wg21.link/P2562R1) |  |  |  |  |  |  |   
Member ` visit ` |  [ P2637R3 ](https://wg21.link/P2637R3) |  |  18 (partial)*    
19  |  |  |  |  |   
std::is_within_lifetime  |  [ P2641R4 ](https://wg21.link/P2641R4) |  |  |  |  |  |  |   
Extending associative containers with the remaining heterogeneous overloads  |  [ P2363R5 ](https://wg21.link/P2363R5) |  |  |  |  |  |  |   
Enabling the