28 #ifndef VC_TRAITS_ENTRY_TYPE_OF_H_
29 #define VC_TRAITS_ENTRY_TYPE_OF_H_
31 namespace Vc_VERSIONED_NAMESPACE
35 namespace entry_type_of_internal
37 template <typename T, bool = Traits::is_simd_vector<T>::value>
struct entry_type;
39 template <
typename T>
struct entry_type<T, true>
41 using type =
typename decay<T>::EntryType;
44 template <
typename T>
struct entry_type<T, false>
46 using type =
typename std::remove_cv<typename std::remove_reference<T>::type>::type;
53 template <
typename T>
using entry_type_of =
typename entry_type_of_internal::entry_type<T>::type;
58 #endif // VC_TRAITS_ENTRY_TYPE_OF_H_