vSMC
vSMC: Scalable Monte Carlo
Classes | Namespaces | Macros | Typedefs | Functions | Variables
type_traits.hpp File Reference
#include <vsmc/internal/config.hpp>
#include <vsmc/internal/assert.hpp>
#include <vsmc/internal/defines.hpp>

Go to the source code of this file.

Classes

struct  vsmc::cxx11::add_const< T >
 
struct  vsmc::cxx11::add_const< T >
 
struct  vsmc::cxx11::add_cv< T >
 
struct  vsmc::cxx11::add_cv< T >
 
struct  vsmc::cxx11::add_lvalue_reference< T >
 
struct  vsmc::cxx11::add_lvalue_reference< T >
 
struct  vsmc::cxx11::add_lvalue_reference< const void >
 
struct  vsmc::cxx11::add_lvalue_reference< const volatile void >
 
struct  vsmc::cxx11::add_lvalue_reference< T & >
 
struct  vsmc::cxx11::add_lvalue_reference< void >
 
struct  vsmc::cxx11::add_lvalue_reference< volatile void >
 
struct  vsmc::cxx11::add_pointer< T >
 
struct  vsmc::cxx11::add_pointer< T >
 
struct  vsmc::cxx11::add_rvalue_reference< T >
 
struct  vsmc::cxx11::add_rvalue_reference< T >
 
struct  vsmc::cxx11::add_rvalue_reference< const void >
 
struct  vsmc::cxx11::add_rvalue_reference< const volatile void >
 
struct  vsmc::cxx11::add_rvalue_reference< void >
 
struct  vsmc::cxx11::add_rvalue_reference< volatile void >
 
struct  vsmc::cxx11::add_volatile< T >
 
struct  vsmc::cxx11::add_volatile< T >
 
struct  vsmc::cxx11::aligned_storage< typename >
 
struct  vsmc::cxx11::aligned_union< typename >
 
struct  vsmc::cxx11::alignment_of< typename >
 
struct  vsmc::cxx11::common_type< typename >
 
struct  vsmc::cxx11::conditional< bool, typename, F >
 
struct  vsmc::cxx11::conditional< bool, typename, F >
 
struct  vsmc::cxx11::conditional< true, T, F >
 
struct  vsmc::cxx11::decay< T >
 
struct  vsmc::cxx11::decay< T >
 
struct  vsmc::cxx11::enable_if< bool, typename >
 
struct  vsmc::cxx11::enable_if< bool, typename >
 
struct  vsmc::cxx11::enable_if< true, T >
 
struct  vsmc::cxx11::extent< typename, unsigned >
 
struct  vsmc::cxx11::extent< typename, unsigned >
 
struct  vsmc::cxx11::extent< T[], 0 >
 
struct  vsmc::cxx11::extent< T[], I >
 
struct  vsmc::cxx11::extent< T[N], 0 >
 
struct  vsmc::cxx11::extent< T[N], I >
 
struct  vsmc::cxx11::has_virtual_destructor< typename >
 
struct  vsmc::cxx11::integral_constant< T, v >
 
struct  vsmc::cxx11::integral_constant< T, v >
 
struct  vsmc::cxx11::internal::add_const_impl< T, bool >
 
struct  vsmc::cxx11::internal::add_const_impl< T, false >
 
struct  vsmc::cxx11::internal::add_volatile_impl< T, bool >
 
struct  vsmc::cxx11::internal::add_volatile_impl< T, false >
 
struct  vsmc::cxx11::internal::apply_cv< T, U, bool, bool >
 
struct  vsmc::cxx11::internal::apply_cv< T &&, U, false, false >
 
struct  vsmc::cxx11::internal::apply_cv< T &&, U, false, true >
 
struct  vsmc::cxx11::internal::apply_cv< T &&, U, true, false >
 
struct  vsmc::cxx11::internal::apply_cv< T &&, U, true, true >
 
struct  vsmc::cxx11::internal::apply_cv< T &, U, false, false >
 
struct  vsmc::cxx11::internal::apply_cv< T &, U, false, true >
 
struct  vsmc::cxx11::internal::apply_cv< T &, U, true, false >
 
struct  vsmc::cxx11::internal::apply_cv< T &, U, true, true >
 
struct  vsmc::cxx11::internal::apply_cv< T, U, false, false >
 
struct  vsmc::cxx11::internal::apply_cv< T, U, false, true >
 
struct  vsmc::cxx11::internal::apply_cv< T, U, true, false >
 
