template<typename T>
struct meta_copy< T >
This class copy general objects.
- primitives
- array of primitives
- complex objects
- aggregates
Usage of meta copy and compare for primitives
float f_src = 1.0;
float f_dst;
BOOST_REQUIRE_EQUAL(f_src,f_dst);
BOOST_REQUIRE_EQUAL(ret,true);
Usage of meta copy and compare for array of primitives
float f_src[2][3] = {{1.0,2.9,4.0},{2.3,4.4,9.0}};
float f_dst[2][3];
BOOST_REQUIRE_EQUAL(ret,true);
Usage of meta copy and compare for openfpm aggregates
boost::fusion::at_c<0>(agg1.data) = 1.0;
boost::fusion::at_c<1>(agg1.data) = 2.0;
boost::fusion::at_c<2>(agg1.data)[0] = 3.0;
boost::fusion::at_c<2>(agg1.data)[1] = 4.0;
boost::fusion::at_c<2>(agg1.data)[2] = 5.0;
BOOST_REQUIRE_EQUAL(ret,true);
Usage of meta copy and compare for complex object
std::string s_src("Test string");
std::string s_dst;
BOOST_REQUIRE_EQUAL(s_src,s_dst);
BOOST_REQUIRE_EQUAL(ret,true);
Usage of meta copy and compare for complex aggregates object
a_src.template get<0>() = std::string("Test string");
a_src.template get<1>().push_back(5.0);
a_src.template get<1>().push_back(15.0);
a_src.template get<1>().push_back(45.0);
a_src.template get<1>().push_back(7.0);
a_src.template get<2>()[0] = std::string("Test string 2");
a_src.template get<2>()[10] = std::string("Test string 3");
a_src.template get<2>()[9] = std::string("Test string 4");
a_src.template get<2>()[1] = std::string("Test string 5");
a_src.template get<3>()[0] = std::string("Last string 9");
a_src.template get<3>()[1] = std::string("Last string 10");
a_src.template get<3>()[2] = std::string("Last string 11");
BOOST_REQUIRE_EQUAL(ret,true);
Usage of meta copy and compare for Point_test
Definition at line 13 of file copy_compare_aggregates.hpp.