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> 16 template<
template<
typename,
typename>
class op,
typename T>
struct meta_copy_op;
25 template<
typename S,
typename S2>
43 typedef typename boost::fusion::result_of::at_c<typename S2::type,T::value>::type copy_type;
46 typedef typename boost::remove_reference<copy_type>::type copy_rtype;
48 meta_copy_d<decltype(
src.template get<T::value>()), copy_rtype>::meta_copy_d_(
src.template get<T::value>(),
dst.template get<T::value>());
53 template<
template<
typename,
typename>
class op,
typename T>
struct meta_copy_op;
79 typedef typename boost::fusion::result_of::at_c<typename S::type,T::value>::type copy_type;
82 typedef typename boost::remove_reference<copy_type>::type copy_rtype;
94 template<
template<
typename,
typename>
class op,
typename S>
112 typedef typename boost::fusion::result_of::at_c<typename S::type,T::value>::type copy_type;
115 typedef typename boost::remove_reference<copy_type>::type copy_rtype;
148 typedef typename boost::fusion::result_of::at_c<typename S::type,T::value>::type compare_type;
151 typedef typename boost::remove_reference<compare_type>::type compare_rtype;
copy_aggregate(const S &src, S &dst)
copy_aggregate
Structure to copy aggregates.
Structure to compare aggregates.
bool result()
Returh the result of the comparison.
bool eq
result of the comparation
void operator()(T &t) const
It call the copy function for each member.
void operator()(T &t) const
It call the copy function for each member.
Structure to copy aggregates applying an operation.
void operator()(T &t)
It call the copy function for each member.
S2 & dst
Destination grid.
compare_aggregate(const S &src, const S &dst)
copy_aggregate
void operator()(T &t) const
It call the copy function for each member.
copy_aggregate_dual(S src, S2 &dst)
copy_aggregate
copy_aggregate_op(const S &src, S &dst)
copy_aggregate
Structure to copy aggregates.
const S & dst
Destination grid.