struct  vsmc::cxx11::internal::apply_cv< T, U, true, true >
 
struct  vsmc::cxx11::internal::is_abstract_impl< T, bool >
 
struct  vsmc::cxx11::internal::is_abstract_impl< T, false >
 
struct  vsmc::cxx11::internal::is_base_of_dest< T >
 
struct  vsmc::cxx11::internal::is_base_of_fail< size_t >
 
struct  vsmc::cxx11::internal::is_base_of_src< T >
 
struct  vsmc::cxx11::internal::is_convertible_afv< T, IsArray, IsFunction, IsVoid >
 
struct  vsmc::cxx11::internal::is_convertible_afv< T, false, false, true >
 
struct  vsmc::cxx11::internal::is_convertible_afv< T, false, true, false >
 
struct  vsmc::cxx11::internal::is_convertible_afv< T, true, false, false >
 
struct  vsmc::cxx11::internal::is_convertible_impl< T1, T2, T1_afv, T2_afv >
 
struct  vsmc::cxx11::internal::is_convertible_impl< T1, const T1 &&, 1, 0 >
 
struct  vsmc::cxx11::internal::is_convertible_impl< T1, const T1 &, 1, 0 >
 
struct  vsmc::cxx11::internal::is_convertible_impl< T1, const volatile T1 &&, 1, 0 >
 
struct  vsmc::cxx11::internal::is_convertible_impl< T1, T1 &&, 1, 0 >
 
struct  vsmc::cxx11::internal::is_convertible_impl< T1, T1 &&, 2, 0 >
 
struct  vsmc::cxx11::internal::is_convertible_impl< T1, T1 &, 2, 0 >
 
struct  vsmc::cxx11::internal::is_convertible_impl< T1, T1 *, 2, 0 >
 
struct  vsmc::cxx11::internal::is_convertible_impl< T1, T1 *const volatile, 2, 0 >
 
struct  vsmc::cxx11::internal::is_convertible_impl< T1, T1 *const, 2, 0 >
 
struct  vsmc::cxx11::internal::is_convertible_impl< T1, T1 *volatile, 2, 0 >
 
struct  vsmc::cxx11::internal::is_convertible_impl< T1, T2 *, 1, 0 >
 
struct  vsmc::cxx11::internal::is_convertible_impl< T1, T2 *const volatile, 1, 0 >
 
struct  vsmc::cxx11::internal::is_convertible_impl< T1, T2 *const, 1, 0 >
 
struct  vsmc::cxx11::internal::is_convertible_impl< T1, T2 *volatile, 1, 0 >
 
struct  vsmc::cxx11::internal::is_convertible_impl< T1, T2, 0, 1 >
 
struct  vsmc::cxx11::internal::is_convertible_impl< T1, T2, 0, 2 >
 
struct  vsmc::cxx11::internal::is_convertible_impl< T1, T2, 0, 3 >
 
struct  vsmc::cxx11::internal::is_convertible_impl< T1, T2, 1, 0 >
 
struct  vsmc::cxx11::internal::is_convertible_impl< T1, T2, 1, 1 >
 
struct  vsmc::cxx11::internal::is_convertible_impl< T1, T2, 1, 2 >
 
struct  vsmc::cxx11::internal::is_convertible_impl< T1, T2, 1, 3 >
 
struct  vsmc::cxx11::internal::is_convertible_impl< T1, T2, 2, 0 >
 
struct  vsmc::cxx11::internal::is_convertible_impl< T1, T2, 2, 1 >
 
struct  vsmc::cxx11::internal::is_convertible_impl< T1, T2, 2, 2 >
 
struct  vsmc::cxx11::internal::is_convertible_impl< T1, T2, 3, 0 >
 
struct  vsmc::cxx11::internal::is_convertible_impl< T1, T2, 3, 1 >
 
struct  vsmc::cxx11::internal::is_convertible_impl< T1, T2, 3, 2 >
 
struct  vsmc::cxx11::internal::is_convertible_impl< T1, T2, 3, 3 >
 
struct  vsmc::cxx11::internal::is_convertible_impl< T1, volatile T1 &&, 1, 0 >
 
struct  vsmc::cxx11::internal::is_empty_derived< is_empty_base >
 
struct  vsmc::cxx11::internal::is_empty_standalone< typename >
 
struct  vsmc::cxx11::internal::is_floating_point_impl< typename >
 
struct  vsmc::cxx11::internal::is_floating_point_impl< double >
 
