]> AND Private Git Repository - canny.git/blob - stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/apply.hpp
Logo AND Algorithmique Numérique Distribuée

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