38#ifndef __ARCH_ARM_VECTOR_ELEMENT_TRAITS_HH__
39#define __ARCH_ARM_VECTOR_ELEMENT_TRAITS_HH__
45namespace vector_element_traits {
51template<
typename IntDestElemType,
52 typename IntSrcElemType>
56 static_assert(std::is_integral<IntDestElemType>::value
57 && std::is_integral<IntSrcElemType>::value
58 &&
sizeof(IntDestElemType) >=
sizeof(IntSrcElemType),
59 "Extended Element Dest and Src types must both be "
60 "integer types, and Dest must be at least as large "
62 using type =
typename std::conditional<
63 std::is_signed<IntSrcElemType>::value,
64 typename std::make_signed<IntDestElemType>::type,
65 typename std::make_unsigned<IntDestElemType>::type>
::type;
typename std::conditional< std::is_signed< IntSrcElemType >::value, typename std::make_signed< IntDestElemType >::type, typename std::make_unsigned< IntDestElemType >::type >::type type
Reference material can be found at the JEDEC website: UFS standard http://www.jedec....