type_traits File Reference

Go to the source code of this file.

## Classes

struct | std::__is_member_object_pointer_helper< typename >
struct | std::__remove_pointer_helper< _Tp, typename >
struct | std::add_const< _Tp >
struct | std::add_cv< _Tp >
struct | std::add_lvalue_reference< _Tp >
struct | std::add_pointer< _Tp >
struct | std::add_rvalue_reference< _Tp >
struct | std::add_volatile< _Tp >
struct | std::aligned_storage< _Len, _Align >
struct | std::aligned_union< _Len, _Types >
struct | std::alignment_of< _Tp >
struct | std::conditional< _Cond, _Iftrue, _Iffalse >
struct | std::decay< _Tp >
struct | std::enable_if< bool, _Tp >
struct | std::extent< typename, _Uint >
struct | std::has_virtual_destructor< _Tp >
struct | std::integral_constant< _Tp, __v >
struct | std::is_abstract< _Tp >
struct | std::is_arithmetic< _Tp >
struct | std::is_array< typename >
struct | std::is_assignable< _Tp, _Up >
struct | std::is_base_of< _Base, _Derived >
struct | std::is_class< _Tp >
struct | std::is_compound< _Tp >
struct | std::is_const< typename >
struct | std::is_constructible< _Tp, _Args >
struct | std::is_convertible< _From, _To >
struct | std::is_copy_assignable< _Tp >
struct | std::is_copy_constructible< _Tp >
struct | std::is_default_constructible< _Tp >
struct | std::is_destructible< _Tp >
struct | std::is_empty< _Tp >
struct | std::is_enum< _Tp >
struct | std::is_floating_point< _Tp >
struct | std::is_function< _Tp >
struct | std::is_fundamental< _Tp >
struct | std::is_integral< _Tp >
struct | std::is_layout_compatible< _Tp, _Up >
struct | std::is_literal_type< _Tp >
struct | std::is_lvalue_reference< typename >
struct | std::is_member_function_pointer< _Tp >
struct | std::is_member_pointer< _Tp >
struct | std::is_move_assignable< _Tp >
struct | std::is_move_constructible< _Tp >
struct | std::is_nothrow_assignable< _Tp, _Up >
struct | std::is_nothrow_constructible< _Tp, _Args >
struct | std::is_nothrow_copy_assignable< _Tp >
struct | std::is_nothrow_copy_constructible< _Tp >
struct | std::is_nothrow_default_constructible< _Tp >
struct | std::is_nothrow_destructible< _Tp >
struct | std::is_nothrow_move_assignable< _Tp >
struct | std::is_nothrow_move_constructible< _Tp >
struct | std::is_object< _Tp >
struct | std::is_pod< _Tp >
struct | std::is_pointer< _Tp >
struct | std::is_pointer_interconvertible_base_of< _Base, _Derived >
struct | std::is_polymorphic< _Tp >
struct | std::is_reference< _Tp >
struct | std::is_rvalue_reference< typename >
struct | std::is_same< _Tp, _Up >
struct | std::is_scalar< _Tp >
struct | std::is_signed< _Tp >
struct | std::is_standard_layout< _Tp >
struct | std::is_trivial< _Tp >
struct | std::is_trivially_assignable< _Tp, _Up >
struct | std::is_trivially_constructible< _Tp, _Args >
struct | std::is_trivially_copy_assignable< _Tp >
struct | std::is_trivially_copy_constructible< _Tp >
struct | std::is_trivially_copyable< _Tp >
struct | std::is_trivially_default_constructible< _Tp >
struct | std::is_trivially_destructible< _Tp >
struct | std::is_trivially_move_assignable< _Tp >
struct | std::is_trivially_move_constructible< _Tp >
struct | std::is_union< _Tp >
struct | std::is_unsigned< _Tp >
struct | std::is_void< _Tp >
struct | std::is_volatile< typename >
struct | std::make_signed< _Tp >
struct | std::make_unsigned< _Tp >
struct | std::rank< typename >
struct | std::remove_all_extents< _Tp >
struct | std::remove_const< _Tp >
struct | std::remove_cv< _Tp >
struct | std::remove_extent< _Tp >
struct | std::remove_reference< _Tp >
struct | std::remove_volatile< _Tp >
struct | std::underlying_type< _Tp >

