23 template<
typename T_Type,
typename T_Allocator>
24 struct GetApi::Op<std::vector<T_Type, T_Allocator>>
26 inline constexpr auto operator()(
auto&& stdVector)
const
28 alpaka::unused(stdVector);
34 template<
typename T_Type,
size_t T_size>
35 struct GetApi::Op<std::array<T_Type, T_size>>
37 inline constexpr auto operator()(
auto&& stdArray)
const
39 alpaka::unused(stdArray);
45 namespace onHost::internal
47 template<
typename T_Type,
typename T_Allocator>
48 struct GetExtents::Op<std::vector<T_Type, T_Allocator>>
50 decltype(
auto)
operator()(
auto&& stdVector)
const
52 alpaka::unused(stdVector);
53 return Vec{stdVector.size()};
57 template<
typename T_Type,
size_t T_size>
58 struct GetExtents::Op<std::span<T_Type, T_size>>
60 decltype(
auto)
operator()(
auto&& stdSpan)
const
62 return Vec{stdSpan.size()};
66 template<
typename T_Type,
size_t T_size>
67 struct GetExtents::Op<std::array<T_Type, T_size>>
69 decltype(
auto)
operator()(
auto&& stdArray)
const
71 alpaka::unused(stdArray);
76 template<
typename T_Type,
typename T_Allocator>
77 struct GetPitches::Op<std::vector<T_Type, T_Allocator>>
79 decltype(
auto)
operator()(
auto&& stdVector)
const
81 alpaka::unused(stdVector);
82 return Vec{
sizeof(T_Type)};
86 template<
typename T_Type,
size_t T_size>
87 struct GetPitches::Op<std::span<T_Type, T_size>>
89 decltype(
auto)
operator()(
auto&& stdSpan)
const
91 alpaka::unused(stdSpan);
92 return Vec{
sizeof(T_Type)};
96 template<
typename T_Type,
size_t T_size>
97 struct GetPitches::Op<std::array<T_Type, T_size>>
99 decltype(
auto)
operator()(
auto&& stdArray)
const
101 alpaka::unused(stdArray);
102 return CVec<size_t,
sizeof(T_Type)>{};
109 template<
typename T_Type,
typename T_Allocator>
115 template<
typename T_Type,
size_t T_size>
121 template<
typename T_Type,
size_t T_size>
127 template<
typename T_Type,
size_t T_size>
128 struct GetDim<std::span<T_Type, T_size>>
130 static constexpr uint32_t
value = 1u;
133 template<
typename T_Type,
typename T_Allocator>
134 struct GetDim<std::vector<T_Type, T_Allocator>>
136 static constexpr uint32_t
value = 1u;
139 template<
typename T_Type,
size_t T_size>
140 struct GetDim<std::array<T_Type, T_size>>
142 static constexpr uint32_t
value = 1u;
Vec< T, sizeof...(T_values), detail::CVec< T, T_values... > > CVec
A vector with compile-time known values.
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)> >
constexpr auto thisApi()
provides the API used during the execution of the current code path
static constexpr uint32_t value
typename T::value_type type