llvm-mos-sdk
Classes | Namespaces | Macros | Typedefs | Functions | Variables
type_traits File Reference
#include <cstddef>
#include <__type-traits-impl.h>
Include dependency graph for type_traits:
This graph shows which files directly or indirectly include this file:

Classes

struct  std::conditional< B, T, F >
 
struct  std::conditional< false, T, F >
 
struct  std::remove_cv< T >
 
struct  std::remove_cv< const T >
 
struct  std::remove_cv< volatile T >
 
struct  std::remove_cv< const volatile T >
 
struct  std::add_cv< T >
 
struct  std::add_const< T >
 
struct  std::add_volatile< T >
 
struct  std::remove_reference< T >
 
struct  std::remove_reference< T & >
 
struct  std::remove_reference< T && >
 
struct  std::type_identity< T >
 
struct  std::add_lvalue_reference< T >
 
struct  std::add_rvalue_reference< T >
 
struct  std::add_pointer< T >
 
struct  std::remove_extent< T >
 
struct  std::remove_extent< T[]>
 
struct  std::remove_extent< T[N]>
 
struct  std::remove_all_extents< T >
 
struct  std::remove_all_extents< T[]>
 
struct  std::remove_all_extents< T[N]>
 
struct  std::remove_pointer< T >
 
struct  std::remove_pointer< T * >
 
struct  std::remove_pointer< T *const >
 
struct  std::remove_pointer< T *volatile >
 
struct  std::remove_pointer< T *const volatile >
 
struct  std::is_same< T, U >
 
struct  std::is_void< T >
 
struct  std::is_null_pointer< T >
 
struct  std::is_array< T >
 
struct  std::is_enum< T >
 
struct  std::is_floating_point< T >
 
struct  std::is_union< T >
 
struct  std::is_class< T >
 
struct  std::is_function< T >
 
struct  std::is_pointer< T >
 
struct  std::is_lvalue_reference< T >
 
struct  std::is_rvalue_reference< T >
 
struct  std::is_member_object_pointer< T >
 
struct  std::is_member_function_pointer< T >
 
struct  std::is_fundamental< T >
 
struct  std::is_arithmetic< T >
 
struct  std::is_scalar< T >
 
struct  std::is_object< T >
 
struct  std::is_compound< T >
 
struct  std::is_reference< T >
 
struct  std::is_member_pointer< T >
 
struct  std::is_const< T >
 
struct  std::is_volatile< T >
 
struct  std::is_trivial< T >
 
struct  std::is_trivially_copyable< T >
 
struct  std::is_standard_layout< T >
 
struct  std::has_unique_object_representations< T >
 
struct  std::is_empty< T >
 
struct  std::is_polymorphic< T >
 
struct  std::is_abstract< T >
 
struct  std::is_final< T >
 
struct  std::is_aggregate< T >
 
struct  std::is_signed< T >
 
struct  std::is_unsigned< T >
 
struct  std::is_constructible< T, Args >
 
struct  std::is_trivially_constructible< T, Args >
 
struct  std::is_nothrow_constructible< T, Args >
 
struct  std::is_default_constructible< T >
 
struct  std::is_trivially_default_constructible< T >
 
struct  std::is_nothrow_default_constructible< T >
 
struct  std::is_copy_constructible< T >
 
struct  std::is_trivially_copy_constructible< T >
 
struct  std::is_nothrow_copy_constructible< T >
 
struct  std::is_move_constructible< T >
 
struct  std::is_trivially_move_constructible< T >
 
struct  std::is_nothrow_move_constructible< T >
 
struct  std::is_assignable< T, Args >
 
struct  std::is_trivially_assignable< T, Args >
 
struct  std::is_nothrow_assignable< T, Args >
 
struct  std::is_copy_assignable< T >
 
struct  std::is_trivially_copy_assignable< T >
 
struct  std::is_nothrow_copy_assignable< T >
 
struct  std::is_move_assignable< T >
 
struct  std::is_trivially_move_assignable< T >
 
struct  std::is_nothrow_move_assignable< T >
 
struct  std::is_destructible< _Tp >
 
struct  std::is_destructible< _Tp[]>
 
struct  std::is_destructible< void >
 
struct  std::is_trivially_destructible< T >
 
struct  std::is_nothrow_destructible< _Tp >
 
struct  std::is_nothrow_destructible< _Tp[_Ns]>
 
struct  std::is_nothrow_destructible< _Tp & >
 
struct  std::is_nothrow_destructible< _Tp && >
 
struct  std::has_virtual_destructor< T >
 