## Namespaces

namespace | std

## Macros

#define | __glibcxx_want_bool_constant
#define | __glibcxx_want_bounded_array_traits
#define | __glibcxx_want_has_unique_object_representations
#define | __glibcxx_want_integral_constant_callable
#define | __glibcxx_want_is_aggregate
#define | __glibcxx_want_is_constant_evaluated
#define | __glibcxx_want_is_final
#define | __glibcxx_want_is_invocable
#define | __glibcxx_want_is_layout_compatible
#define | __glibcxx_want_is_nothrow_convertible
#define | __glibcxx_want_is_null_pointer
#define | __glibcxx_want_is_pointer_interconvertible
#define | __glibcxx_want_is_scoped_enum
#define | __glibcxx_want_is_swappable
#define | __glibcxx_want_logical_traits
#define | __glibcxx_want_reference_from_temporary
#define | __glibcxx_want_remove_cvref
#define | __glibcxx_want_result_of_sfinae
#define | __glibcxx_want_transformation_trait_aliases
#define | __glibcxx_want_type_identity
#define | __glibcxx_want_type_trait_variable_templates
#define | __glibcxx_want_unwrap_ref
#define | __glibcxx_want_void_t
#define | _GLIBCXX_TYPE_TRAITS

## Typedefs

template<bool _Cond, typename _If , typename _Else >
using | std::__conditional_t = typename __conditional< _Cond >::template type< _If, _Else >
template<bool _Cond, typename _Tp = void>
using | std::__enable_if_t = typename enable_if< _Cond, _Tp >::type
template<typename _ToElementType , typename _FromElementType >
using | std::__is_array_convertible = is_convertible< _FromElementType(*)[], _ToElementType(*)[]>
template<typename _Tp >
using | std::add_lvalue_reference_t = typename add_lvalue_reference< _Tp >::type
template<typename _Tp >
using | std::add_pointer_t = typename add_pointer< _Tp >::type
template<typename _Tp >
using | std::add_rvalue_reference_t = typename add_rvalue_reference< _Tp >::type
template<size_t _Len, size_t _Align = __alignof__(typename __aligned_storage_msa<_Len>::__type)>
using | std::aligned_storage_t = typename aligned_storage< _Len, _Align >::type
template<size_t _Len, typename... _Types>
using | std::aligned_union_t = typename aligned_union< _Len, _Types... >::type
template<typename... _Tp>
using | std::common_type_t = typename common_type< _Tp... >::type
template<bool _Cond, typename _Iftrue , typename _Iffalse >
using | std::conditional_t = typename conditional< _Cond, _Iftrue, _Iffalse >::type
template<typename _Tp >
using | std::decay_t = typename decay< _Tp >::type
template<bool _Cond, typename _Tp = void>
using | std::enable_if_t = typename enable_if< _Cond, _Tp >::type
using | std::false_type = __bool_constant< false >
template<typename _Tp >
using | std::make_signed_t = typename make_signed< _Tp >::type
template<typename _Tp >
using | std::make_unsigned_t = typename make_unsigned< _Tp >::type
template<typename _Tp >
using | std::remove_all_extents_t = typename remove_all_extents< _Tp >::type
template<typename _Tp >
using | std::remove_extent_t = typename remove_extent< _Tp >::type
template<typename _Tp >
using | std::remove_pointer_t = typename remove_pointer< _Tp >::type
template<typename _Tp >
using | std::remove_reference_t = typename remove_reference< _Tp >::type
template<typename _Tp >
using | std::result_of_t = typename result_of< _Tp >::type
using | std::true_type = __bool_constant< true >
template<typename _Tp >
using | std::underlying_type_t = typename underlying_type< _Tp >::type

## Functions