struct  vsmc::cxx11::internal::is_floating_point_impl< float >
 
struct  vsmc::cxx11::internal::is_floating_point_impl< long double >
 
struct  vsmc::cxx11::internal::is_function_impl< T, bool >
 
struct  vsmc::cxx11::internal::is_function_impl< T, true >
 
struct  vsmc::cxx11::internal::is_integral_impl< typename >
 
struct  vsmc::cxx11::internal::is_integral_impl< char >
 
struct  vsmc::cxx11::internal::is_integral_impl< char16_t >
 
struct  vsmc::cxx11::internal::is_integral_impl< char32_t >
 
struct  vsmc::cxx11::internal::is_integral_impl< int >
 
struct  vsmc::cxx11::internal::is_integral_impl< long >
 
struct  vsmc::cxx11::internal::is_integral_impl< long long >
 
struct  vsmc::cxx11::internal::is_integral_impl< short >
 
struct  vsmc::cxx11::internal::is_integral_impl< signed char >
 
struct  vsmc::cxx11::internal::is_integral_impl< unsigned >
 
struct  vsmc::cxx11::internal::is_integral_impl< unsigned char >
 
struct  vsmc::cxx11::internal::is_integral_impl< unsigned long >
 
struct  vsmc::cxx11::internal::is_integral_impl< unsigned long long >
 
struct  vsmc::cxx11::internal::is_integral_impl< unsigned short >
 
struct  vsmc::cxx11::internal::is_integral_impl< wchar_t >
 
struct  vsmc::cxx11::internal::is_member_function_pointer_impl< typename >
 
struct  vsmc::cxx11::internal::is_member_function_pointer_impl< T U::* >
 
struct  vsmc::cxx11::internal::is_member_pointer_impl< typename >
 
struct  vsmc::cxx11::internal::is_member_pointer_impl< T U::* >
 
struct  vsmc::cxx11::internal::is_null_pointer_impl< T >
 
struct  vsmc::cxx11::internal::is_null_pointer_impl< std::nullptr_t >
 
struct  vsmc::cxx11::internal::is_pointer_impl< typename >
 
struct  vsmc::cxx11::internal::is_pointer_impl< T * >
 
struct  vsmc::cxx11::internal::is_union_impl< typename >
 
struct  vsmc::cxx11::internal::is_void_impl< typename >
 
struct  vsmc::cxx11::internal::is_void_impl< void >
 
struct  vsmc::cxx11::internal::make_signed_impl< T, bool >
 
struct  vsmc::cxx11::internal::make_signed_impl< signed int, true >
 
struct  vsmc::cxx11::internal::make_signed_impl< signed long long, true >
 
struct  vsmc::cxx11::internal::make_signed_impl< signed long, true >
 
struct  vsmc::cxx11::internal::make_signed_impl< signed short, true >
 
struct  vsmc::cxx11::internal::make_signed_impl< unsigned int, true >
 
struct  vsmc::cxx11::internal::make_signed_impl< unsigned long long, true >
 
struct  vsmc::cxx11::internal::make_signed_impl< unsigned long, true >
 
struct  vsmc::cxx11::internal::make_signed_impl< unsigned short, true >
 
struct  vsmc::cxx11::internal::make_unsigned_impl< T, bool >
 
struct  vsmc::cxx11::internal::make_unsigned_impl< signed int, true >
 
struct  vsmc::cxx11::internal::make_unsigned_impl< signed long long, true >
 
struct  vsmc::cxx11::internal::make_unsigned_impl< signed long, true >
 
struct  vsmc::cxx11::internal::make_unsigned_impl< signed short, true >
 
struct  vsmc::cxx11::internal::make_unsigned_impl< unsigned int, true >
 
struct  vsmc::cxx11::internal::make_unsigned_impl< unsigned long long, true >
 
struct  vsmc::cxx11::internal::make_unsigned_impl< unsigned long, true >
 
struct  vsmc::cxx11::internal::make_unsigned_impl< unsigned short, true >
 
struct  vsmc::cxx11::internal::tp_test_false
 
struct  vsmc::cxx11::is_abstract< T >
 
struct  vsmc::cxx11::is_abstract< T >
 
struct  vsmc::cxx11::is_arithmetic< T >
 
struct  vsmc::cxx11::is_arithmetic< T >
 
struct  vsmc::cxx11::is_array< typename >
 
struct  vsmc::cxx11::is_array< typename >
 
struct  vsmc::cxx11::is_array< T[]>
 
