16 #ifndef BOOST_MPL11_DETAIL_LEFT_FOLDS_VARIADIC_UNROLLED_HPP
17 #define BOOST_MPL11_DETAIL_LEFT_FOLDS_VARIADIC_UNROLLED_HPP
19 namespace boost {
namespace mpl11 {
namespace detail {
namespace left_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,
40 f<f<f<f<f<f<state, x0>, x1>, x2>, x3>, x4>, x5>,
47 template <
typename ...>
class f,
56 template <
typename ...>
class f,
60 struct variadic_unrolled<f, state , x0 >
65 template <
typename ...>
class f,
67 ,
typename x0,
typename x1
69 struct variadic_unrolled<f, state , x0, x1 >
74 template <
typename ...>
class f,
76 ,
typename x0,
typename x1,
typename x2
78 struct variadic_unrolled<f, state , x0, x1, x2 >
79 : f<f<f<state, x0>, x1>, x2>
83 template <
typename ...>
class f,
85 ,
typename x0,
typename x1,
typename x2,
typename x3
87 struct variadic_unrolled<f, state , x0, x1, x2, x3 >
88 : f<f<f<f<state, x0>, x1>, x2>, x3>
92 template <
typename ...>
class f,
94 ,
typename x0,
typename x1,
typename x2,
typename x3,
typename x4
96 struct variadic_unrolled<f, state , x0, x1, x2, x3, x4 >
97 : f<f<f<f<f<state, x0>, x1>, x2>, x3>, x4>
102 #endif // !BOOST_MPL11_DETAIL_LEFT_FOLDS_VARIADIC_UNROLLED_HPP
Left fold over a parameter pack with loop unrolling.
Definition: variadic_unrolled.hpp:30