]> git.proxmox.com Git - ceph.git/blob - ceph/src/boost/libs/mpl/include/boost/mpl/aux_/preprocessed/bcc551/apply.hpp
add subtree-ish sources for 12.0.3
[ceph.git] / ceph / src / boost / libs / mpl / include / boost / mpl / aux_ / preprocessed / bcc551 / apply.hpp
1
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 "boost/mpl/apply.hpp" header
10 // -- DO NOT modify by hand!
11
12 namespace boost { namespace mpl {
13
14 template<
15 typename F
16 >
17 struct 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 template<
32 typename F
33 >
34 struct apply< F,na,na,na,na,na >
35 : apply0<F>
36 {
37 };
38
39 template<
40 typename F, typename T1
41 >
42 struct apply1
43
44 : apply_wrap1<
45 typename lambda<F>::type
46 , T1
47 >
48 {
49 BOOST_MPL_AUX_LAMBDA_SUPPORT(
50 2
51 , apply1
52 , (F, T1)
53 )
54 };
55
56 template<
57 typename F, typename T1
58 >
59 struct apply< F,T1,na,na,na,na >
60 : apply1< F,T1 >
61 {
62 };
63
64 template<
65 typename F, typename T1, typename T2
66 >
67 struct apply2
68
69 : apply_wrap2<
70 typename lambda<F>::type
71 , T1, T2
72 >
73 {
74 BOOST_MPL_AUX_LAMBDA_SUPPORT(
75 3
76 , apply2
77 , (F, T1, T2)
78 )
79 };
80
81 template<
82 typename F, typename T1, typename T2
83 >
84 struct apply< F,T1,T2,na,na,na >
85 : apply2< F,T1,T2 >
86 {
87 };
88
89 template<
90 typename F, typename T1, typename T2, typename T3
91 >
92 struct apply3
93
94 : apply_wrap3<
95 typename lambda<F>::type
96 , T1, T2, T3
97 >
98 {
99 BOOST_MPL_AUX_LAMBDA_SUPPORT(
100 4
101 , apply3
102 , (F, T1, T2, T3)
103 )
104 };
105
106 template<
107 typename F, typename T1, typename T2, typename T3
108 >
109 struct apply< F,T1,T2,T3,na,na >
110 : apply3< F,T1,T2,T3 >
111 {
112 };
113
114 template<
115 typename F, typename T1, typename T2, typename T3, typename T4
116 >
117 struct apply4
118
119 : apply_wrap4<
120 typename lambda<F>::type
121 , T1, T2, T3, T4
122 >
123 {
124 BOOST_MPL_AUX_LAMBDA_SUPPORT(
125 5
126 , apply4
127 , (F, T1, T2, T3, T4)
128 )
129 };
130
131 template<
132 typename F, typename T1, typename T2, typename T3, typename T4
133 >
134 struct apply< F,T1,T2,T3,T4,na >
135 : apply4< F,T1,T2,T3,T4 >
136 {
137 };
138
139 template<
140 typename F, typename T1, typename T2, typename T3, typename T4
141 , typename T5
142 >
143 struct apply5
144
145 : apply_wrap5<
146 typename lambda<F>::type
147 , T1, T2, T3, T4, T5
148 >
149 {
150 BOOST_MPL_AUX_LAMBDA_SUPPORT(
151 6
152 , apply5
153 , (F, T1, T2, T3, T4, T5)
154 )
155 };
156
157 /// primary template (not a specialization!)
158
159 template<
160 typename F, typename T1, typename T2, typename T3, typename T4
161 , typename T5
162 >
163 struct apply
164 : apply5< F,T1,T2,T3,T4,T5 >
165 {
166 };
167
168 }}
169