Ugly, not-to-be-pushed sucking in of all of Boost to get windows to work.
[dyninst.git] / external / boost / mpl / aux_ / preprocessed / msvc70 / apply.hpp
1
2 // Copyright Aleksey Gurtovoy 2000-2004
3 //
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)
7 //
8
9 // Preprocessed version of "boost/mpl/apply.hpp" header
10 // -- DO NOT modify by hand!
11
12 namespace boost { namespace mpl {
13
14 template<
15       typename F
16     >
17 struct apply0
18
19     : apply_wrap0<
20           typename lambda<F>::type
21        
22         >
23 {
24     BOOST_MPL_AUX_LAMBDA_SUPPORT(
25           1
26         , apply0
27         , (F )
28         )
29 };
30
31 /// workaround for ETI bug
32 template<>
33 struct apply0<int>
34 {
35     typedef int type;
36 };
37
38 template<
39       typename F, typename T1
40     >
41 struct apply1
42
43     : apply_wrap1<
44           typename lambda<F>::type
45         , T1
46         >
47 {
48     BOOST_MPL_AUX_LAMBDA_SUPPORT(
49           2
50         , apply1
51         , (F, T1)
52         )
53 };
54
55 /// workaround for ETI bug
56 template<>
57 struct apply1< int,int >
58 {
59     typedef int type;
60 };
61
62 template<
63       typename F, typename T1, typename T2
64     >
65 struct apply2
66
67     : apply_wrap2<
68           typename lambda<F>::type
69         , T1, T2
70         >
71 {
72     BOOST_MPL_AUX_LAMBDA_SUPPORT(
73           3
74         , apply2
75         , (F, T1, T2)
76         )
77 };
78
79 /// workaround for ETI bug
80 template<>
81 struct apply2< int,int,int >
82 {
83     typedef int type;
84 };
85
86 template<
87       typename F, typename T1, typename T2, typename T3
88     >
89 struct apply3
90
91     : apply_wrap3<
92           typename lambda<F>::type
93         , T1, T2, T3
94         >
95 {
96     BOOST_MPL_AUX_LAMBDA_SUPPORT(
97           4
98         , apply3
99         , (F, T1, T2, T3)
100         )
101 };
102
103 /// workaround for ETI bug
104 template<>
105 struct apply3< int,int,int,int >
106 {
107     typedef int type;
108 };
109
110 template<
111       typename F, typename T1, typename T2, typename T3, typename T4
112     >
113 struct apply4
114
115     : apply_wrap4<
116           typename lambda<F>::type
117         , T1, T2, T3, T4
118         >
119 {
120     BOOST_MPL_AUX_LAMBDA_SUPPORT(
121           5
122         , apply4
123         , (F, T1, T2, T3, T4)
124         )
125 };
126
127 /// workaround for ETI bug
128 template<>
129 struct apply4< int,int,int,int,int >
130 {
131     typedef int type;
132 };
133
134 template<
135       typename F, typename T1, typename T2, typename T3, typename T4
136     , typename T5
137     >
138 struct apply5
139
140     : apply_wrap5<
141           typename lambda<F>::type
142         , T1, T2, T3, T4, T5
143         >
144 {
145     BOOST_MPL_AUX_LAMBDA_SUPPORT(
146           6
147         , apply5
148         , (F, T1, T2, T3, T4, T5)
149         )
150 };
151
152 /// workaround for ETI bug
153 template<>
154 struct apply5< int,int,int,int,int,int >
155 {
156     typedef int type;
157 };
158
159 }}
160