16 #ifndef BOOST_MPL11_DETAIL_TEST_FOLDR_HPP
17 #define BOOST_MPL11_DETAIL_TEST_FOLDR_HPP
23 namespace boost {
namespace mpl11 {
namespace detail {
24 namespace foldr_detail {
25 template <
int>
struct x {
using type = x; };
27 template <
typename ...x>
28 struct f {
using type = f<
typename x::type...>; };
32 template <
template <
typename ...>
class fold>
35 expect<fold<lift<f>, x<0> >
40 , expect<fold<lift<f>, x<0> , x<1>>
45 , expect<fold<lift<f>, x<0> , x<1>, x<2>>
47 f<x<1>, f<x<2>, x<0>>>
50 , expect<fold<lift<f>, x<0> , x<1>, x<2>, x<3>>
52 f<x<1>, f<x<2>, f<x<3>, x<0>>>>
55 , expect<fold<lift<f>, x<0> , x<1>, x<2>, x<3>, x<4>>
57 f<x<1>, f<x<2>, f<x<3>, f<x<4>, x<0>>>>>
60 , expect<fold<lift<f>, x<0> , x<1>, x<2>, x<3>, x<4>, x<5>>
62 f<x<1>, f<x<2>, f<x<3>, f<x<4>, f<x<5>, x<0>>>>>>
65 , expect<fold<lift<f>, x<0> , x<1>, x<2>, x<3>, x<4>, x<5>, x<6>>
67 f<x<1>, f<x<2>, f<x<3>, f<x<4>, f<x<5>, f<x<6>, x<0>>>>>>>
70 , expect<fold<lift<f>, x<0> , x<1>, x<2>, x<3>, x<4>, x<5>, x<6>, x<7>>
72 f<x<1>, f<x<2>, f<x<3>, f<x<4>, f<x<5>, f<x<6>, f<x<7>, x<0>>>>>>>>
75 , expect<fold<lift<f>, x<0> , x<1>, x<2>, x<3>, x<4>, x<5>, x<6>, x<7>, x<8>>
77 f<x<1>, f<x<2>, f<x<3>, f<x<4>, f<x<5>, f<x<6>, f<x<7>, f<x<8>, x<0>>>>>>>>>
80 , expect<fold<lift<f>, x<0> , x<1>, x<2>, x<3>, x<4>, x<5>, x<6>, x<7>, x<8>, x<9>>
82 f<x<1>, f<x<2>, f<x<3>, f<x<4>, f<x<5>, f<x<6>, f<x<7>, f<x<8>, f<x<9>, x<0>>>>>>>>>>
85 , expect<fold<lift<f>, x<0> , x<1>, x<2>, x<3>, x<4>, x<5>, x<6>, x<7>, x<8>, x<9>, x<10>>
87 f<x<1>, f<x<2>, f<x<3>, f<x<4>, f<x<5>, f<x<6>, f<x<7>, f<x<8>, f<x<9>, f<x<10>, x<0>>>>>>>>>>>
90 , expect<fold<lift<f>, x<0> , x<1>, x<2>, x<3>, x<4>, x<5>, x<6>, x<7>, x<8>, x<9>, x<10>, x<11>>
92 f<x<1>, f<x<2>, f<x<3>, f<x<4>, f<x<5>, f<x<6>, f<x<7>, f<x<8>, f<x<9>, f<x<10>, f<x<11>, x<0>>>>>>>>>>>>
95 , expect<fold<lift<f>, x<0> , x<1>, x<2>, x<3>, x<4>, x<5>, x<6>, x<7>, x<8>, x<9>, x<10>, x<11>, x<12>>
97 f<x<1>, f<x<2>, f<x<3>, f<x<4>, f<x<5>, f<x<6>, f<x<7>, f<x<8>, f<x<9>, f<x<10>, f<x<11>, f<x<12>, x<0>>>>>>>>>>>>>
100 , expect<fold<lift<f>, x<0> , x<1>, x<2>, x<3>, x<4>, x<5>, x<6>, x<7>, x<8>, x<9>, x<10>, x<11>, x<12>, x<13>>
102 f<x<1>, f<x<2>, f<x<3>, f<x<4>, f<x<5>, f<x<6>, f<x<7>, f<x<8>, f<x<9>, f<x<10>, f<x<11>, f<x<12>, f<x<13>, x<0>>>>>>>>>>>>>>
105 , expect<fold<lift<f>, x<0> , x<1>, x<2>, x<3>, x<4>, x<5>, x<6>, x<7>, x<8>, x<9>, x<10>, x<11>, x<12>, x<13>, x<14>>
107 f<x<1>, f<x<2>, f<x<3>, f<x<4>, f<x<5>, f<x<6>, f<x<7>, f<x<8>, f<x<9>, f<x<10>, f<x<11>, f<x<12>, f<x<13>, f<x<14>, x<0>>>>>>>>>>>>>>>
110 , expect<fold<lift<f>, x<0> , x<1>, x<2>, x<3>, x<4>, x<5>, x<6>, x<7>, x<8>, x<9>, x<10>, x<11>, x<12>, x<13>, x<14>, x<15>>
112 f<x<1>, f<x<2>, f<x<3>, f<x<4>, f<x<5>, f<x<6>, f<x<7>, f<x<8>, f<x<9>, f<x<10>, f<x<11>, f<x<12>, f<x<13>, f<x<14>, f<x<15>, x<0>>>>>>>>>>>>>>>>
115 , expect<fold<lift<f>, x<0> , x<1>, x<2>, x<3>, x<4>, x<5>, x<6>, x<7>, x<8>, x<9>, x<10>, x<11>, x<12>, x<13>, x<14>, x<15>, x<16>>
117 f<x<1>, f<x<2>, f<x<3>, f<x<4>, f<x<5>, f<x<6>, f<x<7>, f<x<8>, f<x<9>, f<x<10>, f<x<11>, f<x<12>, f<x<13>, f<x<14>, f<x<15>, f<x<16>, x<0>>>>>>>>>>>>>>>>>
120 , expect<fold<lift<f>, x<0> , x<1>, x<2>, x<3>, x<4>, x<5>, x<6>, x<7>, x<8>, x<9>, x<10>, x<11>, x<12>, x<13>, x<14>, x<15>, x<16>, x<17>>
122 f<x<1>, f<x<2>, f<x<3>, f<x<4>, f<x<5>, f<x<6>, f<x<7>, f<x<8>, f<x<9>, f<x<10>, f<x<11>, f<x<12>, f<x<13>, f<x<14>, f<x<15>, f<x<16>, f<x<17>, x<0>>>>>>>>>>>>>>>>>>
125 , expect<fold<lift<f>, x<0> , x<1>, x<2>, x<3>, x<4>, x<5>, x<6>, x<7>, x<8>, x<9>, x<10>, x<11>, x<12>, x<13>, x<14>, x<15>, x<16>, x<17>, x<18>>
127 f<x<1>, f<x<2>, f<x<3>, f<x<4>, f<x<5>, f<x<6>, f<x<7>, f<x<8>, f<x<9>, f<x<10>, f<x<11>, f<x<12>, f<x<13>, f<x<14>, f<x<15>, f<x<16>, f<x<17>, f<x<18>, x<0>>>>>>>>>>>>>>>>>>>
130 , expect<fold<lift<f>, x<0> , x<1>, x<2>, x<3>, x<4>, x<5>, x<6>, x<7>, x<8>, x<9>, x<10>, x<11>, x<12>, x<13>, x<14>, x<15>, x<16>, x<17>, x<18>, x<19>>
132 f<x<1>, f<x<2>, f<x<3>, f<x<4>, f<x<5>, f<x<6>, f<x<7>, f<x<8>, f<x<9>, f<x<10>, f<x<11>, f<x<12>, f<x<13>, f<x<14>, f<x<15>, f<x<16>, f<x<17>, f<x<18>, f<x<19>, x<0>>>>>>>>>>>>>>>>>>>>
135 , expect<fold<lift<f>, x<0> , x<1>, x<2>, x<3>, x<4>, x<5>, x<6>, x<7>, x<8>, x<9>, x<10>, x<11>, x<12>, x<13>, x<14>, x<15>, x<16>, x<17>, x<18>, x<19>, x<20>>
137 f<x<1>, f<x<2>, f<x<3>, f<x<4>, f<x<5>, f<x<6>, f<x<7>, f<x<8>, f<x<9>, f<x<10>, f<x<11>, f<x<12>, f<x<13>, f<x<14>, f<x<15>, f<x<16>, f<x<17>, f<x<18>, f<x<19>, f<x<20>, x<0>>>>>>>>>>>>>>>>>>>>>
143 using foldr_detail::test_foldr;
146 #endif // !BOOST_MPL11_DETAIL_TEST_FOLDR_HPP
Defines utilities to write unit tests.
Defines the Functional module.