2 // Copyright Peter Dimov 2001
3 // Copyright Aleksey Gurtovoy 2001-2004
5 // Distributed under the Boost Software License, Version 1.0.
6 // (See accompanying file LICENSE_1_0.txt or copy at
7 // http://www.boost.org/LICENSE_1_0.txt)
10 // Preprocessed version of "boost/mpl/bind.hpp" header
11 // -- DO NOT modify by hand!
13 namespace boost
{ namespace mpl
{
18 typename T
, typename U1
, typename U2
, typename U3
, typename U4
21 struct resolve_bind_arg
30 struct replace_unnamed_arg
39 struct replace_unnamed_arg
< arg
< -1 >, Arg
>
41 typedef typename
Arg::next next
;
46 int N
, typename U1
, typename U2
, typename U3
, typename U4
, typename U5
48 struct resolve_bind_arg
< arg
<N
>, U1
, U2
, U3
, U4
, U5
>
50 typedef typename apply_wrap5
<mpl::arg
<N
>, U1
, U2
, U3
, U4
, U5
>::type type
;
61 typename U1
= na
, typename U2
= na
, typename U3
= na
62 , typename U4
= na
, typename U5
= na
67 typedef aux::replace_unnamed_arg
< F
, mpl::arg
<1> > r0
;
68 typedef typename
r0::type a0
;
69 typedef typename
r0::next n1
;
70 typedef typename
aux::resolve_bind_arg
< a0
,U1
,U2
,U3
,U4
,U5
>::type f_
;
73 typedef typename apply_wrap0
<
83 typename F
, typename U1
, typename U2
, typename U3
, typename U4
86 struct resolve_bind_arg
<
87 bind0
<F
>, U1
, U2
, U3
, U4
, U5
91 typedef typename apply_wrap5
< f_
,U1
,U2
,U3
,U4
,U5
>::type type
;
96 BOOST_MPL_AUX_ARITY_SPEC(1, bind0
)
97 BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0
)
100 typename F
, typename T1
105 typename U1
= na
, typename U2
= na
, typename U3
= na
106 , typename U4
= na
, typename U5
= na
111 typedef aux::replace_unnamed_arg
< F
, mpl::arg
<1> > r0
;
112 typedef typename
r0::type a0
;
113 typedef typename
r0::next n1
;
114 typedef typename
aux::resolve_bind_arg
< a0
,U1
,U2
,U3
,U4
,U5
>::type f_
;
116 typedef aux::replace_unnamed_arg
< T1
,n1
> r1
;
117 typedef typename
r1::type a1
;
118 typedef typename
r1::next n2
;
119 typedef aux::resolve_bind_arg
< a1
,U1
,U2
,U3
,U4
,U5
> t1
;
122 typedef typename apply_wrap1
<
133 typename F
, typename T1
, typename U1
, typename U2
, typename U3
134 , typename U4
, typename U5
136 struct resolve_bind_arg
<
137 bind1
< F
,T1
>, U1
, U2
, U3
, U4
, U5
140 typedef bind1
< F
,T1
> f_
;
141 typedef typename apply_wrap5
< f_
,U1
,U2
,U3
,U4
,U5
>::type type
;
146 BOOST_MPL_AUX_ARITY_SPEC(2, bind1
)
147 BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1
)
150 typename F
, typename T1
, typename T2
155 typename U1
= na
, typename U2
= na
, typename U3
= na
156 , typename U4
= na
, typename U5
= na
161 typedef aux::replace_unnamed_arg
< F
, mpl::arg
<1> > r0
;
162 typedef typename
r0::type a0
;
163 typedef typename
r0::next n1
;
164 typedef typename
aux::resolve_bind_arg
< a0
,U1
,U2
,U3
,U4
,U5
>::type f_
;
166 typedef aux::replace_unnamed_arg
< T1
,n1
> r1
;
167 typedef typename
r1::type a1
;
168 typedef typename
r1::next n2
;
169 typedef aux::resolve_bind_arg
< a1
,U1
,U2
,U3
,U4
,U5
> t1
;
171 typedef aux::replace_unnamed_arg
< T2
,n2
> r2
;
172 typedef typename
r2::type a2
;
173 typedef typename
r2::next n3
;
174 typedef aux::resolve_bind_arg
< a2
,U1
,U2
,U3
,U4
,U5
> t2
;
177 typedef typename apply_wrap2
<
179 , typename
t1::type
, typename
t2::type
188 typename F
, typename T1
, typename T2
, typename U1
, typename U2
189 , typename U3
, typename U4
, typename U5
191 struct resolve_bind_arg
<
192 bind2
< F
,T1
,T2
>, U1
, U2
, U3
, U4
, U5
195 typedef bind2
< F
,T1
,T2
> f_
;
196 typedef typename apply_wrap5
< f_
,U1
,U2
,U3
,U4
,U5
>::type type
;
201 BOOST_MPL_AUX_ARITY_SPEC(3, bind2
)
202 BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2
)
205 typename F
, typename T1
, typename T2
, typename T3
210 typename U1
= na
, typename U2
= na
, typename U3
= na
211 , typename U4
= na
, typename U5
= na
216 typedef aux::replace_unnamed_arg
< F
, mpl::arg
<1> > r0
;
217 typedef typename
r0::type a0
;
218 typedef typename
r0::next n1
;
219 typedef typename
aux::resolve_bind_arg
< a0
,U1
,U2
,U3
,U4
,U5
>::type f_
;
221 typedef aux::replace_unnamed_arg
< T1
,n1
> r1
;
222 typedef typename
r1::type a1
;
223 typedef typename
r1::next n2
;
224 typedef aux::resolve_bind_arg
< a1
,U1
,U2
,U3
,U4
,U5
> t1
;
226 typedef aux::replace_unnamed_arg
< T2
,n2
> r2
;
227 typedef typename
r2::type a2
;
228 typedef typename
r2::next n3
;
229 typedef aux::resolve_bind_arg
< a2
,U1
,U2
,U3
,U4
,U5
> t2
;
231 typedef aux::replace_unnamed_arg
< T3
,n3
> r3
;
232 typedef typename
r3::type a3
;
233 typedef typename
r3::next n4
;
234 typedef aux::resolve_bind_arg
< a3
,U1
,U2
,U3
,U4
,U5
> t3
;
237 typedef typename apply_wrap3
<
239 , typename
t1::type
, typename
t2::type
, typename
t3::type
248 typename F
, typename T1
, typename T2
, typename T3
, typename U1
249 , typename U2
, typename U3
, typename U4
, typename U5
251 struct resolve_bind_arg
<
252 bind3
< F
,T1
,T2
,T3
>, U1
, U2
, U3
, U4
, U5
255 typedef bind3
< F
,T1
,T2
,T3
> f_
;
256 typedef typename apply_wrap5
< f_
,U1
,U2
,U3
,U4
,U5
>::type type
;
261 BOOST_MPL_AUX_ARITY_SPEC(4, bind3
)
262 BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3
)
265 typename F
, typename T1
, typename T2
, typename T3
, typename T4
270 typename U1
= na
, typename U2
= na
, typename U3
= na
271 , typename U4
= na
, typename U5
= na
276 typedef aux::replace_unnamed_arg
< F
, mpl::arg
<1> > r0
;
277 typedef typename
r0::type a0
;
278 typedef typename
r0::next n1
;
279 typedef typename
aux::resolve_bind_arg
< a0
,U1
,U2
,U3
,U4
,U5
>::type f_
;
281 typedef aux::replace_unnamed_arg
< T1
,n1
> r1
;
282 typedef typename
r1::type a1
;
283 typedef typename
r1::next n2
;
284 typedef aux::resolve_bind_arg
< a1
,U1
,U2
,U3
,U4
,U5
> t1
;
286 typedef aux::replace_unnamed_arg
< T2
,n2
> r2
;
287 typedef typename
r2::type a2
;
288 typedef typename
r2::next n3
;
289 typedef aux::resolve_bind_arg
< a2
,U1
,U2
,U3
,U4
,U5
> t2
;
291 typedef aux::replace_unnamed_arg
< T3
,n3
> r3
;
292 typedef typename
r3::type a3
;
293 typedef typename
r3::next n4
;
294 typedef aux::resolve_bind_arg
< a3
,U1
,U2
,U3
,U4
,U5
> t3
;
296 typedef aux::replace_unnamed_arg
< T4
,n4
> r4
;
297 typedef typename
r4::type a4
;
298 typedef typename
r4::next n5
;
299 typedef aux::resolve_bind_arg
< a4
,U1
,U2
,U3
,U4
,U5
> t4
;
302 typedef typename apply_wrap4
<
304 , typename
t1::type
, typename
t2::type
, typename
t3::type
314 typename F
, typename T1
, typename T2
, typename T3
, typename T4
315 , typename U1
, typename U2
, typename U3
, typename U4
, typename U5
317 struct resolve_bind_arg
<
318 bind4
< F
,T1
,T2
,T3
,T4
>, U1
, U2
, U3
, U4
, U5
321 typedef bind4
< F
,T1
,T2
,T3
,T4
> f_
;
322 typedef typename apply_wrap5
< f_
,U1
,U2
,U3
,U4
,U5
>::type type
;
327 BOOST_MPL_AUX_ARITY_SPEC(5, bind4
)
328 BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4
)
331 typename F
, typename T1
, typename T2
, typename T3
, typename T4
337 typename U1
= na
, typename U2
= na
, typename U3
= na
338 , typename U4
= na
, typename U5
= na
343 typedef aux::replace_unnamed_arg
< F
, mpl::arg
<1> > r0
;
344 typedef typename
r0::type a0
;
345 typedef typename
r0::next n1
;
346 typedef typename
aux::resolve_bind_arg
< a0
,U1
,U2
,U3
,U4
,U5
>::type f_
;
348 typedef aux::replace_unnamed_arg
< T1
,n1
> r1
;
349 typedef typename
r1::type a1
;
350 typedef typename
r1::next n2
;
351 typedef aux::resolve_bind_arg
< a1
,U1
,U2
,U3
,U4
,U5
> t1
;
353 typedef aux::replace_unnamed_arg
< T2
,n2
> r2
;
354 typedef typename
r2::type a2
;
355 typedef typename
r2::next n3
;
356 typedef aux::resolve_bind_arg
< a2
,U1
,U2
,U3
,U4
,U5
> t2
;
358 typedef aux::replace_unnamed_arg
< T3
,n3
> r3
;
359 typedef typename
r3::type a3
;
360 typedef typename
r3::next n4
;
361 typedef aux::resolve_bind_arg
< a3
,U1
,U2
,U3
,U4
,U5
> t3
;
363 typedef aux::replace_unnamed_arg
< T4
,n4
> r4
;
364 typedef typename
r4::type a4
;
365 typedef typename
r4::next n5
;
366 typedef aux::resolve_bind_arg
< a4
,U1
,U2
,U3
,U4
,U5
> t4
;
368 typedef aux::replace_unnamed_arg
< T5
,n5
> r5
;
369 typedef typename
r5::type a5
;
370 typedef typename
r5::next n6
;
371 typedef aux::resolve_bind_arg
< a5
,U1
,U2
,U3
,U4
,U5
> t5
;
374 typedef typename apply_wrap5
<
376 , typename
t1::type
, typename
t2::type
, typename
t3::type
377 , typename
t4::type
, typename
t5::type
386 typename F
, typename T1
, typename T2
, typename T3
, typename T4
387 , typename T5
, typename U1
, typename U2
, typename U3
, typename U4
390 struct resolve_bind_arg
<
391 bind5
< F
,T1
,T2
,T3
,T4
,T5
>, U1
, U2
, U3
, U4
, U5
394 typedef bind5
< F
,T1
,T2
,T3
,T4
,T5
> f_
;
395 typedef typename apply_wrap5
< f_
,U1
,U2
,U3
,U4
,U5
>::type type
;
400 BOOST_MPL_AUX_ARITY_SPEC(6, bind5
)
401 BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5
)