| 
| struct   | array | 
|   | 
| class   | initializer_list | 
|   | 
| struct   | _numeric_limits_helper | 
|   | 
| struct   | _numeric_limits_helper< T, true > | 
|   | 
| class   | numeric_limits | 
|   | 
| struct   | nothrow_t | 
|   | 
| struct   | conditional | 
|   | 
| struct   | conditional< false, T, F > | 
|   | 
| struct   | remove_cv | 
|   | 
| struct   | remove_cv< const T > | 
|   | 
| struct   | remove_cv< volatile T > | 
|   | 
| struct   | remove_cv< const volatile T > | 
|   | 
| struct   | add_cv | 
|   | 
| struct   | add_const | 
|   | 
| struct   | add_volatile | 
|   | 
| struct   | remove_reference | 
|   | 
| struct   | remove_reference< T & > | 
|   | 
| struct   | remove_reference< T && > | 
|   | 
| struct   | type_identity | 
|   | 
| struct   | add_lvalue_reference | 
|   | 
| struct   | add_rvalue_reference | 
|   | 
| struct   | add_pointer | 
|   | 
| struct   | remove_extent | 
|   | 
| struct   | remove_extent< T[]> | 
|   | 
| struct   | remove_extent< T[N]> | 
|   | 
| struct   | remove_all_extents | 
|   | 
| struct   | remove_all_extents< T[]> | 
|   | 
| struct   | remove_all_extents< T[N]> | 
|   | 
| struct   | remove_pointer | 
|   | 
| struct   | remove_pointer< T * > | 
|   | 
| struct   | remove_pointer< T *const > | 
|   | 
| struct   | remove_pointer< T *volatile > | 
|   | 
| struct   | remove_pointer< T *const volatile > | 
|   | 
| struct   | __nat | 
|   | 
| struct   | is_same | 
|   | 
| struct   | is_void | 
|   | 
| struct   | is_null_pointer | 
|   | 
| struct   | is_array | 
|   | 
| struct   | is_enum | 
|   | 
| struct   | is_floating_point | 
|   | 
| struct   | is_union | 
|   | 
| struct   | is_class | 
|   | 
| struct   | is_function | 
|   | 
| struct   | is_pointer | 
|   | 
| struct   | is_lvalue_reference | 
|   | 
| struct   | is_rvalue_reference | 
|   | 
| struct   | is_member_object_pointer | 
|   | 
| struct   | is_member_function_pointer | 
|   | 
| struct   | is_fundamental | 
|   | 
| struct   | is_arithmetic | 
|   | 
| struct   | is_scalar | 
|   | 
| struct   | is_object | 
|   | 
| struct   | is_compound | 
|   | 
| struct   | is_reference | 
|   | 
| struct   | is_member_pointer | 
|   | 
| struct   | is_const | 
|   | 
| struct   | is_volatile | 
|   | 
| struct   | is_trivial | 
|   | 
| struct   | is_trivially_copyable | 
|   | 
| struct   | is_standard_layout | 
|   | 
| struct   | has_unique_object_representations | 
|   | 
| struct   | is_empty | 
|   | 
| struct   | is_polymorphic | 
|   | 
| struct   | is_abstract | 
|   | 
| struct   | is_final | 
|   | 
| struct   | is_aggregate | 
|   | 
| struct   | is_signed | 
|   | 
| struct   | is_unsigned | 
|   | 
| struct   | is_constructible | 
|   | 
| struct   | is_trivially_constructible | 
|   | 
| struct   | is_nothrow_constructible | 
|   | 
| struct   | is_default_constructible | 
|   | 
| struct   | is_trivially_default_constructible | 
|   | 
| struct   | is_nothrow_default_constructible | 
|   | 
| struct   | is_copy_constructible | 
|   | 
| struct   | is_trivially_copy_constructible | 
|   | 
| struct   | is_nothrow_copy_constructible | 
|   | 
| struct   | is_move_constructible | 
|   | 
| struct   | is_trivially_move_constructible | 
|   | 
| struct   | is_nothrow_move_constructible | 
|   | 
| struct   | is_assignable | 
|   | 
| struct   | is_trivially_assignable | 
|   | 
| struct   | is_nothrow_assignable | 
|   | 
| struct   | is_copy_assignable | 
|   | 
| struct   | is_trivially_copy_assignable | 
|   | 
| struct   | is_nothrow_copy_assignable | 
|   | 
| struct   | is_move_assignable | 
|   | 
| struct   | is_trivially_move_assignable | 
|   | 
| struct   | is_nothrow_move_assignable | 
|   | 
| struct   | __is_destructible_apply | 
|   | 
| struct   | __two | 
|   | 
| struct   | __is_destructor_wellformed | 
|   | 
| struct   | __destructible_imp | 
|   | 
| struct   | __destructible_imp< _Tp, false > | 
|   | 
| struct   | __destructible_imp< _Tp, true > | 
|   | 
| struct   | __destructible_nonfunction | 
|   | 
| struct   | __destructible_nonfunction< _Tp, false > | 
|   | 
| struct   | __destructible_nonfunction< _Tp, true > | 
|   | 
| struct   | is_destructible | 
|   | 
| struct   | is_destructible< _Tp[]> | 
|   | 
| struct   | is_destructible< void > | 
|   | 
| struct   | is_trivially_destructible | 
|   | 
| struct   | __libcpp_is_nothrow_destructible | 
|   | 
| struct   | __libcpp_is_nothrow_destructible< false, _Tp > | 
|   | 
| struct   | __libcpp_is_nothrow_destructible< true, _Tp > | 
|   | 
| struct   | is_nothrow_destructible | 
|   | 
| struct   | is_nothrow_destructible< _Tp[_Ns]> | 
|   | 
| struct   | is_nothrow_destructible< _Tp & > | 
|   | 
| struct   | is_nothrow_destructible< _Tp && > | 
|   | 
| struct   | has_virtual_destructor | 
|   | 
| struct   | __is_swappable | 
|   | 
| struct   | __is_nothrow_swappable | 
|   | 
| struct   | __is_referenceable_impl | 
|   | 
| struct   | __is_referenceable | 
|   | 
| struct   | is_swappable_with | 
|   | 
| struct   | is_swappable | 
|   | 
| struct   | is_nothrow_swappable_with | 
|   | 
| struct   | is_nothrow_swappable | 
|   | 
| struct   | alignment_of | 
|   | 
| struct   | rank | 
|   | 
| struct   | rank< T[]> | 
|   | 
| struct   | rank< T[N]> | 
|   | 
| struct   | extent | 
|   | 
| struct   | is_base_of | 
|   | 
| struct   | is_convertible | 
|   | 
| struct   | decay | 
|   | 
| struct   | __member_pointer_class_type | 
|   | 
| struct   | __member_pointer_class_type< _Ret _ClassType::* > | 
|   | 
| class   | reference_wrapper | 
|   | 
| struct   | __is_reference_wrapper_impl | 
|   | 
| struct   | __is_reference_wrapper_impl< reference_wrapper< _Tp > > | 
|   | 
| struct   | __is_reference_wrapper | 
|   | 
| struct   | __any | 
|   | 
| struct   | __invokable_r | 
|   | 
| struct   | __nothrow_invokable_r_imp | 
|   | 
| struct   | __nothrow_invokable_r_imp< true, false, _Ret, _Fp, _Args... > | 
|   | 
| struct   | __nothrow_invokable_r_imp< true, true, _Ret, _Fp, _Args... > | 
|   | 
| struct   | is_invocable | 
|   | 
| struct   | is_invocable_r | 
|   | 
| struct   | is_nothrow_invocable | 
|   | 
| struct   | is_nothrow_invocable_r | 
|   | 
| struct   | __type_list | 
|   | 
| class   | type_info | 
|   | 
| struct   | pair | 
|   | 
 | 
