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;
74 template <
typename... Ts>
81 template <
typename Head,
typename... Tail>
84 static constexpr
bool value = std::is_arithmetic<Head>::value &&
all_arithmetic<Tail...>::value;
94 static constexpr
bool value = std::is_arithmetic<T>::value;
101 template<
typename... Ts>
108 template <
typename T1,
typename... Ts>
115 template <
typename T1,
typename Head,
typename... Tail>
118 static constexpr
bool value = std::is_same<T1, Head>::value &&
all_same<T1, Tail...>::value;
125 template <
typename T1,
typename T2>
128 static constexpr
bool value = std::is_same<T1, T2>::value;
135 template<
typename... Ts>
142 template<
typename dtype>
145 static constexpr
bool value = std::is_default_constructible<dtype>::value &&
146 std::is_nothrow_copy_constructible<dtype>::value &&
147 std::is_nothrow_move_constructible<dtype>::value &&
148 std::is_nothrow_copy_assignable<dtype>::value &&
149 std::is_nothrow_move_assignable<dtype>::value &&
150 std::is_nothrow_destructible<dtype>::value &&
151 !std::is_void<dtype>::value &&
152 !std::is_pointer<dtype>::value &&
153 !std::is_array<dtype>::value &&
154 !std::is_union<dtype>::value &&
155 !std::is_function<dtype>::value &&
156 !std::is_abstract<dtype>::value;
163 template<
class dtype>
173 static constexpr
bool value =
false;
197 template<std::
size_t Value1, std::
size_t Value2>
200 static constexpr
bool value = Value1 > Value2;
207 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:102
constexpr bool is_integral_v
Definition: TypeTraits.hpp:61
constexpr bool is_floating_point_v
Definition: TypeTraits.hpp:68
constexpr bool greaterThan_v
Definition: TypeTraits.hpp:208
auto complex(dtype inReal)
Definition: complex.hpp:47
constexpr bool is_valid_dtype_v
Definition: TypeTraits.hpp:164
constexpr bool all_same_v
Definition: TypeTraits.hpp:136
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:191
Definition: TypeTraits.hpp:75
Definition: TypeTraits.hpp:109
Definition: TypeTraits.hpp:199
static constexpr bool value
Definition: TypeTraits.hpp:200
Definition: TypeTraits.hpp:172
static constexpr bool value
Definition: TypeTraits.hpp:173
Definition: TypeTraits.hpp:144
static constexpr bool value
Definition: TypeTraits.hpp:145