Chris@16
|
1
|
Chris@16
|
2 // Copyright Aleksey Gurtovoy 2000-2004
|
Chris@16
|
3 //
|
Chris@16
|
4 // Distributed under the Boost Software License, Version 1.0.
|
Chris@16
|
5 // (See accompanying file LICENSE_1_0.txt or copy at
|
Chris@16
|
6 // http://www.boost.org/LICENSE_1_0.txt)
|
Chris@16
|
7 //
|
Chris@16
|
8
|
Chris@16
|
9 // Preprocessed version of "boost/mpl/deque.hpp" header
|
Chris@16
|
10 // -- DO NOT modify by hand!
|
Chris@16
|
11
|
Chris@16
|
12 namespace boost { namespace mpl {
|
Chris@16
|
13
|
Chris@16
|
14 namespace aux {
|
Chris@16
|
15 template< int N >
|
Chris@16
|
16 struct deque_chooser;
|
Chris@16
|
17
|
Chris@16
|
18 }
|
Chris@16
|
19
|
Chris@16
|
20 namespace aux {
|
Chris@16
|
21
|
Chris@16
|
22 template<>
|
Chris@16
|
23 struct deque_chooser<0>
|
Chris@16
|
24 {
|
Chris@16
|
25 template<
|
Chris@16
|
26 typename T0, typename T1, typename T2, typename T3, typename T4
|
Chris@16
|
27 , typename T5, typename T6, typename T7, typename T8, typename T9
|
Chris@16
|
28 , typename T10, typename T11, typename T12, typename T13, typename T14
|
Chris@16
|
29 , typename T15, typename T16, typename T17, typename T18, typename T19
|
Chris@16
|
30 >
|
Chris@16
|
31 struct result_
|
Chris@16
|
32 {
|
Chris@16
|
33 typedef vector0<
|
Chris@16
|
34
|
Chris@16
|
35 >::type type;
|
Chris@16
|
36
|
Chris@16
|
37 };
|
Chris@16
|
38 };
|
Chris@16
|
39
|
Chris@16
|
40 } // namespace aux
|
Chris@16
|
41
|
Chris@16
|
42 namespace aux {
|
Chris@16
|
43
|
Chris@16
|
44 template<>
|
Chris@16
|
45 struct deque_chooser<1>
|
Chris@16
|
46 {
|
Chris@16
|
47 template<
|
Chris@16
|
48 typename T0, typename T1, typename T2, typename T3, typename T4
|
Chris@16
|
49 , typename T5, typename T6, typename T7, typename T8, typename T9
|
Chris@16
|
50 , typename T10, typename T11, typename T12, typename T13, typename T14
|
Chris@16
|
51 , typename T15, typename T16, typename T17, typename T18, typename T19
|
Chris@16
|
52 >
|
Chris@16
|
53 struct result_
|
Chris@16
|
54 {
|
Chris@16
|
55 typedef typename vector1<
|
Chris@16
|
56 T0
|
Chris@16
|
57 >::type type;
|
Chris@16
|
58
|
Chris@16
|
59 };
|
Chris@16
|
60 };
|
Chris@16
|
61
|
Chris@16
|
62 } // namespace aux
|
Chris@16
|
63
|
Chris@16
|
64 namespace aux {
|
Chris@16
|
65
|
Chris@16
|
66 template<>
|
Chris@16
|
67 struct deque_chooser<2>
|
Chris@16
|
68 {
|
Chris@16
|
69 template<
|
Chris@16
|
70 typename T0, typename T1, typename T2, typename T3, typename T4
|
Chris@16
|
71 , typename T5, typename T6, typename T7, typename T8, typename T9
|
Chris@16
|
72 , typename T10, typename T11, typename T12, typename T13, typename T14
|
Chris@16
|
73 , typename T15, typename T16, typename T17, typename T18, typename T19
|
Chris@16
|
74 >
|
Chris@16
|
75 struct result_
|
Chris@16
|
76 {
|
Chris@16
|
77 typedef typename vector2<
|
Chris@16
|
78 T0, T1
|
Chris@16
|
79 >::type type;
|
Chris@16
|
80
|
Chris@16
|
81 };
|
Chris@16
|
82 };
|
Chris@16
|
83
|
Chris@16
|
84 } // namespace aux
|
Chris@16
|
85
|
Chris@16
|
86 namespace aux {
|
Chris@16
|
87
|
Chris@16
|
88 template<>
|
Chris@16
|
89 struct deque_chooser<3>
|
Chris@16
|
90 {
|
Chris@16
|
91 template<
|
Chris@16
|
92 typename T0, typename T1, typename T2, typename T3, typename T4
|
Chris@16
|
93 , typename T5, typename T6, typename T7, typename T8, typename T9
|
Chris@16
|
94 , typename T10, typename T11, typename T12, typename T13, typename T14
|
Chris@16
|
95 , typename T15, typename T16, typename T17, typename T18, typename T19
|
Chris@16
|
96 >
|
Chris@16
|
97 struct result_
|
Chris@16
|
98 {
|
Chris@16
|
99 typedef typename vector3<
|
Chris@16
|
100 T0, T1, T2
|
Chris@16
|
101 >::type type;
|
Chris@16
|
102
|
Chris@16
|
103 };
|
Chris@16
|
104 };
|
Chris@16
|
105
|
Chris@16
|
106 } // namespace aux
|
Chris@16
|
107
|
Chris@16
|
108 namespace aux {
|
Chris@16
|
109
|
Chris@16
|
110 template<>
|
Chris@16
|
111 struct deque_chooser<4>
|
Chris@16
|
112 {
|
Chris@16
|
113 template<
|
Chris@16
|
114 typename T0, typename T1, typename T2, typename T3, typename T4
|
Chris@16
|
115 , typename T5, typename T6, typename T7, typename T8, typename T9
|
Chris@16
|
116 , typename T10, typename T11, typename T12, typename T13, typename T14
|
Chris@16
|
117 , typename T15, typename T16, typename T17, typename T18, typename T19
|
Chris@16
|
118 >
|
Chris@16
|
119 struct result_
|
Chris@16
|
120 {
|
Chris@16
|
121 typedef typename vector4<
|
Chris@16
|
122 T0, T1, T2, T3
|
Chris@16
|
123 >::type type;
|
Chris@16
|
124
|
Chris@16
|
125 };
|
Chris@16
|
126 };
|
Chris@16
|
127
|
Chris@16
|
128 } // namespace aux
|
Chris@16
|
129
|
Chris@16
|
130 namespace aux {
|
Chris@16
|
131
|
Chris@16
|
132 template<>
|
Chris@16
|
133 struct deque_chooser<5>
|
Chris@16
|
134 {
|
Chris@16
|
135 template<
|
Chris@16
|
136 typename T0, typename T1, typename T2, typename T3, typename T4
|
Chris@16
|
137 , typename T5, typename T6, typename T7, typename T8, typename T9
|
Chris@16
|
138 , typename T10, typename T11, typename T12, typename T13, typename T14
|
Chris@16
|
139 , typename T15, typename T16, typename T17, typename T18, typename T19
|
Chris@16
|
140 >
|
Chris@16
|
141 struct result_
|
Chris@16
|
142 {
|
Chris@16
|
143 typedef typename vector5<
|
Chris@16
|
144 T0, T1, T2, T3, T4
|
Chris@16
|
145 >::type type;
|
Chris@16
|
146
|
Chris@16
|
147 };
|
Chris@16
|
148 };
|
Chris@16
|
149
|
Chris@16
|
150 } // namespace aux
|
Chris@16
|
151
|
Chris@16
|
152 namespace aux {
|
Chris@16
|
153
|
Chris@16
|
154 template<>
|
Chris@16
|
155 struct deque_chooser<6>
|
Chris@16
|
156 {
|
Chris@16
|
157 template<
|
Chris@16
|
158 typename T0, typename T1, typename T2, typename T3, typename T4
|
Chris@16
|
159 , typename T5, typename T6, typename T7, typename T8, typename T9
|
Chris@16
|
160 , typename T10, typename T11, typename T12, typename T13, typename T14
|
Chris@16
|
161 , typename T15, typename T16, typename T17, typename T18, typename T19
|
Chris@16
|
162 >
|
Chris@16
|
163 struct result_
|
Chris@16
|
164 {
|
Chris@16
|
165 typedef typename vector6<
|
Chris@16
|
166 T0, T1, T2, T3, T4, T5
|
Chris@16
|
167 >::type type;
|
Chris@16
|
168
|
Chris@16
|
169 };
|
Chris@16
|
170 };
|
Chris@16
|
171
|
Chris@16
|
172 } // namespace aux
|
Chris@16
|
173
|
Chris@16
|
174 namespace aux {
|
Chris@16
|
175
|
Chris@16
|
176 template<>
|
Chris@16
|
177 struct deque_chooser<7>
|
Chris@16
|
178 {
|
Chris@16
|
179 template<
|
Chris@16
|
180 typename T0, typename T1, typename T2, typename T3, typename T4
|
Chris@16
|
181 , typename T5, typename T6, typename T7, typename T8, typename T9
|
Chris@16
|
182 , typename T10, typename T11, typename T12, typename T13, typename T14
|
Chris@16
|
183 , typename T15, typename T16, typename T17, typename T18, typename T19
|
Chris@16
|
184 >
|
Chris@16
|
185 struct result_
|
Chris@16
|
186 {
|
Chris@16
|
187 typedef typename vector7<
|
Chris@16
|
188 T0, T1, T2, T3, T4, T5, T6
|
Chris@16
|
189 >::type type;
|
Chris@16
|
190
|
Chris@16
|
191 };
|
Chris@16
|
192 };
|
Chris@16
|
193
|
Chris@16
|
194 } // namespace aux
|
Chris@16
|
195
|
Chris@16
|
196 namespace aux {
|
Chris@16
|
197
|
Chris@16
|
198 template<>
|
Chris@16
|
199 struct deque_chooser<8>
|
Chris@16
|
200 {
|
Chris@16
|
201 template<
|
Chris@16
|
202 typename T0, typename T1, typename T2, typename T3, typename T4
|
Chris@16
|
203 , typename T5, typename T6, typename T7, typename T8, typename T9
|
Chris@16
|
204 , typename T10, typename T11, typename T12, typename T13, typename T14
|
Chris@16
|
205 , typename T15, typename T16, typename T17, typename T18, typename T19
|
Chris@16
|
206 >
|
Chris@16
|
207 struct result_
|
Chris@16
|
208 {
|
Chris@16
|
209 typedef typename vector8<
|
Chris@16
|
210 T0, T1, T2, T3, T4, T5, T6, T7
|
Chris@16
|
211 >::type type;
|
Chris@16
|
212
|
Chris@16
|
213 };
|
Chris@16
|
214 };
|
Chris@16
|
215
|
Chris@16
|
216 } // namespace aux
|
Chris@16
|
217
|
Chris@16
|
218 namespace aux {
|
Chris@16
|
219
|
Chris@16
|
220 template<>
|
Chris@16
|
221 struct deque_chooser<9>
|
Chris@16
|
222 {
|
Chris@16
|
223 template<
|
Chris@16
|
224 typename T0, typename T1, typename T2, typename T3, typename T4
|
Chris@16
|
225 , typename T5, typename T6, typename T7, typename T8, typename T9
|
Chris@16
|
226 , typename T10, typename T11, typename T12, typename T13, typename T14
|
Chris@16
|
227 , typename T15, typename T16, typename T17, typename T18, typename T19
|
Chris@16
|
228 >
|
Chris@16
|
229 struct result_
|
Chris@16
|
230 {
|
Chris@16
|
231 typedef typename vector9<
|
Chris@16
|
232 T0, T1, T2, T3, T4, T5, T6, T7, T8
|
Chris@16
|
233 >::type type;
|
Chris@16
|
234
|
Chris@16
|
235 };
|
Chris@16
|
236 };
|
Chris@16
|
237
|
Chris@16
|
238 } // namespace aux
|
Chris@16
|
239
|
Chris@16
|
240 namespace aux {
|
Chris@16
|
241
|
Chris@16
|
242 template<>
|
Chris@16
|
243 struct deque_chooser<10>
|
Chris@16
|
244 {
|
Chris@16
|
245 template<
|
Chris@16
|
246 typename T0, typename T1, typename T2, typename T3, typename T4
|
Chris@16
|
247 , typename T5, typename T6, typename T7, typename T8, typename T9
|
Chris@16
|
248 , typename T10, typename T11, typename T12, typename T13, typename T14
|
Chris@16
|
249 , typename T15, typename T16, typename T17, typename T18, typename T19
|
Chris@16
|
250 >
|
Chris@16
|
251 struct result_
|
Chris@16
|
252 {
|
Chris@16
|
253 typedef typename vector10<
|
Chris@16
|
254 T0, T1, T2, T3, T4, T5, T6, T7, T8, T9
|
Chris@16
|
255 >::type type;
|
Chris@16
|
256
|
Chris@16
|
257 };
|
Chris@16
|
258 };
|
Chris@16
|
259
|
Chris@16
|
260 } // namespace aux
|
Chris@16
|
261
|
Chris@16
|
262 namespace aux {
|
Chris@16
|
263
|
Chris@16
|
264 template<>
|
Chris@16
|
265 struct deque_chooser<11>
|
Chris@16
|
266 {
|
Chris@16
|
267 template<
|
Chris@16
|
268 typename T0, typename T1, typename T2, typename T3, typename T4
|
Chris@16
|
269 , typename T5, typename T6, typename T7, typename T8, typename T9
|
Chris@16
|
270 , typename T10, typename T11, typename T12, typename T13, typename T14
|
Chris@16
|
271 , typename T15, typename T16, typename T17, typename T18, typename T19
|
Chris@16
|
272 >
|
Chris@16
|
273 struct result_
|
Chris@16
|
274 {
|
Chris@16
|
275 typedef typename vector11<
|
Chris@16
|
276 T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10
|
Chris@16
|
277 >::type type;
|
Chris@16
|
278
|
Chris@16
|
279 };
|
Chris@16
|
280 };
|
Chris@16
|
281
|
Chris@16
|
282 } // namespace aux
|
Chris@16
|
283
|
Chris@16
|
284 namespace aux {
|
Chris@16
|
285
|
Chris@16
|
286 template<>
|
Chris@16
|
287 struct deque_chooser<12>
|
Chris@16
|
288 {
|
Chris@16
|
289 template<
|
Chris@16
|
290 typename T0, typename T1, typename T2, typename T3, typename T4
|
Chris@16
|
291 , typename T5, typename T6, typename T7, typename T8, typename T9
|
Chris@16
|
292 , typename T10, typename T11, typename T12, typename T13, typename T14
|
Chris@16
|
293 , typename T15, typename T16, typename T17, typename T18, typename T19
|
Chris@16
|
294 >
|
Chris@16
|
295 struct result_
|
Chris@16
|
296 {
|
Chris@16
|
297 typedef typename vector12<
|
Chris@16
|
298 T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11
|
Chris@16
|
299 >::type type;
|
Chris@16
|
300
|
Chris@16
|
301 };
|
Chris@16
|
302 };
|
Chris@16
|
303
|
Chris@16
|
304 } // namespace aux
|
Chris@16
|
305
|
Chris@16
|
306 namespace aux {
|
Chris@16
|
307
|
Chris@16
|
308 template<>
|
Chris@16
|
309 struct deque_chooser<13>
|
Chris@16
|
310 {
|
Chris@16
|
311 template<
|
Chris@16
|
312 typename T0, typename T1, typename T2, typename T3, typename T4
|
Chris@16
|
313 , typename T5, typename T6, typename T7, typename T8, typename T9
|
Chris@16
|
314 , typename T10, typename T11, typename T12, typename T13, typename T14
|
Chris@16
|
315 , typename T15, typename T16, typename T17, typename T18, typename T19
|
Chris@16
|
316 >
|
Chris@16
|
317 struct result_
|
Chris@16
|
318 {
|
Chris@16
|
319 typedef typename vector13<
|
Chris@16
|
320 T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12
|
Chris@16
|
321 >::type type;
|
Chris@16
|
322
|
Chris@16
|
323 };
|
Chris@16
|
324 };
|
Chris@16
|
325
|
Chris@16
|
326 } // namespace aux
|
Chris@16
|
327
|
Chris@16
|
328 namespace aux {
|
Chris@16
|
329
|
Chris@16
|
330 template<>
|
Chris@16
|
331 struct deque_chooser<14>
|
Chris@16
|
332 {
|
Chris@16
|
333 template<
|
Chris@16
|
334 typename T0, typename T1, typename T2, typename T3, typename T4
|
Chris@16
|
335 , typename T5, typename T6, typename T7, typename T8, typename T9
|
Chris@16
|
336 , typename T10, typename T11, typename T12, typename T13, typename T14
|
Chris@16
|
337 , typename T15, typename T16, typename T17, typename T18, typename T19
|
Chris@16
|
338 >
|
Chris@16
|
339 struct result_
|
Chris@16
|
340 {
|
Chris@16
|
341 typedef typename vector14<
|
Chris@16
|
342 T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13
|
Chris@16
|
343 >::type type;
|
Chris@16
|
344
|
Chris@16
|
345 };
|
Chris@16
|
346 };
|
Chris@16
|
347
|
Chris@16
|
348 } // namespace aux
|
Chris@16
|
349
|
Chris@16
|
350 namespace aux {
|
Chris@16
|
351
|
Chris@16
|
352 template<>
|
Chris@16
|
353 struct deque_chooser<15>
|
Chris@16
|
354 {
|
Chris@16
|
355 template<
|
Chris@16
|
356 typename T0, typename T1, typename T2, typename T3, typename T4
|
Chris@16
|
357 , typename T5, typename T6, typename T7, typename T8, typename T9
|
Chris@16
|
358 , typename T10, typename T11, typename T12, typename T13, typename T14
|
Chris@16
|
359 , typename T15, typename T16, typename T17, typename T18, typename T19
|
Chris@16
|
360 >
|
Chris@16
|
361 struct result_
|
Chris@16
|
362 {
|
Chris@16
|
363 typedef typename vector15<
|
Chris@16
|
364 T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
|
Chris@16
|
365 >::type type;
|
Chris@16
|
366
|
Chris@16
|
367 };
|
Chris@16
|
368 };
|
Chris@16
|
369
|
Chris@16
|
370 } // namespace aux
|
Chris@16
|
371
|
Chris@16
|
372 namespace aux {
|
Chris@16
|
373
|
Chris@16
|
374 template<>
|
Chris@16
|
375 struct deque_chooser<16>
|
Chris@16
|
376 {
|
Chris@16
|
377 template<
|
Chris@16
|
378 typename T0, typename T1, typename T2, typename T3, typename T4
|
Chris@16
|
379 , typename T5, typename T6, typename T7, typename T8, typename T9
|
Chris@16
|
380 , typename T10, typename T11, typename T12, typename T13, typename T14
|
Chris@16
|
381 , typename T15, typename T16, typename T17, typename T18, typename T19
|
Chris@16
|
382 >
|
Chris@16
|
383 struct result_
|
Chris@16
|
384 {
|
Chris@16
|
385 typedef typename vector16<
|
Chris@16
|
386 T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15
|
Chris@16
|
387 >::type type;
|
Chris@16
|
388
|
Chris@16
|
389 };
|
Chris@16
|
390 };
|
Chris@16
|
391
|
Chris@16
|
392 } // namespace aux
|
Chris@16
|
393
|
Chris@16
|
394 namespace aux {
|
Chris@16
|
395
|
Chris@16
|
396 template<>
|
Chris@16
|
397 struct deque_chooser<17>
|
Chris@16
|
398 {
|
Chris@16
|
399 template<
|
Chris@16
|
400 typename T0, typename T1, typename T2, typename T3, typename T4
|
Chris@16
|
401 , typename T5, typename T6, typename T7, typename T8, typename T9
|
Chris@16
|
402 , typename T10, typename T11, typename T12, typename T13, typename T14
|
Chris@16
|
403 , typename T15, typename T16, typename T17, typename T18, typename T19
|
Chris@16
|
404 >
|
Chris@16
|
405 struct result_
|
Chris@16
|
406 {
|
Chris@16
|
407 typedef typename vector17<
|
Chris@16
|
408 T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16
|
Chris@16
|
409 >::type type;
|
Chris@16
|
410
|
Chris@16
|
411 };
|
Chris@16
|
412 };
|
Chris@16
|
413
|
Chris@16
|
414 } // namespace aux
|
Chris@16
|
415
|
Chris@16
|
416 namespace aux {
|
Chris@16
|
417
|
Chris@16
|
418 template<>
|
Chris@16
|
419 struct deque_chooser<18>
|
Chris@16
|
420 {
|
Chris@16
|
421 template<
|
Chris@16
|
422 typename T0, typename T1, typename T2, typename T3, typename T4
|
Chris@16
|
423 , typename T5, typename T6, typename T7, typename T8, typename T9
|
Chris@16
|
424 , typename T10, typename T11, typename T12, typename T13, typename T14
|
Chris@16
|
425 , typename T15, typename T16, typename T17, typename T18, typename T19
|
Chris@16
|
426 >
|
Chris@16
|
427 struct result_
|
Chris@16
|
428 {
|
Chris@16
|
429 typedef typename vector18<
|
Chris@16
|
430 T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17
|
Chris@16
|
431 >::type type;
|
Chris@16
|
432
|
Chris@16
|
433 };
|
Chris@16
|
434 };
|
Chris@16
|
435
|
Chris@16
|
436 } // namespace aux
|
Chris@16
|
437
|
Chris@16
|
438 namespace aux {
|
Chris@16
|
439
|
Chris@16
|
440 template<>
|
Chris@16
|
441 struct deque_chooser<19>
|
Chris@16
|
442 {
|
Chris@16
|
443 template<
|
Chris@16
|
444 typename T0, typename T1, typename T2, typename T3, typename T4
|
Chris@16
|
445 , typename T5, typename T6, typename T7, typename T8, typename T9
|
Chris@16
|
446 , typename T10, typename T11, typename T12, typename T13, typename T14
|
Chris@16
|
447 , typename T15, typename T16, typename T17, typename T18, typename T19
|
Chris@16
|
448 >
|
Chris@16
|
449 struct result_
|
Chris@16
|
450 {
|
Chris@16
|
451 typedef typename vector19<
|
Chris@16
|
452 T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18
|
Chris@16
|
453 >::type type;
|
Chris@16
|
454
|
Chris@16
|
455 };
|
Chris@16
|
456 };
|
Chris@16
|
457
|
Chris@16
|
458 } // namespace aux
|
Chris@16
|
459
|
Chris@16
|
460 namespace aux {
|
Chris@16
|
461
|
Chris@16
|
462 template<>
|
Chris@16
|
463 struct deque_chooser<20>
|
Chris@16
|
464 {
|
Chris@16
|
465 template<
|
Chris@16
|
466 typename T0, typename T1, typename T2, typename T3, typename T4
|
Chris@16
|
467 , typename T5, typename T6, typename T7, typename T8, typename T9
|
Chris@16
|
468 , typename T10, typename T11, typename T12, typename T13, typename T14
|
Chris@16
|
469 , typename T15, typename T16, typename T17, typename T18, typename T19
|
Chris@16
|
470 >
|
Chris@16
|
471 struct result_
|
Chris@16
|
472 {
|
Chris@16
|
473 typedef typename vector20<
|
Chris@16
|
474 T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19
|
Chris@16
|
475 >::type type;
|
Chris@16
|
476
|
Chris@16
|
477 };
|
Chris@16
|
478 };
|
Chris@16
|
479
|
Chris@16
|
480 } // namespace aux
|
Chris@16
|
481
|
Chris@16
|
482 namespace aux {
|
Chris@16
|
483
|
Chris@16
|
484 template< typename T >
|
Chris@16
|
485 struct is_deque_arg
|
Chris@16
|
486 {
|
Chris@16
|
487 BOOST_STATIC_CONSTANT(bool, value = true);
|
Chris@16
|
488 };
|
Chris@16
|
489
|
Chris@16
|
490 template<>
|
Chris@16
|
491 struct is_deque_arg<na>
|
Chris@16
|
492 {
|
Chris@16
|
493 BOOST_STATIC_CONSTANT(bool, value = false);
|
Chris@16
|
494 };
|
Chris@16
|
495
|
Chris@16
|
496 template<
|
Chris@16
|
497 typename T1, typename T2, typename T3, typename T4, typename T5
|
Chris@16
|
498 , typename T6, typename T7, typename T8, typename T9, typename T10
|
Chris@16
|
499 , typename T11, typename T12, typename T13, typename T14, typename T15
|
Chris@16
|
500 , typename T16, typename T17, typename T18, typename T19, typename T20
|
Chris@16
|
501 >
|
Chris@16
|
502 struct deque_count_args
|
Chris@16
|
503 {
|
Chris@16
|
504 BOOST_STATIC_CONSTANT(int, value =
|
Chris@16
|
505 is_deque_arg<T1>::value + is_deque_arg<T2>::value
|
Chris@16
|
506 + is_deque_arg<T3>::value + is_deque_arg<T4>::value
|
Chris@16
|
507 + is_deque_arg<T5>::value + is_deque_arg<T6>::value
|
Chris@16
|
508 + is_deque_arg<T7>::value + is_deque_arg<T8>::value
|
Chris@16
|
509 + is_deque_arg<T9>::value + is_deque_arg<T10>::value
|
Chris@16
|
510 + is_deque_arg<T11>::value + is_deque_arg<T12>::value
|
Chris@16
|
511 + is_deque_arg<T13>::value + is_deque_arg<T14>::value
|
Chris@16
|
512 + is_deque_arg<T15>::value + is_deque_arg<T16>::value
|
Chris@16
|
513 + is_deque_arg<T17>::value + is_deque_arg<T18>::value
|
Chris@16
|
514 + is_deque_arg<T19>::value + is_deque_arg<T20>::value
|
Chris@16
|
515 );
|
Chris@16
|
516
|
Chris@16
|
517 };
|
Chris@16
|
518
|
Chris@16
|
519 template<
|
Chris@16
|
520 typename T0, typename T1, typename T2, typename T3, typename T4
|
Chris@16
|
521 , typename T5, typename T6, typename T7, typename T8, typename T9
|
Chris@16
|
522 , typename T10, typename T11, typename T12, typename T13, typename T14
|
Chris@16
|
523 , typename T15, typename T16, typename T17, typename T18, typename T19
|
Chris@16
|
524 >
|
Chris@16
|
525 struct deque_impl
|
Chris@16
|
526 {
|
Chris@16
|
527 typedef aux::deque_count_args<
|
Chris@16
|
528 T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19
|
Chris@16
|
529 > arg_num_;
|
Chris@16
|
530
|
Chris@16
|
531 typedef typename aux::deque_chooser< arg_num_::value >
|
Chris@16
|
532 ::template result_< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type;
|
Chris@16
|
533 };
|
Chris@16
|
534
|
Chris@16
|
535 } // namespace aux
|
Chris@16
|
536
|
Chris@16
|
537 template<
|
Chris@16
|
538 typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na
|
Chris@16
|
539 , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na
|
Chris@16
|
540 , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na
|
Chris@16
|
541 , typename T12 = na, typename T13 = na, typename T14 = na
|
Chris@16
|
542 , typename T15 = na, typename T16 = na, typename T17 = na
|
Chris@16
|
543 , typename T18 = na, typename T19 = na
|
Chris@16
|
544 >
|
Chris@16
|
545 struct deque
|
Chris@16
|
546 : aux::deque_impl<
|
Chris@16
|
547 T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19
|
Chris@16
|
548 >::type
|
Chris@16
|
549 {
|
Chris@16
|
550 typedef typename aux::deque_impl<
|
Chris@16
|
551 T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19
|
Chris@16
|
552 >::type type;
|
Chris@16
|
553 };
|
Chris@16
|
554
|
Chris@16
|
555 }}
|
Chris@16
|
556
|