]> git.proxmox.com Git - ceph.git/blob - ceph/src/boost/libs/fusion/include/boost/fusion/tuple/detail/preprocessed/tuple20.hpp
add subtree-ish sources for 12.0.3
[ceph.git] / ceph / src / boost / libs / fusion / include / boost / fusion / tuple / detail / preprocessed / tuple20.hpp
1 /*=============================================================================
2 Copyright (c) 2001-2011 Joel de Guzman
3
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)
6
7 This is an auto-generated file. Do not edit!
8 ==============================================================================*/
9 namespace boost { namespace fusion
10 {
11 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>
12 struct tuple : vector<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19>
13 {
14 typedef vector<
15 T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19>
16 base_type;
17 BOOST_FUSION_GPU_ENABLED tuple()
18 : base_type() {}
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)
24 : base_type(rhs) {}
25 BOOST_FUSION_GPU_ENABLED
26 explicit
27 tuple(typename detail::call_param<T0 >::type arg0)
28 : base_type(arg0) {}
29 template <typename U0>
30 BOOST_FUSION_GPU_ENABLED
31 tuple(tuple<U0> const& rhs)
32 : base_type(rhs) {}
33 template <typename U0>
34 BOOST_FUSION_GPU_ENABLED
35 tuple& operator=(tuple<U0> const& rhs)
36 {
37 base_type::operator=(rhs);
38 return *this;
39 }
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)
46 : base_type(rhs) {}
47 template <typename U0 , typename U1>
48 BOOST_FUSION_GPU_ENABLED
49 tuple& operator=(tuple<U0 , U1> const& rhs)
50 {
51 base_type::operator=(rhs);
52 return *this;
53 }
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)
60 : base_type(rhs) {}
61 template <typename U0 , typename U1 , typename U2>
62 BOOST_FUSION_GPU_ENABLED
63 tuple& operator=(tuple<U0 , U1 , U2> const& rhs)
64 {
65 base_type::operator=(rhs);
66 return *this;
67 }
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)
74 : base_type(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)
78 {
79 base_type::operator=(rhs);
80 return *this;
81 }
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)
88 : base_type(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)
92 {
93 base_type::operator=(rhs);
94 return *this;
95 }
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)
102 : base_type(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)
106 {
107 base_type::operator=(rhs);
108 return *this;
109 }
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)
116 : base_type(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)
120 {
121 base_type::operator=(rhs);
122 return *this;
123 }
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)
130 : base_type(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)
134 {
135 base_type::operator=(rhs);
136 return *this;
137 }
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)
144 : base_type(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)
148 {
149 base_type::operator=(rhs);
150 return *this;
151 }
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)
158 : base_type(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)
162 {
163 base_type::operator=(rhs);
164 return *this;
165 }
166 BOOST_FUSION_GPU_ENABLED
167 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 , typename detail::call_param<T10 >::type arg10)
168 : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10) {}
169 template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10>
170 BOOST_FUSION_GPU_ENABLED
171 tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10> const& rhs)
172 : base_type(rhs) {}
173 template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10>
174 BOOST_FUSION_GPU_ENABLED
175 tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10> const& rhs)
176 {
177 base_type::operator=(rhs);
178 return *this;
179 }
180 BOOST_FUSION_GPU_ENABLED
181 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 , typename detail::call_param<T10 >::type arg10 , typename detail::call_param<T11 >::type arg11)
182 : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11) {}
183 template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11>
184 BOOST_FUSION_GPU_ENABLED
185 tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11> const& rhs)
186 : base_type(rhs) {}
187 template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11>
188 BOOST_FUSION_GPU_ENABLED
189 tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11> const& rhs)
190 {
191 base_type::operator=(rhs);
192 return *this;
193 }
194 BOOST_FUSION_GPU_ENABLED
195 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 , typename detail::call_param<T10 >::type arg10 , typename detail::call_param<T11 >::type arg11 , typename detail::call_param<T12 >::type arg12)
196 : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12) {}
197 template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12>
198 BOOST_FUSION_GPU_ENABLED
199 tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12> const& rhs)
200 : base_type(rhs) {}
201 template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12>
202 BOOST_FUSION_GPU_ENABLED
203 tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12> const& rhs)
204 {
205 base_type::operator=(rhs);
206 return *this;
207 }
208 BOOST_FUSION_GPU_ENABLED
209 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 , typename detail::call_param<T10 >::type arg10 , typename detail::call_param<T11 >::type arg11 , typename detail::call_param<T12 >::type arg12 , typename detail::call_param<T13 >::type arg13)
210 : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13) {}
211 template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13>
212 BOOST_FUSION_GPU_ENABLED
213 tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13> const& rhs)
214 : base_type(rhs) {}
215 template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13>
216 BOOST_FUSION_GPU_ENABLED
217 tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13> const& rhs)
218 {
219 base_type::operator=(rhs);
220 return *this;
221 }
222 BOOST_FUSION_GPU_ENABLED
223 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 , typename detail::call_param<T10 >::type arg10 , typename detail::call_param<T11 >::type arg11 , typename detail::call_param<T12 >::type arg12 , typename detail::call_param<T13 >::type arg13 , typename detail::call_param<T14 >::type arg14)
224 : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14) {}
225 template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14>
226 BOOST_FUSION_GPU_ENABLED
227 tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14> const& rhs)
228 : base_type(rhs) {}
229 template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14>
230 BOOST_FUSION_GPU_ENABLED
231 tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14> const& rhs)
232 {
233 base_type::operator=(rhs);
234 return *this;
235 }
236 BOOST_FUSION_GPU_ENABLED
237 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 , typename detail::call_param<T10 >::type arg10 , typename detail::call_param<T11 >::type arg11 , typename detail::call_param<T12 >::type arg12 , typename detail::call_param<T13 >::type arg13 , typename detail::call_param<T14 >::type arg14 , typename detail::call_param<T15 >::type arg15)
238 : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15) {}
239 template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15>
240 BOOST_FUSION_GPU_ENABLED
241 tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15> const& rhs)
242 : base_type(rhs) {}
243 template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15>
244 BOOST_FUSION_GPU_ENABLED
245 tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15> const& rhs)
246 {
247 base_type::operator=(rhs);
248 return *this;
249 }
250 BOOST_FUSION_GPU_ENABLED
251 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 , typename detail::call_param<T10 >::type arg10 , typename detail::call_param<T11 >::type arg11 , typename detail::call_param<T12 >::type arg12 , typename detail::call_param<T13 >::type arg13 , typename detail::call_param<T14 >::type arg14 , typename detail::call_param<T15 >::type arg15 , typename detail::call_param<T16 >::type arg16)
252 : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16) {}
253 template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16>
254 BOOST_FUSION_GPU_ENABLED
255 tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16> const& rhs)
256 : base_type(rhs) {}
257 template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16>
258 BOOST_FUSION_GPU_ENABLED
259 tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16> const& rhs)
260 {
261 base_type::operator=(rhs);
262 return *this;
263 }
264 BOOST_FUSION_GPU_ENABLED
265 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 , typename detail::call_param<T10 >::type arg10 , typename detail::call_param<T11 >::type arg11 , typename detail::call_param<T12 >::type arg12 , typename detail::call_param<T13 >::type arg13 , typename detail::call_param<T14 >::type arg14 , typename detail::call_param<T15 >::type arg15 , typename detail::call_param<T16 >::type arg16 , typename detail::call_param<T17 >::type arg17)
266 : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17) {}
267 template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17>
268 BOOST_FUSION_GPU_ENABLED
269 tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17> const& rhs)
270 : base_type(rhs) {}
271 template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17>
272 BOOST_FUSION_GPU_ENABLED
273 tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17> const& rhs)
274 {
275 base_type::operator=(rhs);
276 return *this;
277 }
278 BOOST_FUSION_GPU_ENABLED
279 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 , typename detail::call_param<T10 >::type arg10 , typename detail::call_param<T11 >::type arg11 , typename detail::call_param<T12 >::type arg12 , typename detail::call_param<T13 >::type arg13 , typename detail::call_param<T14 >::type arg14 , typename detail::call_param<T15 >::type arg15 , typename detail::call_param<T16 >::type arg16 , typename detail::call_param<T17 >::type arg17 , typename detail::call_param<T18 >::type arg18)
280 : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18) {}
281 template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18>
282 BOOST_FUSION_GPU_ENABLED
283 tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18> const& rhs)
284 : base_type(rhs) {}
285 template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18>
286 BOOST_FUSION_GPU_ENABLED
287 tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18> const& rhs)
288 {
289 base_type::operator=(rhs);
290 return *this;
291 }
292 BOOST_FUSION_GPU_ENABLED
293 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 , typename detail::call_param<T10 >::type arg10 , typename detail::call_param<T11 >::type arg11 , typename detail::call_param<T12 >::type arg12 , typename detail::call_param<T13 >::type arg13 , typename detail::call_param<T14 >::type arg14 , typename detail::call_param<T15 >::type arg15 , typename detail::call_param<T16 >::type arg16 , typename detail::call_param<T17 >::type arg17 , typename detail::call_param<T18 >::type arg18 , typename detail::call_param<T19 >::type arg19)
294 : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19) {}
295 template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19>
296 BOOST_FUSION_GPU_ENABLED
297 tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19> const& rhs)
298 : base_type(rhs) {}
299 template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19>
300 BOOST_FUSION_GPU_ENABLED
301 tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19> const& rhs)
302 {
303 base_type::operator=(rhs);
304 return *this;
305 }
306 template <typename T>
307 BOOST_FUSION_GPU_ENABLED
308 tuple& operator=(T const& rhs)
309 {
310 base_type::operator=(rhs);
311 return *this;
312 }
313 BOOST_FUSION_GPU_ENABLED
314 tuple& operator=(tuple const& rhs)
315 {
316 base_type::operator=(static_cast<base_type const&>(rhs));
317 return *this;
318 }
319 template <typename U1, typename U2>
320 BOOST_FUSION_GPU_ENABLED
321 tuple& operator=(std::pair<U1, U2> const& rhs)
322 {
323 base_type::operator=(rhs);
324 return *this;
325 }
326 };
327 template <typename Tuple>
328 struct tuple_size : result_of::size<Tuple> {};
329 template <int N, typename Tuple>
330 struct tuple_element : result_of::value_at_c<Tuple, N> {};
331 template <int N, typename Tuple>
332 BOOST_FUSION_GPU_ENABLED
333 inline typename
334 lazy_disable_if<
335 is_const<Tuple>
336 , result_of::at_c<Tuple, N>
337 >::type
338 get(Tuple& tup)
339 {
340 return at_c<N>(tup);
341 }
342 template <int N, typename Tuple>
343 BOOST_FUSION_GPU_ENABLED
344 inline typename result_of::at_c<Tuple const, N>::type
345 get(Tuple const& tup)
346 {
347 return at_c<N>(tup);
348 }
349 }}