blob: b81fddcb48a912bf064efbed00408c44a73c8b99 [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{
Jeff Thompson3d613fd2013-10-15 15:39:04 -070024 NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
Jeff Thompsona28eed82013-08-22 16:21:10 -070025 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{
Jeff Thompson3d613fd2013-10-15 15:39:04 -070048 NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
Jeff Thompsona28eed82013-08-22 16:21:10 -070049 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{
Jeff Thompson3d613fd2013-10-15 15:39:04 -070072 NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
Jeff Thompsona28eed82013-08-22 16:21:10 -070073 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{
Jeff Thompson3d613fd2013-10-15 15:39:04 -070096 NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
Jeff Thompsona28eed82013-08-22 16:21:10 -070097 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{
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700120 NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
Jeff Thompsona28eed82013-08-22 16:21:10 -0700121 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{
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700145 NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
Jeff Thompsona28eed82013-08-22 16:21:10 -0700146 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