blob: 99f1c710712145e72ecdf3d86da5fc08cacca065 [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 : 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
32template<>
33struct apply0<int>
34{
35 typedef int type;
36};
37
38template<
39 typename F, typename T1
40 >
41struct 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
56template<>
57struct apply1< int,int >
58{
59 typedef int type;
60};
61
62template<
63 typename F, typename T1, typename T2
64 >
65struct 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
80template<>
81struct apply2< int,int,int >
82{
83 typedef int type;
84};
85
86template<
87 typename F, typename T1, typename T2, typename T3
88 >
89struct 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
104template<>
105struct apply3< int,int,int,int >
106{
107 typedef int type;
108};
109
110template<
111 typename F, typename T1, typename T2, typename T3, typename T4
112 >
113struct 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
128template<>
129struct apply4< int,int,int,int,int >
130{
131 typedef int type;
132};
133
134template<
135 typename F, typename T1, typename T2, typename T3, typename T4
136 , typename T5
137 >
138struct 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
153template<>
154struct apply5< int,int,int,int,int,int >
155{
156 typedef int type;
157};
158
159}}
160