3)  |  [ P0401R6 ](https://wg21.link/P0401R6)   
[ P2652R2 ](https://wg21.link/P2652R2)  
[ LWG3887 ](https://wg21.link/LWG3887)  
` __cpp_lib_allocator_  traits_is_always_equal ` |  [ ` std::allocator_traits::is_always_equal ` ](/w/cpp/memory/allocator_traits "cpp/memory/allocator traits") |  201411L  |  [ ` <memory> ` ](/w/cpp/header/memory "cpp/header/memory") [ ` <scoped_allocator> ` ](/w/cpp/header/scoped_allocator "cpp/header/scoped allocator") [ ` <string> ` ](/w/cpp/header/string "cpp/header/string") [ ` <deque> ` ](/w/cpp/header/deque "cpp/header/deque") [ ` <forward_list> ` ](/w/cpp/header/forward_list "cpp/header/forward list") [ ` <list> ` ](/w/cpp/header/list "cpp/header/list") [ ` <vector> ` ](/w/cpp/header/vector "cpp/header/vector") [ ` <map> ` ](/w/cpp/header/map "cpp/header/map") [ ` <set> ` ](/w/cpp/header/set "cpp/header/set") [ ` <unordered_map> ` ](/w/cpp/header/unordered_map "cpp/header/unordered map") [ ` <unordered_set> ` ](/w/cpp/header/unordered_set "cpp/header/unordered set") |  (C++17)  |  [ N4258 ](https://wg21.link/N4258)  
` __cpp_lib_any ` |  [ std::any ](/w/cpp/utility/any "cpp/utility/any") |  201606L  |  [ ` <any> ` ](/w/cpp/header/any "cpp/header/any") |  (C++17)  |  [ P0220R1 ](https://wg21.link/P0220R1)   
[ P0032R3 ](https://wg21.link/P0032R3)  
` __cpp_lib_apply ` |  [ std::apply ](/w/cpp/utility/apply "cpp/utility/apply") |  201603L  |  [ ` <tuple> ` ](/w/cpp/header/tuple "cpp/header/tuple") |  (C++17)  |  [ P0220R1 ](https://wg21.link/P0220R1)  
` __cpp_lib_array_constexpr ` |  Constexpr for  [ std::reverse_iterator ](/w/cpp/iterator/reverse_iterator "cpp/iterator/reverse iterator") ,  [ std::move_iterator ](/w/cpp/iterator/move_iterator "cpp/iterator/move iterator") ,  [ std::array ](/w/cpp/container/array "cpp/container/array") and [ range access ](/w/cpp/iterator#Range_access "cpp/iterator") |  201603L  |  [ ` <iterator> ` ](/w/cpp/header/iterator "cpp/header/iterator") [ ` <array> ` ](/w/cpp/header/array "cpp/header/array") |  (C++17)  |  [ P0031R0 ](https://wg21.link/P0031R0)  
[ ConstexprIterator  ](/w/cpp/named_req/ConstexprIterator "cpp/named req/ConstexprIterator") ; constexpr comparison for  [ std::array ](/w/cpp/container/array "cpp/container/array") ; misc constexpr bits (  [ std::array::fill ](/w/cpp/container/array/fill "cpp/container/array/fill") et al.)  |  201811L  |  [ ` <iterator> ` ](/w/cpp/header/iterator "cpp/header/iterator") [ ` <array> ` ](/w/cpp/header/array "cpp/header/array") |  (C++20)  |  [ P0858R0 ](https://wg21.link/P0858R0)   
[ LWG3257 ](https://wg21.link/LWG3257)  
[ P1023R0 ](https://wg21.link/P1023R0)  
[ P1032R1 ](https://wg21.link/P1032R1)  
` __cpp_lib_as_const ` |  [ std::as_const ](/w/cpp/utility/as_const "cpp/utility/as const") |  201510L  |  [ ` <utility> ` ](/w/cpp/header/utility "cpp/header/utility") |  (C++17)  |  [ P0007R1 ](https://wg21.link/P0007R1)  
` __cpp_lib_associative_  heterogeneous_erasure ` |  Heterogeneous erasure in [ associative containers ](/w/cpp/container#Associative_containers "cpp/container") and [ unordered associative containers ](/w/cpp/container#Unordered_associative_containers "cpp/container") |  202110L  |  [ ` <map> ` ](/w/cpp/header/map "cpp/header/map") [ ` <set> ` ](/w/cpp/header/set "cpp/header/set") [ ` <unordered_map> ` ](/w/cpp/header/unordered_map "cpp/header/unordered map") [ ` <unordered_set> ` ](/w/cpp/header/unordered_set "cpp/header/unordered set") |  (C++23)  |  [ P2077R3 ](https://wg21.link/P2077R3)  
` __cpp_lib_associative_  heterogeneous_insertion ` |  Heterogeneous overloads for the remaining member functions in [ ordered ](/w/cpp/container#Associative_containers "cpp/container") and [ unordered associative containers ](/w/cpp/container#Unordered_associative_containers "cpp/container") |  202306L  |  [ ` <map> ` ](/w/cpp/header/map "cpp/header/map") [ ` <set> ` ](/w/cpp/header/set "cpp/header/set") [ ` <unordered_map> ` ](/w/cpp/header/unordered_map "cpp/header/unordered map") [ ` <unordered_