libstdc++
experimental/type_traits File Reference

Go to the source code of this file.

Namespaces

namespace  std
 
namespace  std::experimental
 

Macros

#define _GLIBCXX_EXPERIMENTAL_TYPE_TRAITS
 
#define __cpp_lib_experimental_type_trait_variable_templates
 
template<typename _Tp >
constexpr size_t std::experimental::alignment_of_v
 
template<typename _Tp , unsigned _Idx = 0>
constexpr size_t std::experimental::extent_v
 
template<typename _Tp >
constexpr bool std::experimental::has_virtual_destructor_v
 
template<typename _Tp >
constexpr bool std::experimental::is_abstract_v
 
template<typename _Tp >
constexpr bool std::experimental::is_arithmetic_v
 
template<typename _Tp >
constexpr bool std::experimental::is_array_v
 
template<typename _Tp , typename _Up >
constexpr bool std::experimental::is_assignable_v
 
template<typename _Base , typename _Derived >
constexpr bool std::experimental::is_base_of_v
 
template<typename _Tp >
constexpr bool std::experimental::is_class_v
 
template<typename _Tp >
constexpr bool std::experimental::is_compound_v
 
template<typename _Tp >
constexpr bool std::experimental::is_const_v
 
template<typename _Tp , typename... _Args>
constexpr bool std::experimental::is_constructible_v
 
template<typename _From , typename _To >
constexpr bool std::experimental::is_convertible_v
 
template<typename _Tp >
constexpr bool std::experimental::is_copy_assignable_v
 
template<typename _Tp >
constexpr bool std::experimental::is_copy_constructible_v
 
template<typename _Tp >
constexpr bool std::experimental::is_default_constructible_v
 
template<typename _Tp >
constexpr bool std::experimental::is_destructible_v
 
template<typename _Tp >
constexpr bool std::experimental::is_empty_v
 
template<typename _Tp >
constexpr bool std::experimental::is_enum_v
 
template<typename _Tp >
constexpr bool std::experimental::is_final_v
 
template<typename _Tp >
constexpr bool std::experimental::is_floating_point_v
 
template<typename _Tp >
constexpr bool std::experimental::is_function_v
 
template<typename _Tp >
constexpr bool std::experimental::is_fundamental_v
 
template<typename _Tp >
constexpr bool std::experimental::is_integral_v
 
template<typename _Tp >
constexpr bool std::experimental::is_literal_type_v
 
template<typename _Tp >
constexpr bool std::experimental::is_lvalue_reference_v
 
template<typename _Tp >
constexpr bool std::experimental::is_member_function_pointer_v
 
template<typename _Tp >
constexpr bool std::experimental::is_member_object_pointer_v
 
template<typename _Tp >
constexpr bool std::experimental::is_member_pointer_v
 
template<typename _Tp >
constexpr bool std::experimental::is_move_assignable_v
 
template<typename _Tp >
constexpr bool std::experimental::is_move_constructible_v
 
template<typename _Tp , typename _Up >
constexpr bool std::experimental::is_nothrow_assignable_v
 
template<typename _Tp , typename... _Args>
constexpr bool std::experimental::is_nothrow_constructible_v
 
template<typename _Tp >
constexpr bool std::experimental::is_nothrow_copy_assignable_v
 
template<typename _Tp >
constexpr bool std::experimental::is_nothrow_copy_constructible_v
 
template<typename _Tp >
constexpr bool std::experimental::is_nothrow_default_constructible_v
 
template<typename _Tp >
constexpr bool std::experimental::is_nothrow_destructible_v
 
template<typename _Tp >
constexpr bool std::experimental::is_nothrow_move_assignable_v
 
template<typename _Tp >
constexpr bool std::experimental::is_nothrow_move_constructible_v
 
template<typename _Tp >
constexpr bool std::experimental::is_null_pointer_v
 
template<typename _Tp >
constexpr bool std::experimental::is_object_v
 
template<typename _Tp >
constexpr bool std::experimental::is_pod_v
 
template<typename _Tp >
constexpr bool std::experimental::is_pointer_v
 
template<typename _Tp >
constexpr bool std::experimental::is_polymorphic_v
 
