};
//////////////////////////////////////////////////////////////////////////////////
-
+ //
// make_tuple
-/* template <typename T1>
- typename tp::_tuple::tuple_to_nest_type<T1>::type make_tuple2(T1 t1)
- {
- return tp::_tuple::tuple_to_nest_type<T1>::type(t1);
- }*/
+ //
+ // make_tuple (1 params)
template <typename T0>
typename tuple<T0> make_tuple(T0 t0)
{
return tuple<T0>(t0);
}
+ // make_tuple (2 params)
template <typename T0, typename T1>
typename tuple<T0,T1> make_tuple(T0 t0, T1 t1)
{
return tuple<T0,T1>(t0,make_tuple(t1));
}
+ // make_tuple (3 params)
template <typename T0, typename T1, typename T2>
typename tuple<T0,T1,T2> make_tuple(T0 t0, T1 t1, T2 t2)
{
return tuple<T0,T1,T2>(t0,make_tuple(t1,t2));
}
+ // make_tuple (4 params)
+ template <typename T0, typename T1, typename T2, typename T3>
+ typename tuple<T0,T1,T2,T3> make_tuple(T0 t0, T1 t1, T2 t2, T3 t3)
+ {
+ return tuple<T0,T1,T2,T3>(t0,make_tuple(t1,t2,t3));
+ }
+
+ // make_tuple (5 params)
+ template <typename T0, typename T1, typename T2, typename T3, typename T4>
+ typename tuple<T0,T1,T2,T3,T4> make_tuple(T0 t0, T1 t1, T2 t2, T3 t3, T4 t4)
+ {
+ return tuple<T0,T1,T2,T3,T4>(t0,make_tuple(t1,t2,t3,t4));
+ }
+
+ // make_tuple (6 params)
+ template <typename T0, typename T1, typename T2, typename T3, typename T4, typename T5>
+ typename tuple<T0,T1,T2,T3,T4,T5> make_tuple(T0 t0,T1 t1,T2 t2,T3 t3,T4 t4,T5 t5)
+ {
+ return tuple<T0,T1,T2,T3,T4,T5>(t0,make_tuple(t1,t2,t3,t4,t5));
+ }
+
+ // make_tuple (7 params)
+ template <typename T0, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6>
+ typename tuple<T0,T1,T2,T3,T4,T5,T6> make_tuple(T0 t0,T1 t1,T2 t2,T3 t3,T4 t4,T5 t5,T6 t6)
+ {
+ return tuple<T0,T1,T2,T3,T4,T5,T6>(t0,make_tuple(t1,t2,t3,t4,t5,t6));
+ }
+
+ // make_tuple (8 params)
+ template <typename T0, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7>
+ typename tuple<T0,T1,T2,T3,T4,T5,T6,T7> make_tuple(T0 t0,T1 t1,T2 t2,T3 t3,T4 t4,T5 t5,T6 t6,T7 t7)
+ {
+ return tuple<T0,T1,T2,T3,T4,T5,T6,T7>(t0,make_tuple(t1,t2,t3,t4,t5,t6,t7));
+ }
+
+ // make_tuple (9 params)
+ template <typename T0, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8>
+ typename tuple<T0,T1,T2,T3,T4,T5,T6,T7,T8> make_tuple(T0 t0,T1 t1,T2 t2,T3 t3,T4 t4,T5 t5,T6 t6,T7 t7,T8 t8)
+ {
+ return tuple<T0,T1,T2,T3,T4,T5,T6,T7,T8>(t0,make_tuple(t1,t2,t3,t4,t5,t6,t7,t8));
+ }
+
+ // make_tuple (10 params)
+ template <typename T0, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8, typename T9>
+ typename tuple<T0,T1,T2,T3,T4,T5,T6,T7,T8,T9> make_tuple(T0 t0,T1 t1,T2 t2,T3 t3,T4 t4,T5 t5,T6 t6,T7 t7,T8 t8,T9 t9)
+ {
+ return tuple<T0,T1,T2,T3,T4,T5,T6,T7,T8,T9>(t0,make_tuple(t1,t2,t3,t4,t5,t6,t7,t8,t9));
+ }
+
+ // make_tuple (11 params)
+ template <typename T0, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8, typename T9, typename T10>
+ typename tuple<T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10>
+ make_tuple(T0 t0,T1 t1,T2 t2,T3 t3,T4 t4,T5 t5,T6 t6,T7 t7,T8 t8,T9 t9,T10 t10)
+ {
+ return tuple<T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10>(t0,make_tuple(t1,t2,t3,t4,t5,t6,t7,t8,t9,t10));
+ }
+
+ /*template <typename T0, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8, typename T9, typename T10,
+ typename T11, typename T12, typename T13, typename T14, typename T15, typename T16, typename T17, typename T18, typename T19, typename T20,
+ typename T21, typename T22, typename T23, typename T24, typename T25, typename T26, typename T27, typename T28, typename T29, typename T30, typename T31, typename T32>
+ typename tuple<T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32>
+ make_tuple(T0 t0,T1 t1,T2 t2,T3 t3,T4 t4,T5 t5,T6 t6,T7 t7,T8 t8,T9 t9,T10 t10,T11 t11,T12 t12,T13 t13,T14 t14,T15 t15,T16 t16,
+ T17 t17,T18 t18,T19 t19,T20 t20,T21 t21,T22 t22,T23 t23,T24 t24,T25 t25,T26 t26,T27 t27,T28 t28,T29 t29,T30 t30,T31 t31,T32 t32)
+ {
+ return tuple<T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32>
+ (t0,make_tuple(t1,t2,t3,t4,t5,t6,t7,t8,t9,t10,t11,t12,t13,t14,t15,t16,t17,t18,t19,t20,t21,t22,t23,t24,t25,t26,t27,t28,t29,t30,t31,t32));
+ }*/
+
+
//////////////////////////////////////////////////////////////////////////////////
}