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;