template<typename _Tp >
constexpr bool std::experimental::is_reference_v
 
template<typename _Tp >
constexpr bool std::experimental::is_rvalue_reference_v
 
template<typename _Tp , typename _Up >
constexpr bool std::experimental::is_same_v
 
template<typename _Tp >
constexpr bool std::experimental::is_scalar_v
 
template<typename _Tp >
constexpr bool std::experimental::is_signed_v
 
template<typename _Tp >
constexpr bool std::experimental::is_standard_layout_v
 
template<typename _Tp >
constexpr bool std::experimental::is_trivial_v
 
template<typename _Tp , typename _Up >
constexpr bool std::experimental::is_trivially_assignable_v
 
template<typename _Tp , typename... _Args>
constexpr bool std::experimental::is_trivially_constructible_v
 
template<typename _Tp >
constexpr bool std::experimental::is_trivially_copy_assignable_v
 
template<typename _Tp >
constexpr bool std::experimental::is_trivially_copy_constructible_v
 
template<typename _Tp >
constexpr bool std::experimental::is_trivially_copyable_v
 
template<typename _Tp >
constexpr bool std::experimental::is_trivially_default_constructible_v
 
template<typename _Tp >
constexpr bool std::experimental::is_trivially_destructible_v
 
template<typename _Tp >
constexpr bool std::experimental::is_trivially_move_assignable_v
 
template<typename _Tp >
constexpr bool std::experimental::is_trivially_move_constructible_v
 
template<typename _Tp >
constexpr bool std::experimental::is_union_v
 
template<typename _Tp >
constexpr bool std::experimental::is_unsigned_v
 
template<typename _Tp >
constexpr bool std::experimental::is_void_v
 
template<typename _Tp >
constexpr bool std::experimental::is_volatile_v
 
template<typename _Tp >
constexpr size_t std::experimental::rank_v
 
#define __cpp_lib_experimental_detect
 
template<typename _Default , template< typename... > class _Op, typename... _Args>
using std::experimental::detected_or = std::__detected_or< _Default, _Op, _Args... >
 
template<typename _Default , template< typename... > class _Op, typename... _Args>
using std::experimental::detected_or_t = typename detected_or< _Default, _Op, _Args... >::type
 
template<template< typename... > class _Op, typename... _Args>
using std::experimental::detected_t = typename std::__detector< nonesuch, void, _Op, _Args... >::type
 
template<template< typename... > class _Op, typename... _Args>
using std::experimental::is_detected = typename std::__detector< nonesuch, void, _Op, _Args... >::value_t
 
template<typename _To , template< typename... > class _Op, typename... _Args>
using std::experimental::is_detected_convertible = is_convertible< detected_t< _Op, _Args... >, _To >
 
template<typename _To , template< typename... > class _Op, typename... _Args>
constexpr bool std::experimental::is_detected_convertible_v
 
template<typename _Expected , template< typename... > class _Op, typename... _Args>
using std::experimental::is_detected_exact = is_same< _Expected, detected_t< _Op, _Args... > >
 
template<typename _Expected , template< typename... > class _Op, typename... _Args>
constexpr bool std::experimental::is_detected_exact_v
 
template<template< typename... > class _Op, typename... _Args>
constexpr bool std::experimental::is_detected_v
 
template<typename... >
using std::experimental::void_t = void
 
#define __cpp_lib_experimental_logical_traits
 
template<typename... _Bn>
constexpr bool std::experimental::conjunction_v
 
template<typename... _Bn>
constexpr bool std::experimental::disjunction_v
 
template<typename _Pp >
constexpr bool std::experimental::negation_v
 

Detailed Description

This is a TS C++ Library header.

This header defines variable templates for the C++14 type traits.

Equivalent variable templates are defined in namespace std since C++17.

See also
variable_templates
Since
C++14

Definition in file experimental/type_traits.

Macro Definition Documentation

◆ _GLIBCXX_EXPERIMENTAL_TYPE_TRAITS

#define _GLIBCXX_EXPERIMENTAL_TYPE_TRAITS

Definition at line 42 of file experimental/type_traits.