CORE FEATURES ------------------------------------------------------------------------------- 2016-03 = 2016-03 __cpp_aggregate_bases 2013-04 = 2013-04 __cpp_aggregate_nsdmi ------- < 2019-02 __cpp_aggregate_paren_init 2007-04 = 2007-04 __cpp_alias_templates 2016-06 = 2016-06 __cpp_aligned_new 2008-09 = 2008-09 __cpp_attributes 2013-04 = 2013-04 __cpp_binary_literals 2016-03 = 2016-03 __cpp_capture_star_this 2018-11 < 2022-07 __cpp_char8_t 2019-07 < 2020-02 __cpp_concepts 2018-06 = 2018-06 __cpp_conditional_explicit ------- < 2022-11 __cpp_consteval 2019-07 < 2020-02 __cpp_constexpr 2019-07 = 2019-07 __cpp_constexpr_dynamic_alloc ------- < 2017-11 __cpp_constexpr_in_decltype 2019-07 = 2019-07 __cpp_constinit 2007-07 = 2007-07 __cpp_decltype 2013-04 = 2013-04 __cpp_decltype_auto 2017-03 < 2019-07 __cpp_deduction_guides 2006-04 = 2006-04 __cpp_delegating_constructors 2017-07 = 2017-07 __cpp_designated_initializers 2014-11 = 2014-11 __cpp_enumerator_attributes 2016-03 = 2016-03 __cpp_fold_expressions 2017-07 = 2017-07 __cpp_generic_lambdas 2016-06 = 2016-06 __cpp_guaranteed_copy_elision 2016-03 = 2016-03 __cpp_hex_float 2016-06 = 2016-06 __cpp_if_constexpr 2019-02 = 2019-02 __cpp_impl_coroutine 2018-06 = 2018-06 __cpp_impl_destroying_delete 2019-07 = 2019-07 __cpp_impl_three_way_comparison 2015-11 = 2015-11 __cpp_inheriting_constructors 2018-03 = 2018-03 __cpp_init_captures 2008-06 = 2008-06 __cpp_initializer_lists 2016-06 = 2016-06 __cpp_inline_variables 2009-07 = 2009-07 __cpp_lambdas ------- < 2019-07 __cpp_modules 2014-11 = 2014-11 __cpp_namespace_attributes 2015-10 = 2015-10 __cpp_noexcept_function_type 2014-11 < 2019-11 __cpp_nontype_template_args 2016-06 = 2016-06 __cpp_nontype_template_parameter_auto 2008-09 = 2008-09 __cpp_nsdmi 2016-03 = 2016-03 __cpp_range_based_for 2007-10 = 2007-10 __cpp_raw_strings 2007-10 = 2007-10 __cpp_ref_qualifiers 2013-04 = 2013-04 __cpp_return_type_deduction 2006-10 = 2006-10 __cpp_rvalue_references ------- < 2013-09 __cpp_sized_deallocation 2014-11 = 2014-11 __cpp_static_assert 2016-06 = 2016-06 __cpp_structured_bindings ------- < 2016-11 __cpp_template_template_args 2008-06 = 2008-06 __cpp_threadsafe_static_init 2007-04 = 2007-04 __cpp_unicode_characters 2007-10 = 2007-10 __cpp_unicode_literals 2008-09 = 2008-09 __cpp_user_defined_literals 2019-07 = 2019-07 __cpp_using_enum 2013-04 = 2013-04 __cpp_variable_templates 2007-04 = 2007-04 __cpp_variadic_templates 2016-11 = 2016-11 __cpp_variadic_using LIB FEATURES ------------------------------------------------------------------------------- 2018-11 = 2018-11 __cpp_lib_array_constexpr 2018-11 = 2018-11 __cpp_lib_assume_aligned 2019-07 = 2019-07 __cpp_lib_atomic_flag_test ------- < 2017-11 __cpp_lib_atomic_float ------- < 2019-07 __cpp_lib_atomic_lock_free_type_aliases ------- < 2018-06 __cpp_lib_atomic_ref ------- < 2017-11 __cpp_lib_atomic_shared_ptr 2019-11 = 2019-11 __cpp_lib_atomic_value_initialization 2019-07 = 2019-07 __cpp_lib_atomic_wait 2019-07 = 2019-07 __cpp_lib_barrier 2019-07 = 2019-07 __cpp_lib_bind_front 2018-06 = 2018-06 __cpp_lib_bit_cast ------- < 2019-07 __cpp_lib_bitops 2019-02 = 2019-02 __cpp_lib_bounded_array_traits 2019-07 = 2019-07 __cpp_lib_char8_t 2016-11 < 2019-07 __cpp_lib_chrono 2013-04 = 2013-04 __cpp_lib_chrono_udls 2013-09 = 2013-09 __cpp_lib_complex_udls 2020-02 = 2020-02 __cpp_lib_concepts 2018-06 = 2018-06 __cpp_lib_constexpr_algorithms ------- < 2017-11 __cpp_lib_constexpr_complex 2019-07 = 2019-07 __cpp_lib_constexpr_dynamic_alloc 2019-07 = 2019-07 __cpp_lib_constexpr_functional 2018-11 = 2018-11 __cpp_lib_constexpr_iterator 2018-11 = 2018-11 __cpp_lib_constexpr_memory 2019-11 = 2019-11 __cpp_lib_constexpr_numeric 2019-07 = 2019-07 __cpp_lib_constexpr_string 2018-11 = 2018-11 __cpp_lib_constexpr_string_view 2018-11 = 2018-11 __cpp_lib_constexpr_tuple 2018-11 = 2018-11 __cpp_lib_constexpr_utility ------- < 2019-07 __cpp_lib_constexpr_vector 2019-02 = 2019-02 __cpp_lib_coroutine 2018-06 = 2018-06 __cpp_lib_destroying_delete 2019-07 = 2019-07 __cpp_lib_endian 2020-02 = 2020-02 __cpp_lib_erase_if 2013-04 = 2013-04 __cpp_lib_exchange_function ------- < 2019-02 __cpp_lib_execution ------- < 2021-10 __cpp_lib_format 2013-04 = 2013-04 __cpp_lib_generic_associative_lookup 2018-11 = 2018-11 __cpp_lib_generic_unordered_lookup 2020-02 = 2020-02 __cpp_lib_int_pow2 2020-02 = 2020-02 __cpp_lib_integer_comparison_functions 2013-04 = 2013-04 __cpp_lib_integer_sequence 2013-04 = 2013-04 __cpp_lib_integral_constant_callable 2019-02 = 2019-02 __cpp_lib_interpolate 2018-11 = 2018-11 __cpp_lib_is_constant_evaluated 2014-02 = 2014-02 __cpp_lib_is_final ------- < 2019-07 __cpp_lib_is_layout_compatible 2018-06 = 2018-06 __cpp_lib_is_nothrow_convertible 2013-09 = 2013-09 __cpp_lib_is_null_pointer ------- < 2019-07 __cpp_lib_is_pointer_interconvertible ------- < 2019-11 __cpp_lib_jthread 2019-07 = 2019-07 __cpp_lib_latch 2018-06 = 2018-06 __cpp_lib_list_remove_return_type 2014-02 = 2014-02 __cpp_lib_make_reverse_iterator 2013-04 = 2013-04 __cpp_lib_make_unique 2019-07 = 2019-07 __cpp_lib_math_constants 2013-04 = 2013-04 __cpp_lib_null_iterators 2016-06 < 2021-06 __cpp_lib_optional ------- < 2019-02 __cpp_lib_polymorphic_allocator 2013-04 = 2013-04 __cpp_lib_quoted_string_io 2018-11 < 2021-10 __cpp_lib_ranges 2017-11 = 2017-11 __cpp_lib_remove_cvref 2012-10 = 2012-10 __cpp_lib_result_of_sfinae 2013-04 = 2013-04 __cpp_lib_robust_nonmodifying_seq_ops 2019-07 = 2019-07 __cpp_lib_semaphore 2017-07 = 2017-07 __cpp_lib_shared_ptr_arrays 2014-02 = 2014-02 __cpp_lib_shared_timed_mutex 2018-06 = 2018-06 __cpp_lib_shift ------- < 2020-02 __cpp_lib_smart_ptr_for_overwrite ------- < 2019-07 __cpp_lib_source_location 2020-02 = 2020-02 __cpp_lib_span 2019-02 = 2019-02 __cpp_lib_ssize 2017-11 = 2017-11 __cpp_lib_starts_ends_with 2013-04 = 2013-04 __cpp_lib_string_udls 2018-03 = 2018-03 __cpp_lib_string_view ------- < 2018-03 __cpp_lib_syncbuf ------- < 2019-07 __cpp_lib_three_way_comparison 2017-11 = 2017-11 __cpp_lib_to_address 2019-07 = 2019-07 __cpp_lib_to_array 2013-04 = 2013-04 __cpp_lib_transformation_trait_aliases 2015-10 > 2012-10 __cpp_lib_transparent_operators 2014-02 = 2014-02 __cpp_lib_tuple_element_t 2013-04 = 2013-04 __cpp_lib_tuples_by_type 2018-06 = 2018-06 __cpp_lib_type_identity 2018-11 = 2018-11 __cpp_lib_unwrap_ref 2021-02 < 2021-06 __cpp_lib_variant ATTRIBUTES (MSVC reports garbage here) ------------------------------------------------------------------------------- ------- < 2022-07 assume ------- < 2008-09 carries_dependency 2013-09 = 2013-09 deprecated 2016-03 = 2016-03 fallthrough ------- < 2024-03 indeterminate 2018-03 = 2018-03 likely 2016-03 = 2016-03 maybe_unused 2018-03 = 2018-03 no_unique_address 2019-07 = 2019-07 nodiscard 2008-09 = 2008-09 noreturn 2018-03 = 2018-03 unlikely