8 #ifndef OPENFPM_DATA_SRC_UTIL_COMPARE_GENERAL_HPP_ 
    9 #define OPENFPM_DATA_SRC_UTIL_COMPARE_GENERAL_HPP_ 
   12 #include "util/common.hpp" 
   13 #include "util/util_debug.hpp" 
   14 #include "util/for_each_ref.hpp" 
   15 #include <boost/mpl/range_c.hpp> 
   22 template<typename T, unsigned int agg=2 * is_openfpm_native<T>::value>
 
   33         std::cerr << 
"Error: " << __FILE__ << 
":" << __LINE__ << 
"  " << demangle(
typeid(T).name()) << 
" does not have an operator== and is not an aggregate or an openfpm native structure, comparation is not possible" << 
"\n";
 
   52         boost::mpl::for_each_ref<boost::mpl::range_c<int,0,T::max_prop>>(cp);
 
Structure to copy aggregates applying an operation limited to some properties. 
 
bool result()
Returh the result of the comparison. 
 
static bool compare_general_f(const T &src, const T &dst)
compare objects that are aggregates 
 
static bool compare_general_f(const T &src, const T &dst)
compare objects that are aggregates but define an operator= 
 
structure to copy aggregates 
 
static bool compare_general_f(const T &src, const T &dst)
Spacialization when there is unknown compare method.