1 /*=============================================================================
2 Copyright (c) 2001-2011 Joel de Guzman
4 Distributed under the Boost Software License, Version 1.0. (See accompanying
5 file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
7 This is an auto-generated file. Do not edit!
8 ==============================================================================*/
9 namespace boost { namespace fusion
11 template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9>
12 struct tuple : vector<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9>
15 T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9>
17 BOOST_FUSION_GPU_ENABLED tuple()
19 BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs)
20 : base_type(static_cast<base_type const&>(rhs)) {}
21 template <typename U1, typename U2>
22 BOOST_FUSION_GPU_ENABLED
23 tuple(std::pair<U1, U2> const& rhs)
25 BOOST_FUSION_GPU_ENABLED
27 tuple(typename detail::call_param<T0 >::type arg0)
29 template <typename U0>
30 BOOST_FUSION_GPU_ENABLED
31 tuple(tuple<U0> const& rhs)
33 template <typename U0>
34 BOOST_FUSION_GPU_ENABLED
35 tuple& operator=(tuple<U0> const& rhs)
37 base_type::operator=(rhs);
40 BOOST_FUSION_GPU_ENABLED
41 tuple(typename detail::call_param<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1)
42 : base_type(arg0 , arg1) {}
43 template <typename U0 , typename U1>
44 BOOST_FUSION_GPU_ENABLED
45 tuple(tuple<U0 , U1> const& rhs)
47 template <typename U0 , typename U1>
48 BOOST_FUSION_GPU_ENABLED
49 tuple& operator=(tuple<U0 , U1> const& rhs)
51 base_type::operator=(rhs);
54 BOOST_FUSION_GPU_ENABLED
55 tuple(typename detail::call_param<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2)
56 : base_type(arg0 , arg1 , arg2) {}
57 template <typename U0 , typename U1 , typename U2>
58 BOOST_FUSION_GPU_ENABLED
59 tuple(tuple<U0 , U1 , U2> const& rhs)
61 template <typename U0 , typename U1 , typename U2>
62 BOOST_FUSION_GPU_ENABLED
63 tuple& operator=(tuple<U0 , U1 , U2> const& rhs)
65 base_type::operator=(rhs);
68 BOOST_FUSION_GPU_ENABLED
69 tuple(typename detail::call_param<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3)
70 : base_type(arg0 , arg1 , arg2 , arg3) {}
71 template <typename U0 , typename U1 , typename U2 , typename U3>
72 BOOST_FUSION_GPU_ENABLED
73 tuple(tuple<U0 , U1 , U2 , U3> const& rhs)
75 template <typename U0 , typename U1 , typename U2 , typename U3>
76 BOOST_FUSION_GPU_ENABLED
77 tuple& operator=(tuple<U0 , U1 , U2 , U3> const& rhs)
79 base_type::operator=(rhs);
82 BOOST_FUSION_GPU_ENABLED
83 tuple(typename detail::call_param<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4)
84 : base_type(arg0 , arg1 , arg2 , arg3 , arg4) {}
85 template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4>
86 BOOST_FUSION_GPU_ENABLED
87 tuple(tuple<U0 , U1 , U2 , U3 , U4> const& rhs)
89 template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4>
90 BOOST_FUSION_GPU_ENABLED
91 tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4> const& rhs)
93 base_type::operator=(rhs);
96 BOOST_FUSION_GPU_ENABLED
97 tuple(typename detail::call_param<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4 , typename detail::call_param<T5 >::type arg5)
98 : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5) {}
99 template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5>
100 BOOST_FUSION_GPU_ENABLED
101 tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5> const& rhs)
103 template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5>
104 BOOST_FUSION_GPU_ENABLED
105 tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5> const& rhs)
107 base_type::operator=(rhs);
110 BOOST_FUSION_GPU_ENABLED
111 tuple(typename detail::call_param<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4 , typename detail::call_param<T5 >::type arg5 , typename detail::call_param<T6 >::type arg6)
112 : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6) {}
113 template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6>
114 BOOST_FUSION_GPU_ENABLED
115 tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6> const& rhs)
117 template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6>
118 BOOST_FUSION_GPU_ENABLED
119 tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6> const& rhs)
121 base_type::operator=(rhs);
124 BOOST_FUSION_GPU_ENABLED
125 tuple(typename detail::call_param<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4 , typename detail::call_param<T5 >::type arg5 , typename detail::call_param<T6 >::type arg6 , typename detail::call_param<T7 >::type arg7)
126 : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7) {}
127 template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7>
128 BOOST_FUSION_GPU_ENABLED
129 tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7> const& rhs)
131 template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7>
132 BOOST_FUSION_GPU_ENABLED
133 tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7> const& rhs)
135 base_type::operator=(rhs);
138 BOOST_FUSION_GPU_ENABLED
139 tuple(typename detail::call_param<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4 , typename detail::call_param<T5 >::type arg5 , typename detail::call_param<T6 >::type arg6 , typename detail::call_param<T7 >::type arg7 , typename detail::call_param<T8 >::type arg8)
140 : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8) {}
141 template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8>
142 BOOST_FUSION_GPU_ENABLED
143 tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8> const& rhs)
145 template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8>
146 BOOST_FUSION_GPU_ENABLED
147 tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8> const& rhs)
149 base_type::operator=(rhs);
152 BOOST_FUSION_GPU_ENABLED
153 tuple(typename detail::call_param<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4 , typename detail::call_param<T5 >::type arg5 , typename detail::call_param<T6 >::type arg6 , typename detail::call_param<T7 >::type arg7 , typename detail::call_param<T8 >::type arg8 , typename detail::call_param<T9 >::type arg9)
154 : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9) {}
155 template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9>
156 BOOST_FUSION_GPU_ENABLED
157 tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9> const& rhs)
159 template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9>
160 BOOST_FUSION_GPU_ENABLED
161 tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9> const& rhs)
163 base_type::operator=(rhs);
166 template <typename T>
167 BOOST_FUSION_GPU_ENABLED
168 tuple& operator=(T const& rhs)
170 base_type::operator=(rhs);
173 BOOST_FUSION_GPU_ENABLED
174 tuple& operator=(tuple const& rhs)
176 base_type::operator=(static_cast<base_type const&>(rhs));
179 template <typename U1, typename U2>
180 BOOST_FUSION_GPU_ENABLED
181 tuple& operator=(std::pair<U1, U2> const& rhs)
183 base_type::operator=(rhs);
187 template <typename Tuple>
188 struct tuple_size : result_of::size<Tuple> {};
189 template <int N, typename Tuple>
190 struct tuple_element : result_of::value_at_c<Tuple, N> {};
191 template <int N, typename Tuple>
192 BOOST_FUSION_GPU_ENABLED
196 , result_of::at_c<Tuple, N>
202 template <int N, typename Tuple>
203 BOOST_FUSION_GPU_ENABLED
204 inline typename result_of::at_c<Tuple const, N>::type
205 get(Tuple const& tup)