alpaka
Abstraction Library for Parallel Kernel Acceleration
Loading...
Searching...
No Matches
alpaka::detail Namespace Reference

Classes

struct  ApiBase
struct  Contains
 A functor that can check for any of the contained values. More...
struct  Contains< std::integer_sequence< T, T_values... > >
struct  Contains< T_Seq< T, T_values... > >
struct  CVec
struct  TemplateSignatureStorage
struct  TemplateSignatureStorage< CVec< T_Type, T_values... > >
struct  TupleImpl
struct  TupleImpl< std::index_sequence< Is... >, T_Args... >
struct  TupleLeaf

Typedefs

template<bool pred, typename T, T T_v>
using selectValue = std::conditional_t<pred, std::integer_sequence<T>, std::integer_sequence<T, T_v>>

Functions

template<typename T_Func, typename T_TupleLike, std::size_t... T_idx>
ALPAKA_FN_INLINE constexpr decltype(auto) applyImpl (T_Func &&func, T_TupleLike &&tuple, std::index_sequence< T_idx... >)
template<typename Int, Int... Is1, Int... Is2>
constexpr auto combine (std::integer_sequence< Int, Is1... >, std::integer_sequence< Int, Is2... >)
template<typename First, typename... Rest>
constexpr auto concatenate (First first, Rest... rest)
template<typename Last>
constexpr auto concatenate (Last last)
template<typename T_UnaryOp, typename T, T... T_values>
constexpr auto filterValues (T_UnaryOp const op, std::integer_sequence< T, T_values... > _)
 Return all values of an integer sequence for which a filter returns true.
template<typename T, T... T_values>
constexpr auto integerSequenceToCVec (std::integer_sequence< T, T_values... >)
template<typename T, T... T_values>
constexpr auto toIntegerSequence (alpaka::CVec< T, T_values... >)

Variables

template<typename T>
constexpr bool TemplateSignatureStorage_v = TemplateSignatureStorage<T>::value

Typedef Documentation

◆ selectValue

template<bool pred, typename T, T T_v>
using alpaka::detail::selectValue = std::conditional_t<pred, std::integer_sequence<T>, std::integer_sequence<T, T_v>>

Definition at line 66 of file CVec.hpp.

Function Documentation

◆ applyImpl()

template<typename T_Func, typename T_TupleLike, std::size_t... T_idx>
ALPAKA_FN_INLINE constexpr decltype(auto) alpaka::detail::applyImpl ( T_Func && func,
T_TupleLike && tuple,
std::index_sequence< T_idx... >  )
constexpr

Definition at line 16 of file apply.hpp.

◆ combine()

template<typename Int, Int... Is1, Int... Is2>
auto alpaka::detail::combine ( std::integer_sequence< Int, Is1... > ,
std::integer_sequence< Int, Is2... >  )
nodiscardconstexpr

Definition at line 48 of file CVec.hpp.

◆ concatenate() [1/2]

template<typename First, typename... Rest>
auto alpaka::detail::concatenate ( First first,
Rest... rest )
nodiscardconstexpr

Definition at line 60 of file CVec.hpp.

◆ concatenate() [2/2]

template<typename Last>
auto alpaka::detail::concatenate ( Last last)
nodiscardconstexpr

Definition at line 54 of file CVec.hpp.

◆ filterValues()

template<typename T_UnaryOp, typename T, T... T_values>
auto alpaka::detail::filterValues ( T_UnaryOp const op,
std::integer_sequence< T, T_values... > _ )
nodiscardconstexpr

Return all values of an integer sequence for which a filter returns true.

Template Parameters
T_UnaryOpThe type of the function or functor to filter with. Must take one argument and return a boolean.
TThe type of the given values.
T_valuesThe values to filter.
Parameters
opThe filter function/functor.
_An integer sequence of values to filter
Returns
The filtered integer sequence

Definition at line 79 of file CVec.hpp.

◆ integerSequenceToCVec()

template<typename T, T... T_values>
auto alpaka::detail::integerSequenceToCVec ( std::integer_sequence< T, T_values... > )
nodiscardconstexpr

Definition at line 36 of file CVec.hpp.

◆ toIntegerSequence()

template<typename T, T... T_values>
auto alpaka::detail::toIntegerSequence ( alpaka::CVec< T, T_values... > )
nodiscardconstexpr

Definition at line 42 of file CVec.hpp.

Variable Documentation

◆ TemplateSignatureStorage_v

template<typename T>
bool alpaka::detail::TemplateSignatureStorage_v = TemplateSignatureStorage<T>::value
constexpr

Definition at line 174 of file Vec.hpp.