9 #include <boost/test/unit_test.hpp> 
   22 #include <boost/hana/equal.hpp> 
   23 #include <boost/hana/integral_constant.hpp> 
   24 #include <boost/hana/tuple.hpp> 
   25 #include <boost/hana/type.hpp> 
   27 namespace hana = boost::hana;
 
   28 using namespace hana::literals;
 
   30 #define _T(...) hana::tuple_c<size_t, __VA_ARGS__> 
   37     constexpr 
auto result = detail::unique_ordered_sublists<1>();
 
   38     constexpr 
auto expected = hana::make_tuple(
_T(0));
 
   39     static_assert(result == expected, 
"At size 1 is not equal");
 
   42     constexpr 
auto result = detail::unique_ordered_sublists<2>();
 
   43     constexpr 
auto expected = hana::make_tuple(
_T(0), 
_T(1), 
_T(0, 1));
 
   44     static_assert(result == expected, 
"At size 2 is not equal");
 
   47     constexpr 
auto result = detail::unique_ordered_sublists<3>();
 
   48     constexpr 
auto expected = hana::make_tuple(
_T(0), 
_T(1), 
_T(0, 1), 
_T(2),
 
   49                                                _T(0, 2), 
_T(1, 2), 
_T(0, 1, 2));
 
   50     static_assert(result == expected, 
"At size 3 is not equal");
 
   53     constexpr 
auto result = detail::unique_ordered_sublists<4>();
 
   54     constexpr 
auto expected =
 
   55         hana::make_tuple(
_T(0), 
_T(1), 
_T(0, 1), 
_T(2), 
_T(0, 2), 
_T(1, 2),
 
   56                          _T(0, 1, 2), 
_T(3), 
_T(0, 3), 
_T(1, 3), 
_T(0, 1, 3),
 
   57                          _T(2, 3), 
_T(0, 2, 3), 
_T(1, 2, 3), 
_T(0, 1, 2, 3));
 
   58     static_assert(result == expected, 
"At size 4 is not equal");
 
   61     constexpr 
auto result = detail::unique_ordered_sublists<5>();
 
   62     constexpr 
auto expected = hana::make_tuple(
 
   63         _T(0), 
_T(1), 
_T(0, 1), 
_T(2), 
_T(0, 2), 
_T(1, 2), 
_T(0, 1, 2), 
_T(3),
 
   64         _T(0, 3), 
_T(1, 3), 
_T(0, 1, 3), 
_T(2, 3), 
_T(0, 2, 3), 
_T(1, 2, 3),
 
   65         _T(0, 1, 2, 3), 
_T(4), 
_T(0, 4), 
_T(1, 4), 
_T(0, 1, 4), 
_T(2, 4),
 
   66         _T(0, 2, 4), 
_T(1, 2, 4), 
_T(0, 1, 2, 4), 
_T(3, 4), 
_T(0, 3, 4),
 
   67         _T(1, 3, 4), 
_T(0, 1, 3, 4), 
_T(2, 3, 4), 
_T(0, 2, 3, 4),
 
   68         _T(1, 2, 3, 4), 
_T(0, 1, 2, 3, 4));
 
   69     static_assert(result == expected, 
"At size 5 is not equal");
 
   76 template <
par_t... pars>
 
   81 constexpr 
par_t operator"" _p(
unsigned long long i) {
 
   87     using actual = detail::type_generator_t<par_t, meas_factory>;
 
   88     using expected = std::variant<
 
  148                   "Variant is not identical");
 
  159 constexpr 
freePar_t operator"" _fp(
unsigned long long i) {
 
  165     using actual = detail::type_generator_t<freePar_t, meas_factory2>;
 
  166     using expected = std::variant<
 
  432                   "Variant is not identical");