File indexing completed on 2025-01-18 09:34:50
0001
0002
0003
0004
0005
0006
0007
0008
0009 namespace boost { namespace fusion
0010 {
0011 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>
0012 struct tuple : vector<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19>
0013 {
0014 typedef vector<
0015 T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19>
0016 base_type;
0017 BOOST_FUSION_GPU_ENABLED tuple()
0018 : base_type() {}
0019 BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs)
0020 : base_type(static_cast<base_type const&>(rhs)) {}
0021 template <typename U1, typename U2>
0022 BOOST_FUSION_GPU_ENABLED
0023 tuple(std::pair<U1, U2> const& rhs)
0024 : base_type(rhs) {}
0025 BOOST_FUSION_GPU_ENABLED
0026 explicit
0027 tuple(typename detail::call_param<T0 >::type arg0)
0028 : base_type(arg0) {}
0029 template <typename U0>
0030 BOOST_FUSION_GPU_ENABLED
0031 tuple(tuple<U0> const& rhs)
0032 : base_type(rhs) {}
0033 template <typename U0>
0034 BOOST_FUSION_GPU_ENABLED
0035 tuple& operator=(tuple<U0> const& rhs)
0036 {
0037 base_type::operator=(rhs);
0038 return *this;
0039 }
0040 BOOST_FUSION_GPU_ENABLED
0041 tuple(typename detail::call_param<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1)
0042 : base_type(arg0 , arg1) {}
0043 template <typename U0 , typename U1>
0044 BOOST_FUSION_GPU_ENABLED
0045 tuple(tuple<U0 , U1> const& rhs)
0046 : base_type(rhs) {}
0047 template <typename U0 , typename U1>
0048 BOOST_FUSION_GPU_ENABLED
0049 tuple& operator=(tuple<U0 , U1> const& rhs)
0050 {
0051 base_type::operator=(rhs);
0052 return *this;
0053 }
0054 BOOST_FUSION_GPU_ENABLED
0055 tuple(typename detail::call_param<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2)
0056 : base_type(arg0 , arg1 , arg2) {}
0057 template <typename U0 , typename U1 , typename U2>
0058 BOOST_FUSION_GPU_ENABLED
0059 tuple(tuple<U0 , U1 , U2> const& rhs)
0060 : base_type(rhs) {}
0061 template <typename U0 , typename U1 , typename U2>
0062 BOOST_FUSION_GPU_ENABLED
0063 tuple& operator=(tuple<U0 , U1 , U2> const& rhs)
0064 {
0065 base_type::operator=(rhs);
0066 return *this;
0067 }
0068 BOOST_FUSION_GPU_ENABLED
0069 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)
0070 : base_type(arg0 , arg1 , arg2 , arg3) {}
0071 template <typename U0 , typename U1 , typename U2 , typename U3>
0072 BOOST_FUSION_GPU_ENABLED
0073 tuple(tuple<U0 , U1 , U2 , U3> const& rhs)
0074 : base_type(rhs) {}
0075 template <typename U0 , typename U1 , typename U2 , typename U3>
0076 BOOST_FUSION_GPU_ENABLED
0077 tuple& operator=(tuple<U0 , U1 , U2 , U3> const& rhs)
0078 {
0079 base_type::operator=(rhs);
0080 return *this;
0081 }
0082 BOOST_FUSION_GPU_ENABLED
0083 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)
0084 : base_type(arg0 , arg1 , arg2 , arg3 , arg4) {}
0085 template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4>
0086 BOOST_FUSION_GPU_ENABLED
0087 tuple(tuple<U0 , U1 , U2 , U3 , U4> const& rhs)
0088 : base_type(rhs) {}
0089 template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4>
0090 BOOST_FUSION_GPU_ENABLED
0091 tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4> const& rhs)
0092 {
0093 base_type::operator=(rhs);
0094 return *this;
0095 }
0096 BOOST_FUSION_GPU_ENABLED
0097 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)
0098 : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5) {}
0099 template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5>
0100 BOOST_FUSION_GPU_ENABLED
0101 tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5> const& rhs)
0102 : base_type(rhs) {}
0103 template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5>
0104 BOOST_FUSION_GPU_ENABLED
0105 tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5> const& rhs)
0106 {
0107 base_type::operator=(rhs);
0108 return *this;
0109 }
0110 BOOST_FUSION_GPU_ENABLED
0111 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)
0112 : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6) {}
0113 template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6>
0114 BOOST_FUSION_GPU_ENABLED
0115 tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6> const& rhs)
0116 : base_type(rhs) {}
0117 template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6>
0118 BOOST_FUSION_GPU_ENABLED
0119 tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6> const& rhs)
0120 {
0121 base_type::operator=(rhs);
0122 return *this;
0123 }
0124 BOOST_FUSION_GPU_ENABLED
0125 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)
0126 : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7) {}
0127 template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7>
0128 BOOST_FUSION_GPU_ENABLED
0129 tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7> const& rhs)
0130 : base_type(rhs) {}
0131 template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7>
0132 BOOST_FUSION_GPU_ENABLED
0133 tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7> const& rhs)
0134 {
0135 base_type::operator=(rhs);
0136 return *this;
0137 }
0138 BOOST_FUSION_GPU_ENABLED
0139 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)
0140 : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8) {}
0141 template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8>
0142 BOOST_FUSION_GPU_ENABLED
0143 tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8> const& rhs)
0144 : base_type(rhs) {}
0145 template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8>
0146 BOOST_FUSION_GPU_ENABLED
0147 tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8> const& rhs)
0148 {
0149 base_type::operator=(rhs);
0150 return *this;
0151 }
0152 BOOST_FUSION_GPU_ENABLED
0153 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)
0154 : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9) {}
0155 template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9>
0156 BOOST_FUSION_GPU_ENABLED
0157 tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9> const& rhs)
0158 : base_type(rhs) {}
0159 template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9>
0160 BOOST_FUSION_GPU_ENABLED
0161 tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9> const& rhs)
0162 {
0163 base_type::operator=(rhs);
0164 return *this;
0165 }
0166 BOOST_FUSION_GPU_ENABLED
0167 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)
0168 : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10) {}
0169 template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10>
0170 BOOST_FUSION_GPU_ENABLED
0171 tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10> const& rhs)
0172 : base_type(rhs) {}
0173 template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10>
0174 BOOST_FUSION_GPU_ENABLED
0175 tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10> const& rhs)
0176 {
0177 base_type::operator=(rhs);
0178 return *this;
0179 }
0180 BOOST_FUSION_GPU_ENABLED
0181 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)
0182 : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11) {}
0183 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>
0184 BOOST_FUSION_GPU_ENABLED
0185 tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11> const& rhs)
0186 : base_type(rhs) {}
0187 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>
0188 BOOST_FUSION_GPU_ENABLED
0189 tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11> const& rhs)
0190 {
0191 base_type::operator=(rhs);
0192 return *this;
0193 }
0194 BOOST_FUSION_GPU_ENABLED
0195 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)
0196 : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12) {}
0197 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>
0198 BOOST_FUSION_GPU_ENABLED
0199 tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12> const& rhs)
0200 : base_type(rhs) {}
0201 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>
0202 BOOST_FUSION_GPU_ENABLED
0203 tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12> const& rhs)
0204 {
0205 base_type::operator=(rhs);
0206 return *this;
0207 }
0208 BOOST_FUSION_GPU_ENABLED
0209 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)
0210 : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13) {}
0211 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>
0212 BOOST_FUSION_GPU_ENABLED
0213 tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13> const& rhs)
0214 : base_type(rhs) {}
0215 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>
0216 BOOST_FUSION_GPU_ENABLED
0217 tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13> const& rhs)
0218 {
0219 base_type::operator=(rhs);
0220 return *this;
0221 }
0222 BOOST_FUSION_GPU_ENABLED
0223 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)
0224 : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14) {}
0225 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>
0226 BOOST_FUSION_GPU_ENABLED
0227 tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14> const& rhs)
0228 : base_type(rhs) {}
0229 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>
0230 BOOST_FUSION_GPU_ENABLED
0231 tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14> const& rhs)
0232 {
0233 base_type::operator=(rhs);
0234 return *this;
0235 }
0236 BOOST_FUSION_GPU_ENABLED
0237 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)
0238 : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15) {}
0239 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>
0240 BOOST_FUSION_GPU_ENABLED
0241 tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15> const& rhs)
0242 : base_type(rhs) {}
0243 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>
0244 BOOST_FUSION_GPU_ENABLED
0245 tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15> const& rhs)
0246 {
0247 base_type::operator=(rhs);
0248 return *this;
0249 }
0250 BOOST_FUSION_GPU_ENABLED
0251 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)
0252 : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16) {}
0253 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>
0254 BOOST_FUSION_GPU_ENABLED
0255 tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16> const& rhs)
0256 : base_type(rhs) {}
0257 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>
0258 BOOST_FUSION_GPU_ENABLED
0259 tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16> const& rhs)
0260 {
0261 base_type::operator=(rhs);
0262 return *this;
0263 }
0264 BOOST_FUSION_GPU_ENABLED
0265 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)
0266 : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17) {}
0267 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>
0268 BOOST_FUSION_GPU_ENABLED
0269 tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17> const& rhs)
0270 : base_type(rhs) {}
0271 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>
0272 BOOST_FUSION_GPU_ENABLED
0273 tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17> const& rhs)
0274 {
0275 base_type::operator=(rhs);
0276 return *this;
0277 }
0278 BOOST_FUSION_GPU_ENABLED
0279 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)
0280 : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18) {}
0281 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>
0282 BOOST_FUSION_GPU_ENABLED
0283 tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18> const& rhs)
0284 : base_type(rhs) {}
0285 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>
0286 BOOST_FUSION_GPU_ENABLED
0287 tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18> const& rhs)
0288 {
0289 base_type::operator=(rhs);
0290 return *this;
0291 }
0292 BOOST_FUSION_GPU_ENABLED
0293 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)
0294 : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19) {}
0295 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>
0296 BOOST_FUSION_GPU_ENABLED
0297 tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19> const& rhs)
0298 : base_type(rhs) {}
0299 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>
0300 BOOST_FUSION_GPU_ENABLED
0301 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)
0302 {
0303 base_type::operator=(rhs);
0304 return *this;
0305 }
0306 template <typename T>
0307 BOOST_FUSION_GPU_ENABLED
0308 tuple& operator=(T const& rhs)
0309 {
0310 base_type::operator=(rhs);
0311 return *this;
0312 }
0313 BOOST_FUSION_GPU_ENABLED
0314 tuple& operator=(tuple const& rhs)
0315 {
0316 base_type::operator=(static_cast<base_type const&>(rhs));
0317 return *this;
0318 }
0319 template <typename U1, typename U2>
0320 BOOST_FUSION_GPU_ENABLED
0321 tuple& operator=(std::pair<U1, U2> const& rhs)
0322 {
0323 base_type::operator=(rhs);
0324 return *this;
0325 }
0326 };
0327 template <typename Tuple>
0328 struct tuple_size : result_of::size<Tuple> {};
0329 template <int N, typename Tuple>
0330 struct tuple_element : result_of::value_at_c<Tuple, N> {};
0331 template <int N, typename Tuple>
0332 BOOST_FUSION_GPU_ENABLED
0333 inline typename
0334 lazy_disable_if<
0335 is_const<Tuple>
0336 , result_of::at_c<Tuple, N>
0337 >::type
0338 get(Tuple& tup)
0339 {
0340 return at_c<N>(tup);
0341 }
0342 template <int N, typename Tuple>
0343 BOOST_FUSION_GPU_ENABLED
0344 inline typename result_of::at_c<Tuple const, N>::type
0345 get(Tuple const& tup)
0346 {
0347 return at_c<N>(tup);
0348 }
0349 }}