template<typename _Tp >
auto | std::declval () noexcept -> decltype(__declval< _Tp >(0))
template<typename _Tp >
constexpr _Require< __not_< __is_tuple_like< _Tp > >, is_move_constructible< _Tp >, is_move_assignable< _Tp > > | std::swap (_Tp &, _Tp &) noexcept(__and_< is_nothrow_move_constructible< _Tp >, is_nothrow_move_assignable< _Tp > >::value)
template<typename _Tp , size_t _Nm>
constexpr __enable_if_t< __is_swappable< _Tp >::value > | std::swap (_Tp(&__a)[_Nm], _Tp(&__b)[_Nm]) noexcept(__is_nothrow_swappable< _Tp >::value)
template<typename... _Tp>
using | std::common_reference_t = typename common_reference< _Tp... >::type
template<typename _S1 , typename _S2 , typename _M1 , typename _M2 >
constexpr bool | std::is_corresponding_member (_M1 _S1::*__m1, _M2 _S2::*__m2) noexcept
template<typename _Tp , typename _Up >
constexpr bool | std::is_layout_compatible_v
template<typename _Base , typename _Derived >
constexpr bool | std::is_pointer_interconvertible_base_of_v
template<typename _Tp , typename _Mem >
constexpr bool | std::is_pointer_interconvertible_with_class (_Mem _Tp::*__mp) noexcept

## Detailed Description

This is a Standard C++ Library header.

Definition in file type_traits.

## Macro Definition Documentation

## __glibcxx_want_bool_constant

#define __glibcxx_want_bool_constant

Definition at line 40 of file type_traits.

## __glibcxx_want_bounded_array_traits

#define __glibcxx_want_bounded_array_traits

Definition at line 41 of file type_traits.

## __glibcxx_want_has_unique_object_representations

#define __glibcxx_want_has_unique_object_representations

Definition at line 42 of file type_traits.

## __glibcxx_want_integral_constant_callable

#define __glibcxx_want_integral_constant_callable

Definition at line 43 of file type_traits.

## __glibcxx_want_is_aggregate

#define __glibcxx_want_is_aggregate

Definition at line 44 of file type_traits.

## __glibcxx_want_is_constant_evaluated

#define __glibcxx_want_is_constant_evaluated

Definition at line 45 of file type_traits.

## __glibcxx_want_is_final

#define __glibcxx_want_is_final

Definition at line 46 of file type_traits.

## __glibcxx_want_is_invocable

#define __glibcxx_want_is_invocable

Definition at line 47 of file type_traits.

## __glibcxx_want_is_layout_compatible

#define __glibcxx_want_is_layout_compatible

Definition at line 48 of file type_traits.

## __glibcxx_want_is_nothrow_convertible

#define __glibcxx_want_is_nothrow_convertible

Definition at line 49 of file type_traits.

## __glibcxx_want_is_null_pointer

#define __glibcxx_want_is_null_pointer

Definition at line 50 of file type_traits.

## __glibcxx_want_is_pointer_interconvertible

#define __glibcxx_want_is_pointer_interconvertible

Definition at line 51 of file type_traits.

## __glibcxx_want_is_scoped_enum

#define __glibcxx_want_is_scoped_enum

Definition at line 52 of file type_traits.

## __glibcxx_want_is_swappable

#define __glibcxx_want_is_swappable

Definition at line 53 of file type_traits.

## __glibcxx_want_logical_traits

#define __glibcxx_want_logical_traits

Definition at line 54 of file type_traits.

## __glibcxx_want_reference_from_temporary

#define __glibcxx_want_reference_from_temporary

Definition at line 55 of file type_traits.

## __glibcxx_want_remove_cvref

#define __glibcxx_want_remove_cvref

Definition at line 56 of file type_traits.

## __glibcxx_want_result_of_sfinae

#define __glibcxx_want_result_of_sfinae

Definition at line 57 of file type_traits.

## __glibcxx_want_transformation_trait_aliases

#define __glibcxx_want_transformation_trait_aliases

Definition at line 58 of file type_traits.

## __glibcxx_want_type_identity

#define __glibcxx_want_type_identity

Definition at line 59 of file type_traits.

## __glibcxx_want_type_trait_variable_templates

#define __glibcxx_want_type_trait_variable_templates

Definition at line 60 of file type_traits.

## __glibcxx_want_unwrap_ref

#define __glibcxx_want_unwrap_ref

Definition at line 61 of file type_traits.

## __glibcxx_want_void_t

#define __glibcxx_want_void_t

Definition at line 62 of file type_traits.

## _GLIBCXX_TYPE_TRAITS

#define _GLIBCXX_TYPE_TRAITS

Definition at line 30 of file type_traits.