8 #ifndef OPENFPM_DATA_SRC_GRID_COPY_FUSION_VECTOR_HPP_
9 #define OPENFPM_DATA_SRC_GRID_COPY_FUSION_VECTOR_HPP_
16 template<
typename bfv>
45 {std::cerr <<
"Error: " <<__FILE__ <<
":" << __LINE__ <<
" Passing a temporal object\n";};
53 typedef typename boost::fusion::result_of::at_c<bfv,T::value>::type copy_type;
56 typedef typename boost::remove_reference<copy_type>::type copy_rtype;
68 template<
typename bfv,
typename enc>
97 {std::cerr <<
"Error: " <<__FILE__ <<
":" << __LINE__ <<
" Passing a temporal object\n";};
104 typedef typename boost::mpl::at<bfv,boost::mpl::int_<T::value> >::type copy_src;
105 typedef typename std::remove_reference<decltype(
dst.template get<T::value>())>::type copy_dst;
const bfv & src
source fusion vector
bfv & dst
destination fusion vector
const bfv & src
source fusion vector
void operator()(T &t)
It call the copy function for each property.
copy_fusion_vector_encap(const bfv &src, enc &dst)
constructor
void operator()(T &t)
It call the copy function for each property.
enc & dst
destination fusion vector
this class is a functor for "for_each" algorithm
copy_fusion_vector(const bfv &src, bfv &dst)
constructor
this class is a functor for "for_each" algorithm