16 #ifndef BOOST_MPL11_DETAIL_RIGHT_FOLDS_VARIADIC_UNROLLED_HPP
17 #define BOOST_MPL11_DETAIL_RIGHT_FOLDS_VARIADIC_UNROLLED_HPP
19 namespace boost {
namespace mpl11 {
namespace detail {
namespace right_folds {
29 template <
template <
typename ...>
class f,
typename state,
typename ...xs>
33 template <
typename ...>
class f,
35 ,
typename x0,
typename x1,
typename x2,
typename x3,
typename x4,
typename x5,
38 : f<x0, f<x1, f<x2, f<x3, f<x4, f<x5, variadic_unrolled<f, state, xs...>>>>>>>
43 template <
typename ...>
class f,
52 template <
typename ...>
class f,
56 struct variadic_unrolled<f, state , x0 >
61 template <
typename ...>
class f,
63 ,
typename x0,
typename x1
65 struct variadic_unrolled<f, state , x0, x1 >
70 template <
typename ...>
class f,
72 ,
typename x0,
typename x1,
typename x2
74 struct variadic_unrolled<f, state , x0, x1, x2 >
75 : f<x0, f<x1, f<x2, state>>>
79 template <
typename ...>
class f,
81 ,
typename x0,
typename x1,
typename x2,
typename x3
83 struct variadic_unrolled<f, state , x0, x1, x2, x3 >
84 : f<x0, f<x1, f<x2, f<x3, state>>>>
88 template <
typename ...>
class f,
90 ,
typename x0,
typename x1,
typename x2,
typename x3,
typename x4
92 struct variadic_unrolled<f, state , x0, x1, x2, x3, x4 >
93 : f<x0, f<x1, f<x2, f<x3, f<x4, state>>>>>
98 #endif // !BOOST_MPL11_DETAIL_RIGHT_FOLDS_VARIADIC_UNROLLED_HPP
Right fold over a parameter pack with loop unrolling.
Definition: variadic_unrolled.hpp:30