libstdc++
type_traits File Reference

Go to the source code of this file.

Classes

struct  std::__add_pointer_helper< _Tp, bool >
 add_pointer More...
struct  std::__detector< _Default, _AlwaysVoid, _Op, _Args >
 Implementation of the detection idiom (negative case). More...
struct  std::__detector< _Default, __void_t< _Op< _Args...> >, _Op, _Args...>
 Implementation of the detection idiom (positive case). More...
struct  std::__is_nullptr_t< _Tp >
 __is_nullptr_t (extension). More...
struct  std::add_const< _Tp >
 add_const More...
struct  std::add_cv< _Tp >
 add_cv More...
struct  std::add_lvalue_reference< _Tp >
 add_lvalue_reference More...
struct  std::add_rvalue_reference< _Tp >
 add_rvalue_reference More...
struct  std::add_volatile< _Tp >
 add_volatile More...
struct  std::aligned_storage< _Len, _Align >
 Alignment type. More...
struct  std::aligned_union< _Len, _Types >
 Provide aligned storage for types. More...
struct  std::alignment_of< _Tp >
 alignment_of More...
struct  std::conditional< _Cond, _Iftrue, _Iffalse >
 Define a member typedef type to one of two argument types. More...
class  std::decay< _Tp >
 decay More...
struct  std::enable_if< bool, _Tp >
 Define a member typedef type only if a boolean constant is true. More...
struct  std::extent< typename, _Uint >
 extent More...
struct  std::has_virtual_destructor< _Tp >
 has_virtual_destructor More...
struct  std::integral_constant< _Tp, __v >
 integral_constant More...
struct  std::is_abstract< _Tp >
 is_abstract More...
struct  std::is_arithmetic< _Tp >
 is_arithmetic More...
struct  std::is_array< typename >
 is_array More...
struct  std::is_assignable< _Tp, _Up >
 is_assignable More...
struct  std::is_base_of< _Base, _Derived >
 is_base_of More...
struct  std::is_class< _Tp >
 is_class More...
struct  std::is_compound< _Tp >
 is_compound More...
struct  std::is_const< typename >
 is_const More...
struct  std::is_constructible< _Tp, _Args >
 is_constructible More...
struct  std::is_convertible< _From, _To >
 is_convertible More...
struct  std::is_copy_assignable< _Tp >
 is_copy_assignable More...
struct  std::is_copy_constructible< _Tp >
 is_copy_constructible More...
struct  std::is_default_constructible< _Tp >
 is_default_constructible More...
struct  std::is_destructible< _Tp >
 is_destructible More...
struct  std::is_empty< _Tp >
 is_empty More...
struct  std::is_enum< _Tp >
 is_enum More...
struct  std::is_final< _Tp >
 is_final More...
struct  std::is_floating_point< _Tp >
 is_floating_point More...
struct  std::is_function< typename >
 is_function More...
struct  std::is_fundamental< _Tp >
 is_fundamental More...
struct  std::is_integral< _Tp >
 is_integral More...
struct  std::is_literal_type< _Tp >
 is_literal_type More...
struct  std::is_lvalue_reference< typename >
 is_lvalue_reference More...
struct  std::is_member_function_pointer< _Tp >
 is_member_function_pointer More...
struct  std::is_member_object_pointer< _Tp >
 is_member_object_pointer More...
struct  std::is_member_pointer< _Tp >
 is_member_pointer More...
struct  std::is_move_assignable< _Tp >
 is_move_assignable More...
struct  std::is_move_constructible< _Tp >
 is_move_constructible More...
struct  std::is_nothrow_assignable< _Tp, _Up >
 is_nothrow_assignable More...
struct  std::is_nothrow_constructible< _Tp, _Args >
 is_nothrow_constructible More...
struct  std::is_nothrow_copy_assignable< _Tp >
 is_nothrow_copy_assignable More...
struct  std::is_nothrow_copy_constructible< _Tp >
 is_nothrow_copy_constructible More...
struct  std::is_nothrow_default_constructible< _Tp >
 is_nothrow_default_constructible More...
struct  std::is_nothrow_destructible< _Tp >
 is_nothrow_destructible More...
struct  std::is_nothrow_move_assignable< _Tp >
 is_nothrow_move_assignable More...
struct  std::is_nothrow_move_constructible< _Tp >
 is_nothrow_move_constructible More...
struct  std::is_nothrow_swappable< _Tp >
 is_nothrow_swappable More...
struct  std::is_nothrow_swappable_with< _Tp, _Up >
 is_nothrow_swappable_with More...
