C++11, C++14, C++17, C++20, C++23, C++26 │ Compiler supportC++11, C++14, C++17, C++20, C++23, C++26
Language
Preprocessor − CommentsASCII chartBasic concepts Keywords Names (lookup) Types (fundamental types) The main function Modules(C++20) Contracts(C++26)Expressions Value categories Evaluation order Operators (precedence) Conversions − Literals Constant expressionsStatements if − switch for − range-for(C++11) while − do-whileDeclarations − InitializationFunctions − OverloadingCoroutines(C++20)Classes (unions)Templates − ExceptionsFreestanding implementations
main
for
do
while
Standard library (headers)
Named requirements
Language support library
Program utilities Signals − Non-local jumpsBasic memory managementVariadic functionssource_location(C++20)Comparison utilities(C++20)Type support − type_infonumeric_limits − exceptioninitializer_list(C++11)Coroutine support(C++20)Contract support(C++26)
Concepts library(C++20)
Diagnostics library
Assertions − System error(C++11)Exception types − Error numbersbasic_stacktrace(C++23)Debugging support(C++26)
Memory management library
Allocators − Smart pointersMemory resources(C++17)
Metaprogramming library(C++11)
Type traits − ratiointeger_sequence(C++14)
General utilities library
Function objects − hash(C++11)Swap − Type operations(C++11)Integer comparison(C++20)pair − tuple(C++11)optional(C++17)expected(C++23)variant(C++17) − any(C++17)bitset − Bit manipulation(C++20)
Containers library
vector − deque − array(C++11)list − forward_list(C++11)inplace_vector(C++26)hive(C++26)map − multimap − set − multisetunordered_map(C++11)unordered_multimap(C++11)unordered_set(C++11)unordered_multiset(C++11)Container adaptorsspan(C++20) − mdspan(C++23)
Iterators library
Ranges library(C++20)
Range factories − Range adaptorsgenerator(C++23)
Algorithms library
Numeric algorithmsExecution policies(C++17)Constrained algorithms(C++20)
Strings library
basic_string − char_traitsbasic_string_view(C++17)
Text processing library
Primitive numeric conversions(C++17)Formatting(C++20) − Localizationtext_encoding(C++26)Regular expressions(C++11) basic_regex − Algorithms Default regular expression grammarNull-terminated sequence utilities: byte − multibyte − wide
Numerics library
Common math functionsMathematical special functions(C++17)Mathematical constants(C++20)Basic linear algebra algorithms(C++26)Data-parallel types (SIMD)(C++26)Pseudo-random number generationFloating-point environment(C++11)complex − valarray
Date and time library
Calendar(C++20) − Time zone(C++20)
Input/output library
Print functions(C++23)Stream-based I/O − I/O manipulatorsbasic_istream − basic_ostreamSynchronized output(C++20)File systems(C++17)
Concurrency support library(C++11)
thread − jthread(C++20)atomic − atomic_flagatomic_ref(C++20) − memory_orderMutual exclusion − Condition variablesFutures − Semaphores(C++20)latch(C++20) − barrier(C++20)Safe Reclamation(C++26)
Execution support library(C++26)
Feature test macros(C++20)
Language − Standard library − Headers
Standard library extensions (library fundamentals TS)
resource_adaptor − invocation_type
Standard library extensions v2 (library fundamentals TS v2)
propagate_const − ostream_joiner − randint observer_ptr − Detection idiom
Standard library extensions v3 (library fundamentals TS v3)
scope_exit − scope_fail − scope_success − unique_resource
Parallelism library extensions v2(parallelism TS v2)
simd
Concurrency library extensions(concurrency TS)Transactional Memory (TM TS)Reflection (reflection TS)