struct  std::is_swappable_with< _Tp, _Up >
 
struct  std::is_swappable< _Tp >
 
struct  std::is_nothrow_swappable_with< _Tp, _Up >
 
struct  std::is_nothrow_swappable< _Tp >
 
struct  std::alignment_of< T >
 
struct  std::rank< T >
 
struct  std::rank< T[]>
 
struct  std::rank< T[N]>
 
struct  std::extent< T, N >
 
struct  std::is_base_of< T, U >
 
struct  std::is_convertible< T, U >
 
struct  std::decay< T >
 
class  std::reference_wrapper< T >
 
struct  std::is_invocable< _Fn, _Args >
 
struct  std::is_invocable_r< _Ret, _Fn, _Args >
 
struct  std::is_nothrow_invocable< _Fn, _Args >
 
struct  std::is_nothrow_invocable_r< _Ret, _Fn, _Args >
 

Namespaces

 std
 

Macros

#define _TYPE_TRAITS_
 

Typedefs

template<bool B>
using std::bool_constant = integral_constant< bool, B >
 
typedef integral_constant< bool, true > std::true_type
 
typedef integral_constant< bool, false > std::false_type
 
template<bool B, class T , class F >
using std::conditional_t = typename conditional< B, T, F >::type
 
template<class T >
using std::remove_cv_t = typename remove_cv< T >::type
 
template<class T >
using std::add_cv_t = typename add_cv< T >::type
 
template<class T >
using std::add_const_t = typename add_const< T >::type
 
template<class T >
using std::add_volatile_t = typename add_volatile< T >::type
 
template<class T >
using std::remove_reference_t = typename remove_reference< T >::type
 
template<class T >
using std::add_lvalue_reference_t = typename add_lvalue_reference< T >::type
 
template<class T >
using std::add_rvalue_reference_t = typename add_rvalue_reference< T >::type
 
template<class T >
using std::add_pointer_t = typename add_pointer< T >::type
 
template<class T >
using std::remove_extent_t = typename remove_extent< T >::type
 
template<class T >
using std::remove_all_extents_t = typename remove_all_extents< T >::type
 
template<class T >
using std::remove_pointer_t = typename remove_pointer< T >::type
 
template<class T >
using std::decay_t = typename decay< T >::type
 

Functions

template<class _Tp >
constexpr __swap_result_t< _Tp > std::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 > std::swap (_Tp(&__a)[_Np], _Tp(&__b)[_Np]) noexcept(__is_nothrow_swappable< _Tp >::value)
 

Variables

template<class T , class U >
constexpr bool std::is_same_v = is_same<T, U>::value
 
template<class T >
constexpr bool std::is_void_v = is_void<T>::value
 
template<class T >
constexpr bool std::is_null_pointer_v = is_null_pointer<T>::value
 
template<class T >
constexpr bool std::is_array_v = is_array<T>::value
 
template<class T >
constexpr bool std::is_enum_v = is_enum<T>::value
 
template<class T >
constexpr bool std::is_floating_point_v = is_floating_point<T>::value
 
template<class T >
constexpr bool std::is_union_v = is_union<T>::value
 
template<class T >
constexpr bool std::is_class_v = is_class<T>::value
 
template<class T >
constexpr bool std::is_function_v = is_function<T>::value
 
template<class T >
constexpr bool std::is_pointer_v = is_pointer<T>::value
 
template<class T >
constexpr bool std::is_lvalue_reference_v = is_lvalue_reference<T>::value
 
template<class T >
constexpr bool std::is_rvalue_reference_v = is_rvalue_reference<T>::value
 
template<class T >
constexpr bool std::is_member_object_pointer_v
 
template<class T >
constexpr bool std::is_member_function_pointer_v
 
template<class T >
constexpr bool std::is_fundamental_v = is_fundamental<T>::value
 
template<class T >
constexpr bool std::is_arithmetic_v = is_arithmetic<T>::value
 
template<class T >
constexpr bool std::is_scalar_v = is_scalar<T>::value
 
template<class T >
constexpr bool std::is_object_v = is_object<T>::value
 
template<class T >
constexpr bool std::is_compound_v = is_compound<T>::value
 
template<class T >
constexpr bool std::is_reference_v = is_reference<T>::value
 
template<class T >
constexpr bool std::is_member_pointer_v = is_member_pointer<T>::value
 
template<class T >
constexpr bool std::is_const_v = is_const<T>::value
 
template<class T >
constexpr bool std::is_volatile_v = is_volatile<T>::value
 
template<class T >
constexpr bool std::is_trivial_v = is_trivial<T>::value
 
