alpaka
Abstraction Library for Parallel Kernel Acceleration
Traits.hpp File Reference
#include "alpaka/core/Common.hpp"
#include "alpaka/core/Unreachable.hpp"
#include "alpaka/dim/DimIntegralConst.hpp"
#include "alpaka/idx/Traits.hpp"
#include "alpaka/meta/Fold.hpp"
#include "alpaka/vec/Vec.hpp"
#include <functional>
#include <type_traits>
#include <utility>

Go to the source code of this file.

Classes

struct  alpaka::trait::GetExtent< TIdxIntegralConst, TExtent, TSfinae >
 The extent get trait. More...
 
struct  alpaka::trait::GetExtents< Integral, std::enable_if_t< std::is_integral_v< Integral > > >
 
struct  alpaka::trait::GetExtents< Vec< TDim, TVal > >
 The Vec extent get trait specialization. More...
 

Namespaces

 alpaka
 The alpaka accelerator library.
 
 alpaka::trait
 The accelerator traits.
 

Functions

template<typename TExtent >
ALPAKA_NO_HOST_ACC_WARNING ALPAKA_FN_HOST_ACC auto alpaka::getDepth (TExtent const &extent=TExtent()) -> Idx< TExtent >
 
template<std::size_t Tidx, typename TExtent >
ALPAKA_NO_HOST_ACC_WARNING ALPAKA_FN_HOST_ACC auto alpaka::getExtent (TExtent const &extent=TExtent()) -> Idx< TExtent >
 
template<typename T >
ALPAKA_NO_HOST_ACC_WARNING ALPAKA_FN_HOST_ACC auto alpaka::getExtentProduct (T const &object) -> Idx< T >
 
template<typename T >
ALPAKA_NO_HOST_ACC_WARNING ALPAKA_FN_HOST_ACC auto alpaka::getExtents (T const &object) -> Vec< Dim< T >, Idx< T >>
 
template<typename T >
ALPAKA_NO_HOST_ACC_WARNING constexpr ALPAKA_FN_HOST_ACC auto alpaka::getExtentVec (T const &object={}) -> Vec< Dim< T >, Idx< T >>
 
template<typename TDim , typename T >
ALPAKA_NO_HOST_ACC_WARNING constexpr ALPAKA_FN_HOST_ACC auto alpaka::getExtentVecEnd (T const &object={}) -> Vec< TDim, Idx< T >>
 
template<typename TExtent >
ALPAKA_NO_HOST_ACC_WARNING ALPAKA_FN_HOST_ACC auto alpaka::getHeight (TExtent const &extent=TExtent()) -> Idx< TExtent >
 
template<typename TExtent >
ALPAKA_NO_HOST_ACC_WARNING ALPAKA_FN_HOST_ACC auto alpaka::getWidth (TExtent const &extent=TExtent()) -> Idx< TExtent >