blob: a20ec4619de952f3a6c35a5978eae701c89ad705 [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};
25
26template<
27 typename F
28 >
29struct apply< F,na,na,na,na,na >
30 : apply0<F>
31{
32};
33
34template<
35 typename F, typename T1
36 >
37struct apply1
38
39 : apply_wrap1<
40 typename lambda<F>::type
41 , T1
42 >
43{
44};
45
46template<
47 typename F, typename T1
48 >
49struct apply< F,T1,na,na,na,na >
50 : apply1< F,T1 >
51{
52};
53
54template<
55 typename F, typename T1, typename T2
56 >
57struct apply2
58
59 : apply_wrap2<
60 typename lambda<F>::type
61 , T1, T2
62 >
63{
64};
65
66template<
67 typename F, typename T1, typename T2
68 >
69struct apply< F,T1,T2,na,na,na >
70 : apply2< F,T1,T2 >
71{
72};
73
74template<
75 typename F, typename T1, typename T2, typename T3
76 >
77struct apply3
78
79 : apply_wrap3<
80 typename lambda<F>::type
81 , T1, T2, T3
82 >
83{
84};
85
86template<
87 typename F, typename T1, typename T2, typename T3
88 >
89struct apply< F,T1,T2,T3,na,na >
90 : apply3< F,T1,T2,T3 >
91{
92};
93
94template<
95 typename F, typename T1, typename T2, typename T3, typename T4
96 >
97struct apply4
98
99 : apply_wrap4<
100 typename lambda<F>::type
101 , T1, T2, T3, T4
102 >
103{
104};
105
106template<
107 typename F, typename T1, typename T2, typename T3, typename T4
108 >
109struct apply< F,T1,T2,T3,T4,na >
110 : apply4< F,T1,T2,T3,T4 >
111{
112};
113
114template<
115 typename F, typename T1, typename T2, typename T3, typename T4
116 , typename T5
117 >
118struct apply5
119
120 : apply_wrap5<
121 typename lambda<F>::type
122 , T1, T2, T3, T4, T5
123 >
124{
125};
126
127/// primary template (not a specialization!)
128
129template<
130 typename F, typename T1, typename T2, typename T3, typename T4
131 , typename T5
132 >
133struct apply
134 : apply5< F,T1,T2,T3,T4,T5 >
135{
136};
137
138}}
139