MPL11
 All Classes Namespaces Files Typedefs Macros Groups Pages
variadic_unrolled.hpp
Go to the documentation of this file.
1 
12 // GENERATED HEADER: DO NOT EDIT.
15 
16 #ifndef BOOST_MPL11_DETAIL_RIGHT_FOLDS_VARIADIC_UNROLLED_HPP
17 #define BOOST_MPL11_DETAIL_RIGHT_FOLDS_VARIADIC_UNROLLED_HPP
18 
19 namespace boost { namespace mpl11 { namespace detail { namespace right_folds {
20 
21 
29  template <template <typename ...> class f, typename state, typename ...xs>
31 
32  template <
33  template <typename ...> class f,
34  typename state
35  , typename x0, typename x1, typename x2, typename x3, typename x4, typename x5,
36  typename ...xs>
37  struct variadic_unrolled<f, state , x0, x1, x2, x3, x4, x5, xs...>
38  : f<x0, f<x1, f<x2, f<x3, f<x4, f<x5, variadic_unrolled<f, state, xs...>>>>>>>
39  { };
40 
41 
42  template <
43  template <typename ...> class f,
44  typename state
45 
46  >
47  struct variadic_unrolled<f, state >
48  : state
49  { };
50 
51  template <
52  template <typename ...> class f,
53  typename state
54  , typename x0
55  >
56  struct variadic_unrolled<f, state , x0 >
57  : f<x0, state>
58  { };
59 
60  template <
61  template <typename ...> class f,
62  typename state
63  , typename x0, typename x1
64  >
65  struct variadic_unrolled<f, state , x0, x1 >
66  : f<x0, f<x1, state>>
67  { };
68 
69  template <
70  template <typename ...> class f,
71  typename state
72  , typename x0, typename x1, typename x2
73  >
74  struct variadic_unrolled<f, state , x0, x1, x2 >
75  : f<x0, f<x1, f<x2, state>>>
76  { };
77 
78  template <
79  template <typename ...> class f,
80  typename state
81  , typename x0, typename x1, typename x2, typename x3
82  >
83  struct variadic_unrolled<f, state , x0, x1, x2, x3 >
84  : f<x0, f<x1, f<x2, f<x3, state>>>>
85  { };
86 
87  template <
88  template <typename ...> class f,
89  typename state
90  , typename x0, typename x1, typename x2, typename x3, typename x4
91  >
92  struct variadic_unrolled<f, state , x0, x1, x2, x3, x4 >
93  : f<x0, f<x1, f<x2, f<x3, f<x4, state>>>>>
94  { };
95 
96 }}}} // end namespace boost::mpl11::detail::right_folds
97 
98 #endif // !BOOST_MPL11_DETAIL_RIGHT_FOLDS_VARIADIC_UNROLLED_HPP
Right fold over a parameter pack with loop unrolling.
Definition: variadic_unrolled.hpp:30