29 #ifndef VC_TRAITS_ENTRY_TYPE_OF_H_
30 #define VC_TRAITS_ENTRY_TYPE_OF_H_
32 namespace Vc_VERSIONED_NAMESPACE
36 namespace entry_type_of_internal
38 template <typename T, bool = Traits::is_simd_vector<T>::value>
struct entry_type;
40 template <
typename T>
struct entry_type<T, true>
42 using type =
typename decay<T>::EntryType;
45 template <
typename T>
struct entry_type<T, false>
47 using type =
typename std::remove_cv<typename std::remove_reference<T>::type>::type;
54 template <
typename T>
using entry_type_of =
typename entry_type_of_internal::entry_type<T>::type;
59 #endif // VC_TRAITS_ENTRY_TYPE_OF_H_