struct  std::is_null_pointer< _Tp >
 is_null_pointer (LWG 2247). More...
struct  std::is_object< _Tp >
 is_object More...
struct  std::is_pod< _Tp >
 is_pod More...
struct  std::is_pointer< _Tp >
 is_pointer More...
struct  std::is_polymorphic< _Tp >
 is_polymorphic More...
struct  std::is_reference< _Tp >
 is_reference More...
struct  std::is_rvalue_reference< typename >
 is_rvalue_reference More...
struct  std::is_same< typename, typename >
 is_same More...
struct  std::is_scalar< _Tp >
 is_scalar More...
struct  std::is_standard_layout< _Tp >
 is_standard_layout More...
struct  std::is_swappable< _Tp >
 Metafunctions used for detecting swappable types: p0185r1. More...
struct  std::is_swappable_with< _Tp, _Up >
 is_swappable_with More...
struct  std::is_trivial< _Tp >
 is_trivial More...
struct  std::is_trivially_assignable< _Tp, _Up >
 is_trivially_assignable More...
struct  std::is_trivially_constructible< _Tp, _Args >
 is_trivially_constructible More...
struct  std::is_trivially_default_constructible< _Tp >
 is_trivially_default_constructible More...
struct  std::is_trivially_destructible< _Tp >
 is_trivially_destructible More...
struct  std::is_union< _Tp >
 is_union More...
struct  std::is_void< _Tp >
 is_void More...
struct  std::is_volatile< typename >
 is_volatile More...
struct  std::make_signed< _Tp >
 make_signed More...
struct  std::make_unsigned< _Tp >
 make_unsigned More...
struct  std::rank< typename >
 rank More...
struct  std::remove_all_extents< _Tp >
 remove_all_extents More...
struct  std::remove_const< _Tp >
 remove_const More...
struct  std::remove_cv< _Tp >
 remove_cv More...
struct  std::remove_extent< _Tp >
 remove_extent More...
struct  std::remove_pointer< _Tp >
 remove_pointer More...
struct  std::remove_reference< _Tp >
 remove_reference More...
struct  std::remove_volatile< _Tp >
 remove_volatile More...
struct  std::underlying_type< _Tp >
 The underlying type of an enum. More...

Namespaces

namespace  std

Defines

#define __cpp_lib_integral_constant_callable
#define __cpp_lib_is_final
#define __cpp_lib_is_null_pointer
#define __cpp_lib_is_swappable
#define __cpp_lib_result_of_sfinae
#define __cpp_lib_transformation_trait_aliases
#define __cpp_lib_void_t
#define _GLIBCXX_HAS_NESTED_TYPE(_NTYPE)
#define _GLIBCXX_TYPE_TRAITS

Typedefs

typedef integral_constant
< bool, false > 
std::false_type
typedef integral_constant
< bool, true > 
std::true_type

Functions

template<typename _Fn , typename _Tp , typename... _Args>
constexpr bool std::__call_is_nt (__invoke_memfun_ref)
template<typename _Fn , typename _Tp , typename... _Args>
constexpr bool std::__call_is_nt (__invoke_memfun_deref)
template<typename _Fn , typename _Tp >
constexpr bool std::__call_is_nt (__invoke_memobj_ref)
template<typename _Fn , typename _Tp >
constexpr bool std::__call_is_nt (__invoke_memobj_deref)
template<typename _Fn , typename... _Args>
constexpr bool std::__call_is_nt (__invoke_other)
template<typename _Tp >
auto std::declval () noexcept-> decltype(__declval< _Tp >(0))
template<typename _Tp >
enable_if< __and_< __not_
< __is_tuple_like< _Tp >
>, is_move_constructible< _Tp >
, is_move_assignable< _Tp >
>::value >::type 
std::swap (_Tp &__a, _Tp &__b) noexcept(__and_< is_nothrow_move_constructible< _Tp >

Variables

_GLIBCXX17_INLINE constexpr bool std::is_nothrow_swappable_v
_GLIBCXX17_INLINE constexpr bool std::is_nothrow_swappable_with_v
_GLIBCXX17_INLINE constexpr bool std::is_swappable_v
_GLIBCXX17_INLINE constexpr bool std::is_swappable_with_v

Detailed Description

This is a Standard C++ Library header.

Definition in file type_traits.


Define Documentation

#define _GLIBCXX_HAS_NESTED_TYPE (   _NTYPE)

Use SFINAE to determine if the type _Tp has a publicly-accessible member type _NTYPE.

Definition at line 2398 of file type_traits.