Chris@16
|
1 /*=============================================================================
|
Chris@16
|
2 Copyright (c) 2001-2011 Joel de Guzman
|
Chris@16
|
3
|
Chris@16
|
4 Distributed under the Boost Software License, Version 1.0. (See accompanying
|
Chris@16
|
5 file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
Chris@16
|
6
|
Chris@16
|
7 This is an auto-generated file. Do not edit!
|
Chris@16
|
8 ==============================================================================*/
|
Chris@16
|
9 namespace boost { namespace fusion
|
Chris@16
|
10 {
|
Chris@16
|
11 template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9>
|
Chris@16
|
12 struct tuple : vector<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9>
|
Chris@16
|
13 {
|
Chris@16
|
14 typedef vector<
|
Chris@16
|
15 T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9>
|
Chris@16
|
16 base_type;
|
Chris@101
|
17 BOOST_FUSION_GPU_ENABLED tuple()
|
Chris@16
|
18 : base_type() {}
|
Chris@101
|
19 BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs)
|
Chris@16
|
20 : base_type(rhs) {}
|
Chris@16
|
21 template <typename U1, typename U2>
|
Chris@101
|
22 BOOST_FUSION_GPU_ENABLED
|
Chris@16
|
23 tuple(std::pair<U1, U2> const& rhs)
|
Chris@16
|
24 : base_type(rhs) {}
|
Chris@101
|
25 BOOST_FUSION_GPU_ENABLED
|
Chris@16
|
26 explicit
|
Chris@101
|
27 tuple(typename detail::call_param<T0 >::type arg0)
|
Chris@101
|
28 : base_type(arg0) {}
|
Chris@16
|
29 template <typename U0>
|
Chris@101
|
30 BOOST_FUSION_GPU_ENABLED
|
Chris@16
|
31 tuple(tuple<U0> const& rhs)
|
Chris@16
|
32 : base_type(rhs) {}
|
Chris@16
|
33 template <typename U0>
|
Chris@101
|
34 BOOST_FUSION_GPU_ENABLED
|
Chris@16
|
35 tuple& operator=(tuple<U0> const& rhs)
|
Chris@16
|
36 {
|
Chris@16
|
37 base_type::operator=(rhs);
|
Chris@16
|
38 return *this;
|
Chris@16
|
39 }
|
Chris@101
|
40 BOOST_FUSION_GPU_ENABLED
|
Chris@101
|
41 tuple(typename detail::call_param<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1)
|
Chris@101
|
42 : base_type(arg0 , arg1) {}
|
Chris@16
|
43 template <typename U0 , typename U1>
|
Chris@101
|
44 BOOST_FUSION_GPU_ENABLED
|
Chris@16
|
45 tuple(tuple<U0 , U1> const& rhs)
|
Chris@16
|
46 : base_type(rhs) {}
|
Chris@16
|
47 template <typename U0 , typename U1>
|
Chris@101
|
48 BOOST_FUSION_GPU_ENABLED
|
Chris@16
|
49 tuple& operator=(tuple<U0 , U1> const& rhs)
|
Chris@16
|
50 {
|
Chris@16
|
51 base_type::operator=(rhs);
|
Chris@16
|
52 return *this;
|
Chris@16
|
53 }
|
Chris@101
|
54 BOOST_FUSION_GPU_ENABLED
|
Chris@101
|
55 tuple(typename detail::call_param<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2)
|
Chris@101
|
56 : base_type(arg0 , arg1 , arg2) {}
|
Chris@16
|
57 template <typename U0 , typename U1 , typename U2>
|
Chris@101
|
58 BOOST_FUSION_GPU_ENABLED
|
Chris@16
|
59 tuple(tuple<U0 , U1 , U2> const& rhs)
|
Chris@16
|
60 : base_type(rhs) {}
|
Chris@16
|
61 template <typename U0 , typename U1 , typename U2>
|
Chris@101
|
62 BOOST_FUSION_GPU_ENABLED
|
Chris@16
|
63 tuple& operator=(tuple<U0 , U1 , U2> const& rhs)
|
Chris@16
|
64 {
|
Chris@16
|
65 base_type::operator=(rhs);
|
Chris@16
|
66 return *this;
|
Chris@16
|
67 }
|
Chris@101
|
68 BOOST_FUSION_GPU_ENABLED
|
Chris@101
|
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)
|
Chris@101
|
70 : base_type(arg0 , arg1 , arg2 , arg3) {}
|
Chris@16
|
71 template <typename U0 , typename U1 , typename U2 , typename U3>
|
Chris@101
|
72 BOOST_FUSION_GPU_ENABLED
|
Chris@16
|
73 tuple(tuple<U0 , U1 , U2 , U3> const& rhs)
|
Chris@16
|
74 : base_type(rhs) {}
|
Chris@16
|
75 template <typename U0 , typename U1 , typename U2 , typename U3>
|
Chris@101
|
76 BOOST_FUSION_GPU_ENABLED
|
Chris@16
|
77 tuple& operator=(tuple<U0 , U1 , U2 , U3> const& rhs)
|
Chris@16
|
78 {
|
Chris@16
|
79 base_type::operator=(rhs);
|
Chris@16
|
80 return *this;
|
Chris@16
|
81 }
|
Chris@101
|
82 BOOST_FUSION_GPU_ENABLED
|
Chris@101
|
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)
|
Chris@101
|
84 : base_type(arg0 , arg1 , arg2 , arg3 , arg4) {}
|
Chris@16
|
85 template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4>
|
Chris@101
|
86 BOOST_FUSION_GPU_ENABLED
|
Chris@16
|
87 tuple(tuple<U0 , U1 , U2 , U3 , U4> const& rhs)
|
Chris@16
|
88 : base_type(rhs) {}
|
Chris@16
|
89 template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4>
|
Chris@101
|
90 BOOST_FUSION_GPU_ENABLED
|
Chris@16
|
91 tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4> const& rhs)
|
Chris@16
|
92 {
|
Chris@16
|
93 base_type::operator=(rhs);
|
Chris@16
|
94 return *this;
|
Chris@16
|
95 }
|
Chris@101
|
96 BOOST_FUSION_GPU_ENABLED
|
Chris@101
|
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)
|
Chris@101
|
98 : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5) {}
|
Chris@16
|
99 template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5>
|
Chris@101
|
100 BOOST_FUSION_GPU_ENABLED
|
Chris@16
|
101 tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5> const& rhs)
|
Chris@16
|
102 : base_type(rhs) {}
|
Chris@16
|
103 template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5>
|
Chris@101
|
104 BOOST_FUSION_GPU_ENABLED
|
Chris@16
|
105 tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5> const& rhs)
|
Chris@16
|
106 {
|
Chris@16
|
107 base_type::operator=(rhs);
|
Chris@16
|
108 return *this;
|
Chris@16
|
109 }
|
Chris@101
|
110 BOOST_FUSION_GPU_ENABLED
|
Chris@101
|
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)
|
Chris@101
|
112 : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6) {}
|
Chris@16
|
113 template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6>
|
Chris@101
|
114 BOOST_FUSION_GPU_ENABLED
|
Chris@16
|
115 tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6> const& rhs)
|
Chris@16
|
116 : base_type(rhs) {}
|
Chris@16
|
117 template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6>
|
Chris@101
|
118 BOOST_FUSION_GPU_ENABLED
|
Chris@16
|
119 tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6> const& rhs)
|
Chris@16
|
120 {
|
Chris@16
|
121 base_type::operator=(rhs);
|
Chris@16
|
122 return *this;
|
Chris@16
|
123 }
|
Chris@101
|
124 BOOST_FUSION_GPU_ENABLED
|
Chris@101
|
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)
|
Chris@101
|
126 : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7) {}
|
Chris@16
|
127 template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7>
|
Chris@101
|
128 BOOST_FUSION_GPU_ENABLED
|
Chris@16
|
129 tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7> const& rhs)
|
Chris@16
|
130 : base_type(rhs) {}
|
Chris@16
|
131 template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7>
|
Chris@101
|
132 BOOST_FUSION_GPU_ENABLED
|
Chris@16
|
133 tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7> const& rhs)
|
Chris@16
|
134 {
|
Chris@16
|
135 base_type::operator=(rhs);
|
Chris@16
|
136 return *this;
|
Chris@16
|
137 }
|
Chris@101
|
138 BOOST_FUSION_GPU_ENABLED
|
Chris@101
|
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)
|
Chris@101
|
140 : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8) {}
|
Chris@16
|
141 template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8>
|
Chris@101
|
142 BOOST_FUSION_GPU_ENABLED
|
Chris@16
|
143 tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8> const& rhs)
|
Chris@16
|
144 : base_type(rhs) {}
|
Chris@16
|
145 template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8>
|
Chris@101
|
146 BOOST_FUSION_GPU_ENABLED
|
Chris@16
|
147 tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8> const& rhs)
|
Chris@16
|
148 {
|
Chris@16
|
149 base_type::operator=(rhs);
|
Chris@16
|
150 return *this;
|
Chris@16
|
151 }
|
Chris@101
|
152 BOOST_FUSION_GPU_ENABLED
|
Chris@101
|
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)
|
Chris@101
|
154 : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9) {}
|
Chris@16
|
155 template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9>
|
Chris@101
|
156 BOOST_FUSION_GPU_ENABLED
|
Chris@16
|
157 tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9> const& rhs)
|
Chris@16
|
158 : base_type(rhs) {}
|
Chris@16
|
159 template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9>
|
Chris@101
|
160 BOOST_FUSION_GPU_ENABLED
|
Chris@16
|
161 tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9> const& rhs)
|
Chris@16
|
162 {
|
Chris@16
|
163 base_type::operator=(rhs);
|
Chris@16
|
164 return *this;
|
Chris@16
|
165 }
|
Chris@16
|
166 template <typename T>
|
Chris@101
|
167 BOOST_FUSION_GPU_ENABLED
|
Chris@16
|
168 tuple& operator=(T const& rhs)
|
Chris@16
|
169 {
|
Chris@16
|
170 base_type::operator=(rhs);
|
Chris@16
|
171 return *this;
|
Chris@16
|
172 }
|
Chris@101
|
173 BOOST_FUSION_GPU_ENABLED
|
Chris@16
|
174 tuple& operator=(tuple const& rhs)
|
Chris@16
|
175 {
|
Chris@16
|
176 base_type::operator=(rhs);
|
Chris@16
|
177 return *this;
|
Chris@16
|
178 }
|
Chris@16
|
179 template <typename U1, typename U2>
|
Chris@101
|
180 BOOST_FUSION_GPU_ENABLED
|
Chris@16
|
181 tuple& operator=(std::pair<U1, U2> const& rhs)
|
Chris@16
|
182 {
|
Chris@16
|
183 base_type::operator=(rhs);
|
Chris@16
|
184 return *this;
|
Chris@16
|
185 }
|
Chris@16
|
186 };
|
Chris@16
|
187 template <typename Tuple>
|
Chris@16
|
188 struct tuple_size : result_of::size<Tuple> {};
|
Chris@16
|
189 template <int N, typename Tuple>
|
Chris@16
|
190 struct tuple_element : result_of::value_at_c<Tuple, N> {};
|
Chris@16
|
191 template <int N, typename Tuple>
|
Chris@101
|
192 BOOST_FUSION_GPU_ENABLED
|
Chris@16
|
193 inline typename
|
Chris@16
|
194 lazy_disable_if<
|
Chris@16
|
195 is_const<Tuple>
|
Chris@16
|
196 , result_of::at_c<Tuple, N>
|
Chris@16
|
197 >::type
|
Chris@16
|
198 get(Tuple& tup)
|
Chris@16
|
199 {
|
Chris@16
|
200 return at_c<N>(tup);
|
Chris@16
|
201 }
|
Chris@16
|
202 template <int N, typename Tuple>
|
Chris@101
|
203 BOOST_FUSION_GPU_ENABLED
|
Chris@16
|
204 inline typename result_of::at_c<Tuple const, N>::type
|
Chris@16
|
205 get(Tuple const& tup)
|
Chris@16
|
206 {
|
Chris@16
|
207 return at_c<N>(tup);
|
Chris@16
|
208 }
|
Chris@16
|
209 }}
|