2
// Copyright Aleksey Gurtovoy 2000-2004
4
// Distributed under the Boost Software License, Version 1.0.
5
// (See accompanying file LICENSE_1_0.txt or copy at
6
// http://www.boost.org/LICENSE_1_0.txt)
9
// *Preprocessed* version of the main "iter_fold_impl.hpp" header
10
// -- DO NOT modify by hand!
12
namespace boost { namespace mpl { namespace aux {
14
/// forward declaration
23
struct iter_fold_impl;
31
struct iter_fold_impl< 0,First,Last,State,ForwardOp >
36
typedef iter0 iterator;
45
struct iter_fold_impl< 1,First,Last,State,ForwardOp >
49
typedef typename apply2< ForwardOp,state0,iter0 >::type state1;
50
typedef typename mpl::next<iter0>::type iter1;
54
typedef iter1 iterator;
63
struct iter_fold_impl< 2,First,Last,State,ForwardOp >
67
typedef typename apply2< ForwardOp,state0,iter0 >::type state1;
68
typedef typename mpl::next<iter0>::type iter1;
69
typedef typename apply2< ForwardOp,state1,iter1 >::type state2;
70
typedef typename mpl::next<iter1>::type iter2;
74
typedef iter2 iterator;
83
struct iter_fold_impl< 3,First,Last,State,ForwardOp >
87
typedef typename apply2< ForwardOp,state0,iter0 >::type state1;
88
typedef typename mpl::next<iter0>::type iter1;
89
typedef typename apply2< ForwardOp,state1,iter1 >::type state2;
90
typedef typename mpl::next<iter1>::type iter2;
91
typedef typename apply2< ForwardOp,state2,iter2 >::type state3;
92
typedef typename mpl::next<iter2>::type iter3;
96
typedef iter3 iterator;
105
struct iter_fold_impl< 4,First,Last,State,ForwardOp >
108
typedef State state0;
109
typedef typename apply2< ForwardOp,state0,iter0 >::type state1;
110
typedef typename mpl::next<iter0>::type iter1;
111
typedef typename apply2< ForwardOp,state1,iter1 >::type state2;
112
typedef typename mpl::next<iter1>::type iter2;
113
typedef typename apply2< ForwardOp,state2,iter2 >::type state3;
114
typedef typename mpl::next<iter2>::type iter3;
115
typedef typename apply2< ForwardOp,state3,iter3 >::type state4;
116
typedef typename mpl::next<iter3>::type iter4;
119
typedef state4 state;
120
typedef iter4 iterator;
130
struct iter_fold_impl
132
typedef iter_fold_impl<
140
typedef iter_fold_impl<
141
( (N - 4) < 0 ? 0 : N - 4 )
142
, typename chunk_::iterator
144
, typename chunk_::state
148
typedef typename res_::state state;
149
typedef typename res_::iterator iterator;
158
struct iter_fold_impl< -1,First,Last,State,ForwardOp >
161
, typename mpl::next<First>::type
163
, typename apply2< ForwardOp,State,First >::type
174
struct iter_fold_impl< -1,Last,Last,State,ForwardOp >
177
typedef Last iterator;