template<class T >
constexpr bool std::is_trivially_copyable_v = is_trivially_copyable<T>::value
 
template<class T >
constexpr bool std::is_standard_layout_v = is_standard_layout<T>::value
 
template<class T >
constexpr bool std::has_unique_object_representations_v
 
template<class T >
constexpr bool std::is_empty_v = is_empty<T>::value
 
template<class T >
constexpr bool std::is_polymorphic_v = is_polymorphic<T>::value
 
template<class T >
constexpr bool std::is_abstract_v = is_abstract<T>::value
 
template<class T >
constexpr bool std::is_final_v = is_final<T>::value
 
template<class T >
constexpr bool std::is_aggregate_v = is_aggregate<T>::value
 
template<class T >
constexpr bool std::is_signed_v = is_signed<T>::value
 
template<class T >
constexpr bool std::is_unsigned_v = is_unsigned<T>::value
 
template<class T , class... Args>
constexpr bool std::is_constructible_v = is_constructible<T, Args...>::value
 
template<class T , class... Args>
constexpr bool std::is_trivially_constructible_v
 
template<class T , class... Args>
constexpr bool std::is_nothrow_constructible_v
 
template<class T >
constexpr bool std::is_default_constructible_v
 
template<class T >
constexpr bool std::is_trivially_default_constructible_v
 
template<class T >
constexpr bool std::is_nothrow_default_constructible_v
 
template<class T >
constexpr bool std::is_copy_constructible_v = is_copy_constructible<T>::value
 
template<class T >
constexpr bool std::is_trivially_copy_constructible_v
 
template<class T >
constexpr bool std::is_nothrow_copy_constructible_v
 
template<class T >
constexpr bool std::is_move_constructible_v = is_move_constructible<T>::value
 
template<class T >
constexpr bool std::is_trivially_move_constructible_v
 
template<class T >
constexpr bool std::is_nothrow_move_constructible_v
 
template<class T , class... Args>
constexpr bool std::is_assignable_v = is_assignable<T, Args...>::value
 
template<class T , class... Args>
constexpr bool std::is_trivially_assignable_v
 
template<class T , class... Args>
constexpr bool std::is_nothrow_assignable_v
 
template<class T >
constexpr bool std::is_copy_assignable_v = is_copy_assignable<T>::value
 
template<class T >
constexpr bool std::is_trivially_copy_assignable_v
 
template<class T >
constexpr bool std::is_nothrow_copy_assignable_v
 
template<class T >
constexpr bool std::is_move_assignable_v = is_move_assignable<T>::value
 
template<class T >
constexpr bool std::is_trivially_move_assignable_v
 
template<class T >
constexpr bool std::is_nothrow_move_assignable_v
 
template<class _Tp >
constexpr bool std::is_destructible_v = is_destructible<_Tp>::value
 
template<class _Tp >
constexpr bool std::is_trivially_destructible_v
 
template<class _Tp >
constexpr bool std::is_nothrow_destructible_v
 
template<class _Tp >
constexpr bool std::has_virtual_destructor_v
 
template<class _Tp , class _Up >
constexpr bool std::is_swappable_with_v = is_swappable_with<_Tp, _Up>::value
 
template<class _Tp >
constexpr bool std::is_swappable_v = is_swappable<_Tp>::value
 
template<class _Tp , class _Up >
constexpr bool std::is_nothrow_swappable_with_v
 
template<class _Tp >
constexpr bool std::is_nothrow_swappable_v = is_nothrow_swappable<_Tp>::value
 
template<class T >
constexpr size_t std::alignment_of_v = alignment_of<T>::value
 
template<class T >
constexpr size_t std::rank_v = rank<T>::value
 
template<class T , unsigned N = 0>
constexpr std::size_t std::extent_v = extent<T, N>::value
 
template<class T , class U >
constexpr bool std::is_base_of_v = is_base_of<T, U>::value
 
template<class T , class U >
constexpr bool std::is_convertible_v = is_convertible<T, U>::value
 
template<class _Fn , class... _Args>
constexpr bool std::is_invocable_v = is_invocable<_Fn, _Args...>::value
 
template<class _Ret , class _Fn , class... _Args>
constexpr bool std::is_invocable_r_v
 
template<class _Fn , class... _Args>
constexpr bool std::is_nothrow_invocable_v
 
template<class _Ret , class _Fn , class... _Args>
constexpr bool std::is_nothrow_invocable_r_v
 

Macro Definition Documentation

◆ _TYPE_TRAITS_

#define _TYPE_TRAITS_