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 "boost/mpl/apply_wrap.hpp" header
10 // -- DO NOT modify by hand!
12 namespace boost { namespace mpl {
17 struct apply_wrap_impl0;
22 struct apply_wrap_impl0<
28 typedef typename F::template apply<
30 /// since the defaults are "lost", we have to pass *something* even for nullary
31 /// metafunction classes
39 struct apply_wrap_impl0<
45 typedef typename F::template apply<
54 struct apply_wrap_impl0<
60 typedef typename F::template apply<
70 struct apply_wrap_impl0<
76 typedef typename F::template apply<
86 struct apply_wrap_impl0<
92 typedef typename F::template apply<
102 struct apply_wrap_impl0<
108 typedef typename F::template apply<
120 ::boost::mpl::aux::arity< F,0 >::value
128 int N, typename F, typename T1
130 struct apply_wrap_impl1;
133 typename F, typename T1
135 struct apply_wrap_impl1<
141 typedef typename F::template apply<
147 typename F, typename T1
149 struct apply_wrap_impl1<
155 typedef typename F::template apply<
163 typename F, typename T1
165 struct apply_wrap_impl1<
171 typedef typename F::template apply<
179 typename F, typename T1
181 struct apply_wrap_impl1<
187 typedef typename F::template apply<
195 typename F, typename T1
197 struct apply_wrap_impl1<
203 typedef typename F::template apply<
211 typename F, typename T1
215 ::boost::mpl::aux::arity< F,1 >::value
223 int N, typename F, typename T1, typename T2
225 struct apply_wrap_impl2;
228 typename F, typename T1, typename T2
230 struct apply_wrap_impl2<
236 typedef typename F::template apply<
243 typename F, typename T1, typename T2
245 struct apply_wrap_impl2<
251 typedef typename F::template apply<
260 typename F, typename T1, typename T2
262 struct apply_wrap_impl2<
268 typedef typename F::template apply<
277 typename F, typename T1, typename T2
279 struct apply_wrap_impl2<
285 typedef typename F::template apply<
294 typename F, typename T1, typename T2
298 ::boost::mpl::aux::arity< F,2 >::value
306 int N, typename F, typename T1, typename T2, typename T3
308 struct apply_wrap_impl3;
311 typename F, typename T1, typename T2, typename T3
313 struct apply_wrap_impl3<
319 typedef typename F::template apply<
326 typename F, typename T1, typename T2, typename T3
328 struct apply_wrap_impl3<
334 typedef typename F::template apply<
343 typename F, typename T1, typename T2, typename T3
345 struct apply_wrap_impl3<
351 typedef typename F::template apply<
360 typename F, typename T1, typename T2, typename T3
364 ::boost::mpl::aux::arity< F,3 >::value
372 int N, typename F, typename T1, typename T2, typename T3, typename T4
374 struct apply_wrap_impl4;
377 typename F, typename T1, typename T2, typename T3, typename T4
379 struct apply_wrap_impl4<
385 typedef typename F::template apply<
392 typename F, typename T1, typename T2, typename T3, typename T4
394 struct apply_wrap_impl4<
400 typedef typename F::template apply<
409 typename F, typename T1, typename T2, typename T3, typename T4
413 ::boost::mpl::aux::arity< F,4 >::value
421 int N, typename F, typename T1, typename T2, typename T3, typename T4
424 struct apply_wrap_impl5;
427 typename F, typename T1, typename T2, typename T3, typename T4
430 struct apply_wrap_impl5<
436 typedef typename F::template apply<
443 typename F, typename T1, typename T2, typename T3, typename T4
448 ::boost::mpl::aux::arity< F,5 >::value