35#ifndef NEKTAR_LIB_LIBUTILITES_SIMDLIB_TRAITS_H
36#define NEKTAR_LIB_LIBUTILITES_SIMDLIB_TRAITS_H
57 : std::integral_constant<
59 std::is_same<is_aligned_t, typename std::remove_cv<T>::type>::value ||
60 std::is_same<is_not_aligned_t,
61 typename std::remove_cv<T>::type>::value ||
62 std::is_same<is_not_reused_t,
63 typename std::remove_cv<T>::type>::value>
69 : std::integral_constant<
70 bool, std::is_same<is_not_reused_t,
71 typename std::remove_cv<T>::type>::value>
77 : std::integral_constant<
79 std::is_same<is_aligned_t, typename std::remove_cv<T>::type>::value ||
80 is_streaming<T>::value>
96template <
class T,
class U =
unsigned int>
struct has_width : std::false_type
106template <
class T,
class U =
unsigned int>
137 : std::integral_constant<bool, details::has_alignment<T>::value &&
138 details::has_width<T>::value &&
139 details::has_scalarType<T>::value>
148template <
class T,
class =
void>
156 T, typename
std::enable_if<is_vector<T>::value>::type>
157 : std::integral_constant<
158 bool, std::is_floating_point<typename T::scalarType>::value>
175 : std::integral_constant<bool,
176 std::is_integral<typename T::scalarType>::value>
typename make_void< Ts... >::type void_t
static constexpr struct tinysimd::is_aligned_t is_aligned
static constexpr struct tinysimd::is_not_aligned_t is_not_aligned
static constexpr struct tinysimd::is_not_reused_t is_not_reused