8#ifndef MAP_VECTOR_STD_CUDA_KER_CUH_
9#define MAP_VECTOR_STD_CUDA_KER_CUH_
18template<
typename T,
template <
typename>
class layout_base>
23 typedef typename apply_transform<layout_base,T>::type T_;
31 vector_gpu_ker<T_,layout_base>
base;
53 __device__
unsigned int size()
const
79 __device__
inline auto at(
size_t id)
const ->
decltype(
base.template get<0>(0))
81 return base.template get<0>(
id);
94 __device__
inline auto at(
size_t id) ->
decltype(
base.template get<0>(0))
96 return base.template get<0>(
id);
109 __device__
inline auto get(
size_t id)
const ->
decltype(
base.template get<0>(0))
111 return base.template get<0>(
id);
124 __device__
inline auto get(
size_t id) ->
decltype(
base.template get<0>(0))
126 return base.template get<0>(
id);
136 return &
base.template get<0>(0);
146 return &
base.template get<0>(0);
Transform the boost::fusion::vector into memory specification (memory_traits)
grid interface available when on gpu
__device__ auto at(size_t id) -> decltype(base.template get< 0 >(0))
Get an element of the vector.
__device__ unsigned int capacity() const
return the maximum capacity of the vector before reallocation
__device__ __host__ void * getPointer()
Return the pointer to the chunk of memory.
grid_base< 1, T_, CudaMemory, typenamememory_traits_inte< T_ >::type >::container container
Object container for T, it is the return type of get_o it return a object type trough.
__device__ auto at(size_t id) const -> decltype(base.template get< 0 >(0))
Get an element of the vector.
__device__ auto get(size_t id) -> decltype(base.template get< 0 >(0))
Get an element of the vector.
__device__ auto get(size_t id) const -> decltype(base.template get< 0 >(0))
Get an element of the vector.
__device__ __host__ const void * getPointer() const
Return the pointer to the chunk of memory.
int yes_i_am_vector
it define that it is a vector
T_ value_type
Type of the value the vector is storing.
__device__ unsigned int size() const
Return the size of the vector.
vector_gpu_ker< T_, layout_base > base
1-D static grid
memory_traits_inte< aggregate< T_ > >::type layout_type
Type of the encapsulation memory parameter.