8 #ifndef OPENFPM_DATA_SRC_UTIL_COPY_COMPARE_AGGREGATES_HPP_
9 #define OPENFPM_DATA_SRC_UTIL_COPY_COMPARE_AGGREGATES_HPP_
11 #include <boost/type_traits.hpp>
12 #include <boost/mpl/vector_c.hpp>
15 template<
template<
typename,
typename>
class op,
typename T>
struct meta_copy_op;
41 typedef typename boost::fusion::result_of::at_c<typename S::type,T::value>::type copy_type;
44 typedef typename boost::remove_reference<copy_type>::type copy_rtype;
56 template<
template<
typename,
typename>
class op,
typename S>
74 typedef typename boost::fusion::result_of::at_c<typename S::type,T::value>::type copy_type;
77 typedef typename boost::remove_reference<copy_type>::type copy_rtype;
143 :
eq(true),src(src),dst(dst){};
150 typedef typename boost::fusion::result_of::at_c<typename S::type,T::value>::type compare_type;
153 typedef typename boost::remove_reference<compare_type>::type compare_rtype;
copy_aggregate(const S &src, S &dst)
copy_aggregate
void operator()(T &t) const
It call the copy function for each member.
Structure to copy aggregates.
Structure to copy aggregates applying an operation limited to some properties.
bool result()
Returh the result of the comparison.
bool eq
result of the comparation
Structure to copy aggregates applying an operation.
void operator()(T &t) const
It call the copy function for each member.
void operator()(T &t)
It call the copy function for each member.
compare_aggregate(const S &src, const S &dst)
copy_aggregate
copy_aggregate_op(const S &src, S &dst)
copy_aggregate
const S & dst
Destination grid.