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>
22template<typename T, unsigned int agg=2 * is_aggregate<T>::value>
33#ifndef DISABLE_ALL_RTTI
34 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";
54 boost::mpl::for_each_ref<boost::mpl::range_c<int,0,T::max_prop>>(cp);
Structure to compare aggregates.
static bool compare_general_f(const T &src, const T &dst)
compare objects that are aggregates but define an operator=
static bool compare_general_f(const T &src, const T &dst)
compare objects that are aggregates
structure to copy aggregates
static bool compare_general_f(const T &src, const T &dst)
Spacialization when there is unknown compare method.