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_