8 #ifndef OPENFPM_NUMERICS_SRC_VECTOR_VECTOR_UTIL_HPP_ 
    9 #define OPENFPM_NUMERICS_SRC_VECTOR_VECTOR_UTIL_HPP_ 
   11 #include "Grid/grid_dist_key.hpp" 
   12 #include "Space/Shape/HyperCube.hpp" 
   13 #include "util/mul_array_extents.hpp" 
   23 template<
typename copy_type, 
typename T, 
typename Ev, 
typename Eqs_sys, 
int sa>
 
   40         grid_dst.template get<T::value>(key) = x(lin_id * Eqs_sys::nvar + base_id);
 
   53 template<
typename copy_type, 
typename T, 
typename Ev, 
typename Eqs_sys>
 
   70         for (
size_t i = 0 ; i < std::extent<copy_type>::value ; i++)
 
   72             grid_dst.template get<T::value>(key)[i] = x(lin_id * Eqs_sys::nvar + base_id + i);
 
   90 template<
typename Eqs_sys, 
typename S, 
typename Ev>
 
  123     :key(key),grid_dst(grid_dst),lin_id(lin_id),
prp_id(0),gs_size(gs_size),x(x){};
 
  134     :key(key),grid_dst(grid_dst),
x(
x)
 
  135     {std::cerr << 
"Error: " <<__FILE__ << 
":" << __LINE__ << 
" Passing a temporal object";};
 
  147         typedef typename boost::mpl::at_c<typename S::value_type::type,T::value>::type copy_type;
 
const grid_dist_key_dx< Eqs_sys::dims > key
destination grid element 
 
static void copy(Grid &grid_dst, const grid_dist_key_dx< Eqs_sys::dims > &key, const Ev &x, size_t lin_id, size_t base_id, size_t gs_size)
Constructor. 
 
size_t gs_size
It is basically the number of grid points the vector has inside. 
 
static void copy(Grid &grid_dst, const grid_dist_key_dx< Eqs_sys::dims > &key, const Ev &x, size_t lin_id, size_t base_id, size_t gs_size)
Constructor. 
 
S & grid_dst
destination grid 
 
void operator()(T &t)
It call the copy function for each property. 
 
const Ev & x
source vector 
 
This class is a trick to indicate the compiler a specific specialization pattern. ...
 
Struct that give functionalities on array extensions. 
 
size_t lin_id
source element inside the vector 
 
copy_ele(const grid_dist_key_dx< Eqs_sys::dims > &key, S &grid_dst, const Ev &x, size_t lin_id, size_t gs_size)
Constructor. 
 
this class is a functor for "for_each" algorithm