12namespace alpaka::internal
31 using type = std::decay_t<U>;
34 template<alpaka::concepts::CStaticArray U>
37 using type =
typename std::remove_all_extents_t<std::remove_cv_t<U>>;
40 using type =
typename NonRefType<std::remove_reference_t<T>>::type;
41 static constexpr bool is_const = std::is_const_v<std::remove_reference_t<T>>;
45 using GetElementType_t =
typename GetElementType<T>::type;
63 template<
typename T_Type,
typename T_Type_Other>
64 concept InnerTypeAllowedCast =
requires {
66 requires std::same_as<GetElementType_t<T_Type>, GetElementType_t<T_Type_Other>>;
68 requires !(GetElementType<T_Type_Other>::is_const && !GetElementType<T_Type>::is_const);