8#ifndef OPENFPM_DATA_SRC_GRID_COPY_FUSION_VECTOR_HPP_
9#define OPENFPM_DATA_SRC_GRID_COPY_FUSION_VECTOR_HPP_
17template<
typename bfv,
typename enc>
46 {std::cerr <<
"Error: " <<__FILE__ <<
":" << __LINE__ <<
" Passing a temporal object\n";};
53 typedef typename boost::mpl::at<bfv,boost::mpl::int_<T::value> >::type copy_src;
54 typedef typename std::remove_reference<
decltype(
dst.template get<T::value>())>::type copy_dst;
66template<
typename enc,
typename bfv>
95 {std::cerr <<
"Error: " <<__FILE__ <<
":" << __LINE__ <<
" Passing a temporal object\n";};
102 typedef typename boost::mpl::at<bfv,boost::mpl::int_<T::value> >::type copy_dst;
103 typedef typename std::remove_reference<
decltype(
src.template get<T::value>())>::type copy_src;
this class is a functor for "for_each" algorithm
__device__ __host__ void operator()(T &t)
It call the copy function for each property.
const enc & src
source fusion vector
bfv & dst
destination fusion vector
__device__ __host__ copy_encap_vector_fusion(const enc &src, bfv &dst)
constructor
this class is a functor for "for_each" algorithm
__device__ __host__ copy_fusion_vector_encap(const bfv &src, enc &dst)
constructor
const bfv & src
source fusion vector
__device__ __host__ void operator()(T &t)
It call the copy function for each property.
enc & dst
destination fusion vector