1
// preprocessed version of 'boost/mpl/aux_/iter_fold_backward_impl.hpp' header
2
// see the original for copyright information
17
struct iter_fold_backward_impl;
26
struct iter_fold_backward_impl< 0,First,Last,State,BackwardOp,ForwardOp >
29
typedef State fwd_state0;
30
typedef fwd_state0 bkwd_state0;
31
typedef bkwd_state0 state;
32
typedef iter0 iterator;
42
struct iter_fold_backward_impl< 1,First,Last,State,BackwardOp,ForwardOp >
45
typedef State fwd_state0;
46
typedef typename ForwardOp::template apply< fwd_state0,iter0 >::type fwd_state1;
47
typedef typename iter0::next iter1;
50
typedef fwd_state1 bkwd_state1;
51
typedef typename BackwardOp::template apply< bkwd_state1,iter0 >::type bkwd_state0;
52
typedef bkwd_state0 state;
53
typedef iter1 iterator;
63
struct iter_fold_backward_impl< 2,First,Last,State,BackwardOp,ForwardOp >
66
typedef State fwd_state0;
67
typedef typename ForwardOp::template apply< fwd_state0,iter0 >::type fwd_state1;
68
typedef typename iter0::next iter1;
69
typedef typename ForwardOp::template apply< fwd_state1,iter1 >::type fwd_state2;
70
typedef typename iter1::next iter2;
73
typedef fwd_state2 bkwd_state2;
74
typedef typename BackwardOp::template apply< bkwd_state2,iter1 >::type bkwd_state1;
75
typedef typename BackwardOp::template apply< bkwd_state1,iter0 >::type bkwd_state0;
78
typedef bkwd_state0 state;
79
typedef iter2 iterator;
89
struct iter_fold_backward_impl< 3,First,Last,State,BackwardOp,ForwardOp >
92
typedef State fwd_state0;
93
typedef typename ForwardOp::template apply< fwd_state0,iter0 >::type fwd_state1;
94
typedef typename iter0::next iter1;
95
typedef typename ForwardOp::template apply< fwd_state1,iter1 >::type fwd_state2;
96
typedef typename iter1::next iter2;
97
typedef typename ForwardOp::template apply< fwd_state2,iter2 >::type fwd_state3;
98
typedef typename iter2::next iter3;
101
typedef fwd_state3 bkwd_state3;
102
typedef typename BackwardOp::template apply< bkwd_state3,iter2 >::type bkwd_state2;
103
typedef typename BackwardOp::template apply< bkwd_state2,iter1 >::type bkwd_state1;
104
typedef typename BackwardOp::template apply< bkwd_state1,iter0 >::type bkwd_state0;
107
typedef bkwd_state0 state;
108
typedef iter3 iterator;
115
, typename BackwardOp
118
struct iter_fold_backward_impl< 4,First,Last,State,BackwardOp,ForwardOp >
121
typedef State fwd_state0;
122
typedef typename ForwardOp::template apply< fwd_state0,iter0 >::type fwd_state1;
123
typedef typename iter0::next iter1;
124
typedef typename ForwardOp::template apply< fwd_state1,iter1 >::type fwd_state2;
125
typedef typename iter1::next iter2;
126
typedef typename ForwardOp::template apply< fwd_state2,iter2 >::type fwd_state3;
127
typedef typename iter2::next iter3;
128
typedef typename ForwardOp::template apply< fwd_state3,iter3 >::type fwd_state4;
129
typedef typename iter3::next iter4;
132
typedef fwd_state4 bkwd_state4;
133
typedef typename BackwardOp::template apply< bkwd_state4,iter3 >::type bkwd_state3;
134
typedef typename BackwardOp::template apply< bkwd_state3,iter2 >::type bkwd_state2;
135
typedef typename BackwardOp::template apply< bkwd_state2,iter1 >::type bkwd_state1;
136
typedef typename BackwardOp::template apply< bkwd_state1,iter0 >::type bkwd_state0;
139
typedef bkwd_state0 state;
140
typedef iter4 iterator;
148
, typename BackwardOp
151
struct iter_fold_backward_impl
154
typedef State fwd_state0;
155
typedef typename ForwardOp::template apply< fwd_state0,iter0 >::type fwd_state1;
156
typedef typename iter0::next iter1;
157
typedef typename ForwardOp::template apply< fwd_state1,iter1 >::type fwd_state2;
158
typedef typename iter1::next iter2;
159
typedef typename ForwardOp::template apply< fwd_state2,iter2 >::type fwd_state3;
160
typedef typename iter2::next iter3;
161
typedef typename ForwardOp::template apply< fwd_state3,iter3 >::type fwd_state4;
162
typedef typename iter3::next iter4;
165
typedef iter_fold_backward_impl<
166
( (N - 4) < 0 ? 0 : N - 4 )
174
typedef typename nested_chunk::state bkwd_state4;
175
typedef typename BackwardOp::template apply< bkwd_state4,iter3 >::type bkwd_state3;
176
typedef typename BackwardOp::template apply< bkwd_state3,iter2 >::type bkwd_state2;
177
typedef typename BackwardOp::template apply< bkwd_state2,iter1 >::type bkwd_state1;
178
typedef typename BackwardOp::template apply< bkwd_state1,iter0 >::type bkwd_state0;
181
typedef bkwd_state0 state;
182
typedef typename nested_chunk::iterator iterator;
189
, typename BackwardOp
192
struct iter_fold_backward_impl< -1,First,Last,State,BackwardOp,ForwardOp >
194
typedef iter_fold_backward_impl<
196
, typename First::next
198
, typename ForwardOp::template apply< State,First >::type
203
typedef typename BackwardOp::template apply<typename nested_step::state, First>::type state;
204
typedef typename nested_step::iterator iterator;
210
, typename BackwardOp
213
struct iter_fold_backward_impl< -1,Last,Last,State,BackwardOp,ForwardOp >
216
typedef Last iterator;