]> git.proxmox.com Git - ceph.git/blame - ceph/src/boost/libs/phoenix/include/boost/phoenix/core/detail/cpp03/preprocessed/expression_10.hpp
bump version to 12.2.2-pve1
[ceph.git] / ceph / src / boost / libs / phoenix / include / boost / phoenix / core / detail / cpp03 / preprocessed / expression_10.hpp
CommitLineData
7c673cae
FG
1/*=============================================================================
2 Copyright (c) 2005-2010 Joel de Guzman
3 Copyright (c) 2010 Eric Niebler
4 Copyright (c) 2010 Thomas Heller
5
6 Distributed under the Boost Software License, Version 1.0. (See accompanying
7 file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
8==============================================================================*/
9 template <
10 template <typename> class Actor
11 , typename Tag
12 , typename A0 = void , typename A1 = void , typename A2 = void , typename A3 = void , typename A4 = void , typename A5 = void , typename A6 = void , typename A7 = void , typename A8 = void , typename A9 = void
13 , typename Dummy = void>
14 struct expr_ext;
15 template <
16 typename Tag
17 , typename A0 = void , typename A1 = void , typename A2 = void , typename A3 = void , typename A4 = void , typename A5 = void , typename A6 = void , typename A7 = void , typename A8 = void , typename A9 = void
18 , typename Dummy = void
19 >
20 struct expr : expr_ext<actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9> {};
21
22
23
24
25
26
27
28 template <template <typename> class Actor, typename Tag, typename A0>
29 struct expr_ext<Actor, Tag, A0>
30 : proto::transform<expr_ext<Actor, Tag, A0>, int>
31 {
32 typedef
33 typename proto::result_of::make_expr<
34 Tag
35 , phoenix_default_domain
36 , typename proto::detail::uncvref<typename call_traits<A0>::value_type>::type
37 >::type
38 base_type;
39 typedef Actor<base_type> type;
40 typedef
41 typename proto::nary_expr<Tag, A0>::proto_grammar
42 proto_grammar;
43 static type make(typename call_traits<A0>::param_type a0)
44 {
45
46 actor<base_type> const e =
47 {
48 proto::make_expr<
49 Tag
50 , phoenix_default_domain
51 >(a0)
52 };
53 return e;
54 }
55 template<typename Expr, typename State, typename Data>
56 struct impl
57 : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
58 {};
59 typedef Tag proto_tag;
60 typedef A0 proto_child0;
61 };
62
63
64
65
66
67
68
69 template <template <typename> class Actor, typename Tag, typename A0 , typename A1>
70 struct expr_ext<Actor, Tag, A0 , A1>
71 : proto::transform<expr_ext<Actor, Tag, A0 , A1>, int>
72 {
73 typedef
74 typename proto::result_of::make_expr<
75 Tag
76 , phoenix_default_domain
77 , typename proto::detail::uncvref<typename call_traits<A0>::value_type>::type , typename proto::detail::uncvref<typename call_traits<A1>::value_type>::type
78 >::type
79 base_type;
80 typedef Actor<base_type> type;
81 typedef
82 typename proto::nary_expr<Tag, A0 , A1>::proto_grammar
83 proto_grammar;
84 static type make(typename call_traits<A0>::param_type a0 , typename call_traits<A1>::param_type a1)
85 {
86
87 actor<base_type> const e =
88 {
89 proto::make_expr<
90 Tag
91 , phoenix_default_domain
92 >(a0 , a1)
93 };
94 return e;
95 }
96 template<typename Expr, typename State, typename Data>
97 struct impl
98 : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
99 {};
100 typedef Tag proto_tag;
101 typedef A0 proto_child0; typedef A1 proto_child1;
102 };
103
104
105
106
107
108
109
110 template <template <typename> class Actor, typename Tag, typename A0 , typename A1 , typename A2>
111 struct expr_ext<Actor, Tag, A0 , A1 , A2>
112 : proto::transform<expr_ext<Actor, Tag, A0 , A1 , A2>, int>
113 {
114 typedef
115 typename proto::result_of::make_expr<
116 Tag
117 , phoenix_default_domain
118 , typename proto::detail::uncvref<typename call_traits<A0>::value_type>::type , typename proto::detail::uncvref<typename call_traits<A1>::value_type>::type , typename proto::detail::uncvref<typename call_traits<A2>::value_type>::type
119 >::type
120 base_type;
121 typedef Actor<base_type> type;
122 typedef
123 typename proto::nary_expr<Tag, A0 , A1 , A2>::proto_grammar
124 proto_grammar;
125 static type make(typename call_traits<A0>::param_type a0 , typename call_traits<A1>::param_type a1 , typename call_traits<A2>::param_type a2)
126 {
127
128 actor<base_type> const e =
129 {
130 proto::make_expr<
131 Tag
132 , phoenix_default_domain
133 >(a0 , a1 , a2)
134 };
135 return e;
136 }
137 template<typename Expr, typename State, typename Data>
138 struct impl
139 : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
140 {};
141 typedef Tag proto_tag;
142 typedef A0 proto_child0; typedef A1 proto_child1; typedef A2 proto_child2;
143 };
144
145
146
147
148
149
150
151 template <template <typename> class Actor, typename Tag, typename A0 , typename A1 , typename A2 , typename A3>
152 struct expr_ext<Actor, Tag, A0 , A1 , A2 , A3>
153 : proto::transform<expr_ext<Actor, Tag, A0 , A1 , A2 , A3>, int>
154 {
155 typedef
156 typename proto::result_of::make_expr<
157 Tag
158 , phoenix_default_domain
159 , typename proto::detail::uncvref<typename call_traits<A0>::value_type>::type , typename proto::detail::uncvref<typename call_traits<A1>::value_type>::type , typename proto::detail::uncvref<typename call_traits<A2>::value_type>::type , typename proto::detail::uncvref<typename call_traits<A3>::value_type>::type
160 >::type
161 base_type;
162 typedef Actor<base_type> type;
163 typedef
164 typename proto::nary_expr<Tag, A0 , A1 , A2 , A3>::proto_grammar
165 proto_grammar;
166 static type make(typename call_traits<A0>::param_type a0 , typename call_traits<A1>::param_type a1 , typename call_traits<A2>::param_type a2 , typename call_traits<A3>::param_type a3)
167 {
168
169 actor<base_type> const e =
170 {
171 proto::make_expr<
172 Tag
173 , phoenix_default_domain
174 >(a0 , a1 , a2 , a3)
175 };
176 return e;
177 }
178 template<typename Expr, typename State, typename Data>
179 struct impl
180 : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
181 {};
182 typedef Tag proto_tag;
183 typedef A0 proto_child0; typedef A1 proto_child1; typedef A2 proto_child2; typedef A3 proto_child3;
184 };
185
186
187
188
189
190
191
192 template <template <typename> class Actor, typename Tag, typename A0 , typename A1 , typename A2 , typename A3 , typename A4>
193 struct expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4>
194 : proto::transform<expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4>, int>
195 {
196 typedef
197 typename proto::result_of::make_expr<
198 Tag
199 , phoenix_default_domain
200 , typename proto::detail::uncvref<typename call_traits<A0>::value_type>::type , typename proto::detail::uncvref<typename call_traits<A1>::value_type>::type , typename proto::detail::uncvref<typename call_traits<A2>::value_type>::type , typename proto::detail::uncvref<typename call_traits<A3>::value_type>::type , typename proto::detail::uncvref<typename call_traits<A4>::value_type>::type
201 >::type
202 base_type;
203 typedef Actor<base_type> type;
204 typedef
205 typename proto::nary_expr<Tag, A0 , A1 , A2 , A3 , A4>::proto_grammar
206 proto_grammar;
207 static type make(typename call_traits<A0>::param_type a0 , typename call_traits<A1>::param_type a1 , typename call_traits<A2>::param_type a2 , typename call_traits<A3>::param_type a3 , typename call_traits<A4>::param_type a4)
208 {
209
210 actor<base_type> const e =
211 {
212 proto::make_expr<
213 Tag
214 , phoenix_default_domain
215 >(a0 , a1 , a2 , a3 , a4)
216 };
217 return e;
218 }
219 template<typename Expr, typename State, typename Data>
220 struct impl
221 : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
222 {};
223 typedef Tag proto_tag;
224 typedef A0 proto_child0; typedef A1 proto_child1; typedef A2 proto_child2; typedef A3 proto_child3; typedef A4 proto_child4;
225 };
226
227
228
229
230
231
232
233 template <template <typename> class Actor, typename Tag, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5>
234 struct expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5>
235 : proto::transform<expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5>, int>
236 {
237 typedef
238 typename proto::result_of::make_expr<
239 Tag
240 , phoenix_default_domain
241 , typename proto::detail::uncvref<typename call_traits<A0>::value_type>::type , typename proto::detail::uncvref<typename call_traits<A1>::value_type>::type , typename proto::detail::uncvref<typename call_traits<A2>::value_type>::type , typename proto::detail::uncvref<typename call_traits<A3>::value_type>::type , typename proto::detail::uncvref<typename call_traits<A4>::value_type>::type , typename proto::detail::uncvref<typename call_traits<A5>::value_type>::type
242 >::type
243 base_type;
244 typedef Actor<base_type> type;
245 typedef
246 typename proto::nary_expr<Tag, A0 , A1 , A2 , A3 , A4 , A5>::proto_grammar
247 proto_grammar;
248 static type make(typename call_traits<A0>::param_type a0 , typename call_traits<A1>::param_type a1 , typename call_traits<A2>::param_type a2 , typename call_traits<A3>::param_type a3 , typename call_traits<A4>::param_type a4 , typename call_traits<A5>::param_type a5)
249 {
250
251 actor<base_type> const e =
252 {
253 proto::make_expr<
254 Tag
255 , phoenix_default_domain
256 >(a0 , a1 , a2 , a3 , a4 , a5)
257 };
258 return e;
259 }
260 template<typename Expr, typename State, typename Data>
261 struct impl
262 : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
263 {};
264 typedef Tag proto_tag;
265 typedef A0 proto_child0; typedef A1 proto_child1; typedef A2 proto_child2; typedef A3 proto_child3; typedef A4 proto_child4; typedef A5 proto_child5;
266 };
267
268
269
270
271
272
273
274 template <template <typename> class Actor, typename Tag, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6>
275 struct expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6>
276 : proto::transform<expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6>, int>
277 {
278 typedef
279 typename proto::result_of::make_expr<
280 Tag
281 , phoenix_default_domain
282 , typename proto::detail::uncvref<typename call_traits<A0>::value_type>::type , typename proto::detail::uncvref<typename call_traits<A1>::value_type>::type , typename proto::detail::uncvref<typename call_traits<A2>::value_type>::type , typename proto::detail::uncvref<typename call_traits<A3>::value_type>::type , typename proto::detail::uncvref<typename call_traits<A4>::value_type>::type , typename proto::detail::uncvref<typename call_traits<A5>::value_type>::type , typename proto::detail::uncvref<typename call_traits<A6>::value_type>::type
283 >::type
284 base_type;
285 typedef Actor<base_type> type;
286 typedef
287 typename proto::nary_expr<Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6>::proto_grammar
288 proto_grammar;
289 static type make(typename call_traits<A0>::param_type a0 , typename call_traits<A1>::param_type a1 , typename call_traits<A2>::param_type a2 , typename call_traits<A3>::param_type a3 , typename call_traits<A4>::param_type a4 , typename call_traits<A5>::param_type a5 , typename call_traits<A6>::param_type a6)
290 {
291
292 actor<base_type> const e =
293 {
294 proto::make_expr<
295 Tag
296 , phoenix_default_domain
297 >(a0 , a1 , a2 , a3 , a4 , a5 , a6)
298 };
299 return e;
300 }
301 template<typename Expr, typename State, typename Data>
302 struct impl
303 : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
304 {};
305 typedef Tag proto_tag;
306 typedef A0 proto_child0; typedef A1 proto_child1; typedef A2 proto_child2; typedef A3 proto_child3; typedef A4 proto_child4; typedef A5 proto_child5; typedef A6 proto_child6;
307 };
308
309
310
311
312
313
314
315 template <template <typename> class Actor, typename Tag, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7>
316 struct expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7>
317 : proto::transform<expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7>, int>
318 {
319 typedef
320 typename proto::result_of::make_expr<
321 Tag
322 , phoenix_default_domain
323 , typename proto::detail::uncvref<typename call_traits<A0>::value_type>::type , typename proto::detail::uncvref<typename call_traits<A1>::value_type>::type , typename proto::detail::uncvref<typename call_traits<A2>::value_type>::type , typename proto::detail::uncvref<typename call_traits<A3>::value_type>::type , typename proto::detail::uncvref<typename call_traits<A4>::value_type>::type , typename proto::detail::uncvref<typename call_traits<A5>::value_type>::type , typename proto::detail::uncvref<typename call_traits<A6>::value_type>::type , typename proto::detail::uncvref<typename call_traits<A7>::value_type>::type
324 >::type
325 base_type;
326 typedef Actor<base_type> type;
327 typedef
328 typename proto::nary_expr<Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7>::proto_grammar
329 proto_grammar;
330 static type make(typename call_traits<A0>::param_type a0 , typename call_traits<A1>::param_type a1 , typename call_traits<A2>::param_type a2 , typename call_traits<A3>::param_type a3 , typename call_traits<A4>::param_type a4 , typename call_traits<A5>::param_type a5 , typename call_traits<A6>::param_type a6 , typename call_traits<A7>::param_type a7)
331 {
332
333 actor<base_type> const e =
334 {
335 proto::make_expr<
336 Tag
337 , phoenix_default_domain
338 >(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7)
339 };
340 return e;
341 }
342 template<typename Expr, typename State, typename Data>
343 struct impl
344 : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
345 {};
346 typedef Tag proto_tag;
347 typedef A0 proto_child0; typedef A1 proto_child1; typedef A2 proto_child2; typedef A3 proto_child3; typedef A4 proto_child4; typedef A5 proto_child5; typedef A6 proto_child6; typedef A7 proto_child7;
348 };
349
350
351
352
353
354
355
356 template <template <typename> class Actor, typename Tag, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8>
357 struct expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8>
358 : proto::transform<expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8>, int>
359 {
360 typedef
361 typename proto::result_of::make_expr<
362 Tag
363 , phoenix_default_domain
364 , typename proto::detail::uncvref<typename call_traits<A0>::value_type>::type , typename proto::detail::uncvref<typename call_traits<A1>::value_type>::type , typename proto::detail::uncvref<typename call_traits<A2>::value_type>::type , typename proto::detail::uncvref<typename call_traits<A3>::value_type>::type , typename proto::detail::uncvref<typename call_traits<A4>::value_type>::type , typename proto::detail::uncvref<typename call_traits<A5>::value_type>::type , typename proto::detail::uncvref<typename call_traits<A6>::value_type>::type , typename proto::detail::uncvref<typename call_traits<A7>::value_type>::type , typename proto::detail::uncvref<typename call_traits<A8>::value_type>::type
365 >::type
366 base_type;
367 typedef Actor<base_type> type;
368 typedef
369 typename proto::nary_expr<Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8>::proto_grammar
370 proto_grammar;
371 static type make(typename call_traits<A0>::param_type a0 , typename call_traits<A1>::param_type a1 , typename call_traits<A2>::param_type a2 , typename call_traits<A3>::param_type a3 , typename call_traits<A4>::param_type a4 , typename call_traits<A5>::param_type a5 , typename call_traits<A6>::param_type a6 , typename call_traits<A7>::param_type a7 , typename call_traits<A8>::param_type a8)
372 {
373
374 actor<base_type> const e =
375 {
376 proto::make_expr<
377 Tag
378 , phoenix_default_domain
379 >(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8)
380 };
381 return e;
382 }
383 template<typename Expr, typename State, typename Data>
384 struct impl
385 : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
386 {};
387 typedef Tag proto_tag;
388 typedef A0 proto_child0; typedef A1 proto_child1; typedef A2 proto_child2; typedef A3 proto_child3; typedef A4 proto_child4; typedef A5 proto_child5; typedef A6 proto_child6; typedef A7 proto_child7; typedef A8 proto_child8;
389 };
390
391
392
393
394
395
396
397 template <template <typename> class Actor, typename Tag, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9>
398 struct expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9>
399 : proto::transform<expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9>, int>
400 {
401 typedef
402 typename proto::result_of::make_expr<
403 Tag
404 , phoenix_default_domain
405 , typename proto::detail::uncvref<typename call_traits<A0>::value_type>::type , typename proto::detail::uncvref<typename call_traits<A1>::value_type>::type , typename proto::detail::uncvref<typename call_traits<A2>::value_type>::type , typename proto::detail::uncvref<typename call_traits<A3>::value_type>::type , typename proto::detail::uncvref<typename call_traits<A4>::value_type>::type , typename proto::detail::uncvref<typename call_traits<A5>::value_type>::type , typename proto::detail::uncvref<typename call_traits<A6>::value_type>::type , typename proto::detail::uncvref<typename call_traits<A7>::value_type>::type , typename proto::detail::uncvref<typename call_traits<A8>::value_type>::type , typename proto::detail::uncvref<typename call_traits<A9>::value_type>::type
406 >::type
407 base_type;
408 typedef Actor<base_type> type;
409 typedef
410 typename proto::nary_expr<Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9>::proto_grammar
411 proto_grammar;
412 static type make(typename call_traits<A0>::param_type a0 , typename call_traits<A1>::param_type a1 , typename call_traits<A2>::param_type a2 , typename call_traits<A3>::param_type a3 , typename call_traits<A4>::param_type a4 , typename call_traits<A5>::param_type a5 , typename call_traits<A6>::param_type a6 , typename call_traits<A7>::param_type a7 , typename call_traits<A8>::param_type a8 , typename call_traits<A9>::param_type a9)
413 {
414
415 actor<base_type> const e =
416 {
417 proto::make_expr<
418 Tag
419 , phoenix_default_domain
420 >(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9)
421 };
422 return e;
423 }
424 template<typename Expr, typename State, typename Data>
425 struct impl
426 : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
427 {};
428 typedef Tag proto_tag;
429 typedef A0 proto_child0; typedef A1 proto_child1; typedef A2 proto_child2; typedef A3 proto_child3; typedef A4 proto_child4; typedef A5 proto_child5; typedef A6 proto_child6; typedef A7 proto_child7; typedef A8 proto_child8; typedef A9 proto_child9;
430 };