8 #ifndef SRC_UTIL_VARIADIC_TO_VMPL_UNIT_TEST_HPP_
9 #define SRC_UTIL_VARIADIC_TO_VMPL_UNIT_TEST_HPP_
11 #include "util/variadic_to_vmpl.hpp"
12 #include "util/util_debug.hpp"
25 template <
typename arg0,
typename T>
33 BOOST_AUTO_TEST_CASE( variadic_to_vmpl_test)
38 typedef boost::mpl::vector<float,float,float[3]> bfv;
43 bool val = std::is_same<boost::mpl::at<tbfv,boost::mpl::int_<0>>::type,
aggregate<float>>::value;
44 BOOST_REQUIRE_EQUAL(val,
true);
46 val = std::is_same<boost::mpl::at<tbfv,boost::mpl::int_<1>>::type,
aggregate<float>>::value;
47 BOOST_REQUIRE_EQUAL(val,
true);
49 val = std::is_same<boost::mpl::at<tbfv,boost::mpl::int_<2>>::type,
aggregate<float[3]>>::value;
50 BOOST_REQUIRE_EQUAL(val,
true);
58 typedef boost::mpl::vector<float,float,float[3]> bfv;
63 bool val = std::is_same<boost::mpl::at<tbfv,boost::mpl::int_<0>>::type,
aggregate<float>>::value;
64 BOOST_REQUIRE_EQUAL(val,
true);
66 val = std::is_same<boost::mpl::at<tbfv,boost::mpl::int_<1>>::type,
aggregate<float>>::value;
67 BOOST_REQUIRE_EQUAL(val,
true);
69 val = std::is_same<boost::mpl::at<tbfv,boost::mpl::int_<2>>::type,
aggregate<float[3]>>::value;
70 BOOST_REQUIRE_EQUAL(val,
true);
80 bool val = std::is_same<boost::mpl::at<bfv,boost::mpl::int_<0>>::type,boost::mpl::int_<1>>::value;
81 BOOST_REQUIRE_EQUAL(val,
true);
83 val = std::is_same<boost::mpl::at<bfv,boost::mpl::int_<1>>::type,boost::mpl::int_<4>>::value;
84 BOOST_REQUIRE_EQUAL(val,
true);
86 val = std::is_same<boost::mpl::at<bfv,boost::mpl::int_<2>>::type,boost::mpl::int_<5>>::value;
87 BOOST_REQUIRE_EQUAL(val,
true);
89 val = std::is_same<boost::mpl::at<bfv,boost::mpl::int_<3>>::type,boost::mpl::int_<9>>::value;
90 BOOST_REQUIRE_EQUAL(val,
true);
aggregate< T > type
meta-function implementation
aggregate< T > type
meta-function implementation
to_boost_vmpl_impl< id...>::type type
constrict an mpl vector from the variadic
aggregate of properties, from a list of object if create a struct that follow the OPENFPM native stru...
[v_transform metafunction]
[v_transform metafunction]