struct  vsmc::cxx11::is_array< T[N]>
 
struct  vsmc::cxx11::is_assignable< typename >
 
struct  vsmc::cxx11::is_base_of< B, D >
 
struct  vsmc::cxx11::is_base_of< B, D >
 
struct  vsmc::cxx11::is_class< T >
 
struct  vsmc::cxx11::is_class< T >
 
struct  vsmc::cxx11::is_compound< T >
 
struct  vsmc::cxx11::is_compound< T >
 
struct  vsmc::cxx11::is_const< typename >
 
struct  vsmc::cxx11::is_const< typename >
 
struct  vsmc::cxx11::is_const< const T >
 
struct  vsmc::cxx11::is_constructible< typename >
 
struct  vsmc::cxx11::is_convertible< T1, T2 >
 
struct  vsmc::cxx11::is_convertible< T1, T2 >
 
struct  vsmc::cxx11::is_copy_assignable< typename >
 
struct  vsmc::cxx11::is_copy_constructible< typename >
 
struct  vsmc::cxx11::is_default_constructible< typename >
 
struct  vsmc::cxx11::is_destructible< typename >
 
struct  vsmc::cxx11::is_empty< T >
 
struct  vsmc::cxx11::is_empty< T >
 
struct  vsmc::cxx11::is_enum< T >
 
struct  vsmc::cxx11::is_enum< T >
 
struct  vsmc::cxx11::is_floating_point< T >
 
struct  vsmc::cxx11::is_floating_point< T >
 
struct  vsmc::cxx11::is_function< T >
 
struct  vsmc::cxx11::is_function< T >
 
struct  vsmc::cxx11::is_fundamental< T >
 
struct  vsmc::cxx11::is_fundamental< T >
 
struct  vsmc::cxx11::is_integral< T >
 
struct  vsmc::cxx11::is_integral< T >
 
struct  vsmc::cxx11::is_literal_type< T >
 
struct  vsmc::cxx11::is_literal_type< T >
 
struct  vsmc::cxx11::is_lvalue_reference< typename >
 
struct  vsmc::cxx11::is_lvalue_reference< typename >
 
struct  vsmc::cxx11::is_lvalue_reference< T & >
 
struct  vsmc::cxx11::is_member_function_pointer< T >
 
struct  vsmc::cxx11::is_member_function_pointer< T >
 
struct  vsmc::cxx11::is_member_object_pointer< T >
 
struct  vsmc::cxx11::is_member_object_pointer< T >
 
struct  vsmc::cxx11::is_member_pointer< T >
 
struct  vsmc::cxx11::is_member_pointer< T >
 
struct  vsmc::cxx11::is_move_assignable< typename >
 
struct  vsmc::cxx11::is_move_constructible< typename >
 
struct  vsmc::cxx11::is_nothrow_assignable< typename >
 
struct  vsmc::cxx11::is_nothrow_constructible< typename >
 
struct  vsmc::cxx11::is_nothrow_copy_assignable< typename >
 
struct  vsmc::cxx11::is_nothrow_copy_constructible< typename >
 
struct  vsmc::cxx11::is_nothrow_default_constructible< typename >
 
struct  vsmc::cxx11::is_nothrow_destructible< typename >
 
struct  vsmc::cxx11::is_nothrow_move_assignable< typename >
 
struct  vsmc::cxx11::is_nothrow_move_constructible< typename >
 
struct  vsmc::cxx11::is_null_pointer< T >
 
struct  vsmc::cxx11::is_null_pointer< T >
 
struct  vsmc::cxx11::is_object< T >
 
struct  vsmc::cxx11::is_object< T >
 
struct  vsmc::cxx11::is_pod< typename >
 
struct  vsmc::cxx11::is_pointer< T >
 
struct  vsmc::cxx11::is_pointer< T >
 
struct  vsmc::cxx11::is_polymorphic< T >
 
struct  vsmc::cxx11::is_polymorphic< T >
 
struct  vsmc::cxx11::is_reference< T >
 
struct  vsmc::cxx11::is_reference< T >
 
struct  vsmc::cxx11::is_reference< T & >
 
struct  vsmc::cxx11::is_reference< T && >
 
struct  vsmc::cxx11::is_rvalue_reference< typename >
 
struct  vsmc::cxx11::is_rvalue_reference< typename >
 
struct  vsmc::cxx11::is_rvalue_reference< T && >
 
struct  vsmc::cxx11::is_same< typename, typename >
 