| template<class ForwardIt >  | 
| ForwardIt  | min_element (ForwardIt first, ForwardIt last) | 
|   | 
| template<class ForwardIt , class Compare >  | 
| ForwardIt  | min_element (ForwardIt first, ForwardIt last, Compare comp) | 
|   | 
| template<class ForwardIt >  | 
| ForwardIt  | max_element (ForwardIt first, ForwardIt last) | 
|   | 
| template<class ForwardIt , class Compare >  | 
| ForwardIt  | max_element (ForwardIt first, ForwardIt last, Compare comp) | 
|   | 
| constexpr byte  | operator| (byte l, byte r) noexcept | 
|   | 
| constexpr byte  | operator& (byte l, byte r) noexcept | 
|   | 
| constexpr byte  | operator^ (byte l, byte r) noexcept | 
|   | 
| constexpr byte  | operator~ (byte b) noexcept | 
|   | 
| constexpr byte &  | operator|= (byte &l, byte r) noexcept | 
|   | 
| constexpr byte &  | operator&= (byte &l, byte r) noexcept | 
|   | 
| constexpr byte &  | operator^= (byte &l, byte r) noexcept | 
|   | 
| template<class IntegerType >  | 
| constexpr enable_if_t< is_integral< IntegerType >::value, IntegerType >  | to_integer (byte b) noexcept | 
|   | 
| template<class IntegerType >  | 
| constexpr enable_if_t< is_integral< IntegerType >::value, byte >  | operator<< (byte b, IntegerType shift) noexcept | 
|   | 
| template<class IntegerType >  | 
| constexpr enable_if_t< is_integral< IntegerType >::value, byte >  | operator>> (byte b, IntegerType shift) noexcept | 
|   | 
| template<class IntegerType >  | 
| constexpr enable_if_t< is_integral< IntegerType >::value, byte & >  | operator<<= (byte &b, IntegerType shift) noexcept | 
|   | 
| template<class IntegerType >  | 
| constexpr enable_if_t< is_integral< IntegerType >::value, byte & >  | operator>>= (byte &b, IntegerType shift) noexcept | 
|   | 
| terminate_handler  | get_terminate () noexcept | 
|   | 
| terminate_handler  | set_terminate (terminate_handler f) noexcept | 
|   | 
| void  | terminate () noexcept | 
|   | 
| template<class E >  | 
| constexpr const E *  | begin (initializer_list< E > il) noexcept | 
|   | 
| template<class E >  | 
| constexpr const E *  | end (initializer_list< E > il) noexcept | 
|   | 
| template<class C >  | 
| constexpr auto  | begin (C &c) -> decltype(c.begin()) | 
|   | 
| template<class C >  | 
| constexpr auto  | begin (const C &c) -> decltype(c.begin()) | 
|   | 
| template<class T , std::size_t _N>  | 
| constexpr T *  | begin (T(&array)[_N]) noexcept | 
|   | 
| template<class C >  | 
| constexpr auto  | cbegin (const C &c) noexcept(noexcept(std::begin(c))) -> decltype(c.begin()) | 
|   | 
| template<class C >  | 
| constexpr auto  | end (C &c) -> decltype(c.end()) | 
|   | 
| template<class C >  | 
| constexpr auto  | end (const C &c) -> decltype(c.end()) | 
|   | 
| template<class T , std::size_t _N>  | 
| constexpr T *  | end (T(&array)[_N]) noexcept | 
|   | 
| template<class C >  | 
| constexpr auto  | cend (const C &c) noexcept(noexcept(std::end(c))) -> decltype(c.end()) | 
|   | 
| new_handler  | get_new_handler () noexcept | 
|   | 
| new_handler  | set_new_handler (new_handler new_p) noexcept | 
|   | 
| template<class _Tp >  | 
| constexpr __swap_result_t< _Tp >  | swap (_Tp &__x, _Tp &__y) noexcept(is_nothrow_move_constructible_v< _Tp > &&is_nothrow_move_assignable_v< _Tp >) | 
|   | 
| template<class _Tp , size_t _Np>  | 
| constexpr enable_if_t< __is_swappable< _Tp >::value >  | swap (_Tp(&__a)[_Np], _Tp(&__b)[_Np]) noexcept(__is_nothrow_swappable< _Tp >::value) | 
|   | 
| template<class T >  | 
| constexpr T &&  | forward (std::remove_reference_t< T > &t) noexcept | 
|   | 
| template<class T >  | 
| constexpr T &&  | forward (std::remove_reference_t< T > &&t) noexcept | 
|   | 
| template<class T1 , class T2 >  | 
| std::pair< T1, T2 >  | make_pair (T1 x, T2 y) | 
|   | 
 | 
