23namespace alpaka::internal
30 template<
typename T_ValueType, u
int32_t T_numElements, alpaka::concepts::Alignment T_Alignment>
31 consteval uint32_t optimalAlignment()
33 constexpr uint32_t currentTypeAlignment =
static_cast<uint32_t
>(
alignof(T_ValueType));
34 if constexpr(T_numElements % 2 != 0u)
35 return currentTypeAlignment;
37 constexpr uint32_t dataSizeInBytes =
static_cast<uint32_t
>(
sizeof(T_ValueType) * T_numElements);
38 constexpr uint32_t alignment = std::min(T_Alignment::template
get<T_ValueType>(), dataSizeInBytes);
39 if constexpr(std::has_single_bit(alignment))
42 return static_cast<uint32_t
>(
alignof(T_ValueType));
constexpr decltype(auto) get(concepts::SpecializationOf< Dict > auto &t) noexcept