struct  vsmc::cxx11::is_same< typename, typename >
 
struct  vsmc::cxx11::is_same< T, T >
 
struct  vsmc::cxx11::is_scalar< T >
 
struct  vsmc::cxx11::is_scalar< T >
 
struct  vsmc::cxx11::is_signed< T >
 
struct  vsmc::cxx11::is_signed< T >
 
struct  vsmc::cxx11::is_standard_layout< typename >
 
struct  vsmc::cxx11::is_trivial< typename >
 
struct  vsmc::cxx11::is_trivially_assignable< typename >
 
struct  vsmc::cxx11::is_trivially_constructible< typename >
 
struct  vsmc::cxx11::is_trivially_copy_assignable< typename >
 
struct  vsmc::cxx11::is_trivially_copy_constructible< typename >
 
struct  vsmc::cxx11::is_trivially_copyable< typename >
 
struct  vsmc::cxx11::is_trivially_default_constructible< typename >
 
struct  vsmc::cxx11::is_trivially_destructible< typename >
 
struct  vsmc::cxx11::is_trivially_move_assignable< typename >
 
struct  vsmc::cxx11::is_trivially_move_constructible< typename >
 
struct  vsmc::cxx11::is_union< T >
 
struct  vsmc::cxx11::is_union< T >
 
struct  vsmc::cxx11::is_unsigned< T >
 
struct  vsmc::cxx11::is_unsigned< T >
 
struct  vsmc::cxx11::is_void< T >
 
struct  vsmc::cxx11::is_void< T >
 
struct  vsmc::cxx11::is_volatile< typename >
 
struct  vsmc::cxx11::is_volatile< typename >
 
struct  vsmc::cxx11::is_volatile< volatile T >
 
struct  vsmc::cxx11::make_signed< T >
 
struct  vsmc::cxx11::make_signed< T >
 
struct  vsmc::cxx11::make_unsigned< T >
 
struct  vsmc::cxx11::make_unsigned< T >
 
struct  vsmc::cxx11::rank< typename >
 
struct  vsmc::cxx11::rank< typename >
 
struct  vsmc::cxx11::rank< T[]>
 
struct  vsmc::cxx11::rank< T[N]>
 
struct  vsmc::cxx11::remove_all_extents< T >
 
struct  vsmc::cxx11::remove_all_extents< T >
 
struct  vsmc::cxx11::remove_all_extents< T[]>
 
struct  vsmc::cxx11::remove_all_extents< T[N]>
 
struct  vsmc::cxx11::remove_const< T >
 
struct  vsmc::cxx11::remove_const< T >
 
struct  vsmc::cxx11::remove_const< const T >
 
struct  vsmc::cxx11::remove_cv< T >
 
struct  vsmc::cxx11::remove_cv< T >
 
struct  vsmc::cxx11::remove_extent< T >
 
struct  vsmc::cxx11::remove_extent< T >
 
struct  vsmc::cxx11::remove_extent< T[]>
 
struct  vsmc::cxx11::remove_extent< T[N]>
 
struct  vsmc::cxx11::remove_pointer< T >
 
struct  vsmc::cxx11::remove_pointer< T >
 
struct  vsmc::cxx11::remove_pointer< T * >
 
struct  vsmc::cxx11::remove_pointer< T *const >
 
struct  vsmc::cxx11::remove_pointer< T *const volatile >
 
struct  vsmc::cxx11::remove_pointer< T *volatile >
 
struct  vsmc::cxx11::remove_reference< T >
 
struct  vsmc::cxx11::remove_reference< T >
 
struct  vsmc::cxx11::remove_reference< T & >
 
struct  vsmc::cxx11::remove_reference< T && >
 
struct  vsmc::cxx11::remove_volatile< T >
 
struct  vsmc::cxx11::remove_volatile< T >
 
struct  vsmc::cxx11::remove_volatile< volatile T >
 
struct  vsmc::cxx11::result_of< typename >
 
struct  vsmc::cxx11::underlying_type< typename >
 

Namespaces

 vsmc
 
 vsmc::cxx11
 
 vsmc::cxx11::internal
 

Macros

#define VSMC_STATIC_ASSERT_CXX11_TYPE_TRATIS_FORWARD_RVALUE
 

Typedefs

template<typename T >
using vsmc::cxx11::add_const_t = typename add_const< T >::type
 
template<typename T >
using vsmc::cxx11::add_cv_t = typename add_cv< T >::type
 
