2 // Copyright Aleksey Gurtovoy 2000-2004
\r
4 // Distributed under the Boost Software License, Version 1.0.
\r
5 // (See accompanying file LICENSE_1_0.txt or copy at
\r
6 // http://www.boost.org/LICENSE_1_0.txt)
\r
9 // Preprocessed version of "boost/mpl/apply_wrap.hpp" header
\r
10 // -- DO NOT modify by hand!
\r
12 namespace boost { namespace mpl {
\r
17 struct apply_wrap_impl0;
\r
22 struct apply_wrap_impl0<
\r
28 typedef typename F::template apply<
\r
30 /// since the defaults are "lost", we have to pass *something* even for nullary
\r
31 /// metafunction classes
\r
39 struct apply_wrap_impl0<
\r
45 typedef typename F::template apply<
\r
54 struct apply_wrap_impl0<
\r
60 typedef typename F::template apply<
\r
70 struct apply_wrap_impl0<
\r
76 typedef typename F::template apply<
\r
86 struct apply_wrap_impl0<
\r
92 typedef typename F::template apply<
\r
102 struct apply_wrap_impl0<
\r
108 typedef typename F::template apply<
\r
119 : apply_wrap_impl0<
\r
120 ::boost::mpl::aux::arity< F,0 >::value
\r
128 int N, typename F, typename T1
\r
130 struct apply_wrap_impl1;
\r
133 typename F, typename T1
\r
135 struct apply_wrap_impl1<
\r
141 typedef typename F::template apply<
\r
147 typename F, typename T1
\r
149 struct apply_wrap_impl1<
\r
155 typedef typename F::template apply<
\r
163 typename F, typename T1
\r
165 struct apply_wrap_impl1<
\r
171 typedef typename F::template apply<
\r
179 typename F, typename T1
\r
181 struct apply_wrap_impl1<
\r
187 typedef typename F::template apply<
\r
195 typename F, typename T1
\r
197 struct apply_wrap_impl1<
\r
203 typedef typename F::template apply<
\r
211 typename F, typename T1
\r
214 : apply_wrap_impl1<
\r
215 ::boost::mpl::aux::arity< F,1 >::value
\r
223 int N, typename F, typename T1, typename T2
\r
225 struct apply_wrap_impl2;
\r
228 typename F, typename T1, typename T2
\r
230 struct apply_wrap_impl2<
\r
236 typedef typename F::template apply<
\r
243 typename F, typename T1, typename T2
\r
245 struct apply_wrap_impl2<
\r
251 typedef typename F::template apply<
\r
260 typename F, typename T1, typename T2
\r
262 struct apply_wrap_impl2<
\r
268 typedef typename F::template apply<
\r
277 typename F, typename T1, typename T2
\r
279 struct apply_wrap_impl2<
\r
285 typedef typename F::template apply<
\r
294 typename F, typename T1, typename T2
\r
297 : apply_wrap_impl2<
\r
298 ::boost::mpl::aux::arity< F,2 >::value
\r
306 int N, typename F, typename T1, typename T2, typename T3
\r
308 struct apply_wrap_impl3;
\r
311 typename F, typename T1, typename T2, typename T3
\r
313 struct apply_wrap_impl3<
\r
319 typedef typename F::template apply<
\r
326 typename F, typename T1, typename T2, typename T3
\r
328 struct apply_wrap_impl3<
\r
334 typedef typename F::template apply<
\r
343 typename F, typename T1, typename T2, typename T3
\r
345 struct apply_wrap_impl3<
\r
351 typedef typename F::template apply<
\r
360 typename F, typename T1, typename T2, typename T3
\r
363 : apply_wrap_impl3<
\r
364 ::boost::mpl::aux::arity< F,3 >::value
\r
372 int N, typename F, typename T1, typename T2, typename T3, typename T4
\r
374 struct apply_wrap_impl4;
\r
377 typename F, typename T1, typename T2, typename T3, typename T4
\r
379 struct apply_wrap_impl4<
\r
385 typedef typename F::template apply<
\r
392 typename F, typename T1, typename T2, typename T3, typename T4
\r
394 struct apply_wrap_impl4<
\r
400 typedef typename F::template apply<
\r
409 typename F, typename T1, typename T2, typename T3, typename T4
\r
412 : apply_wrap_impl4<
\r
413 ::boost::mpl::aux::arity< F,4 >::value
\r
421 int N, typename F, typename T1, typename T2, typename T3, typename T4
\r
424 struct apply_wrap_impl5;
\r
427 typename F, typename T1, typename T2, typename T3, typename T4
\r
430 struct apply_wrap_impl5<
\r
433 , T1, T2, T3, T4, T5
\r
436 typedef typename F::template apply<
\r
443 typename F, typename T1, typename T2, typename T3, typename T4
\r
447 : apply_wrap_impl5<
\r
448 ::boost::mpl::aux::arity< F,5 >::value
\r
450 , T1, T2, T3, T4, T5
\r