File indexing completed on 2025-01-18 09:50:23
0001
0002
0003
0004
0005
0006
0007
0008 template<typename Tag , typename Arg0 >
0009 struct by_value_generator_<
0010 proto::expr<Tag, list1<Arg0>, 1>
0011 >
0012 {
0013 typedef
0014 list1<Arg0>
0015 src_args;
0016 typedef
0017 list1<
0018 typename uncvref<Arg0 >::type
0019 >
0020 dst_args;
0021 typedef proto::expr<Tag, src_args, 1> src_type;
0022 typedef proto::expr<Tag, dst_args, 1> type;
0023 BOOST_FORCEINLINE
0024 static type const call(src_type const &e)
0025 {
0026 type that = {
0027 e.child0
0028 };
0029 return that;
0030 }
0031 };
0032 template<typename Tag , typename Arg0 >
0033 struct by_value_generator_<
0034 proto::basic_expr<Tag, list1<Arg0>, 1>
0035 >
0036 {
0037 typedef
0038 list1<Arg0>
0039 src_args;
0040 typedef
0041 list1<
0042 typename uncvref<Arg0 >::type
0043 >
0044 dst_args;
0045 typedef proto::basic_expr<Tag, src_args, 1> src_type;
0046 typedef proto::basic_expr<Tag, dst_args, 1> type;
0047 BOOST_FORCEINLINE
0048 static type const call(src_type const &e)
0049 {
0050 type that = {
0051 e.child0
0052 };
0053 return that;
0054 }
0055 };
0056 template<typename Tag , typename Arg0 , typename Arg1 >
0057 struct by_value_generator_<
0058 proto::expr<Tag, list2<Arg0 , Arg1>, 2>
0059 >
0060 {
0061 typedef
0062 list2<Arg0 , Arg1>
0063 src_args;
0064 typedef
0065 list2<
0066 typename uncvref<Arg0 >::type , typename uncvref<Arg1 >::type
0067 >
0068 dst_args;
0069 typedef proto::expr<Tag, src_args, 2> src_type;
0070 typedef proto::expr<Tag, dst_args, 2> type;
0071 BOOST_FORCEINLINE
0072 static type const call(src_type const &e)
0073 {
0074 type that = {
0075 e.child0 , e.child1
0076 };
0077 return that;
0078 }
0079 };
0080 template<typename Tag , typename Arg0 , typename Arg1 >
0081 struct by_value_generator_<
0082 proto::basic_expr<Tag, list2<Arg0 , Arg1>, 2>
0083 >
0084 {
0085 typedef
0086 list2<Arg0 , Arg1>
0087 src_args;
0088 typedef
0089 list2<
0090 typename uncvref<Arg0 >::type , typename uncvref<Arg1 >::type
0091 >
0092 dst_args;
0093 typedef proto::basic_expr<Tag, src_args, 2> src_type;
0094 typedef proto::basic_expr<Tag, dst_args, 2> type;
0095 BOOST_FORCEINLINE
0096 static type const call(src_type const &e)
0097 {
0098 type that = {
0099 e.child0 , e.child1
0100 };
0101 return that;
0102 }
0103 };
0104 template<typename Tag , typename Arg0 , typename Arg1 , typename Arg2 >
0105 struct by_value_generator_<
0106 proto::expr<Tag, list3<Arg0 , Arg1 , Arg2>, 3>
0107 >
0108 {
0109 typedef
0110 list3<Arg0 , Arg1 , Arg2>
0111 src_args;
0112 typedef
0113 list3<
0114 typename uncvref<Arg0 >::type , typename uncvref<Arg1 >::type , typename uncvref<Arg2 >::type
0115 >
0116 dst_args;
0117 typedef proto::expr<Tag, src_args, 3> src_type;
0118 typedef proto::expr<Tag, dst_args, 3> type;
0119 BOOST_FORCEINLINE
0120 static type const call(src_type const &e)
0121 {
0122 type that = {
0123 e.child0 , e.child1 , e.child2
0124 };
0125 return that;
0126 }
0127 };
0128 template<typename Tag , typename Arg0 , typename Arg1 , typename Arg2 >
0129 struct by_value_generator_<
0130 proto::basic_expr<Tag, list3<Arg0 , Arg1 , Arg2>, 3>
0131 >
0132 {
0133 typedef
0134 list3<Arg0 , Arg1 , Arg2>
0135 src_args;
0136 typedef
0137 list3<
0138 typename uncvref<Arg0 >::type , typename uncvref<Arg1 >::type , typename uncvref<Arg2 >::type
0139 >
0140 dst_args;
0141 typedef proto::basic_expr<Tag, src_args, 3> src_type;
0142 typedef proto::basic_expr<Tag, dst_args, 3> type;
0143 BOOST_FORCEINLINE
0144 static type const call(src_type const &e)
0145 {
0146 type that = {
0147 e.child0 , e.child1 , e.child2
0148 };
0149 return that;
0150 }
0151 };
0152 template<typename Tag , typename Arg0 , typename Arg1 , typename Arg2 , typename Arg3 >
0153 struct by_value_generator_<
0154 proto::expr<Tag, list4<Arg0 , Arg1 , Arg2 , Arg3>, 4>
0155 >
0156 {
0157 typedef
0158 list4<Arg0 , Arg1 , Arg2 , Arg3>
0159 src_args;
0160 typedef
0161 list4<
0162 typename uncvref<Arg0 >::type , typename uncvref<Arg1 >::type , typename uncvref<Arg2 >::type , typename uncvref<Arg3 >::type
0163 >
0164 dst_args;
0165 typedef proto::expr<Tag, src_args, 4> src_type;
0166 typedef proto::expr<Tag, dst_args, 4> type;
0167 BOOST_FORCEINLINE
0168 static type const call(src_type const &e)
0169 {
0170 type that = {
0171 e.child0 , e.child1 , e.child2 , e.child3
0172 };
0173 return that;
0174 }
0175 };
0176 template<typename Tag , typename Arg0 , typename Arg1 , typename Arg2 , typename Arg3 >
0177 struct by_value_generator_<
0178 proto::basic_expr<Tag, list4<Arg0 , Arg1 , Arg2 , Arg3>, 4>
0179 >
0180 {
0181 typedef
0182 list4<Arg0 , Arg1 , Arg2 , Arg3>
0183 src_args;
0184 typedef
0185 list4<
0186 typename uncvref<Arg0 >::type , typename uncvref<Arg1 >::type , typename uncvref<Arg2 >::type , typename uncvref<Arg3 >::type
0187 >
0188 dst_args;
0189 typedef proto::basic_expr<Tag, src_args, 4> src_type;
0190 typedef proto::basic_expr<Tag, dst_args, 4> type;
0191 BOOST_FORCEINLINE
0192 static type const call(src_type const &e)
0193 {
0194 type that = {
0195 e.child0 , e.child1 , e.child2 , e.child3
0196 };
0197 return that;
0198 }
0199 };
0200 template<typename Tag , typename Arg0 , typename Arg1 , typename Arg2 , typename Arg3 , typename Arg4 >
0201 struct by_value_generator_<
0202 proto::expr<Tag, list5<Arg0 , Arg1 , Arg2 , Arg3 , Arg4>, 5>
0203 >
0204 {
0205 typedef
0206 list5<Arg0 , Arg1 , Arg2 , Arg3 , Arg4>
0207 src_args;
0208 typedef
0209 list5<
0210 typename uncvref<Arg0 >::type , typename uncvref<Arg1 >::type , typename uncvref<Arg2 >::type , typename uncvref<Arg3 >::type , typename uncvref<Arg4 >::type
0211 >
0212 dst_args;
0213 typedef proto::expr<Tag, src_args, 5> src_type;
0214 typedef proto::expr<Tag, dst_args, 5> type;
0215 BOOST_FORCEINLINE
0216 static type const call(src_type const &e)
0217 {
0218 type that = {
0219 e.child0 , e.child1 , e.child2 , e.child3 , e.child4
0220 };
0221 return that;
0222 }
0223 };
0224 template<typename Tag , typename Arg0 , typename Arg1 , typename Arg2 , typename Arg3 , typename Arg4 >
0225 struct by_value_generator_<
0226 proto::basic_expr<Tag, list5<Arg0 , Arg1 , Arg2 , Arg3 , Arg4>, 5>
0227 >
0228 {
0229 typedef
0230 list5<Arg0 , Arg1 , Arg2 , Arg3 , Arg4>
0231 src_args;
0232 typedef
0233 list5<
0234 typename uncvref<Arg0 >::type , typename uncvref<Arg1 >::type , typename uncvref<Arg2 >::type , typename uncvref<Arg3 >::type , typename uncvref<Arg4 >::type
0235 >
0236 dst_args;
0237 typedef proto::basic_expr<Tag, src_args, 5> src_type;
0238 typedef proto::basic_expr<Tag, dst_args, 5> type;
0239 BOOST_FORCEINLINE
0240 static type const call(src_type const &e)
0241 {
0242 type that = {
0243 e.child0 , e.child1 , e.child2 , e.child3 , e.child4
0244 };
0245 return that;
0246 }
0247 };
0248 template<typename Tag , typename Arg0 , typename Arg1 , typename Arg2 , typename Arg3 , typename Arg4 , typename Arg5 >
0249 struct by_value_generator_<
0250 proto::expr<Tag, list6<Arg0 , Arg1 , Arg2 , Arg3 , Arg4 , Arg5>, 6>
0251 >
0252 {
0253 typedef
0254 list6<Arg0 , Arg1 , Arg2 , Arg3 , Arg4 , Arg5>
0255 src_args;
0256 typedef
0257 list6<
0258 typename uncvref<Arg0 >::type , typename uncvref<Arg1 >::type , typename uncvref<Arg2 >::type , typename uncvref<Arg3 >::type , typename uncvref<Arg4 >::type , typename uncvref<Arg5 >::type
0259 >
0260 dst_args;
0261 typedef proto::expr<Tag, src_args, 6> src_type;
0262 typedef proto::expr<Tag, dst_args, 6> type;
0263 BOOST_FORCEINLINE
0264 static type const call(src_type const &e)
0265 {
0266 type that = {
0267 e.child0 , e.child1 , e.child2 , e.child3 , e.child4 , e.child5
0268 };
0269 return that;
0270 }
0271 };
0272 template<typename Tag , typename Arg0 , typename Arg1 , typename Arg2 , typename Arg3 , typename Arg4 , typename Arg5 >
0273 struct by_value_generator_<
0274 proto::basic_expr<Tag, list6<Arg0 , Arg1 , Arg2 , Arg3 , Arg4 , Arg5>, 6>
0275 >
0276 {
0277 typedef
0278 list6<Arg0 , Arg1 , Arg2 , Arg3 , Arg4 , Arg5>
0279 src_args;
0280 typedef
0281 list6<
0282 typename uncvref<Arg0 >::type , typename uncvref<Arg1 >::type , typename uncvref<Arg2 >::type , typename uncvref<Arg3 >::type , typename uncvref<Arg4 >::type , typename uncvref<Arg5 >::type
0283 >
0284 dst_args;
0285 typedef proto::basic_expr<Tag, src_args, 6> src_type;
0286 typedef proto::basic_expr<Tag, dst_args, 6> type;
0287 BOOST_FORCEINLINE
0288 static type const call(src_type const &e)
0289 {
0290 type that = {
0291 e.child0 , e.child1 , e.child2 , e.child3 , e.child4 , e.child5
0292 };
0293 return that;
0294 }
0295 };
0296 template<typename Tag , typename Arg0 , typename Arg1 , typename Arg2 , typename Arg3 , typename Arg4 , typename Arg5 , typename Arg6 >
0297 struct by_value_generator_<
0298 proto::expr<Tag, list7<Arg0 , Arg1 , Arg2 , Arg3 , Arg4 , Arg5 , Arg6>, 7>
0299 >
0300 {
0301 typedef
0302 list7<Arg0 , Arg1 , Arg2 , Arg3 , Arg4 , Arg5 , Arg6>
0303 src_args;
0304 typedef
0305 list7<
0306 typename uncvref<Arg0 >::type , typename uncvref<Arg1 >::type , typename uncvref<Arg2 >::type , typename uncvref<Arg3 >::type , typename uncvref<Arg4 >::type , typename uncvref<Arg5 >::type , typename uncvref<Arg6 >::type
0307 >
0308 dst_args;
0309 typedef proto::expr<Tag, src_args, 7> src_type;
0310 typedef proto::expr<Tag, dst_args, 7> type;
0311 BOOST_FORCEINLINE
0312 static type const call(src_type const &e)
0313 {
0314 type that = {
0315 e.child0 , e.child1 , e.child2 , e.child3 , e.child4 , e.child5 , e.child6
0316 };
0317 return that;
0318 }
0319 };
0320 template<typename Tag , typename Arg0 , typename Arg1 , typename Arg2 , typename Arg3 , typename Arg4 , typename Arg5 , typename Arg6 >
0321 struct by_value_generator_<
0322 proto::basic_expr<Tag, list7<Arg0 , Arg1 , Arg2 , Arg3 , Arg4 , Arg5 , Arg6>, 7>
0323 >
0324 {
0325 typedef
0326 list7<Arg0 , Arg1 , Arg2 , Arg3 , Arg4 , Arg5 , Arg6>
0327 src_args;
0328 typedef
0329 list7<
0330 typename uncvref<Arg0 >::type , typename uncvref<Arg1 >::type , typename uncvref<Arg2 >::type , typename uncvref<Arg3 >::type , typename uncvref<Arg4 >::type , typename uncvref<Arg5 >::type , typename uncvref<Arg6 >::type
0331 >
0332 dst_args;
0333 typedef proto::basic_expr<Tag, src_args, 7> src_type;
0334 typedef proto::basic_expr<Tag, dst_args, 7> type;
0335 BOOST_FORCEINLINE
0336 static type const call(src_type const &e)
0337 {
0338 type that = {
0339 e.child0 , e.child1 , e.child2 , e.child3 , e.child4 , e.child5 , e.child6
0340 };
0341 return that;
0342 }
0343 };
0344 template<typename Tag , typename Arg0 , typename Arg1 , typename Arg2 , typename Arg3 , typename Arg4 , typename Arg5 , typename Arg6 , typename Arg7 >
0345 struct by_value_generator_<
0346 proto::expr<Tag, list8<Arg0 , Arg1 , Arg2 , Arg3 , Arg4 , Arg5 , Arg6 , Arg7>, 8>
0347 >
0348 {
0349 typedef
0350 list8<Arg0 , Arg1 , Arg2 , Arg3 , Arg4 , Arg5 , Arg6 , Arg7>
0351 src_args;
0352 typedef
0353 list8<
0354 typename uncvref<Arg0 >::type , typename uncvref<Arg1 >::type , typename uncvref<Arg2 >::type , typename uncvref<Arg3 >::type , typename uncvref<Arg4 >::type , typename uncvref<Arg5 >::type , typename uncvref<Arg6 >::type , typename uncvref<Arg7 >::type
0355 >
0356 dst_args;
0357 typedef proto::expr<Tag, src_args, 8> src_type;
0358 typedef proto::expr<Tag, dst_args, 8> type;
0359 BOOST_FORCEINLINE
0360 static type const call(src_type const &e)
0361 {
0362 type that = {
0363 e.child0 , e.child1 , e.child2 , e.child3 , e.child4 , e.child5 , e.child6 , e.child7
0364 };
0365 return that;
0366 }
0367 };
0368 template<typename Tag , typename Arg0 , typename Arg1 , typename Arg2 , typename Arg3 , typename Arg4 , typename Arg5 , typename Arg6 , typename Arg7 >
0369 struct by_value_generator_<
0370 proto::basic_expr<Tag, list8<Arg0 , Arg1 , Arg2 , Arg3 , Arg4 , Arg5 , Arg6 , Arg7>, 8>
0371 >
0372 {
0373 typedef
0374 list8<Arg0 , Arg1 , Arg2 , Arg3 , Arg4 , Arg5 , Arg6 , Arg7>
0375 src_args;
0376 typedef
0377 list8<
0378 typename uncvref<Arg0 >::type , typename uncvref<Arg1 >::type , typename uncvref<Arg2 >::type , typename uncvref<Arg3 >::type , typename uncvref<Arg4 >::type , typename uncvref<Arg5 >::type , typename uncvref<Arg6 >::type , typename uncvref<Arg7 >::type
0379 >
0380 dst_args;
0381 typedef proto::basic_expr<Tag, src_args, 8> src_type;
0382 typedef proto::basic_expr<Tag, dst_args, 8> type;
0383 BOOST_FORCEINLINE
0384 static type const call(src_type const &e)
0385 {
0386 type that = {
0387 e.child0 , e.child1 , e.child2 , e.child3 , e.child4 , e.child5 , e.child6 , e.child7
0388 };
0389 return that;
0390 }
0391 };
0392 template<typename Tag , typename Arg0 , typename Arg1 , typename Arg2 , typename Arg3 , typename Arg4 , typename Arg5 , typename Arg6 , typename Arg7 , typename Arg8 >
0393 struct by_value_generator_<
0394 proto::expr<Tag, list9<Arg0 , Arg1 , Arg2 , Arg3 , Arg4 , Arg5 , Arg6 , Arg7 , Arg8>, 9>
0395 >
0396 {
0397 typedef
0398 list9<Arg0 , Arg1 , Arg2 , Arg3 , Arg4 , Arg5 , Arg6 , Arg7 , Arg8>
0399 src_args;
0400 typedef
0401 list9<
0402 typename uncvref<Arg0 >::type , typename uncvref<Arg1 >::type , typename uncvref<Arg2 >::type , typename uncvref<Arg3 >::type , typename uncvref<Arg4 >::type , typename uncvref<Arg5 >::type , typename uncvref<Arg6 >::type , typename uncvref<Arg7 >::type , typename uncvref<Arg8 >::type
0403 >
0404 dst_args;
0405 typedef proto::expr<Tag, src_args, 9> src_type;
0406 typedef proto::expr<Tag, dst_args, 9> type;
0407 BOOST_FORCEINLINE
0408 static type const call(src_type const &e)
0409 {
0410 type that = {
0411 e.child0 , e.child1 , e.child2 , e.child3 , e.child4 , e.child5 , e.child6 , e.child7 , e.child8
0412 };
0413 return that;
0414 }
0415 };
0416 template<typename Tag , typename Arg0 , typename Arg1 , typename Arg2 , typename Arg3 , typename Arg4 , typename Arg5 , typename Arg6 , typename Arg7 , typename Arg8 >
0417 struct by_value_generator_<
0418 proto::basic_expr<Tag, list9<Arg0 , Arg1 , Arg2 , Arg3 , Arg4 , Arg5 , Arg6 , Arg7 , Arg8>, 9>
0419 >
0420 {
0421 typedef
0422 list9<Arg0 , Arg1 , Arg2 , Arg3 , Arg4 , Arg5 , Arg6 , Arg7 , Arg8>
0423 src_args;
0424 typedef
0425 list9<
0426 typename uncvref<Arg0 >::type , typename uncvref<Arg1 >::type , typename uncvref<Arg2 >::type , typename uncvref<Arg3 >::type , typename uncvref<Arg4 >::type , typename uncvref<Arg5 >::type , typename uncvref<Arg6 >::type , typename uncvref<Arg7 >::type , typename uncvref<Arg8 >::type
0427 >
0428 dst_args;
0429 typedef proto::basic_expr<Tag, src_args, 9> src_type;
0430 typedef proto::basic_expr<Tag, dst_args, 9> type;
0431 BOOST_FORCEINLINE
0432 static type const call(src_type const &e)
0433 {
0434 type that = {
0435 e.child0 , e.child1 , e.child2 , e.child3 , e.child4 , e.child5 , e.child6 , e.child7 , e.child8
0436 };
0437 return that;
0438 }
0439 };
0440 template<typename Tag , typename Arg0 , typename Arg1 , typename Arg2 , typename Arg3 , typename Arg4 , typename Arg5 , typename Arg6 , typename Arg7 , typename Arg8 , typename Arg9 >
0441 struct by_value_generator_<
0442 proto::expr<Tag, list10<Arg0 , Arg1 , Arg2 , Arg3 , Arg4 , Arg5 , Arg6 , Arg7 , Arg8 , Arg9>, 10>
0443 >
0444 {
0445 typedef
0446 list10<Arg0 , Arg1 , Arg2 , Arg3 , Arg4 , Arg5 , Arg6 , Arg7 , Arg8 , Arg9>
0447 src_args;
0448 typedef
0449 list10<
0450 typename uncvref<Arg0 >::type , typename uncvref<Arg1 >::type , typename uncvref<Arg2 >::type , typename uncvref<Arg3 >::type , typename uncvref<Arg4 >::type , typename uncvref<Arg5 >::type , typename uncvref<Arg6 >::type , typename uncvref<Arg7 >::type , typename uncvref<Arg8 >::type , typename uncvref<Arg9 >::type
0451 >
0452 dst_args;
0453 typedef proto::expr<Tag, src_args, 10> src_type;
0454 typedef proto::expr<Tag, dst_args, 10> type;
0455 BOOST_FORCEINLINE
0456 static type const call(src_type const &e)
0457 {
0458 type that = {
0459 e.child0 , e.child1 , e.child2 , e.child3 , e.child4 , e.child5 , e.child6 , e.child7 , e.child8 , e.child9
0460 };
0461 return that;
0462 }
0463 };
0464 template<typename Tag , typename Arg0 , typename Arg1 , typename Arg2 , typename Arg3 , typename Arg4 , typename Arg5 , typename Arg6 , typename Arg7 , typename Arg8 , typename Arg9 >
0465 struct by_value_generator_<
0466 proto::basic_expr<Tag, list10<Arg0 , Arg1 , Arg2 , Arg3 , Arg4 , Arg5 , Arg6 , Arg7 , Arg8 , Arg9>, 10>
0467 >
0468 {
0469 typedef
0470 list10<Arg0 , Arg1 , Arg2 , Arg3 , Arg4 , Arg5 , Arg6 , Arg7 , Arg8 , Arg9>
0471 src_args;
0472 typedef
0473 list10<
0474 typename uncvref<Arg0 >::type , typename uncvref<Arg1 >::type , typename uncvref<Arg2 >::type , typename uncvref<Arg3 >::type , typename uncvref<Arg4 >::type , typename uncvref<Arg5 >::type , typename uncvref<Arg6 >::type , typename uncvref<Arg7 >::type , typename uncvref<Arg8 >::type , typename uncvref<Arg9 >::type
0475 >
0476 dst_args;
0477 typedef proto::basic_expr<Tag, src_args, 10> src_type;
0478 typedef proto::basic_expr<Tag, dst_args, 10> type;
0479 BOOST_FORCEINLINE
0480 static type const call(src_type const &e)
0481 {
0482 type that = {
0483 e.child0 , e.child1 , e.child2 , e.child3 , e.child4 , e.child5 , e.child6 , e.child7 , e.child8 , e.child9
0484 };
0485 return that;
0486 }
0487 };