1
// preprocessed version of 'boost/mpl/bind.hpp' header
2
// see the original for copyright information
10
typename T, typename U1, typename U2, typename U3, typename U4
13
struct resolve_bind_arg
20
template< typename F, typename T > struct bind1st;
21
template< typename F, typename T > struct bind2nd;
26
int N, typename U1, typename U2, typename U3, typename U4, typename U5
28
struct resolve_bind_arg< arg<N>,U1,U2,U3,U4,U5 >
30
typedef typename apply5<mpl::arg< N>,U1,U2,U3,U4,U5 >::type type;
34
typename F, typename T, typename U1, typename U2, typename U3
35
, typename U4, typename U5
37
struct resolve_bind_arg< bind1st<F,T>,U1,U2,U3,U4,U5 >
39
typedef bind1st< F,T > f_;
40
typedef typename apply5< f_,U1,U2,U3,U4,U5 >::type type;
44
typename F, typename T, typename U1, typename U2, typename U3
45
, typename U4, typename U5
47
struct resolve_bind_arg< bind2nd<F,T>,U1,U2,U3,U4,U5 >
49
typedef bind2nd< F,T > f_;
50
typedef typename apply5< f_,U1,U2,U3,U4,U5 >::type type;
55
BOOST_MPL_AUX_ARITY_SPEC(2, bind1st)
56
BOOST_MPL_AUX_ARITY_SPEC(2, bind2nd)
64
typename U1, typename U2, typename U3, typename U4, typename U5
69
typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;
72
typedef typename apply0<f_>::type type;
79
typename F, typename U1, typename U2, typename U3, typename U4
82
struct resolve_bind_arg<
83
bind0<F>,U1, U2, U3, U4, U5
87
typedef typename apply5< f_,U1,U2,U3,U4,U5 >::type type;
92
BOOST_MPL_AUX_ARITY_SPEC(1, bind0)
95
typename F, typename T1
100
typename U1, typename U2, typename U3, typename U4, typename U5
105
typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;
106
typedef typename aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 >::type t1;
109
typedef typename apply1< f_,t1 >::type type;
116
typename F, typename T1, typename U1, typename U2, typename U3
117
, typename U4, typename U5
119
struct resolve_bind_arg<
120
bind1< F,T1 >,U1, U2, U3, U4, U5
123
typedef bind1< F,T1 > f_;
124
typedef typename apply5< f_,U1,U2,U3,U4,U5 >::type type;
129
BOOST_MPL_AUX_ARITY_SPEC(2, bind1)
132
typename F, typename T1, typename T2
137
typename U1, typename U2, typename U3, typename U4, typename U5
142
typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;
143
typedef typename aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 >::type t1;
144
typedef typename aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 >::type t2;
147
typedef typename apply2< f_,t1,t2 >::type type;
154
typename F, typename T1, typename T2, typename U1, typename U2
155
, typename U3, typename U4, typename U5
157
struct resolve_bind_arg<
158
bind2< F,T1,T2 >,U1, U2, U3, U4, U5
161
typedef bind2< F,T1,T2 > f_;
162
typedef typename apply5< f_,U1,U2,U3,U4,U5 >::type type;
167
BOOST_MPL_AUX_ARITY_SPEC(3, bind2)
170
typename F, typename T1, typename T2, typename T3
175
typename U1, typename U2, typename U3, typename U4, typename U5
180
typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;
181
typedef typename aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 >::type t1;
182
typedef typename aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 >::type t2;
183
typedef typename aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 >::type t3;
186
typedef typename apply3< f_,t1,t2,t3 >::type type;
193
typename F, typename T1, typename T2, typename T3, typename U1
194
, typename U2, typename U3, typename U4, typename U5
196
struct resolve_bind_arg<
197
bind3< F,T1,T2,T3 >,U1, U2, U3, U4, U5
200
typedef bind3< F,T1,T2,T3 > f_;
201
typedef typename apply5< f_,U1,U2,U3,U4,U5 >::type type;
206
BOOST_MPL_AUX_ARITY_SPEC(4, bind3)
209
typename F, typename T1, typename T2, typename T3, typename T4
214
typename U1, typename U2, typename U3, typename U4, typename U5
219
typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;
220
typedef typename aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 >::type t1;
221
typedef typename aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 >::type t2;
222
typedef typename aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 >::type t3;
223
typedef typename aux::resolve_bind_arg< T4,U1,U2,U3,U4,U5 >::type t4;
226
typedef typename apply4< f_,t1,t2,t3,t4 >::type type;
233
typename F, typename T1, typename T2, typename T3, typename T4
234
, typename U1, typename U2, typename U3, typename U4, typename U5
236
struct resolve_bind_arg<
237
bind4< F,T1,T2,T3,T4 >,U1, U2, U3, U4, U5
240
typedef bind4< F,T1,T2,T3,T4 > f_;
241
typedef typename apply5< f_,U1,U2,U3,U4,U5 >::type type;
246
BOOST_MPL_AUX_ARITY_SPEC(5, bind4)
249
typename F, typename T1, typename T2, typename T3, typename T4
255
typename U1, typename U2, typename U3, typename U4, typename U5
260
typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;
261
typedef typename aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 >::type t1;
262
typedef typename aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 >::type t2;
263
typedef typename aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 >::type t3;
264
typedef typename aux::resolve_bind_arg< T4,U1,U2,U3,U4,U5 >::type t4;
265
typedef typename aux::resolve_bind_arg< T5,U1,U2,U3,U4,U5 >::type t5;
268
typedef typename apply5< f_,t1,t2,t3,t4,t5 >::type type;
275
typename F, typename T1, typename T2, typename T3, typename T4
276
, typename T5, typename U1, typename U2, typename U3, typename U4
279
struct resolve_bind_arg<
280
bind5< F,T1,T2,T3,T4,T5 >,U1, U2, U3, U4, U5
283
typedef bind5< F,T1,T2,T3,T4,T5 > f_;
284
typedef typename apply5< f_,U1,U2,U3,U4,U5 >::type type;
289
BOOST_MPL_AUX_ARITY_SPEC(6, bind5)
291
template< typename F, typename T >
296
, typename U2, typename U3, typename U4, typename U5
304
template< typename F, typename T >
309
, typename U2, typename U3, typename U4, typename U5