williamr@4
|
1 |
|
williamr@4
|
2 |
// Copyright Aleksey Gurtovoy 2000-2004
|
williamr@4
|
3 |
//
|
williamr@4
|
4 |
// Distributed under the Boost Software License, Version 1.0.
|
williamr@4
|
5 |
// (See accompanying file LICENSE_1_0.txt or copy at
|
williamr@4
|
6 |
// http://www.boost.org/LICENSE_1_0.txt)
|
williamr@4
|
7 |
//
|
williamr@4
|
8 |
|
williamr@4
|
9 |
// Preprocessed version of "boost/mpl/apply.hpp" header
|
williamr@4
|
10 |
// -- DO NOT modify by hand!
|
williamr@4
|
11 |
|
williamr@4
|
12 |
namespace boost { namespace mpl {
|
williamr@4
|
13 |
|
williamr@4
|
14 |
template<
|
williamr@4
|
15 |
typename F
|
williamr@4
|
16 |
>
|
williamr@4
|
17 |
struct apply0
|
williamr@4
|
18 |
|
williamr@4
|
19 |
: apply_wrap0<
|
williamr@4
|
20 |
typename lambda<F>::type
|
williamr@4
|
21 |
|
williamr@4
|
22 |
>
|
williamr@4
|
23 |
{
|
williamr@4
|
24 |
};
|
williamr@4
|
25 |
|
williamr@4
|
26 |
template<
|
williamr@4
|
27 |
typename F
|
williamr@4
|
28 |
>
|
williamr@4
|
29 |
struct apply< F,na,na,na,na,na >
|
williamr@4
|
30 |
: apply0<F>
|
williamr@4
|
31 |
{
|
williamr@4
|
32 |
};
|
williamr@4
|
33 |
|
williamr@4
|
34 |
template<
|
williamr@4
|
35 |
typename F, typename T1
|
williamr@4
|
36 |
>
|
williamr@4
|
37 |
struct apply1
|
williamr@4
|
38 |
|
williamr@4
|
39 |
: apply_wrap1<
|
williamr@4
|
40 |
typename lambda<F>::type
|
williamr@4
|
41 |
, T1
|
williamr@4
|
42 |
>
|
williamr@4
|
43 |
{
|
williamr@4
|
44 |
};
|
williamr@4
|
45 |
|
williamr@4
|
46 |
template<
|
williamr@4
|
47 |
typename F, typename T1
|
williamr@4
|
48 |
>
|
williamr@4
|
49 |
struct apply< F,T1,na,na,na,na >
|
williamr@4
|
50 |
: apply1< F,T1 >
|
williamr@4
|
51 |
{
|
williamr@4
|
52 |
};
|
williamr@4
|
53 |
|
williamr@4
|
54 |
template<
|
williamr@4
|
55 |
typename F, typename T1, typename T2
|
williamr@4
|
56 |
>
|
williamr@4
|
57 |
struct apply2
|
williamr@4
|
58 |
|
williamr@4
|
59 |
: apply_wrap2<
|
williamr@4
|
60 |
typename lambda<F>::type
|
williamr@4
|
61 |
, T1, T2
|
williamr@4
|
62 |
>
|
williamr@4
|
63 |
{
|
williamr@4
|
64 |
};
|
williamr@4
|
65 |
|
williamr@4
|
66 |
template<
|
williamr@4
|
67 |
typename F, typename T1, typename T2
|
williamr@4
|
68 |
>
|
williamr@4
|
69 |
struct apply< F,T1,T2,na,na,na >
|
williamr@4
|
70 |
: apply2< F,T1,T2 >
|
williamr@4
|
71 |
{
|
williamr@4
|
72 |
};
|
williamr@4
|
73 |
|
williamr@4
|
74 |
template<
|
williamr@4
|
75 |
typename F, typename T1, typename T2, typename T3
|
williamr@4
|
76 |
>
|
williamr@4
|
77 |
struct apply3
|
williamr@4
|
78 |
|
williamr@4
|
79 |
: apply_wrap3<
|
williamr@4
|
80 |
typename lambda<F>::type
|
williamr@4
|
81 |
, T1, T2, T3
|
williamr@4
|
82 |
>
|
williamr@4
|
83 |
{
|
williamr@4
|
84 |
};
|
williamr@4
|
85 |
|
williamr@4
|
86 |
template<
|
williamr@4
|
87 |
typename F, typename T1, typename T2, typename T3
|
williamr@4
|
88 |
>
|
williamr@4
|
89 |
struct apply< F,T1,T2,T3,na,na >
|
williamr@4
|
90 |
: apply3< F,T1,T2,T3 >
|
williamr@4
|
91 |
{
|
williamr@4
|
92 |
};
|
williamr@4
|
93 |
|
williamr@4
|
94 |
template<
|
williamr@4
|
95 |
typename F, typename T1, typename T2, typename T3, typename T4
|
williamr@4
|
96 |
>
|
williamr@4
|
97 |
struct apply4
|
williamr@4
|
98 |
|
williamr@4
|
99 |
: apply_wrap4<
|
williamr@4
|
100 |
typename lambda<F>::type
|
williamr@4
|
101 |
, T1, T2, T3, T4
|
williamr@4
|
102 |
>
|
williamr@4
|
103 |
{
|
williamr@4
|
104 |
};
|
williamr@4
|
105 |
|
williamr@4
|
106 |
template<
|
williamr@4
|
107 |
typename F, typename T1, typename T2, typename T3, typename T4
|
williamr@4
|
108 |
>
|
williamr@4
|
109 |
struct apply< F,T1,T2,T3,T4,na >
|
williamr@4
|
110 |
: apply4< F,T1,T2,T3,T4 >
|
williamr@4
|
111 |
{
|
williamr@4
|
112 |
};
|
williamr@4
|
113 |
|
williamr@4
|
114 |
template<
|
williamr@4
|
115 |
typename F, typename T1, typename T2, typename T3, typename T4
|
williamr@4
|
116 |
, typename T5
|
williamr@4
|
117 |
>
|
williamr@4
|
118 |
struct apply5
|
williamr@4
|
119 |
|
williamr@4
|
120 |
: apply_wrap5<
|
williamr@4
|
121 |
typename lambda<F>::type
|
williamr@4
|
122 |
, T1, T2, T3, T4, T5
|
williamr@4
|
123 |
>
|
williamr@4
|
124 |
{
|
williamr@4
|
125 |
};
|
williamr@4
|
126 |
|
williamr@4
|
127 |
/// primary template (not a specialization!)
|
williamr@4
|
128 |
|
williamr@4
|
129 |
template<
|
williamr@4
|
130 |
typename F, typename T1, typename T2, typename T3, typename T4
|
williamr@4
|
131 |
, typename T5
|
williamr@4
|
132 |
>
|
williamr@4
|
133 |
struct apply
|
williamr@4
|
134 |
: apply5< F,T1,T2,T3,T4,T5 >
|
williamr@4
|
135 |
{
|
williamr@4
|
136 |
};
|
williamr@4
|
137 |
|
williamr@4
|
138 |
}}
|
williamr@4
|
139 |
|