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