11namespace alpaka::onAcc::internal
13 template<
typename T_ExtentFn>
16 constexpr IdxRangeFn(T_ExtentFn
const& extentFn) : m_extentFn{extentFn}
20 constexpr auto getIdxRange(
auto const& acc)
const
26 T_ExtentFn
const m_extentFn;
29 template<concepts::Origin T_Origin, concepts::Unit T_Unit,
typename T_MultiDimensional = MultiDimensional<true>>
32 constexpr IdxRangeLazy(T_Origin
const& origin, T_Unit
const& unit, T_MultiDimensional = T_MultiDimensional{})
34 alpaka::unused(origin, unit);
37 constexpr auto getIdxRange(
auto const& acc)
const
40 = internalCompute::GetExtentsOf::Op<
ALPAKA_TYPEOF(acc), T_Origin, T_Unit>{}(acc, T_Origin{}, T_Unit{});
42 if constexpr(T_MultiDimensional::value ==
false)
52 template<concepts::SpecializationOf<onAcc::
internal::IdxRangeLazy> T>
57 template<concepts::SpecializationOf<onAcc::
internal::IdxRangeFn> T>
#define ALPAKA_TYPEOF(...)
Get the type of instance.
ALPAKA_FN_HOST_ACC Vec(T_1, T_Args...) -> Vec< T_1, uint32_t(sizeof...(T_Args)+1u), ArrayStorage< T_1, uint32_t(sizeof...(T_Args)+1u)> >
ALPAKA_FN_HOST_ACC IdxRange(T_Extents const &) -> IdxRange< typename trait::getVec_t< T_Extents >::UniVec >