26        template<
typename TIdxIntegralConst, 
typename TExtent, 
typename TSfinae = 
void>
 
   27        struct [[deprecated(
"Specialize GetExtents instead")]] 
GetExtent 
 
   36        template<
typename TExtent, 
typename TSfinae = 
void>
 
   42    template<std::
size_t T
idx, 
typename TExtent>
 
   46#if ALPAKA_COMP_CLANG || ALPAKA_COMP_GNUC 
   47#    pragma GCC diagnostic push 
   48#    pragma GCC diagnostic ignored "-Wdeprecated-declarations" 
   51#if ALPAKA_COMP_CLANG || ALPAKA_COMP_GNUC 
   52#    pragma GCC diagnostic pop 
 
   69        -> Vec<Dim<T>, Idx<T>>
 
 
   77    template<
typename TDim, 
typename T>
 
   80        static_assert(TDim::value <= Dim<T>::value, 
"Cannot get more items than the extent holds");
 
   82        [[maybe_unused]] 
auto const e = 
getExtents(
object);
 
   83        Vec<TDim, Idx<T>> v{};
 
   84        if constexpr(TDim::value > 0)
 
   86            for(
unsigned i = 0; i < TDim::value; i++)
 
   87                v[i] = e[(Dim<T>::value - TDim::value) + i];
 
 
   94    template<
typename TExtent>
 
  107    template<
typename TExtent>
 
  120    template<
typename TExtent>
 
  142        template<
typename TDim, 
typename TVal>
 
  152        template<
typename Integral>
 
#define ALPAKA_UNREACHABLE(...)
Before CUDA 11.5 nvcc is unable to correctly identify return statements in 'if constexpr' branches....
#define ALPAKA_FN_HOST_ACC
#define ALPAKA_NO_HOST_ACC_WARNING
Disable nvcc warning: 'calling a host function from host device function.' Usage: ALPAKA_NO_HOST_ACC_...
The alpaka accelerator library.
typename trait::IdxType< T >::type Idx
ALPAKA_NO_HOST_ACC_WARNING ALPAKA_FN_HOST_ACC auto getExtentProduct(T const &object) -> Idx< T >
ALPAKA_NO_HOST_ACC_WARNING ALPAKA_FN_HOST_ACC auto getHeight(TExtent const &extent=TExtent()) -> Idx< TExtent >
ALPAKA_NO_HOST_ACC_WARNING ALPAKA_FN_HOST_ACC auto getExtent(TExtent const &extent=TExtent()) -> Idx< TExtent >
ALPAKA_NO_HOST_ACC_WARNING ALPAKA_FN_HOST_ACC constexpr auto getExtentVecEnd(T const &object={}) -> Vec< TDim, Idx< T > >
ALPAKA_NO_HOST_ACC_WARNING ALPAKA_FN_HOST_ACC auto getExtents(T const &object) -> Vec< Dim< T >, Idx< T > >
ALPAKA_NO_HOST_ACC_WARNING ALPAKA_FN_HOST_ACC constexpr auto getExtentVec(T const &object={}) -> Vec< Dim< T >, Idx< T > >
ALPAKA_NO_HOST_ACC_WARNING ALPAKA_FN_HOST_ACC auto getDepth(TExtent const &extent=TExtent()) -> Idx< TExtent >
typename trait::DimType< T >::type Dim
The dimension type trait alias template to remove the ::type.
ALPAKA_NO_HOST_ACC_WARNING ALPAKA_FN_HOST_ACC auto getWidth(TExtent const &extent=TExtent()) -> Idx< TExtent >
ALPAKA_NO_HOST_ACC_WARNING static ALPAKA_FN_HOST_ACC auto getExtent(TExtent const &) -> Idx< TExtent >
ALPAKA_NO_HOST_ACC_WARNING ALPAKA_FN_HOST_ACC auto operator()(Integral i) const
ALPAKA_NO_HOST_ACC_WARNING ALPAKA_FN_HOST_ACC constexpr auto operator()(Vec< TDim, TVal > const &extent) const -> Vec< TDim, TVal >
The GetExtents trait for getting the extents of an object as an alpaka::Vec.