template<typename T >
using vsmc::cxx11::add_lvalue_reference_t = typename add_lvalue_reference< T >::type
 
template<typename T >
using vsmc::cxx11::add_pointer_t = typename add_pointer< T >::type
 
template<typename T >
using vsmc::cxx11::add_rvalue_reference_t = typename add_rvalue_reference< T >::type
 
template<typename T >
using vsmc::cxx11::add_volatile_t = typename add_volatile< T >::type
 
template<bool B, typename T , typename F >
using vsmc::cxx11::conditional_t = typename conditional< B, T, F >::type
 
template<typename T >
using vsmc::cxx11::decay_t = typename decay< T >::type
 
template<bool B, typename T = void>
using vsmc::cxx11::enable_if_t = typename enable_if< B, T >::type
 
typedef integral_constant< bool, false > vsmc::cxx11::false_type
 
template<typename T >
using vsmc::cxx11::make_signed_t = typename make_signed< T >::type
 
template<typename T >
using vsmc::cxx11::make_unsigned_t = typename make_unsigned< T >::type
 
template<typename T >
using vsmc::cxx11::remove_all_extents_t = typename remove_all_extents< T >::type
 
template<typename T >
using vsmc::cxx11::remove_const_t = typename remove_const< T >::type
 
template<typename T >
using vsmc::cxx11::remove_cv_t = typename remove_cv< T >::type
 
template<typename T >
using vsmc::cxx11::remove_extent_t = typename remove_extent< T >::type
 
template<typename T >
using vsmc::cxx11::remove_pointer_t = typename remove_pointer< T >::type
 
template<typename T >
using vsmc::cxx11::remove_reference_t = typename remove_reference< T >::type
 
template<typename T >
using vsmc::cxx11::remove_volatile_t = typename remove_volatile< T >::type
 
typedef char vsmc::cxx11::internal::tp_test_true
 
typedef integral_constant< bool, true > vsmc::cxx11::true_type
 

Functions

template<typename T >
add_rvalue_reference< T >::type vsmc::cxx11::declval () noexcept
 
template<typename T >
T && vsmc::cxx11::forward (typename remove_reference< T >::type &t) noexcept
 
template<typename T >
T && vsmc::cxx11::forward (typename remove_reference< T >::type &&t) noexcept
 
template<typename >
tp_test_true vsmc::cxx11::internal::is_abstract_test (...)
 
template<typename B , typename D >
is_base_of_fail< sizeof(is_base_of_dest< B >declval< is_base_of_src< D > >)))>::type vsmc::cxx11::internal::is_base_of_test (int)
 
template<typename B , typename D >
tp_test_true vsmc::cxx11::internal::is_base_of_test (...)
 
template<typename T >
tp_test_true vsmc::cxx11::internal::is_class_test (int T::*)
 
template<typename T >
tp_test_true vsmc::cxx11::internal::is_convertible_test (T)
 
template<typename T >
T && vsmc::cxx11::internal::is_convertible_test_src ()
 
template<typename T >
tp_test_true vsmc::cxx11::internal::is_function_test (T *)
 
template<typename T >
T & vsmc::cxx11::internal::is_function_test_src ()
 
template<typename T >
tp_test_true vsmc::cxx11::internal::is_polymorphic_test (typename enable_if< sizeof(static_cast< T * >(const_cast< void * >(dynamic_cast< const volatile void * >(declval< T * >()))))!=0, int >::type)
 
template<typename T >
remove_reference< T >::type && vsmc::cxx11::move (T &&t) noexcept
 

Variables

template<typename T >
tp_test_false vsmc::cxx11::internal::is_abstract_test (T(*)[1])
 
template<typename >
tp_test_false vsmc::cxx11::internal::is_class_test (...)
 
template<typename >
tp_test_false vsmc::cxx11::internal::is_convertible_test (...)
 
template<typename >
tp_test_false vsmc::cxx11::internal::is_function_test (...)
 
template<typename >
tp_test_false vsmc::cxx11::internal::is_polymorphic_test (...)
 

Macro Definition Documentation

#define VSMC_STATIC_ASSERT_CXX11_TYPE_TRATIS_FORWARD_RVALUE
Value:
VSMC_STATIC_ASSERT((!is_lvalue_reference<T>::value), \
ATTEMPT_TO_FORWARD_AN_RVALUE_AS_AN_LVALUE)
#define VSMC_STATIC_ASSERT(cond, msg)
Definition: assert.hpp:46

Definition at line 39 of file type_traits.hpp.