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