X-Boost  2.3.8
tuple.h
Go to the documentation of this file.
1 /******************************************************************************
2 * sprint::tuple
3 *
4 * Copyright (C) 2005-2014 Paolo Medici <www.pmx.it>
5 *
6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Lesser General Public
8 * License as published by the Free Software Foundation; either
9 * version 2.1 of the License, or (at your option) any later version.
10 *
11 * This library is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * Lesser General Public License for more details.
15 *
16 * You should have received a copy of the GNU Lesser General Public
17 * License along with this library; if not, write to the Free Software
18 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
19 *
20 *******************************************************************************/
21 
22 #ifndef _SPRINT_tuple_H
23 #define _SPRINT_tuple_H
24 
25 // $generated on May 14 2014 13:16:57$
26 
31 namespace sprint {
32 
34 template<class P1>
35 struct tuple1 {
36  P1 p1;
37 
38 tuple1(P1 __p1=P1()
39  ) : p1(__p1) { }
40 };
41 
43 template<class P1, class P2>
44 struct tuple2 {
45  P1 p1;
46  P2 p2;
47 
48 tuple2(P1 __p1=P1(),
49  P2 __p2=P2()
50  ) : p1(__p1),
51  p2(__p2) { }
52 };
53 
55 template<class P1, class P2, class P3>
56 struct tuple3 {
57  P1 p1;
58  P2 p2;
59  P3 p3;
60 
61 tuple3(P1 __p1=P1(),
62  P2 __p2=P2(),
63  P3 __p3=P3()
64  ) : p1(__p1),
65  p2(__p2),
66  p3(__p3) { }
67 };
68 
70 template<class P1, class P2, class P3, class P4>
71 struct tuple4 {
72  P1 p1;
73  P2 p2;
74  P3 p3;
75  P4 p4;
76 
77 tuple4(P1 __p1=P1(),
78  P2 __p2=P2(),
79  P3 __p3=P3(),
80  P4 __p4=P4()
81  ) : p1(__p1),
82  p2(__p2),
83  p3(__p3),
84  p4(__p4) { }
85 };
86 
88 template<class P1, class P2, class P3, class P4, class P5>
89 struct tuple5 {
90  P1 p1;
91  P2 p2;
92  P3 p3;
93  P4 p4;
94  P5 p5;
95 
96 tuple5(P1 __p1=P1(),
97  P2 __p2=P2(),
98  P3 __p3=P3(),
99  P4 __p4=P4(),
100  P5 __p5=P5()
101  ) : p1(__p1),
102  p2(__p2),
103  p3(__p3),
104  p4(__p4),
105  p5(__p5) { }
106 };
107 
109 template<class P1, class P2, class P3, class P4, class P5, class P6>
110 struct tuple6 {
111  P1 p1;
112  P2 p2;
113  P3 p3;
114  P4 p4;
115  P5 p5;
116  P6 p6;
117 
118 tuple6(P1 __p1=P1(),
119  P2 __p2=P2(),
120  P3 __p3=P3(),
121  P4 __p4=P4(),
122  P5 __p5=P5(),
123  P6 __p6=P6()
124  ) : p1(__p1),
125  p2(__p2),
126  p3(__p3),
127  p4(__p4),
128  p5(__p5),
129  p6(__p6) { }
130 };
131 
133 template<class P1, class P2, class P3, class P4, class P5, class P6, class P7>
134 struct tuple7 {
135  P1 p1;
136  P2 p2;
137  P3 p3;
138  P4 p4;
139  P5 p5;
140  P6 p6;
141  P7 p7;
142 
143 tuple7(P1 __p1=P1(),
144  P2 __p2=P2(),
145  P3 __p3=P3(),
146  P4 __p4=P4(),
147  P5 __p5=P5(),
148  P6 __p6=P6(),
149  P7 __p7=P7()
150  ) : p1(__p1),
151  p2(__p2),
152  p3(__p3),
153  p4(__p4),
154  p5(__p5),
155  p6(__p6),
156  p7(__p7) { }
157 };
158 
160 template<class P1, class P2, class P3, class P4, class P5, class P6, class P7, class P8>
161 struct tuple8 {
162  P1 p1;
163  P2 p2;
164  P3 p3;
165  P4 p4;
166  P5 p5;
167  P6 p6;
168  P7 p7;
169  P8 p8;
170 
171 tuple8(P1 __p1=P1(),
172  P2 __p2=P2(),
173  P3 __p3=P3(),
174  P4 __p4=P4(),
175  P5 __p5=P5(),
176  P6 __p6=P6(),
177  P7 __p7=P7(),
178  P8 __p8=P8()
179  ) : p1(__p1),
180  p2(__p2),
181  p3(__p3),
182  p4(__p4),
183  p5(__p5),
184  p6(__p6),
185  p7(__p7),
186  p8(__p8) { }
187 };
188 
190 template<class P1, class P2, class P3, class P4, class P5, class P6, class P7, class P8, class P9>
191 struct tuple9 {
192  P1 p1;
193  P2 p2;
194  P3 p3;
195  P4 p4;
196  P5 p5;
197  P6 p6;
198  P7 p7;
199  P8 p8;
200  P9 p9;
201 
202 tuple9(P1 __p1=P1(),
203  P2 __p2=P2(),
204  P3 __p3=P3(),
205  P4 __p4=P4(),
206  P5 __p5=P5(),
207  P6 __p6=P6(),
208  P7 __p7=P7(),
209  P8 __p8=P8(),
210  P9 __p9=P9()
211  ) : p1(__p1),
212  p2(__p2),
213  p3(__p3),
214  p4(__p4),
215  p5(__p5),
216  p6(__p6),
217  p7(__p7),
218  p8(__p8),
219  p9(__p9) { }
220 };
221 
223 template<class P1, class P2, class P3, class P4, class P5, class P6, class P7, class P8, class P9, class P10>
224 struct tuple10 {
225  P1 p1;
226  P2 p2;
227  P3 p3;
228  P4 p4;
229  P5 p5;
230  P6 p6;
231  P7 p7;
232  P8 p8;
233  P9 p9;
234  P10 p10;
235 
236 tuple10(P1 __p1=P1(),
237  P2 __p2=P2(),
238  P3 __p3=P3(),
239  P4 __p4=P4(),
240  P5 __p5=P5(),
241  P6 __p6=P6(),
242  P7 __p7=P7(),
243  P8 __p8=P8(),
244  P9 __p9=P9(),
245  P10 __p10=P10()
246  ) : p1(__p1),
247  p2(__p2),
248  p3(__p3),
249  p4(__p4),
250  p5(__p5),
251  p6(__p6),
252  p7(__p7),
253  p8(__p8),
254  p9(__p9),
255  p10(__p10) { }
256 };
257 
259 template<class P1, class P2, class P3, class P4, class P5, class P6, class P7, class P8, class P9, class P10, class P11>
260 struct tuple11 {
261  P1 p1;
262  P2 p2;
263  P3 p3;
264  P4 p4;
265  P5 p5;
266  P6 p6;
267  P7 p7;
268  P8 p8;
269  P9 p9;
270  P10 p10;
271  P11 p11;
272 
273 tuple11(P1 __p1=P1(),
274  P2 __p2=P2(),
275  P3 __p3=P3(),
276  P4 __p4=P4(),
277  P5 __p5=P5(),
278  P6 __p6=P6(),
279  P7 __p7=P7(),
280  P8 __p8=P8(),
281  P9 __p9=P9(),
282  P10 __p10=P10(),
283  P11 __p11=P11()
284  ) : p1(__p1),
285  p2(__p2),
286  p3(__p3),
287  p4(__p4),
288  p5(__p5),
289  p6(__p6),
290  p7(__p7),
291  p8(__p8),
292  p9(__p9),
293  p10(__p10),
294  p11(__p11) { }
295 };
296 
298 template<class P1, class P2, class P3, class P4, class P5, class P6, class P7, class P8, class P9, class P10, class P11, class P12>
299 struct tuple12 {
300  P1 p1;
301  P2 p2;
302  P3 p3;
303  P4 p4;
304  P5 p5;
305  P6 p6;
306  P7 p7;
307  P8 p8;
308  P9 p9;
309  P10 p10;
310  P11 p11;
311  P12 p12;
312 
313 tuple12(P1 __p1=P1(),
314  P2 __p2=P2(),
315  P3 __p3=P3(),
316  P4 __p4=P4(),
317  P5 __p5=P5(),
318  P6 __p6=P6(),
319  P7 __p7=P7(),
320  P8 __p8=P8(),
321  P9 __p9=P9(),
322  P10 __p10=P10(),
323  P11 __p11=P11(),
324  P12 __p12=P12()
325  ) : p1(__p1),
326  p2(__p2),
327  p3(__p3),
328  p4(__p4),
329  p5(__p5),
330  p6(__p6),
331  p7(__p7),
332  p8(__p8),
333  p9(__p9),
334  p10(__p10),
335  p11(__p11),
336  p12(__p12) { }
337 };
338 
340 template<class P1, class P2, class P3, class P4, class P5, class P6, class P7, class P8, class P9, class P10, class P11, class P12, class P13>
341 struct tuple13 {
342  P1 p1;
343  P2 p2;
344  P3 p3;
345  P4 p4;
346  P5 p5;
347  P6 p6;
348  P7 p7;
349  P8 p8;
350  P9 p9;
351  P10 p10;
352  P11 p11;
353  P12 p12;
354  P13 p13;
355 
356 tuple13(P1 __p1=P1(),
357  P2 __p2=P2(),
358  P3 __p3=P3(),
359  P4 __p4=P4(),
360  P5 __p5=P5(),
361  P6 __p6=P6(),
362  P7 __p7=P7(),
363  P8 __p8=P8(),
364  P9 __p9=P9(),
365  P10 __p10=P10(),
366  P11 __p11=P11(),
367  P12 __p12=P12(),
368  P13 __p13=P13()
369  ) : p1(__p1),
370  p2(__p2),
371  p3(__p3),
372  p4(__p4),
373  p5(__p5),
374  p6(__p6),
375  p7(__p7),
376  p8(__p8),
377  p9(__p9),
378  p10(__p10),
379  p11(__p11),
380  p12(__p12),
381  p13(__p13) { }
382 };
383 
385 template<class P1, class P2, class P3, class P4, class P5, class P6, class P7, class P8, class P9, class P10, class P11, class P12, class P13, class P14>
386 struct tuple14 {
387  P1 p1;
388  P2 p2;
389  P3 p3;
390  P4 p4;
391  P5 p5;
392  P6 p6;
393  P7 p7;
394  P8 p8;
395  P9 p9;
396  P10 p10;
397  P11 p11;
398  P12 p12;
399  P13 p13;
400  P14 p14;
401 
402 tuple14(P1 __p1=P1(),
403  P2 __p2=P2(),
404  P3 __p3=P3(),
405  P4 __p4=P4(),
406  P5 __p5=P5(),
407  P6 __p6=P6(),
408  P7 __p7=P7(),
409  P8 __p8=P8(),
410  P9 __p9=P9(),
411  P10 __p10=P10(),
412  P11 __p11=P11(),
413  P12 __p12=P12(),
414  P13 __p13=P13(),
415  P14 __p14=P14()
416  ) : p1(__p1),
417  p2(__p2),
418  p3(__p3),
419  p4(__p4),
420  p5(__p5),
421  p6(__p6),
422  p7(__p7),
423  p8(__p8),
424  p9(__p9),
425  p10(__p10),
426  p11(__p11),
427  p12(__p12),
428  p13(__p13),
429  p14(__p14) { }
430 };
431 
432 
433 /************************* make_tuple **************************/
434 
436 template<class P1>
437 inline tuple1<P1> make_tuple(const P1 & p1)
438 {
439  return tuple1<P1> (p1);
440 }
441 
443 template<class P1, class P2>
444 inline tuple2<P1, P2> make_tuple(const P1 & p1,
445  const P2 & p2)
446 {
447  return tuple2<P1, P2> (p1, p2);
448 }
449 
451 template<class P1, class P2, class P3>
452 inline tuple3<P1, P2, P3> make_tuple(const P1 & p1,
453  const P2 & p2,
454  const P3 & p3)
455 {
456  return tuple3<P1, P2, P3> (p1, p2, p3);
457 }
458 
460 template<class P1, class P2, class P3, class P4>
461 inline tuple4<P1, P2, P3, P4> make_tuple(const P1 & p1,
462  const P2 & p2,
463  const P3 & p3,
464  const P4 & p4)
465 {
466  return tuple4<P1, P2, P3, P4> (p1, p2, p3, p4);
467 }
468 
470 template<class P1, class P2, class P3, class P4, class P5>
471 inline tuple5<P1, P2, P3, P4, P5> make_tuple(const P1 & p1,
472  const P2 & p2,
473  const P3 & p3,
474  const P4 & p4,
475  const P5 & p5)
476 {
477  return tuple5<P1, P2, P3, P4, P5> (p1, p2, p3, p4, p5);
478 }
479 
481 template<class P1, class P2, class P3, class P4, class P5, class P6>
482 inline tuple6<P1, P2, P3, P4, P5, P6> make_tuple(const P1 & p1,
483  const P2 & p2,
484  const P3 & p3,
485  const P4 & p4,
486  const P5 & p5,
487  const P6 & p6)
488 {
489  return tuple6<P1, P2, P3, P4, P5, P6> (p1, p2, p3, p4, p5, p6);
490 }
491 
493 template<class P1, class P2, class P3, class P4, class P5, class P6, class P7>
494 inline tuple7<P1, P2, P3, P4, P5, P6, P7> make_tuple(const P1 & p1,
495  const P2 & p2,
496  const P3 & p3,
497  const P4 & p4,
498  const P5 & p5,
499  const P6 & p6,
500  const P7 & p7)
501 {
502  return tuple7<P1, P2, P3, P4, P5, P6, P7> (p1, p2, p3, p4, p5, p6, p7);
503 }
504 
506 template<class P1, class P2, class P3, class P4, class P5, class P6, class P7, class P8>
507 inline tuple8<P1, P2, P3, P4, P5, P6, P7, P8> make_tuple(const P1 & p1,
508  const P2 & p2,
509  const P3 & p3,
510  const P4 & p4,
511  const P5 & p5,
512  const P6 & p6,
513  const P7 & p7,
514  const P8 & p8)
515 {
516  return tuple8<P1, P2, P3, P4, P5, P6, P7, P8> (p1, p2, p3, p4, p5, p6, p7, p8);
517 }
518 
520 template<class P1, class P2, class P3, class P4, class P5, class P6, class P7, class P8, class P9>
521 inline tuple9<P1, P2, P3, P4, P5, P6, P7, P8, P9> make_tuple(const P1 & p1,
522  const P2 & p2,
523  const P3 & p3,
524  const P4 & p4,
525  const P5 & p5,
526  const P6 & p6,
527  const P7 & p7,
528  const P8 & p8,
529  const P9 & p9)
530 {
531  return tuple9<P1, P2, P3, P4, P5, P6, P7, P8, P9> (p1, p2, p3, p4, p5, p6, p7, p8, p9);
532 }
533 
535 template<class P1, class P2, class P3, class P4, class P5, class P6, class P7, class P8, class P9, class P10>
536 inline tuple10<P1, P2, P3, P4, P5, P6, P7, P8, P9, P10> make_tuple(const P1 & p1,
537  const P2 & p2,
538  const P3 & p3,
539  const P4 & p4,
540  const P5 & p5,
541  const P6 & p6,
542  const P7 & p7,
543  const P8 & p8,
544  const P9 & p9,
545  const P10 & p10)
546 {
547  return tuple10<P1, P2, P3, P4, P5, P6, P7, P8, P9, P10> (p1, p2, p3, p4, p5, p6, p7, p8, p9, p10);
548 }
549 
551 template<class P1, class P2, class P3, class P4, class P5, class P6, class P7, class P8, class P9, class P10, class P11>
552 inline tuple11<P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11> make_tuple(const P1 & p1,
553  const P2 & p2,
554  const P3 & p3,
555  const P4 & p4,
556  const P5 & p5,
557  const P6 & p6,
558  const P7 & p7,
559  const P8 & p8,
560  const P9 & p9,
561  const P10 & p10,
562  const P11 & p11)
563 {
564  return tuple11<P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11> (p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11);
565 }
566 
568 template<class P1, class P2, class P3, class P4, class P5, class P6, class P7, class P8, class P9, class P10, class P11, class P12>
569 inline tuple12<P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12> make_tuple(const P1 & p1,
570  const P2 & p2,
571  const P3 & p3,
572  const P4 & p4,
573  const P5 & p5,
574  const P6 & p6,
575  const P7 & p7,
576  const P8 & p8,
577  const P9 & p9,
578  const P10 & p10,
579  const P11 & p11,
580  const P12 & p12)
581 {
582  return tuple12<P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12> (p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12);
583 }
584 
586 template<class P1, class P2, class P3, class P4, class P5, class P6, class P7, class P8, class P9, class P10, class P11, class P12, class P13>
587 inline tuple13<P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13> make_tuple(const P1 & p1,
588  const P2 & p2,
589  const P3 & p3,
590  const P4 & p4,
591  const P5 & p5,
592  const P6 & p6,
593  const P7 & p7,
594  const P8 & p8,
595  const P9 & p9,
596  const P10 & p10,
597  const P11 & p11,
598  const P12 & p12,
599  const P13 & p13)
600 {
601  return tuple13<P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13> (p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13);
602 }
603 
605 template<class P1, class P2, class P3, class P4, class P5, class P6, class P7, class P8, class P9, class P10, class P11, class P12, class P13, class P14>
606 inline tuple14<P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14> make_tuple(const P1 & p1,
607  const P2 & p2,
608  const P3 & p3,
609  const P4 & p4,
610  const P5 & p5,
611  const P6 & p6,
612  const P7 & p7,
613  const P8 & p8,
614  const P9 & p9,
615  const P10 & p10,
616  const P11 & p11,
617  const P12 & p12,
618  const P13 & p13,
619  const P14 & p14)
620 {
621  return tuple14<P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14> (p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14);
622 }
623 
624 
625 /************************* new_tuple **************************/
626 
628 template<class P1>
629 inline tuple1<P1> *new_tuple(const P1 & p1)
630 {
631  return new tuple1<P1> (p1);
632 }
633 
635 template<class P1, class P2>
636 inline tuple2<P1, P2> *new_tuple(const P1 & p1,
637  const P2 & p2)
638 {
639  return new tuple2<P1, P2> (p1, p2);
640 }
641 
643 template<class P1, class P2, class P3>
644 inline tuple3<P1, P2, P3> *new_tuple(const P1 & p1,
645  const P2 & p2,
646  const P3 & p3)
647 {
648  return new tuple3<P1, P2, P3> (p1, p2, p3);
649 }
650 
652 template<class P1, class P2, class P3, class P4>
653 inline tuple4<P1, P2, P3, P4> *new_tuple(const P1 & p1,
654  const P2 & p2,
655  const P3 & p3,
656  const P4 & p4)
657 {
658  return new tuple4<P1, P2, P3, P4> (p1, p2, p3, p4);
659 }
660 
662 template<class P1, class P2, class P3, class P4, class P5>
663 inline tuple5<P1, P2, P3, P4, P5> *new_tuple(const P1 & p1,
664  const P2 & p2,
665  const P3 & p3,
666  const P4 & p4,
667  const P5 & p5)
668 {
669  return new tuple5<P1, P2, P3, P4, P5> (p1, p2, p3, p4, p5);
670 }
671 
673 template<class P1, class P2, class P3, class P4, class P5, class P6>
674 inline tuple6<P1, P2, P3, P4, P5, P6> *new_tuple(const P1 & p1,
675  const P2 & p2,
676  const P3 & p3,
677  const P4 & p4,
678  const P5 & p5,
679  const P6 & p6)
680 {
681  return new tuple6<P1, P2, P3, P4, P5, P6> (p1, p2, p3, p4, p5, p6);
682 }
683 
685 template<class P1, class P2, class P3, class P4, class P5, class P6, class P7>
686 inline tuple7<P1, P2, P3, P4, P5, P6, P7> *new_tuple(const P1 & p1,
687  const P2 & p2,
688  const P3 & p3,
689  const P4 & p4,
690  const P5 & p5,
691  const P6 & p6,
692  const P7 & p7)
693 {
694  return new tuple7<P1, P2, P3, P4, P5, P6, P7> (p1, p2, p3, p4, p5, p6, p7);
695 }
696 
698 template<class P1, class P2, class P3, class P4, class P5, class P6, class P7, class P8>
699 inline tuple8<P1, P2, P3, P4, P5, P6, P7, P8> *new_tuple(const P1 & p1,
700  const P2 & p2,
701  const P3 & p3,
702  const P4 & p4,
703  const P5 & p5,
704  const P6 & p6,
705  const P7 & p7,
706  const P8 & p8)
707 {
708  return new tuple8<P1, P2, P3, P4, P5, P6, P7, P8> (p1, p2, p3, p4, p5, p6, p7, p8);
709 }
710 
712 template<class P1, class P2, class P3, class P4, class P5, class P6, class P7, class P8, class P9>
713 inline tuple9<P1, P2, P3, P4, P5, P6, P7, P8, P9> *new_tuple(const P1 & p1,
714  const P2 & p2,
715  const P3 & p3,
716  const P4 & p4,
717  const P5 & p5,
718  const P6 & p6,
719  const P7 & p7,
720  const P8 & p8,
721  const P9 & p9)
722 {
723  return new tuple9<P1, P2, P3, P4, P5, P6, P7, P8, P9> (p1, p2, p3, p4, p5, p6, p7, p8, p9);
724 }
725 
727 template<class P1, class P2, class P3, class P4, class P5, class P6, class P7, class P8, class P9, class P10>
728 inline tuple10<P1, P2, P3, P4, P5, P6, P7, P8, P9, P10> *new_tuple(const P1 & p1,
729  const P2 & p2,
730  const P3 & p3,
731  const P4 & p4,
732  const P5 & p5,
733  const P6 & p6,
734  const P7 & p7,
735  const P8 & p8,
736  const P9 & p9,
737  const P10 & p10)
738 {
739  return new tuple10<P1, P2, P3, P4, P5, P6, P7, P8, P9, P10> (p1, p2, p3, p4, p5, p6, p7, p8, p9, p10);
740 }
741 
743 template<class P1, class P2, class P3, class P4, class P5, class P6, class P7, class P8, class P9, class P10, class P11>
744 inline tuple11<P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11> *new_tuple(const P1 & p1,
745  const P2 & p2,
746  const P3 & p3,
747  const P4 & p4,
748  const P5 & p5,
749  const P6 & p6,
750  const P7 & p7,
751  const P8 & p8,
752  const P9 & p9,
753  const P10 & p10,
754  const P11 & p11)
755 {
756  return new tuple11<P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11> (p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11);
757 }
758 
760 template<class P1, class P2, class P3, class P4, class P5, class P6, class P7, class P8, class P9, class P10, class P11, class P12>
761 inline tuple12<P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12> *new_tuple(const P1 & p1,
762  const P2 & p2,
763  const P3 & p3,
764  const P4 & p4,
765  const P5 & p5,
766  const P6 & p6,
767  const P7 & p7,
768  const P8 & p8,
769  const P9 & p9,
770  const P10 & p10,
771  const P11 & p11,
772  const P12 & p12)
773 {
774  return new tuple12<P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12> (p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12);
775 }
776 
778 template<class P1, class P2, class P3, class P4, class P5, class P6, class P7, class P8, class P9, class P10, class P11, class P12, class P13>
779 inline tuple13<P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13> *new_tuple(const P1 & p1,
780  const P2 & p2,
781  const P3 & p3,
782  const P4 & p4,
783  const P5 & p5,
784  const P6 & p6,
785  const P7 & p7,
786  const P8 & p8,
787  const P9 & p9,
788  const P10 & p10,
789  const P11 & p11,
790  const P12 & p12,
791  const P13 & p13)
792 {
793  return new tuple13<P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13> (p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13);
794 }
795 
797 template<class P1, class P2, class P3, class P4, class P5, class P6, class P7, class P8, class P9, class P10, class P11, class P12, class P13, class P14>
798 inline tuple14<P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14> *new_tuple(const P1 & p1,
799  const P2 & p2,
800  const P3 & p3,
801  const P4 & p4,
802  const P5 & p5,
803  const P6 & p6,
804  const P7 & p7,
805  const P8 & p8,
806  const P9 & p9,
807  const P10 & p10,
808  const P11 & p11,
809  const P12 & p12,
810  const P13 & p13,
811  const P14 & p14)
812 {
813  return new tuple14<P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14> (p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14);
814 }
815 
816 
817 } //sprint
818 
819 #endif
820 
a tuple, representing 9 ordered elements
Definition: tuple.h:191
a tuple, representing 5 ordered elements
Definition: tuple.h:89
a tuple, representing 14 ordered elements
Definition: tuple.h:386
a tuple, representing 1 ordered elements
Definition: tuple.h:35
a tuple, representing 12 ordered elements
Definition: tuple.h:299
a tuple, representing 6 ordered elements
Definition: tuple.h:110
a tuple, representing 13 ordered elements
Definition: tuple.h:341
a tuple, representing 7 ordered elements
Definition: tuple.h:134
a tuple, representing 2 ordered elements
Definition: tuple.h:44
a tuple, representing 11 ordered elements
Definition: tuple.h:260
a tuple, representing 3 ordered elements
Definition: tuple.h:56
a tuple, representing 8 ordered elements
Definition: tuple.h:161
a tuple, representing 10 ordered elements
Definition: tuple.h:224
a tuple, representing 4 ordered elements
Definition: tuple.h:71