31 #include <type_traits>
39 template<
bool B,
class T =
void>
46 template<
class A,
class B>
47 constexpr
bool is_same_v = std::is_same<A, B>::value;
81 template<
typename... Ts>
88 template<
typename Head,
typename... Tail>
91 static constexpr
bool value = std::is_arithmetic<Head>::value &&
all_arithmetic<Tail...>::value;
101 static constexpr
bool value = std::is_arithmetic<T>::value;
108 template<
typename... Ts>
115 template<
typename T1,
typename... Ts>
122 template<
typename T1,
typename Head,
typename... Tail>
125 static constexpr
bool value = std::is_same<T1, Head>::value &&
all_same<T1, Tail...>::value;
132 template<
typename T1,
typename T2>
135 static constexpr
bool value = std::is_same<T1, T2>::value;
142 template<
typename... Ts>
149 template<
typename dtype>
153 std::is_default_constructible<dtype>::value && std::is_nothrow_copy_constructible<dtype>::value &&
154 std::is_nothrow_move_constructible<dtype>::value && std::is_nothrow_copy_assignable<dtype>::value &&
155 std::is_nothrow_move_assignable<dtype>::value && std::is_nothrow_destructible<dtype>::value &&
156 !std::is_void<dtype>::value && !std::is_pointer<dtype>::value && !std::is_array<dtype>::value &&
157 !std::is_union<dtype>::value && !std::is_function<dtype>::value && !std::is_abstract<dtype>::value;
164 template<
class dtype>
174 static constexpr
bool value =
false;
198 template<std::
size_t Value1, std::
size_t Value2>
201 static constexpr
bool value = Value1 > Value2;
208 template<std::
size_t Value1, std::
size_t Value2>
Definition: Coordinate.hpp:45
constexpr bool is_same_v
Definition: TypeTraits.hpp:47
constexpr bool all_arithmetic_v
Definition: TypeTraits.hpp:109
constexpr bool is_integral_v
Definition: TypeTraits.hpp:61
constexpr bool is_floating_point_v
Definition: TypeTraits.hpp:75
constexpr bool greaterThan_v
Definition: TypeTraits.hpp:209
auto complex(dtype inReal)
Definition: complex.hpp:47
constexpr bool is_valid_dtype_v
Definition: TypeTraits.hpp:165
constexpr bool is_unsigned_v
Definition: TypeTraits.hpp:68
constexpr bool all_same_v
Definition: TypeTraits.hpp:143
constexpr bool is_arithmetic_v
Definition: TypeTraits.hpp:54
typename std::enable_if< B, T >::type enable_if_t
Definition: TypeTraits.hpp:40
constexpr bool is_complex_v
Definition: TypeTraits.hpp:192
Definition: TypeTraits.hpp:82
Definition: TypeTraits.hpp:116
Definition: TypeTraits.hpp:200
static constexpr bool value
Definition: TypeTraits.hpp:201
Definition: TypeTraits.hpp:173
static constexpr bool value
Definition: TypeTraits.hpp:174
Definition: TypeTraits.hpp:151
static constexpr bool value
Definition: TypeTraits.hpp:152