| const nothrow_t  | nothrow | 
|   | 
| template<class T , class U >  | 
| constexpr bool  | is_same_v = is_same<T, U>::value | 
|   | 
| template<class T >  | 
| constexpr bool  | is_void_v = is_void<T>::value | 
|   | 
| template<class T >  | 
| constexpr bool  | is_null_pointer_v = is_null_pointer<T>::value | 
|   | 
| template<class T >  | 
| constexpr bool  | is_array_v = is_array<T>::value | 
|   | 
| template<class T >  | 
| constexpr bool  | is_enum_v = is_enum<T>::value | 
|   | 
| template<class T >  | 
| constexpr bool  | is_floating_point_v = is_floating_point<T>::value | 
|   | 
| template<class T >  | 
| constexpr bool  | is_union_v = is_union<T>::value | 
|   | 
| template<class T >  | 
| constexpr bool  | is_class_v = is_class<T>::value | 
|   | 
| template<class T >  | 
| constexpr bool  | is_function_v = is_function<T>::value | 
|   | 
| template<class T >  | 
| constexpr bool  | is_pointer_v = is_pointer<T>::value | 
|   | 
| template<class T >  | 
| constexpr bool  | is_lvalue_reference_v = is_lvalue_reference<T>::value | 
|   | 
| template<class T >  | 
| constexpr bool  | is_rvalue_reference_v = is_rvalue_reference<T>::value | 
|   | 
| template<class T >  | 
| constexpr bool  | is_member_object_pointer_v | 
|   | 
| template<class T >  | 
| constexpr bool  | is_member_function_pointer_v | 
|   | 
| template<class T >  | 
| constexpr bool  | is_fundamental_v = is_fundamental<T>::value | 
|   | 
| template<class T >  | 
| constexpr bool  | is_arithmetic_v = is_arithmetic<T>::value | 
|   | 
| template<class T >  | 
| constexpr bool  | is_scalar_v = is_scalar<T>::value | 
|   | 
| template<class T >  | 
| constexpr bool  | is_object_v = is_object<T>::value | 
|   | 
| template<class T >  | 
| constexpr bool  | is_compound_v = is_compound<T>::value | 
|   | 
| template<class T >  | 
| constexpr bool  | is_reference_v = is_reference<T>::value | 
|   | 
| template<class T >  | 
| constexpr bool  | is_member_pointer_v = is_member_pointer<T>::value | 
|   | 
| template<class T >  | 
| constexpr bool  | is_const_v = is_const<T>::value | 
|   | 
| template<class T >  | 
| constexpr bool  | is_volatile_v = is_volatile<T>::value | 
|   | 
| template<class T >  | 
| constexpr bool  | is_trivial_v = is_trivial<T>::value | 
|   | 
| template<class T >  | 
| constexpr bool  | is_trivially_copyable_v = is_trivially_copyable<T>::value | 
|   | 
| template<class T >  | 
| constexpr bool  | is_standard_layout_v = is_standard_layout<T>::value | 
|   | 
| template<class T >  | 
| constexpr bool  | has_unique_object_representations_v | 
|   | 
| template<class T >  | 
| constexpr bool  | is_empty_v = is_empty<T>::value | 
|   | 
| template<class T >  | 
| constexpr bool  | is_polymorphic_v = is_polymorphic<T>::value | 
|   | 
| template<class T >  | 
| constexpr bool  | is_abstract_v = is_abstract<T>::value | 
|   | 
| template<class T >  | 
| constexpr bool  | is_final_v = is_final<T>::value | 
|   | 
| template<class T >  | 
| constexpr bool  | is_aggregate_v = is_aggregate<T>::value | 
|   | 
| template<class T >  | 
| constexpr bool  | is_signed_v = is_signed<T>::value | 
|   | 
| template<class T >  | 
| constexpr bool  | is_unsigned_v = is_unsigned<T>::value | 
|   | 
| template<class T , class... Args>  | 
| constexpr bool  | is_constructible_v = is_constructible<T, Args...>::value | 
|   | 
| template<class T , class... Args>  | 
| constexpr bool  | is_trivially_constructible_v | 
|   | 
| template<class T , class... Args>  | 
| constexpr bool  | is_nothrow_constructible_v | 
|   | 
| template<class T >  | 
| constexpr bool  | is_default_constructible_v | 
|   | 
| template<class T >  | 
| constexpr bool  | is_trivially_default_constructible_v | 
|   | 
| template<class T >  | 
| constexpr bool  | is_nothrow_default_constructible_v | 
|   | 
| template<class T >  | 
| constexpr bool  | is_copy_constructible_v = is_copy_constructible<T>::value | 
|   | 
| template<class T >  | 
| constexpr bool  | is_trivially_copy_constructible_v | 
|   | 
| template<class T >  | 
| constexpr bool  | is_nothrow_copy_constructible_v | 
|   | 
| template<class T >  | 
| constexpr bool  | is_move_constructible_v = is_move_constructible<T>::value | 
|   | 
| template<class T >  | 
| constexpr bool  | is_trivially_move_constructible_v | 
|   | 
| template<class T >  | 
| constexpr bool  | is_nothrow_move_constructible_v | 
|   | 
| template<class T , class... Args>  | 
| constexpr bool  | is_assignable_v = is_assignable<T, Args...>::value | 
|   | 
| template<class T , class... Args>  | 
| constexpr bool  | is_trivially_assignable_v | 
|   | 
| template<class T , class... Args>  | 
| constexpr bool  | is_nothrow_assignable_v | 
|   | 
| template<class T >  | 
| constexpr bool  | is_copy_assignable_v = is_copy_assignable<T>::value | 
|   | 
| template<class T >  | 
| constexpr bool  | is_trivially_copy_assignable_v | 
|   | 
| template<class T >  | 
| constexpr bool  | is_nothrow_copy_assignable_v | 
|   | 
| template<class T >  | 
| constexpr bool  | is_move_assignable_v = is_move_assignable<T>::value | 
|   | 
| template<class T >  | 
| constexpr bool  | is_trivially_move_assignable_v | 
|   | 
| template<class T >  | 
| constexpr bool  | is_nothrow_move_assignable_v | 
|   | 
| template<class _Tp >  | 
| constexpr bool  | is_destructible_v = is_destructible<_Tp>::value | 
|   | 
| template<class _Tp >  | 
| constexpr bool  | is_trivially_destructible_v | 
|   | 
| template<class _Tp >  | 
| constexpr bool  | is_nothrow_destructible_v | 
|   | 
| template<class _Tp >  | 
| constexpr bool  | has_virtual_destructor_v | 
|   | 
| template<class _Tp , class _Up >  | 
| constexpr bool  | is_swappable_with_v = is_swappable_with<_Tp, _Up>::value | 
|   | 
| template<class _Tp >  | 
| constexpr bool  | is_swappable_v = is_swappable<_Tp>::value | 
|   | 
| template<class _Tp , class _Up >  | 
| constexpr bool  | is_nothrow_swappable_with_v | 
|   | 
| template<class _Tp >  | 
| constexpr bool  | is_nothrow_swappable_v = is_nothrow_swappable<_Tp>::value | 
|   | 
| template<class T >  | 
| constexpr size_t  | alignment_of_v = alignment_of<T>::value | 
|   | 
| template<class T >  | 
| constexpr size_t  | rank_v = rank<T>::value | 
|   | 
| template<class T , unsigned N = 0>  | 
| constexpr std::size_t  | extent_v = extent<T, N>::value | 
|   | 
| template<class T , class U >  | 
| constexpr bool  | is_base_of_v = is_base_of<T, U>::value | 
|   | 
| template<class T , class U >  | 
| constexpr bool  | is_convertible_v = is_convertible<T, U>::value | 
|   | 
| template<class _Fn , class... _Args>  | 
| constexpr bool  | is_invocable_v = is_invocable<_Fn, _Args...>::value | 
|   | 
| template<class _Ret , class _Fn , class... _Args>  | 
| constexpr bool  | is_invocable_r_v | 
|   | 
| template<class _Fn , class... _Args>  | 
| constexpr bool  | is_nothrow_invocable_v | 
|   | 
| template<class _Ret , class _Fn , class... _Args>  | 
| constexpr bool  | is_nothrow_invocable_r_v | 
|   |