Lines Matching refs:A1
1085 template <typename R, typename T, typename U, typename A1>
1086 inline MutantFunctor<R, Tuple1<A1> >
1087 CreateFunctor(T* obj, R (U::*method)(A1)) {
1088 MutantRunner<R, Tuple1<A1> >* t =
1089 new Mutant<R, T, R (U::*)(A1),
1090 Tuple0, Tuple1<A1> >
1092 return MutantFunctor<R, Tuple1<A1> >(t);
1095 template <typename R, typename A1>
1096 inline MutantFunctor<R, Tuple1<A1> >
1097 CreateFunctor(R (*function)(A1)) {
1098 MutantRunner<R, Tuple1<A1> >* t =
1099 new MutantFunction<R, R (*)(A1),
1100 Tuple0, Tuple1<A1> >
1102 return MutantFunctor<R, Tuple1<A1> >(t);
1106 template <typename R, typename T, typename U, typename A1>
1107 inline MutantFunctor<R, Tuple1<A1> >
1108 CreateFunctor(T** obj, R (U::*method)(A1)) {
1109 MutantRunner<R, Tuple1<A1> >* t =
1110 new MutantLateObjectBind<R, T, R (U::*)(A1),
1111 Tuple0, Tuple1<A1> >
1113 return MutantFunctor<R, Tuple1<A1> >(t);
1118 template <typename R, typename T, typename U, typename A1>
1119 inline MutantFunctor<R, Tuple1<A1> >
1120 CreateFunctor(T* obj, R (__stdcall U::*method)(A1)) {
1121 MutantRunner<R, Tuple1<A1> >* t =
1122 new Mutant<R, T, R (__stdcall U::*)(A1),
1123 Tuple0, Tuple1<A1> >
1125 return MutantFunctor<R, Tuple1<A1> >(t);
1128 template <typename R, typename A1>
1129 inline MutantFunctor<R, Tuple1<A1> >
1130 CreateFunctor(R (__stdcall *function)(A1)) {
1131 MutantRunner<R, Tuple1<A1> >* t =
1132 new MutantFunction<R, R (__stdcall *)(A1),
1133 Tuple0, Tuple1<A1> >
1135 return MutantFunctor<R, Tuple1<A1> >(t);
1138 template <typename R, typename T, typename U, typename A1>
1139 inline MutantFunctor<R, Tuple1<A1> >
1140 CreateFunctor(T** obj, R (__stdcall U::*method)(A1)) {
1141 MutantRunner<R, Tuple1<A1> >* t =
1142 new MutantLateObjectBind<R, T, R (__stdcall U::*)(A1),
1143 Tuple0, Tuple1<A1> >
1145 return MutantFunctor<R, Tuple1<A1> >(t);
1151 template <typename R, typename T, typename U, typename A1, typename A2>
1152 inline MutantFunctor<R, Tuple2<A1, A2> >
1153 CreateFunctor(T* obj, R (U::*method)(A1, A2)) {
1154 MutantRunner<R, Tuple2<A1, A2> >* t =
1155 new Mutant<R, T, R (U::*)(A1, A2),
1156 Tuple0, Tuple2<A1, A2> >
1158 return MutantFunctor<R, Tuple2<A1, A2> >(t);
1161 template <typename R, typename A1, typename A2>
1162 inline MutantFunctor<R, Tuple2<A1, A2> >
1163 CreateFunctor(R (*function)(A1, A2)) {
1164 MutantRunner<R, Tuple2<A1, A2> >* t =
1165 new MutantFunction<R, R (*)(A1, A2),
1166 Tuple0, Tuple2<A1, A2> >
1168 return MutantFunctor<R, Tuple2<A1, A2> >(t);
1172 template <typename R, typename T, typename U, typename A1, typename A2>
1173 inline MutantFunctor<R, Tuple2<A1, A2> >
1174 CreateFunctor(T** obj, R (U::*method)(A1, A2)) {
1175 MutantRunner<R, Tuple2<A1, A2> >* t =
1176 new MutantLateObjectBind<R, T, R (U::*)(A1, A2),
1177 Tuple0, Tuple2<A1, A2> >
1179 return MutantFunctor<R, Tuple2<A1, A2> >(t);
1184 template <typename R, typename T, typename U, typename A1, typename A2>
1185 inline MutantFunctor<R, Tuple2<A1, A2> >
1186 CreateFunctor(T* obj, R (__stdcall U::*method)(A1, A2)) {
1187 MutantRunner<R, Tuple2<A1, A2> >* t =
1188 new Mutant<R, T, R (__stdcall U::*)(A1, A2),
1189 Tuple0, Tuple2<A1, A2> >
1191 return MutantFunctor<R, Tuple2<A1, A2> >(t);
1194 template <typename R, typename A1, typename A2>
1195 inline MutantFunctor<R, Tuple2<A1, A2> >
1196 CreateFunctor(R (__stdcall *function)(A1, A2)) {
1197 MutantRunner<R, Tuple2<A1, A2> >* t =
1198 new MutantFunction<R, R (__stdcall *)(A1, A2),
1199 Tuple0, Tuple2<A1, A2> >
1201 return MutantFunctor<R, Tuple2<A1, A2> >(t);
1204 template <typename R, typename T, typename U, typename A1, typename A2>
1205 inline MutantFunctor<R, Tuple2<A1, A2> >
1206 A1, A2)) {
1207 MutantRunner<R, Tuple2<A1, A2> >* t =
1208 new MutantLateObjectBind<R, T, R (__stdcall U::*)(A1, A2),
1209 Tuple0, Tuple2<A1, A2> >
1211 return MutantFunctor<R, Tuple2<A1, A2> >(t);
1217 template <typename R, typename T, typename U, typename A1, typename A2,
1219 inline MutantFunctor<R, Tuple3<A1, A2, A3> >
1220 CreateFunctor(T* obj, R (U::*method)(A1, A2, A3)) {
1221 MutantRunner<R, Tuple3<A1, A2, A3> >* t =
1222 new Mutant<R, T, R (U::*)(A1, A2, A3),
1223 Tuple0, Tuple3<A1, A2, A3> >
1225 return MutantFunctor<R, Tuple3<A1, A2, A3> >(t);
1228 template <typename R, typename A1, typename A2, typename A3>
1229 inline MutantFunctor<R, Tuple3<A1, A2, A3> >
1230 CreateFunctor(R (*function)(A1, A2, A3)) {
1231 MutantRunner<R, Tuple3<A1, A2, A3> >* t =
1232 new MutantFunction<R, R (*)(A1, A2, A3),
1233 Tuple0, Tuple3<A1, A2, A3> >
1235 return MutantFunctor<R, Tuple3<A1, A2, A3> >(t);
1239 template <typename R, typename T, typename U, typename A1, typename A2,
1241 inline MutantFunctor<R, Tuple3<A1, A2, A3> >
1242 CreateFunctor(T** obj, R (U::*method)(A1, A2, A3)) {
1243 MutantRunner<R, Tuple3<A1, A2, A3> >* t =
1244 new MutantLateObjectBind<R, T, R (U::*)(A1, A2, A3),
1245 Tuple0, Tuple3<A1, A2, A3> >
1247 return MutantFunctor<R, Tuple3<A1, A2, A3> >(t);
1252 template <typename R, typename T, typename U, typename A1, typename A2,
1254 inline MutantFunctor<R, Tuple3<A1, A2, A3> >
1255 CreateFunctor(T* obj, R (__stdcall U::*method)(A1, A2, A3)) {
1256 MutantRunner<R, Tuple3<A1, A2, A3> >* t =
1257 new Mutant<R, T, R (__stdcall U::*)(A1, A2, A3),
1258 Tuple0, Tuple3<A1, A2, A3> >
1260 return MutantFunctor<R, Tuple3<A1, A2, A3> >(t);
1263 template <typename R, typename A1, typename A2, typename A3>
1264 inline MutantFunctor<R, Tuple3<A1, A2, A3> >
1265 CreateFunctor(R (__stdcall *function)(A1, A2, A3)) {
1266 MutantRunner<R, Tuple3<A1, A2, A3> >* t =
1267 new MutantFunction<R, R (__stdcall *)(A1, A2, A3),
1268 Tuple0, Tuple3<A1, A2, A3> >
1270 return MutantFunctor<R, Tuple3<A1, A2, A3> >(t);
1273 template <typename R, typename T, typename U, typename A1, typename A2,
1275 inline MutantFunctor<R, Tuple3<A1, A2, A3> >
1276 CreateFunctor(T** obj, R (__stdcall U::*method)(A1, A2, A3)) {
1277 MutantRunner<R, Tuple3<A1, A2, A3> >* t =
1278 new MutantLateObjectBind<R, T, R (__stdcall U::*)(A1, A2, A3),
1279 Tuple0, Tuple3<A1, A2, A3> >
1281 return MutantFunctor<R, Tuple3<A1, A2, A3> >(t);
1287 template <typename R, typename T, typename U, typename A1, typename A2,
1289 inline MutantFunctor<R, Tuple4<A1, A2, A3, A4> >
1290 CreateFunctor(T* obj, R (U::*method)(A1, A2, A3, A4)) {
1291 MutantRunner<R, Tuple4<A1, A2, A3, A4> >* t =
1292 new Mutant<R, T, R (U::*)(A1, A2, A3, A4),
1293 Tuple0, Tuple4<A1, A2, A3, A4> >
1295 return MutantFunctor<R, Tuple4<A1, A2, A3, A4> >(t);
1298 template <typename R, typename A1, typename A2, typename A3, typename A4>
1299 inline MutantFunctor<R, Tuple4<A1, A2, A3, A4> >
1300 CreateFunctor(R (*function)(A1, A2, A3, A4)) {
1301 MutantRunner<R, Tuple4<A1, A2, A3, A4> >* t =
1302 new MutantFunction<R, R (*)(A1, A2, A3, A4),
1303 Tuple0, Tuple4<A1, A2, A3, A4> >
1305 return MutantFunctor<R, Tuple4<A1, A2, A3, A4> >(t);
1309 template <typename R, typename T, typename U, typename A1, typename A2,
1311 inline MutantFunctor<R, Tuple4<A1, A2, A3, A4> >
1312 CreateFunctor(T** obj, R (U::*method)(A1, A2, A3, A4)) {
1313 MutantRunner<R, Tuple4<A1, A2, A3, A4> >* t =
1314 new MutantLateObjectBind<R, T, R (U::*)(A1, A2, A3, A4),
1315 Tuple0, Tuple4<A1, A2, A3, A4> >
1317 return MutantFunctor<R, Tuple4<A1, A2, A3, A4> >(t);
1322 template <typename R, typename T, typename U, typename A1, typename A2,
1324 inline MutantFunctor<R, Tuple4<A1, A2, A3, A4> >
1325 CreateFunctor(T* obj, R (__stdcall U::*method)(A1, A2, A3, A4)) {
1326 MutantRunner<R, Tuple4<A1, A2, A3, A4> >* t =
1327 new Mutant<R, T, R (__stdcall U::*)(A1, A2, A3, A4),
1328 Tuple0, Tuple4<A1, A2, A3, A4> >
1330 return MutantFunctor<R, Tuple4<A1, A2, A3, A4> >(t);
1333 template <typename R, typename A1, typename A2, typename A3, typename A4>
1334 inline MutantFunctor<R, Tuple4<A1, A2, A3, A4> >
1335 CreateFunctor(R (__stdcall *function)(A1, A2, A3, A4)) {
1336 MutantRunner<R, Tuple4<A1, A2, A3, A4> >* t =
1337 new MutantFunction<R, R (__stdcall *)(A1, A2, A3, A4),
1338 Tuple0, Tuple4<A1, A2, A3, A4> >
1340 return MutantFunctor<R, Tuple4<A1, A2, A3, A4> >(t);
1343 template <typename R, typename T, typename U, typename A1, typename A2,
1345 inline MutantFunctor<R, Tuple4<A1, A2, A3, A4> >
1346 CreateFunctor(T** obj, R (__stdcall U::*method)(A1, A2, A3, A4)) {
1347 MutantRunner<R, Tuple4<A1, A2, A3, A4> >* t =
1348 new MutantLateObjectBind<R, T, R (__stdcall U::*)(A1, A2, A3, A4),
1349 Tuple0, Tuple4<A1, A2, A3, A4> >
1351 return MutantFunctor<R, Tuple4<A1, A2, A3, A4> >(t);
1357 template <typename R, typename T, typename U, typename A1, typename A2,
1359 inline MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >
1360 CreateFunctor(T* obj, R (U::*method)(A1, A2, A3, A4, A5)) {
1361 MutantRunner<R, Tuple5<A1, A2, A3, A4, A5> >* t =
1362 new Mutant<R, T, R (U::*)(A1, A2, A3, A4, A5),
1363 Tuple0, Tuple5<A1, A2, A3, A4, A5> >
1365 return MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >(t);
1368 template <typename R, typename A1, typename A2, typename A3, typename A4,
1370 inline MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >
1371 CreateFunctor(R (*function)(A1, A2, A3, A4, A5)) {
1372 MutantRunner<R, Tuple5<A1, A2, A3, A4, A5> >* t =
1373 new MutantFunction<R, R (*)(A1, A2, A3, A4, A5),
1374 Tuple0, Tuple5<A1, A2, A3, A4, A5> >
1376 return MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >(t);
1380 template <typename R, typename T, typename U, typename A1, typename A2,
1382 inline MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >
1383 CreateFunctor(T** obj, R (U::*method)(A1, A2, A3, A4, A5)) {
1384 MutantRunner<R, Tuple5<A1, A2, A3, A4, A5> >* t =
1385 new MutantLateObjectBind<R, T, R (U::*)(A1, A2, A3, A4, A5),
1386 Tuple0, Tuple5<A1, A2, A3, A4, A5> >
1388 return MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >(t);
1393 template <typename R, typename T, typename U, typename A1, typename A2,
1395 inline MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >
1396 CreateFunctor(T* obj, R (__stdcall U::*method)(A1, A2, A3, A4, A5)) {
1397 MutantRunner<R, Tuple5<A1, A2, A3, A4, A5> >* t =
1398 new Mutant<R, T, R (__stdcall U::*)(A1, A2, A3, A4, A5),
1399 Tuple0, Tuple5<A1, A2, A3, A4, A5> >
1401 return MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >(t);
1404 template <typename R, typename A1, typename A2, typename A3, typename A4,
1406 inline MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >
1407 CreateFunctor(R (__stdcall *function)(A1, A2, A3, A4, A5)) {
1408 MutantRunner<R, Tuple5<A1, A2, A3, A4, A5> >* t =
1409 new MutantFunction<R, R (__stdcall *)(A1, A2, A3, A4, A5),
1410 Tuple0, Tuple5<A1, A2, A3, A4, A5> >
1412 return MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >(t);
1415 template <typename R, typename T, typename U, typename A1, typename A2,
1417 inline MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >
1418 CreateFunctor(T** obj, R (__stdcall U::*method)(A1, A2, A3, A4, A5)) {
1419 MutantRunner<R, Tuple5<A1, A2, A3, A4, A5> >* t =
1420 new MutantLateObjectBind<R, T, R (__stdcall U::*)(A1, A2, A3, A4, A5),
1421 Tuple0, Tuple5<A1, A2, A3, A4, A5> >
1423 return MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >(t);
1429 template <typename R, typename T, typename U, typename A1, typename A2,
1431 inline MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >
1432 CreateFunctor(T* obj, R (U::*method)(A1, A2, A3, A4, A5, A6)) {
1433 MutantRunner<R, Tuple6<A1, A2, A3, A4, A5, A6> >* t =
1434 new Mutant<R, T, R (U::*)(A1, A2, A3, A4, A5, A6),
1435 Tuple0, Tuple6<A1, A2, A3, A4, A5, A6> >
1437 return MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >(t);
1440 template <typename R, typename A1, typename A2, typename A3, typename A4,
1442 inline MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >
1443 CreateFunctor(R (*function)(A1, A2, A3, A4, A5, A6)) {
1444 MutantRunner<R, Tuple6<A1, A2, A3, A4, A5, A6> >* t =
1445 new MutantFunction<R, R (*)(A1, A2, A3, A4, A5, A6),
1446 Tuple0, Tuple6<A1, A2, A3, A4, A5, A6> >
1448 return MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >(t);
1452 template <typename R, typename T, typename U, typename A1, typename A2,
1454 inline MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >
1455 CreateFunctor(T** obj, R (U::*method)(A1, A2, A3, A4, A5, A6)) {
1456 MutantRunner<R, Tuple6<A1, A2, A3, A4, A5, A6> >* t =
1457 new MutantLateObjectBind<R, T, R (U::*)(A1, A2, A3, A4, A5, A6),
1458 Tuple0, Tuple6<A1, A2, A3, A4, A5, A6> >
1460 return MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >(t);
1465 template <typename R, typename T, typename U, typename A1, typename A2,
1467 inline MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >
1468 CreateFunctor(T* obj, R (__stdcall U::*method)(A1, A2, A3, A4, A5, A6)) {
1469 MutantRunner<R, Tuple6<A1, A2, A3, A4, A5, A6> >* t =
1470 new Mutant<R, T, R (__stdcall U::*)(A1, A2, A3, A4, A5, A6),
1471 Tuple0, Tuple6<A1, A2, A3, A4, A5, A6> >
1473 return MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >(t);
1476 template <typename R, typename A1, typename A2, typename A3, typename A4,
1478 inline MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >
1479 CreateFunctor(R (__stdcall *function)(A1, A2, A3, A4, A5, A6)) {
1480 MutantRunner<R, Tuple6<A1, A2, A3, A4, A5, A6> >* t =
1481 new MutantFunction<R, R (__stdcall *)(A1, A2, A3, A4, A5, A6),
1482 Tuple0, Tuple6<A1, A2, A3, A4, A5, A6> >
1484 return MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >(t);
1487 template <typename R, typename T, typename U, typename A1, typename A2,
1489 inline MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >
1490 CreateFunctor(T** obj, R (__stdcall U::*method)(A1, A2, A3, A4, A5, A6)) {
1491 MutantRunner<R, Tuple6<A1, A2, A3, A4, A5, A6> >* t =
1492 new MutantLateObjectBind<R, T, R (__stdcall U::*)(A1, A2, A3, A4, A5, A6),
1493 Tuple0, Tuple6<A1, A2, A3, A4, A5, A6> >
1495 return MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >(t);
1567 template <typename R, typename T, typename U, typename P1, typename A1,
1569 inline MutantFunctor<R, Tuple1<A1> >
1570 CreateFunctor(T* obj, R (U::*method)(X1, A1), const P1& p1) {
1571 MutantRunner<R, Tuple1<A1> >* t =
1572 new Mutant<R, T, R (U::*)(X1, A1),
1573 Tuple1<P1>, Tuple1<A1> >
1575 return MutantFunctor<R, Tuple1<A1> >(t);
1578 template <typename R, typename P1, typename A1, typename X1>
1579 inline MutantFunctor<R, Tuple1<A1> >
1580 CreateFunctor(R (*function)(X1, A1), const P1& p1) {
1581 MutantRunner<R, Tuple1<A1> >* t =
1582 new MutantFunction<R, R (*)(X1, A1),
1583 Tuple1<P1>, Tuple1<A1> >
1585 return MutantFunctor<R, Tuple1<A1> >(t);
1589 template <typename R, typename T, typename U, typename P1, typename A1,
1591 inline MutantFunctor<R, Tuple1<A1> >
1592 CreateFunctor(T** obj, R (U::*method)(X1, A1), const P1& p1) {
1593 MutantRunner<R, Tuple1<A1> >* t =
1594 A1),
1595 Tuple1<P1>, Tuple1<A1> >
1597 return MutantFunctor<R, Tuple1<A1> >(t);
1602 template <typename R, typename T, typename U, typename P1, typename A1,
1604 inline MutantFunctor<R, Tuple1<A1> >
1605 CreateFunctor(T* obj, R (__stdcall U::*method)(X1, A1), const P1& p1) {
1606 MutantRunner<R, Tuple1<A1> >* t =
1607 new Mutant<R, T, R (__stdcall U::*)(X1, A1),
1608 Tuple1<P1>, Tuple1<A1> >
1610 return MutantFunctor<R, Tuple1<A1> >(t);
1613 template <typename R, typename P1, typename A1, typename X1>
1614 inline MutantFunctor<R, Tuple1<A1> >
1615 CreateFunctor(R (__stdcall *function)(X1, A1), const P1& p1) {
1616 MutantRunner<R, Tuple1<A1> >* t =
1617 new MutantFunction<R, R (__stdcall *)(X1, A1),
1618 Tuple1<P1>, Tuple1<A1> >
1620 return MutantFunctor<R, Tuple1<A1> >(t);
1623 template <typename R, typename T, typename U, typename P1, typename A1,
1625 inline MutantFunctor<R, Tuple1<A1> >
1626 CreateFunctor(T** obj, R (__stdcall U::*method)(X1, A1), const P1& p1) {
1627 MutantRunner<R, Tuple1<A1> >* t =
1628 new MutantLateObjectBind<R, T, R (__stdcall U::*)(X1, A1),
1629 Tuple1<P1>, Tuple1<A1> >
1631 return MutantFunctor<R, Tuple1<A1> >(t);
1637 template <typename R, typename T, typename U, typename P1, typename A1,
1639 inline MutantFunctor<R, Tuple2<A1, A2> >
1640 CreateFunctor(T* obj, R (U::*method)(X1, A1, A2), const P1& p1) {
1641 MutantRunner<R, Tuple2<A1, A2> >* t =
1642 new Mutant<R, T, R (U::*)(X1, A1, A2),
1643 Tuple1<P1>, Tuple2<A1, A2> >
1645 return MutantFunctor<R, Tuple2<A1, A2> >(t);
1648 template <typename R, typename P1, typename A1, typename A2, typename X1>
1649 inline MutantFunctor<R, Tuple2<A1, A2> >
1650 CreateFunctor(R (*function)(X1, A1, A2), const P1& p1) {
1651 MutantRunner<R, Tuple2<A1, A2> >* t =
1652 new MutantFunction<R, R (*)(X1, A1, A2),
1653 Tuple1<P1>, Tuple2<A1, A2> >
1655 return MutantFunctor<R, Tuple2<A1, A2> >(t);
1659 template <typename R, typename T, typename U, typename P1, typename A1,
1661 inline MutantFunctor<R, Tuple2<A1, A2> >
1662 CreateFunctor(T** obj, R (U::*method)(X1, A1, A2), const P1& p1) {
1663 MutantRunner<R, Tuple2<A1, A2> >* t =
1664 new MutantLateObjectBind<R, T, R (U::*)(X1, A1, A2),
1665 Tuple1<P1>, Tuple2<A1, A2> >
1667 return MutantFunctor<R, Tuple2<A1, A2> >(t);
1672 template <typename R, typename T, typename U, typename P1, typename A1,
1674 inline MutantFunctor<R, Tuple2<A1, A2> >
1675 CreateFunctor(T* obj, R (__stdcall U::*method)(X1, A1, A2), const P1& p1) {
1676 MutantRunner<R, Tuple2<A1, A2> >* t =
1677 new Mutant<R, T, R (__stdcall U::*)(X1, A1, A2),
1678 Tuple1<P1>, Tuple2<A1, A2> >
1680 return MutantFunctor<R, Tuple2<A1, A2> >(t);
1683 template <typename R, typename P1, typename A1, typename A2, typename X1>
1684 inline MutantFunctor<R, Tuple2<A1, A2> >
1685 CreateFunctor(R (__stdcall *function)(X1, A1, A2), const P1& p1) {
1686 MutantRunner<R, Tuple2<A1, A2> >* t =
1687 new MutantFunction<R, R (__stdcall *)(X1, A1, A2),
1688 Tuple1<P1>, Tuple2<A1, A2> >
1690 return MutantFunctor<R, Tuple2<A1, A2> >(t);
1693 template <typename R, typename T, typename U, typename P1, typename A1,
1695 inline MutantFunctor<R, Tuple2<A1, A2> >
1696 CreateFunctor(T** obj, R (__stdcall U::*method)(X1, A1, A2), const P1& p1) {
1697 MutantRunner<R, Tuple2<A1, A2> >* t =
1698 new MutantLateObjectBind<R, T, R (__stdcall U::*)(X1, A1, A2),
1699 Tuple1<P1>, Tuple2<A1, A2> >
1701 return MutantFunctor<R, Tuple2<A1, A2> >(t);
1707 template <typename R, typename T, typename U, typename P1, typename A1,
1709 inline MutantFunctor<R, Tuple3<A1, A2, A3> >
1710 CreateFunctor(T* obj, R (U::*method)(X1, A1, A2, A3), const P1& p1) {
1711 MutantRunner<R, Tuple3<A1, A2, A3> >* t =
1712 new Mutant<R, T, R (U::*)(X1, A1, A2, A3),
1713 Tuple1<P1>, Tuple3<A1, A2, A3> >
1715 return MutantFunctor<R, Tuple3<A1, A2, A3> >(t);
1718 template <typename R, typename P1, typename A1, typename A2, typename A3,
1720 inline MutantFunctor<R, Tuple3<A1, A2, A3> >
1721 CreateFunctor(R (*function)(X1, A1, A2, A3), const P1& p1) {
1722 MutantRunner<R, Tuple3<A1, A2, A3> >* t =
1723 new MutantFunction<R, R (*)(X1, A1, A2, A3),
1724 Tuple1<P1>, Tuple3<A1, A2, A3> >
1726 return MutantFunctor<R, Tuple3<A1, A2, A3> >(t);
1730 template <typename R, typename T, typename U, typename P1, typename A1,
1732 inline MutantFunctor<R, Tuple3<A1, A2, A3> >
1733 CreateFunctor(T** obj, R (U::*method)(X1, A1, A2, A3), const P1& p1) {
1734 MutantRunner<R, Tuple3<A1, A2, A3> >* t =
1735 new MutantLateObjectBind<R, T, R (U::*)(X1, A1, A2, A3),
1736 Tuple1<P1>, Tuple3<A1, A2, A3> >
1738 return MutantFunctor<R, Tuple3<A1, A2, A3> >(t);
1743 template <typename R, typename T, typename U, typename P1, typename A1,
1745 inline MutantFunctor<R, Tuple3<A1, A2, A3> >
1746 CreateFunctor(T* obj, R (__stdcall U::*method)(X1, A1, A2, A3), const P1& p1) {
1747 MutantRunner<R, Tuple3<A1, A2, A3> >* t =
1748 new Mutant<R, T, R (__stdcall U::*)(X1, A1, A2, A3),
1749 Tuple1<P1>, Tuple3<A1, A2, A3> >
1751 return MutantFunctor<R, Tuple3<A1, A2, A3> >(t);
1754 template <typename R, typename P1, typename A1, typename A2, typename A3,
1756 inline MutantFunctor<R, Tuple3<A1, A2, A3> >
1757 CreateFunctor(R (__stdcall *function)(X1, A1, A2, A3), const P1& p1) {
1758 MutantRunner<R, Tuple3<A1, A2, A3> >* t =
1759 new MutantFunction<R, R (__stdcall *)(X1, A1, A2, A3),
1760 Tuple1<P1>, Tuple3<A1, A2, A3> >
1762 return MutantFunctor<R, Tuple3<A1, A2, A3> >(t);
1765 template <typename R, typename T, typename U, typename P1, typename A1,
1767 inline MutantFunctor<R, Tuple3<A1, A2, A3> >
1768 CreateFunctor(T** obj, R (__stdcall U::*method)(X1, A1, A2, A3), const P1& p1) {
1769 MutantRunner<R, Tuple3<A1, A2, A3> >* t =
1770 new MutantLateObjectBind<R, T, R (__stdcall U::*)(X1, A1, A2, A3),
1771 Tuple1<P1>, Tuple3<A1, A2, A3> >
1773 return MutantFunctor<R, Tuple3<A1, A2, A3> >(t);
1779 template <typename R, typename T, typename U, typename P1, typename A1,
1781 inline MutantFunctor<R, Tuple4<A1, A2, A3, A4> >
1782 CreateFunctor(T* obj, R (U::*method)(X1, A1, A2, A3, A4), const P1& p1) {
1783 MutantRunner<R, Tuple4<A1, A2, A3, A4> >* t =
1784 new Mutant<R, T, R (U::*)(X1, A1, A2, A3, A4),
1785 Tuple1<P1>, Tuple4<A1, A2, A3, A4> >
1787 return MutantFunctor<R, Tuple4<A1, A2, A3, A4> >(t);
1790 template <typename R, typename P1, typename A1, typename A2, typename A3,
1792 inline MutantFunctor<R, Tuple4<A1, A2, A3, A4> >
1793 CreateFunctor(R (*function)(X1, A1, A2, A3, A4), const P1& p1) {
1794 MutantRunner<R, Tuple4<A1, A2, A3, A4> >* t =
1795 new MutantFunction<R, R (*)(X1, A1, A2, A3, A4),
1796 Tuple1<P1>, Tuple4<A1, A2, A3, A4> >
1798 return MutantFunctor<R, Tuple4<A1, A2, A3, A4> >(t);
1802 template <typename R, typename T, typename U, typename P1, typename A1,
1804 inline MutantFunctor<R, Tuple4<A1, A2, A3, A4> >
1805 CreateFunctor(T** obj, R (U::*method)(X1, A1, A2, A3, A4), const P1& p1) {
1806 MutantRunner<R, Tuple4<A1, A2, A3, A4> >* t =
1807 new MutantLateObjectBind<R, T, R (U::*)(X1, A1, A2, A3, A4),
1808 Tuple1<P1>, Tuple4<A1, A2, A3, A4> >
1810 return MutantFunctor<R, Tuple4<A1, A2, A3, A4> >(t);
1815 template <typename R, typename T, typename U, typename P1, typename A1,
1817 inline MutantFunctor<R, Tuple4<A1, A2, A3, A4> >
1818 CreateFunctor(T* obj, R (__stdcall U::*method)(X1, A1, A2, A3, A4),
1820 MutantRunner<R, Tuple4<A1, A2, A3, A4> >* t =
1821 new Mutant<R, T, R (__stdcall U::*)(X1, A1, A2, A3, A4),
1822 Tuple1<P1>, Tuple4<A1, A2, A3, A4> >
1824 return MutantFunctor<R, Tuple4<A1, A2, A3, A4> >(t);
1827 template <typename R, typename P1, typename A1, typename A2, typename A3,
1829 inline MutantFunctor<R, Tuple4<A1, A2, A3, A4> >
1830 CreateFunctor(R (__stdcall *function)(X1, A1, A2, A3, A4), const P1& p1) {
1831 MutantRunner<R, Tuple4<A1, A2, A3, A4> >* t =
1832 new MutantFunction<R, R (__stdcall *)(X1, A1, A2, A3, A4),
1833 Tuple1<P1>, Tuple4<A1, A2, A3, A4> >
1835 return MutantFunctor<R, Tuple4<A1, A2, A3, A4> >(t);
1838 template <typename R, typename T, typename U, typename P1, typename A1,
1840 inline MutantFunctor<R, Tuple4<A1, A2, A3, A4> >
1841 CreateFunctor(T** obj, R (__stdcall U::*method)(X1, A1, A2, A3, A4),
1843 MutantRunner<R, Tuple4<A1, A2, A3, A4> >* t =
1844 new MutantLateObjectBind<R, T, R (__stdcall U::*)(X1, A1, A2, A3, A4),
1845 Tuple1<P1>, Tuple4<A1, A2, A3, A4> >
1847 return MutantFunctor<R, Tuple4<A1, A2, A3, A4> >(t);
1853 template <typename R, typename T, typename U, typename P1, typename A1,
1855 inline MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >
1856 CreateFunctor(T* obj, R (U::*method)(X1, A1, A2, A3, A4, A5), const P1& p1) {
1857 MutantRunner<R, Tuple5<A1, A2, A3, A4, A5> >* t =
1858 new Mutant<R, T, R (U::*)(X1, A1, A2, A3, A4, A5),
1859 Tuple1<P1>, Tuple5<A1, A2, A3, A4, A5> >
1861 return MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >(t);
1864 template <typename R, typename P1, typename A1, typename A2, typename A3,
1866 inline MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >
1867 CreateFunctor(R (*function)(X1, A1, A2, A3, A4, A5), const P1& p1) {
1868 MutantRunner<R, Tuple5<A1, A2, A3, A4, A5> >* t =
1869 new MutantFunction<R, R (*)(X1, A1, A2, A3, A4, A5),
1870 Tuple1<P1>, Tuple5<A1, A2, A3, A4, A5> >
1872 return MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >(t);
1876 template <typename R, typename T, typename U, typename P1, typename A1,
1878 inline MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >
1879 CreateFunctor(T** obj, R (U::*method)(X1, A1, A2, A3, A4, A5), const P1& p1) {
1880 MutantRunner<R, Tuple5<A1, A2, A3, A4, A5> >* t =
1881 new MutantLateObjectBind<R, T, R (U::*)(X1, A1, A2, A3, A4, A5),
1882 Tuple1<P1>, Tuple5<A1, A2, A3, A4, A5> >
1884 return MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >(t);
1889 template <typename R, typename T, typename U, typename P1, typename A1,
1891 inline MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >
1892 CreateFunctor(T* obj, R (__stdcall U::*method)(X1, A1, A2, A3, A4, A5),
1894 MutantRunner<R, Tuple5<A1, A2, A3, A4, A5> >* t =
1895 new Mutant<R, T, R (__stdcall U::*)(X1, A1, A2, A3, A4, A5),
1896 Tuple1<P1>, Tuple5<A1, A2, A3, A4, A5> >
1898 return MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >(t);
1901 template <typename R, typename P1, typename A1, typename A2, typename A3,
1903 inline MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >
1904 CreateFunctor(R (__stdcall *function)(X1, A1, A2, A3, A4, A5), const P1& p1) {
1905 MutantRunner<R, Tuple5<A1, A2, A3, A4, A5> >* t =
1906 new MutantFunction<R, R (__stdcall *)(X1, A1, A2, A3, A4, A5),
1907 Tuple1<P1>, Tuple5<A1, A2, A3, A4, A5> >
1909 return MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >(t);
1912 template <typename R, typename T, typename U, typename P1, typename A1,
1914 inline MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >
1915 CreateFunctor(T** obj, R (__stdcall U::*method)(X1, A1, A2, A3, A4, A5),
1917 MutantRunner<R, Tuple5<A1, A2, A3, A4, A5> >* t =
1918 new MutantLateObjectBind<R, T, R (__stdcall U::*)(X1, A1, A2, A3, A4, A5),
1919 Tuple1<P1>, Tuple5<A1, A2, A3, A4, A5> >
1921 return MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >(t);
1927 template <typename R, typename T, typename U, typename P1, typename A1,
1930 inline MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >
1931 CreateFunctor(T* obj, R (U::*method)(X1, A1, A2, A3, A4, A5, A6),
1933 MutantRunner<R, Tuple6<A1, A2, A3, A4, A5, A6> >* t =
1934 new Mutant<R, T, R (U::*)(X1, A1, A2, A3, A4, A5, A6),
1935 Tuple1<P1>, Tuple6<A1, A2, A3, A4, A5, A6> >
1937 return MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >(t);
1940 template <typename R, typename P1, typename A1, typename A2, typename A3,
1942 inline MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >
1943 CreateFunctor(R (*function)(X1, A1, A2, A3, A4, A5, A6), const P1& p1) {
1944 MutantRunner<R, Tuple6<A1, A2, A3, A4, A5, A6> >* t =
1945 new MutantFunction<R, R (*)(X1, A1, A2, A3, A4, A5, A6),
1946 Tuple1<P1>, Tuple6<A1, A2, A3, A4, A5, A6> >
1948 return MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >(t);
1952 template <typename R, typename T, typename U, typename P1, typename A1,
1955 inline MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >
1956 CreateFunctor(T** obj, R (U::*method)(X1, A1, A2, A3, A4, A5, A6),
1958 MutantRunner<R, Tuple6<A1, A2, A3, A4, A5, A6> >* t =
1959 new MutantLateObjectBind<R, T, R (U::*)(X1, A1, A2, A3, A4, A5, A6),
1960 A1, A2, A3, A4, A5, A6> >
1962 return MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >(t);
1967 template <typename R, typename T, typename U, typename P1, typename A1,
1970 inline MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >
1971 CreateFunctor(T* obj, R (__stdcall U::*method)(X1, A1, A2, A3, A4, A5, A6),
1973 MutantRunner<R, Tuple6<A1, A2, A3, A4, A5, A6> >* t =
1974 new Mutant<R, T, R (__stdcall U::*)(X1, A1, A2, A3, A4, A5, A6),
1975 Tuple1<P1>, Tuple6<A1, A2, A3, A4, A5, A6> >
1977 return MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >(t);
1980 template <typename R, typename P1, typename A1, typename A2, typename A3,
1982 inline MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >
1983 CreateFunctor(R (__stdcall *function)(X1, A1, A2, A3, A4, A5, A6),
1985 MutantRunner<R, Tuple6<A1, A2, A3, A4, A5, A6> >* t =
1986 new MutantFunction<R, R (__stdcall *)(X1, A1, A2, A3, A4, A5, A6),
1987 Tuple1<P1>, Tuple6<A1, A2, A3, A4, A5, A6> >
1989 return MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >(t);
1992 template <typename R, typename T, typename U, typename P1, typename A1,
1995 inline MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >
1996 CreateFunctor(T** obj, R (__stdcall U::*method)(X1, A1, A2, A3, A4, A5, A6),
1998 MutantRunner<R, Tuple6<A1, A2, A3, A4, A5, A6> >* t =
1999 new MutantLateObjectBind<R, T, R (__stdcall U::*)(X1, A1, A2, A3, A4, A5, A6),
2000 Tuple1<P1>, Tuple6<A1, A2, A3, A4, A5, A6> >
2002 return MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >(t);
2081 typename A1, typename X1, typename X2>
2082 inline MutantFunctor<R, Tuple1<A1> >
2083 CreateFunctor(T* obj, R (U::*method)(X1, X2, A1), const P1& p1, const P2& p2) {
2084 MutantRunner<R, Tuple1<A1> >* t =
2085 new Mutant<R, T, R (U::*)(X1, X2, A1),
2086 Tuple2<P1, P2>, Tuple1<A1> >
2088 return MutantFunctor<R, Tuple1<A1> >(t);
2091 template <typename R, typename P1, typename P2, typename A1, typename X1,
2093 inline MutantFunctor<R, Tuple1<A1> >
2094 CreateFunctor(R (*function)(X1, X2, A1), const P1& p1, const P2& p2) {
2095 MutantRunner<R, Tuple1<A1> >* t =
2096 new MutantFunction<R, R (*)(X1, X2, A1),
2097 Tuple2<P1, P2>, Tuple1<A1> >
2099 return MutantFunctor<R, Tuple1<A1> >(t);
2104 typename A1, typename X1, typename X2>
2105 inline MutantFunctor<R, Tuple1<A1> >
2106 CreateFunctor(T** obj, R (U::*method)(X1, X2, A1), const P1& p1, const P2& p2) {
2107 MutantRunner<R, Tuple1<A1> >* t =
2108 new MutantLateObjectBind<R, T, R (U::*)(X1, X2, A1),
2109 Tuple2<P1, P2>, Tuple1<A1> >
2111 return MutantFunctor<R, Tuple1<A1> >(t);
2117 typename A1, typename X1, typename X2>
2118 inline MutantFunctor<R, Tuple1<A1> >
2119 CreateFunctor(T* obj, R (__stdcall U::*method)(X1, X2, A1), const P1& p1,
2121 MutantRunner<R, Tuple1<A1> >* t =
2122 new Mutant<R, T, R (__stdcall U::*)(X1, X2, A1),
2123 Tuple2<P1, P2>, Tuple1<A1> >
2125 return MutantFunctor<R, Tuple1<A1> >(t);
2128 template <typename R, typename P1, typename P2, typename A1, typename X1,
2130 inline MutantFunctor<R, Tuple1<A1> >
2131 CreateFunctor(R (__stdcall *function)(X1, X2, A1), const P1& p1,
2133 MutantRunner<R, Tuple1<A1> >* t =
2134 new MutantFunction<R, R (__stdcall *)(X1, X2, A1),
2135 Tuple2<P1, P2>, Tuple1<A1> >
2137 return MutantFunctor<R, Tuple1<A1> >(t);
2141 typename A1, typename X1, typename X2>
2142 inline MutantFunctor<R, Tuple1<A1> >
2143 CreateFunctor(T** obj, R (__stdcall U::*method)(X1, X2, A1), const P1& p1,
2145 MutantRunner<R, Tuple1<A1> >* t =
2146 new MutantLateObjectBind<R, T, R (__stdcall U::*)(X1, X2, A1),
2147 Tuple2<P1, P2>, Tuple1<A1> >
2149 return MutantFunctor<R, Tuple1<A1> >(t);
2156 typename A1, typename A2, typename X1, typename X2>
2157 inline MutantFunctor<R, Tuple2<A1, A2> >
2158 CreateFunctor(T* obj, R (U::*method)(X1, X2, A1, A2), const P1& p1,
2160 MutantRunner<R, Tuple2<A1, A2> >* t =
2161 new Mutant<R, T, R (U::*)(X1, X2, A1, A2),
2162 Tuple2<P1, P2>, Tuple2<A1, A2> >
2164 return MutantFunctor<R, Tuple2<A1, A2> >(t);
2167 template <typename R, typename P1, typename P2, typename A1, typename A2,
2169 inline MutantFunctor<R, Tuple2<A1, A2> >
2170 CreateFunctor(R (*function)(X1, X2, A1, A2), const P1& p1, const P2& p2) {
2171 MutantRunner<R, Tuple2<A1, A2> >* t =
2172 new MutantFunction<R, R (*)(X1, X2, A1, A2),
2173 Tuple2<P1, P2>, Tuple2<A1, A2> >
2175 return MutantFunctor<R, Tuple2<A1, A2> >(t);
2180 typename A1, typename A2, typename X1, typename X2>
2181 inline MutantFunctor<R, Tuple2<A1, A2> >
2182 CreateFunctor(T** obj, R (U::*method)(X1, X2, A1, A2), const P1& p1,
2184 MutantRunner<R, Tuple2<A1, A2> >* t =
2185 new MutantLateObjectBind<R, T, R (U::*)(X1, X2, A1, A2),
2186 Tuple2<P1, P2>, Tuple2<A1, A2> >
2188 return MutantFunctor<R, Tuple2<A1, A2> >(t);
2194 typename A1, typename A2, typename X1, typename X2>
2195 inline MutantFunctor<R, Tuple2<A1, A2> >
2196 CreateFunctor(T* obj, R (__stdcall U::*method)(X1, X2, A1, A2), const P1& p1,
2198 MutantRunner<R, Tuple2<A1, A2> >* t =
2199 new Mutant<R, T, R (__stdcall U::*)(X1, X2, A1, A2),
2200 Tuple2<P1, P2>, Tuple2<A1, A2> >
2202 return MutantFunctor<R, Tuple2<A1, A2> >(t);
2205 template <typename R, typename P1, typename P2, typename A1, typename A2,
2207 inline MutantFunctor<R, Tuple2<A1, A2> >
2208 CreateFunctor(R (__stdcall *function)(X1, X2, A1, A2), const P1& p1,
2210 MutantRunner<R, Tuple2<A1, A2> >* t =
2211 new MutantFunction<R, R (__stdcall *)(X1, X2, A1, A2),
2212 Tuple2<P1, P2>, Tuple2<A1, A2> >
2214 return MutantFunctor<R, Tuple2<A1, A2> >(t);
2218 typename A1, typename A2, typename X1, typename X2>
2219 inline MutantFunctor<R, Tuple2<A1, A2> >
2220 CreateFunctor(T** obj, R (__stdcall U::*method)(X1, X2, A1, A2), const P1& p1,
2222 MutantRunner<R, Tuple2<A1, A2> >* t =
2223 new MutantLateObjectBind<R, T, R (__stdcall U::*)(X1, X2, A1, A2),
2224 Tuple2<P1, P2>, Tuple2<A1, A2> >
2226 return MutantFunctor<R, Tuple2<A1, A2> >(t);
2233 typename A1, typename A2, typename A3, typename X1, typename X2>
2234 inline MutantFunctor<R, Tuple3<A1, A2, A3> >
2235 CreateFunctor(T* obj, R (U::*method)(X1, X2, A1, A2, A3), const P1& p1,
2237 MutantRunner<R, Tuple3<A1, A2, A3> >* t =
2238 new Mutant<R, T, R (U::*)(X1, X2, A1, A2, A3),
2239 Tuple2<P1, P2>, Tuple3<A1, A2, A3> >
2241 return MutantFunctor<R, Tuple3<A1, A2, A3> >(t);
2244 template <typename R, typename P1, typename P2, typename A1, typename A2,
2246 inline MutantFunctor<R, Tuple3<A1, A2, A3> >
2247 CreateFunctor(R (*function)(X1, X2, A1, A2, A3), const P1& p1, const P2& p2) {
2248 MutantRunner<R, Tuple3<A1, A2, A3> >* t =
2249 new MutantFunction<R, R (*)(X1, X2, A1, A2, A3),
2250 Tuple2<P1, P2>, Tuple3<A1, A2, A3> >
2252 return MutantFunctor<R, Tuple3<A1, A2, A3> >(t);
2257 typename A1, typename A2, typename A3, typename X1, typename X2>
2258 inline MutantFunctor<R, Tuple3<A1, A2, A3> >
2259 CreateFunctor(T** obj, R (U::*method)(X1, X2, A1, A2, A3), const P1& p1,
2261 MutantRunner<R, Tuple3<A1, A2, A3> >* t =
2262 new MutantLateObjectBind<R, T, R (U::*)(X1, X2, A1, A2, A3),
2263 Tuple2<P1, P2>, Tuple3<A1, A2, A3> >
2265 return MutantFunctor<R, Tuple3<A1, A2, A3> >(t);
2271 typename A1, typename A2, typename A3, typename X1, typename X2>
2272 inline MutantFunctor<R, Tuple3<A1, A2, A3> >
2273 CreateFunctor(T* obj, R (__stdcall U::*method)(X1, X2, A1, A2, A3),
2275 MutantRunner<R, Tuple3<A1, A2, A3> >* t =
2276 new Mutant<R, T, R (__stdcall U::*)(X1, X2, A1, A2, A3),
2277 Tuple2<P1, P2>, Tuple3<A1, A2, A3> >
2279 return MutantFunctor<R, Tuple3<A1, A2, A3> >(t);
2282 template <typename R, typename P1, typename P2, typename A1, typename A2,
2284 inline MutantFunctor<R, Tuple3<A1, A2, A3> >
2285 CreateFunctor(R (__stdcall *function)(X1, X2, A1, A2, A3), const P1& p1,
2287 MutantRunner<R, Tuple3<A1, A2, A3> >* t =
2288 new MutantFunction<R, R (__stdcall *)(X1, X2, A1, A2, A3),
2289 Tuple2<P1, P2>, Tuple3<A1, A2, A3> >
2291 return MutantFunctor<R, Tuple3<A1, A2, A3> >(t);
2295 typename A1, typename A2, typename A3, typename X1, typename X2>
2296 inline MutantFunctor<R, Tuple3<A1, A2, A3> >
2297 CreateFunctor(T** obj, R (__stdcall U::*method)(X1, X2, A1, A2, A3),
2299 MutantRunner<R, Tuple3<A1, A2, A3> >* t =
2300 new MutantLateObjectBind<R, T, R (__stdcall U::*)(X1, X2, A1, A2, A3),
2301 Tuple2<P1, P2>, Tuple3<A1, A2, A3> >
2303 return MutantFunctor<R, Tuple3<A1, A2, A3> >(t);
2310 typename A1, typename A2, typename A3, typename A4, typename X1,
2312 inline MutantFunctor<R, Tuple4<A1, A2, A3, A4> >
2313 CreateFunctor(T* obj, R (U::*method)(X1, X2, A1, A2, A3, A4), const P1& p1,
2315 MutantRunner<R, Tuple4<A1, A2, A3, A4> >* t =
2316 new Mutant<R, T, R (U::*)(X1, X2, A1, A2, A3, A4),
2317 Tuple2<P1, P2>, Tuple4<A1, A2, A3, A4> >
2319 return MutantFunctor<R, Tuple4<A1, A2, A3, A4> >(t);
2322 template <typename R, typename P1, typename P2, typename A1, typename A2,
2324 inline MutantFunctor<R, Tuple4<A1, A2, A3, A4> >
2325 CreateFunctor(R (*function)(X1, X2, A1, A2, A3, A4), const P1& p1,
2327 MutantRunner<R, Tuple4<A1, A2, A3, A4> >* t =
2328 new MutantFunction<R, R (*)(X1, X2, A1, A2, A3, A4),
2329 Tuple2<P1, P2>, Tuple4<A1, A2, A3, A4> >
2331 return MutantFunctor<R, Tuple4<A1, A2, A3, A4> >(t);
2336 typename A1, typename A2, typename A3, typename A4, typename X1,
2338 inline MutantFunctor<R, Tuple4<A1, A2, A3, A4> >
2339 CreateFunctor(T** obj, R (U::*method)(X1, X2, A1, A2, A3, A4), const P1& p1,
2341 MutantRunner<R, Tuple4<A1, A2, A3, A4> >* t =
2342 A1, A2, A3, A4),
2343 Tuple2<P1, P2>, Tuple4<A1, A2, A3, A4> >
2345 return MutantFunctor<R, Tuple4<A1, A2, A3, A4> >(t);
2351 typename A1, typename A2, typename A3, typename A4, typename X1,
2353 inline MutantFunctor<R, Tuple4<A1, A2, A3, A4> >
2354 CreateFunctor(T* obj, R (__stdcall U::*method)(X1, X2, A1, A2, A3, A4),
2356 MutantRunner<R, Tuple4<A1, A2, A3, A4> >* t =
2357 new Mutant<R, T, R (__stdcall U::*)(X1, X2, A1, A2, A3, A4),
2358 Tuple2<P1, P2>, Tuple4<A1, A2, A3, A4> >
2360 return MutantFunctor<R, Tuple4<A1, A2, A3, A4> >(t);
2363 template <typename R, typename P1, typename P2, typename A1, typename A2,
2365 inline MutantFunctor<R, Tuple4<A1, A2, A3, A4> >
2366 CreateFunctor(R (__stdcall *function)(X1, X2, A1, A2, A3, A4), const P1& p1,
2368 MutantRunner<R, Tuple4<A1, A2, A3, A4> >* t =
2369 new MutantFunction<R, R (__stdcall *)(X1, X2, A1, A2, A3, A4),
2370 Tuple2<P1, P2>, Tuple4<A1, A2, A3, A4> >
2372 return MutantFunctor<R, Tuple4<A1, A2, A3, A4> >(t);
2376 typename A1, typename A2, typename A3, typename A4, typename X1,
2378 inline MutantFunctor<R, Tuple4<A1, A2, A3, A4> >
2379 CreateFunctor(T** obj, R (__stdcall U::*method)(X1, X2, A1, A2, A3, A4),
2381 MutantRunner<R, Tuple4<A1, A2, A3, A4> >* t =
2382 new MutantLateObjectBind<R, T, R (__stdcall U::*)(X1, X2, A1, A2, A3, A4),
2383 Tuple2<P1, P2>, Tuple4<A1, A2, A3, A4> >
2385 return MutantFunctor<R, Tuple4<A1, A2, A3, A4> >(t);
2392 typename A1, typename A2, typename A3, typename A4, typename A5,
2394 inline MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >
2395 CreateFunctor(T* obj, R (U::*method)(X1, X2, A1, A2, A3, A4, A5), const P1& p1,
2397 MutantRunner<R, Tuple5<A1, A2, A3, A4, A5> >* t =
2398 new Mutant<R, T, R (U::*)(X1, X2, A1, A2, A3, A4, A5),
2399 Tuple2<P1, P2>, Tuple5<A1, A2, A3, A4, A5> >
2401 return MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >(t);
2404 template <typename R, typename P1, typename P2, typename A1, typename A2,
2406 inline MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >
2407 CreateFunctor(R (*function)(X1, X2, A1, A2, A3, A4, A5), const P1& p1,
2409 MutantRunner<R, Tuple5<A1, A2, A3, A4, A5> >* t =
2410 new MutantFunction<R, R (*)(X1, X2, A1, A2, A3, A4, A5),
2411 Tuple2<P1, P2>, Tuple5<A1, A2, A3, A4, A5> >
2413 return MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >(t);
2418 typename A1, typename A2, typename A3, typename A4, typename A5,
2420 inline MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >
2421 CreateFunctor(T** obj, R (U::*method)(X1, X2, A1, A2, A3, A4, A5), const P1& p1,
2423 MutantRunner<R, Tuple5<A1, A2, A3, A4, A5> >* t =
2424 new MutantLateObjectBind<R, T, R (U::*)(X1, X2, A1, A2, A3, A4, A5),
2425 Tuple2<P1, P2>, Tuple5<A1, A2, A3, A4, A5> >
2427 return MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >(t);
2433 typename A1, typename A2, typename A3, typename A4, typename A5,
2435 inline MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >
2436 CreateFunctor(T* obj, R (__stdcall U::*method)(X1, X2, A1, A2, A3, A4, A5),
2438 MutantRunner<R, Tuple5<A1, A2, A3, A4, A5> >* t =
2439 new Mutant<R, T, R (__stdcall U::*)(X1, X2, A1, A2, A3, A4, A5),
2440 Tuple2<P1, P2>, Tuple5<A1, A2, A3, A4, A5> >
2442 return MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >(t);
2445 template <typename R, typename P1, typename P2, typename A1, typename A2,
2447 inline MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >
2448 CreateFunctor(R (__stdcall *function)(X1, X2, A1, A2, A3, A4, A5), const P1& p1,
2450 MutantRunner<R, Tuple5<A1, A2, A3, A4, A5> >* t =
2451 new MutantFunction<R, R (__stdcall *)(X1, X2, A1, A2, A3, A4, A5),
2452 Tuple2<P1, P2>, Tuple5<A1, A2, A3, A4, A5> >
2454 return MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >(t);
2458 typename A1, typename A2, typename A3, typename A4, typename A5,
2460 inline MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >
2461 CreateFunctor(T** obj, R (__stdcall U::*method)(X1, X2, A1, A2, A3, A4, A5),
2463 MutantRunner<R, Tuple5<A1, A2, A3, A4, A5> >* t =
2464 new MutantLateObjectBind<R, T, R (__stdcall U::*)(X1, X2, A1, A2, A3, A4, A5),
2465 Tuple2<P1, P2>, Tuple5<A1, A2, A3, A4, A5> >
2467 return MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >(t);
2474 typename A1, typename A2, typename A3, typename A4, typename A5,
2476 inline MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >
2477 CreateFunctor(T* obj, R (U::*method)(X1, X2, A1, A2, A3, A4, A5, A6),
2479 MutantRunner<R, Tuple6<A1, A2, A3, A4, A5, A6> >* t =
2480 new Mutant<R, T, R (U::*)(X1, X2, A1, A2, A3, A4, A5, A6),
2481 Tuple2<P1, P2>, Tuple6<A1, A2, A3, A4, A5, A6> >
2483 return MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >(t);
2486 template <typename R, typename P1, typename P2, typename A1, typename A2,
2489 inline MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >
2490 CreateFunctor(R (*function)(X1, X2, A1, A2, A3, A4, A5, A6), const P1& p1,
2492 MutantRunner<R, Tuple6<A1, A2, A3, A4, A5, A6> >* t =
2493 new MutantFunction<R, R (*)(X1, X2, A1, A2, A3, A4, A5, A6),
2494 Tuple2<P1, P2>, Tuple6<A1, A2, A3, A4, A5, A6> >
2496 return MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >(t);
2501 typename A1, typename A2, typename A3, typename A4, typename A5,
2503 inline MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >
2504 CreateFunctor(T** obj, R (U::*method)(X1, X2, A1, A2, A3, A4, A5, A6),
2506 MutantRunner<R, Tuple6<A1, A2, A3, A4, A5, A6> >* t =
2507 new MutantLateObjectBind<R, T, R (U::*)(X1, X2, A1, A2, A3, A4, A5, A6),
2508 Tuple2<P1, P2>, Tuple6<A1, A2, A3, A4, A5, A6> >
2510 return MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >(t);
2516 typename A1, typename A2, typename A3, typename A4, typename A5,
2518 inline MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >
2519 CreateFunctor(T* obj, R (__stdcall U::*method)(X1, X2, A1, A2, A3, A4, A5, A6),
2521 MutantRunner<R, Tuple6<A1, A2, A3, A4, A5, A6> >* t =
2522 new Mutant<R, T, R (__stdcall U::*)(X1, X2, A1, A2, A3, A4, A5, A6),
2523 Tuple2<P1, P2>, Tuple6<A1, A2, A3, A4, A5, A6> >
2525 return MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >(t);
2528 template <typename R, typename P1, typename P2, typename A1, typename A2,
2531 inline MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >
2532 CreateFunctor(R (__stdcall *function)(X1, X2, A1, A2, A3, A4, A5, A6),
2534 MutantRunner<R, Tuple6<A1, A2, A3, A4, A5, A6> >* t =
2535 new MutantFunction<R, R (__stdcall *)(X1, X2, A1, A2, A3, A4, A5, A6),
2536 Tuple2<P1, P2>, Tuple6<A1, A2, A3, A4, A5, A6> >
2538 return MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >(t);
2542 typename A1, typename A2, typename A3, typename A4, typename A5,
2544 inline MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >
2545 CreateFunctor(T** obj, R (__stdcall U::*method)(X1, X2, A1, A2, A3, A4, A5, A6),
2547 MutantRunner<R, Tuple6<A1, A2, A3, A4, A5, A6> >* t =
2548 new MutantLateObjectBind<R, T, R (__stdcall U::*)(X1, X2, A1, A2, A3, A4, A5, A6),
2549 Tuple2<P1, P2>, Tuple6<A1, A2, A3, A4, A5, A6> >
2551 return MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >(t);
2636 typename P3, typename A1, typename X1, typename X2, typename X3>
2637 inline MutantFunctor<R, Tuple1<A1> >
2638 CreateFunctor(T* obj, R (U::*method)(X1, X2, X3, A1), const P1& p1,
2640 MutantRunner<R, Tuple1<A1> >* t =
2641 new Mutant<R, T, R (U::*)(X1, X2, X3, A1),
2642 Tuple3<P1, P2, P3>, Tuple1<A1> >
2644 return MutantFunctor<R, Tuple1<A1> >(t);
2647 template <typename R, typename P1, typename P2, typename P3, typename A1,
2649 inline MutantFunctor<R, Tuple1<A1> >
2650 CreateFunctor(R (*function)(X1, X2, X3, A1), const P1& p1, const P2& p2,
2652 MutantRunner<R, Tuple1<A1> >* t =
2653 new MutantFunction<R, R (*)(X1, X2, X3, A1),
2654 Tuple3<P1, P2, P3>, Tuple1<A1> >
2656 return MutantFunctor<R, Tuple1<A1> >(t);
2661 typename P3, typename A1, typename X1, typename X2, typename X3>
2662 inline MutantFunctor<R, Tuple1<A1> >
2663 CreateFunctor(T** obj, R (U::*method)(X1, X2, X3, A1), const P1& p1,
2665 MutantRunner<R, Tuple1<A1> >* t =
2666 new MutantLateObjectBind<R, T, R (U::*)(X1, X2, X3, A1),
2667 Tuple3<P1, P2, P3>, Tuple1<A1> >
2669 return MutantFunctor<R, Tuple1<A1> >(t);
2675 typename P3, typename A1, typename X1, typename X2, typename X3>
2676 inline MutantFunctor<R, Tuple1<A1> >
2677 CreateFunctor(T* obj, R (__stdcall U::*method)(X1, X2, X3, A1), const P1& p1,
2679 MutantRunner<R, Tuple1<A1> >* t =
2680 new Mutant<R, T, R (__stdcall U::*)(X1, X2, X3, A1),
2681 Tuple3<P1, P2, P3>, Tuple1<A1> >
2683 return MutantFunctor<R, Tuple1<A1> >(t);
2686 template <typename R, typename P1, typename P2, typename P3, typename A1,
2688 inline MutantFunctor<R, Tuple1<A1> >
2689 CreateFunctor(R (__stdcall *function)(X1, X2, X3, A1), const P1& p1,
2691 MutantRunner<R, Tuple1<A1> >* t =
2692 new MutantFunction<R, R (__stdcall *)(X1, X2, X3, A1),
2693 Tuple3<P1, P2, P3>, Tuple1<A1> >
2695 return MutantFunctor<R, Tuple1<A1> >(t);
2699 typename P3, typename A1, typename X1, typename X2, typename X3>
2700 inline MutantFunctor<R, Tuple1<A1> >
2701 CreateFunctor(T** obj, R (__stdcall U::*method)(X1, X2, X3, A1), const P1& p1,
2703 MutantRunner<R, Tuple1<A1> >* t =
2704 new MutantLateObjectBind<R, T, R (__stdcall U::*)(X1, X2, X3, A1),
2705 Tuple3<P1, P2, P3>, Tuple1<A1> >
2707 return MutantFunctor<R, Tuple1<A1> >(t);
2714 typename P3, typename A1, typename A2, typename X1, typename X2,
2716 inline MutantFunctor<R, Tuple2<A1, A2> >
2717 CreateFunctor(T* obj, R (U::*method)(X1, X2, X3, A1, A2), const P1& p1,
2719 MutantRunner<R, Tuple2<A1, A2> >* t =
2720 new Mutant<R, T, R (U::*)(X1, X2, X3, A1, A2),
2721 Tuple3<P1, P2, P3>, Tuple2<A1, A2> >
2723 return MutantFunctor<R, Tuple2<A1, A2> >(t);
2726 template <typename R, typename P1, typename P2, typename P3, typename A1,
2728 inline MutantFunctor<R, Tuple2<A1, A2> >
2729 CreateFunctor(R (*function)(X1, X2, X3, A1, A2), const P1& p1, const P2& p2,
2731 MutantRunner<R, Tuple2<A1, A2> >* t =
2732 new MutantFunction<R, R (*)(X1, X2, X3, A1, A2),
2733 Tuple3<P1, P2, P3>, Tuple2<A1, A2> >
2735 return MutantFunctor<R, Tuple2<A1, A2> >(t);
2740 typename P3, typename A1, typename A2, typename X1, typename X2,
2742 inline MutantFunctor<R, Tuple2<A1, A2> >
2743 CreateFunctor(T** obj, R (U::*method)(X1, X2, X3, A1, A2), const P1& p1,
2745 MutantRunner<R, Tuple2<A1, A2> >* t =
2746 new MutantLateObjectBind<R, T, R (U::*)(X1, X2, X3, A1, A2),
2747 Tuple3<P1, P2, P3>, Tuple2<A1, A2> >
2749 return MutantFunctor<R, Tuple2<A1, A2> >(t);
2755 typename P3, typename A1, typename A2, typename X1, typename X2,
2757 inline MutantFunctor<R, Tuple2<A1, A2> >
2758 CreateFunctor(T* obj, R (__stdcall U::*method)(X1, X2, X3, A1, A2),
2760 MutantRunner<R, Tuple2<A1, A2> >* t =
2761 new Mutant<R, T, R (__stdcall U::*)(X1, X2, X3, A1, A2),
2762 Tuple3<P1, P2, P3>, Tuple2<A1, A2> >
2764 return MutantFunctor<R, Tuple2<A1, A2> >(t);
2767 template <typename R, typename P1, typename P2, typename P3, typename A1,
2769 inline MutantFunctor<R, Tuple2<A1, A2> >
2770 CreateFunctor(R (__stdcall *function)(X1, X2, X3, A1, A2), const P1& p1,
2772 MutantRunner<R, Tuple2<A1, A2> >* t =
2773 new MutantFunction<R, R (__stdcall *)(X1, X2, X3, A1, A2),
2774 Tuple3<P1, P2, P3>, Tuple2<A1, A2> >
2776 return MutantFunctor<R, Tuple2<A1, A2> >(t);
2780 typename P3, typename A1, typename A2, typename X1, typename X2,
2782 inline MutantFunctor<R, Tuple2<A1, A2> >
2783 CreateFunctor(T** obj, R (__stdcall U::*method)(X1, X2, X3, A1, A2),
2785 MutantRunner<R, Tuple2<A1, A2> >* t =
2786 new MutantLateObjectBind<R, T, R (__stdcall U::*)(X1, X2, X3, A1, A2),
2787 Tuple3<P1, P2, P3>, Tuple2<A1, A2> >
2789 return MutantFunctor<R, Tuple2<A1, A2> >(t);
2796 typename P3, typename A1, typename A2, typename A3, typename X1,
2798 inline MutantFunctor<R, Tuple3<A1, A2, A3> >
2799 CreateFunctor(T* obj, R (U::*method)(X1, X2, X3, A1, A2, A3), const P1& p1,
2801 MutantRunner<R, Tuple3<A1, A2, A3> >* t =
2802 new Mutant<R, T, R (U::*)(X1, X2, X3, A1, A2, A3),
2803 Tuple3<P1, P2, P3>, Tuple3<A1, A2, A3> >
2805 return MutantFunctor<R, Tuple3<A1, A2, A3> >(t);
2808 template <typename R, typename P1, typename P2, typename P3, typename A1,
2810 inline MutantFunctor<R, Tuple3<A1, A2, A3> >
2811 CreateFunctor(R (*function)(X1, X2, X3, A1, A2, A3), const P1& p1, const P2& p2,
2813 MutantRunner<R, Tuple3<A1, A2, A3> >* t =
2814 new MutantFunction<R, R (*)(X1, X2, X3, A1, A2, A3),
2815 Tuple3<P1, P2, P3>, Tuple3<A1, A2, A3> >
2817 return MutantFunctor<R, Tuple3<A1, A2, A3> >(t);
2822 typename P3, typename A1, typename A2, typename A3, typename X1,
2824 inline MutantFunctor<R, Tuple3<A1, A2, A3> >
2825 CreateFunctor(T** obj, R (U::*method)(X1, X2, X3, A1, A2, A3), const P1& p1,
2827 MutantRunner<R, Tuple3<A1, A2, A3> >* t =
2828 new MutantLateObjectBind<R, T, R (U::*)(X1, X2, X3, A1, A2, A3),
2829 Tuple3<P1, P2, P3>, Tuple3<A1, A2, A3> >
2831 return MutantFunctor<R, Tuple3<A1, A2, A3> >(t);
2837 typename P3, typename A1, typename A2, typename A3, typename X1,
2839 inline MutantFunctor<R, Tuple3<A1, A2, A3> >
2840 CreateFunctor(T* obj, R (__stdcall U::*method)(X1, X2, X3, A1, A2, A3),
2842 MutantRunner<R, Tuple3<A1, A2, A3> >* t =
2843 new Mutant<R, T, R (__stdcall U::*)(X1, X2, X3, A1, A2, A3),
2844 Tuple3<P1, P2, P3>, Tuple3<A1, A2, A3> >
2846 return MutantFunctor<R, Tuple3<A1, A2, A3> >(t);
2849 template <typename R, typename P1, typename P2, typename P3, typename A1,
2851 inline MutantFunctor<R, Tuple3<A1, A2, A3> >
2852 CreateFunctor(R (__stdcall *function)(X1, X2, X3, A1, A2, A3), const P1& p1,
2854 MutantRunner<R, Tuple3<A1, A2, A3> >* t =
2855 new MutantFunction<R, R (__stdcall *)(X1, X2, X3, A1, A2, A3),
2856 Tuple3<P1, P2, P3>, Tuple3<A1, A2, A3> >
2858 return MutantFunctor<R, Tuple3<A1, A2, A3> >(t);
2862 typename P3, typename A1, typename A2, typename A3, typename X1,
2864 inline MutantFunctor<R, Tuple3<A1, A2, A3> >
2865 CreateFunctor(T** obj, R (__stdcall U::*method)(X1, X2, X3, A1, A2, A3),
2867 MutantRunner<R, Tuple3<A1, A2, A3> >* t =
2868 new MutantLateObjectBind<R, T, R (__stdcall U::*)(X1, X2, X3, A1, A2, A3),
2869 Tuple3<P1, P2, P3>, Tuple3<A1, A2, A3> >
2871 return MutantFunctor<R, Tuple3<A1, A2, A3> >(t);
2878 typename P3, typename A1, typename A2, typename A3, typename A4,
2880 inline MutantFunctor<R, Tuple4<A1, A2, A3, A4> >
2881 CreateFunctor(T* obj, R (U::*method)(X1, X2, X3, A1, A2, A3, A4), const P1& p1,
2883 MutantRunner<R, Tuple4<A1, A2, A3, A4> >* t =
2884 new Mutant<R, T, R (U::*)(X1, X2, X3, A1, A2, A3, A4),
2885 Tuple3<P1, P2, P3>, Tuple4<A1, A2, A3, A4> >
2887 return MutantFunctor<R, Tuple4<A1, A2, A3, A4> >(t);
2890 template <typename R, typename P1, typename P2, typename P3, typename A1,
2893 inline MutantFunctor<R, Tuple4<A1, A2, A3, A4> >
2894 CreateFunctor(R (*function)(X1, X2, X3, A1, A2, A3, A4), const P1& p1,
2896 MutantRunner<R, Tuple4<A1, A2, A3, A4> >* t =
2897 new MutantFunction<R, R (*)(X1, X2, X3, A1, A2, A3, A4),
2898 Tuple3<P1, P2, P3>, Tuple4<A1, A2, A3, A4> >
2900 return MutantFunctor<R, Tuple4<A1, A2, A3, A4> >(t);
2905 typename P3, typename A1, typename A2, typename A3, typename A4,
2907 inline MutantFunctor<R, Tuple4<A1, A2, A3, A4> >
2908 CreateFunctor(T** obj, R (U::*method)(X1, X2, X3, A1, A2, A3, A4), const P1& p1,
2910 MutantRunner<R, Tuple4<A1, A2, A3, A4> >* t =
2911 new MutantLateObjectBind<R, T, R (U::*)(X1, X2, X3, A1, A2, A3, A4),
2912 Tuple3<P1, P2, P3>, Tuple4<A1, A2, A3, A4> >
2914 return MutantFunctor<R, Tuple4<A1, A2, A3, A4> >(t);
2920 typename P3, typename A1, typename A2, typename A3, typename A4,
2922 inline MutantFunctor<R, Tuple4<A1, A2, A3, A4> >
2923 CreateFunctor(T* obj, R (__stdcall U::*method)(X1, X2, X3, A1, A2, A3, A4),
2925 MutantRunner<R, Tuple4<A1, A2, A3, A4> >* t =
2926 new Mutant<R, T, R (__stdcall U::*)(X1, X2, X3, A1, A2, A3, A4),
2927 Tuple3<P1, P2, P3>, Tuple4<A1, A2, A3, A4> >
2929 return MutantFunctor<R, Tuple4<A1, A2, A3, A4> >(t);
2932 template <typename R, typename P1, typename P2, typename P3, typename A1,
2935 inline MutantFunctor<R, Tuple4<A1, A2, A3, A4> >
2936 CreateFunctor(R (__stdcall *function)(X1, X2, X3, A1, A2, A3, A4), const P1& p1,
2938 MutantRunner<R, Tuple4<A1, A2, A3, A4> >* t =
2939 new MutantFunction<R, R (__stdcall *)(X1, X2, X3, A1, A2, A3, A4),
2940 Tuple3<P1, P2, P3>, Tuple4<A1, A2, A3, A4> >
2942 return MutantFunctor<R, Tuple4<A1, A2, A3, A4> >(t);
2946 typename P3, typename A1, typename A2, typename A3, typename A4,
2948 inline MutantFunctor<R, Tuple4<A1, A2, A3, A4> >
2949 CreateFunctor(T** obj, R (__stdcall U::*method)(X1, X2, X3, A1, A2, A3, A4),
2951 MutantRunner<R, Tuple4<A1, A2, A3, A4> >* t =
2952 new MutantLateObjectBind<R, T, R (__stdcall U::*)(X1, X2, X3, A1, A2, A3, A4),
2953 Tuple3<P1, P2, P3>, Tuple4<A1, A2, A3, A4> >
2955 return MutantFunctor<R, Tuple4<A1, A2, A3, A4> >(t);
2962 typename P3, typename A1, typename A2, typename A3, typename A4,
2964 inline MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >
2965 CreateFunctor(T* obj, R (U::*method)(X1, X2, X3, A1, A2, A3, A4, A5),
2967 MutantRunner<R, Tuple5<A1, A2, A3, A4, A5> >* t =
2968 new Mutant<R, T, R (U::*)(X1, X2, X3, A1, A2, A3, A4, A5),
2969 Tuple3<P1, P2, P3>, Tuple5<A1, A2, A3, A4, A5> >
2971 return MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >(t);
2974 template <typename R, typename P1, typename P2, typename P3, typename A1,
2977 inline MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >
2978 CreateFunctor(R (*function)(X1, X2, X3, A1, A2, A3, A4, A5), const P1& p1,
2980 MutantRunner<R, Tuple5<A1, A2, A3, A4, A5> >* t =
2981 new MutantFunction<R, R (*)(X1, X2, X3, A1, A2, A3, A4, A5),
2982 Tuple3<P1, P2, P3>, Tuple5<A1, A2, A3, A4, A5> >
2984 return MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >(t);
2989 typename P3, typename A1, typename A2, typename A3, typename A4,
2991 inline MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >
2992 CreateFunctor(T** obj, R (U::*method)(X1, X2, X3, A1, A2, A3, A4, A5),
2994 MutantRunner<R, Tuple5<A1, A2, A3, A4, A5> >* t =
2995 new MutantLateObjectBind<R, T, R (U::*)(X1, X2, X3, A1, A2, A3, A4, A5),
2996 Tuple3<P1, P2, P3>, Tuple5<A1, A2, A3, A4, A5> >
2998 return MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >(t);
3004 typename P3, typename A1, typename A2, typename A3, typename A4,
3006 inline MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >
3007 CreateFunctor(T* obj, R (__stdcall U::*method)(X1, X2, X3, A1, A2, A3, A4, A5),
3009 MutantRunner<R, Tuple5<A1, A2, A3, A4, A5> >* t =
3010 new Mutant<R, T, R (__stdcall U::*)(X1, X2, X3, A1, A2, A3, A4, A5),
3011 Tuple3<P1, P2, P3>, Tuple5<A1, A2, A3, A4, A5> >
3013 return MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >(t);
3016 template <typename R, typename P1, typename P2, typename P3, typename A1,
3019 inline MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >
3020 CreateFunctor(R (__stdcall *function)(X1, X2, X3, A1, A2, A3, A4, A5),
3022 MutantRunner<R, Tuple5<A1, A2, A3, A4, A5> >* t =
3023 new MutantFunction<R, R (__stdcall *)(X1, X2, X3, A1, A2, A3, A4, A5),
3024 Tuple3<P1, P2, P3>, Tuple5<A1, A2, A3, A4, A5> >
3026 return MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >(t);
3030 typename P3, typename A1, typename A2, typename A3, typename A4,
3032 inline MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >
3033 CreateFunctor(T** obj, R (__stdcall U::*method)(X1, X2, X3, A1, A2, A3, A4, A5),
3035 MutantRunner<R, Tuple5<A1, A2, A3, A4, A5> >* t =
3036 new MutantLateObjectBind<R, T, R (__stdcall U::*)(X1, X2, X3, A1, A2, A3, A4, A5),
3037 A1, A2, A3, A4, A5> >
3039 return MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >(t);
3046 typename P3, typename A1, typename A2, typename A3, typename A4,
3048 inline MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >
3049 CreateFunctor(T* obj, R (U::*method)(X1, X2, X3, A1, A2, A3, A4, A5, A6),
3051 MutantRunner<R, Tuple6<A1, A2, A3, A4, A5, A6> >* t =
3052 new Mutant<R, T, R (U::*)(X1, X2, X3, A1, A2, A3, A4, A5, A6),
3053 Tuple3<P1, P2, P3>, Tuple6<A1, A2, A3, A4, A5, A6> >
3055 return MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >(t);
3058 template <typename R, typename P1, typename P2, typename P3, typename A1,
3061 inline MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >
3062 CreateFunctor(R (*function)(X1, X2, X3, A1, A2, A3, A4, A5, A6), const P1& p1,
3064 MutantRunner<R, Tuple6<A1, A2, A3, A4, A5, A6> >* t =
3065 new MutantFunction<R, R (*)(X1, X2, X3, A1, A2, A3, A4, A5, A6),
3066 Tuple3<P1, P2, P3>, Tuple6<A1, A2, A3, A4, A5, A6> >
3068 return MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >(t);
3073 typename P3, typename A1, typename A2, typename A3, typename A4,
3075 inline MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >
3076 CreateFunctor(T** obj, R (U::*method)(X1, X2, X3, A1, A2, A3, A4, A5, A6),
3078 MutantRunner<R, Tuple6<A1, A2, A3, A4, A5, A6> >* t =
3079 new MutantLateObjectBind<R, T, R (U::*)(X1, X2, X3, A1, A2, A3, A4, A5, A6),
3080 Tuple3<P1, P2, P3>, Tuple6<A1, A2, A3, A4, A5, A6> >
3082 return MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >(t);
3088 typename P3, typename A1, typename A2, typename A3, typename A4,
3090 inline MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >
3091 CreateFunctor(T* obj, R (__stdcall U::*method)(X1, X2, X3, A1, A2, A3, A4, A5,
3093 MutantRunner<R, Tuple6<A1, A2, A3, A4, A5, A6> >* t =
3094 new Mutant<R, T, R (__stdcall U::*)(X1, X2, X3, A1, A2, A3, A4, A5, A6),
3095 Tuple3<P1, P2, P3>, Tuple6<A1, A2, A3, A4, A5, A6> >
3097 return MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >(t);
3100 template <typename R, typename P1, typename P2, typename P3, typename A1,
3103 inline MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >
3104 CreateFunctor(R (__stdcall *function)(X1, X2, X3, A1, A2, A3, A4, A5, A6),
3106 MutantRunner<R, Tuple6<A1, A2, A3, A4, A5, A6> >* t =
3107 new MutantFunction<R, R (__stdcall *)(X1, X2, X3, A1, A2, A3, A4, A5, A6),
3108 Tuple3<P1, P2, P3>, Tuple6<A1, A2, A3, A4, A5, A6> >
3110 return MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >(t);
3114 typename P3, typename A1, typename A2, typename A3, typename A4,
3116 inline MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >
3117 CreateFunctor(T** obj, R (__stdcall U::*method)(X1, X2, X3, A1, A2, A3, A4, A5,
3119 MutantRunner<R, Tuple6<A1, A2, A3, A4, A5, A6> >* t =
3120 new MutantLateObjectBind<R, T, R (__stdcall U::*)(X1, X2, X3, A1, A2, A3, A4, A5, A6),
3121 Tuple3<P1, P2, P3>, Tuple6<A1, A2, A3, A4, A5, A6> >
3123 return MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >(t);
3212 typename P3, typename P4, typename A1, typename X1, typename X2,
3214 inline MutantFunctor<R, Tuple1<A1> >
3215 CreateFunctor(T* obj, R (U::*method)(X1, X2, X3, X4, A1), const P1& p1,
3217 MutantRunner<R, Tuple1<A1> >* t =
3218 new Mutant<R, T, R (U::*)(X1, X2, X3, X4, A1),
3219 Tuple4<P1, P2, P3, P4>, Tuple1<A1> >
3221 return MutantFunctor<R, Tuple1<A1> >(t);
3225 typename A1, typename X1, typename X2, typename X3, typename X4>
3226 inline MutantFunctor<R, Tuple1<A1> >
3227 CreateFunctor(R (*function)(X1, X2, X3, X4, A1), const P1& p1, const P2& p2,
3229 MutantRunner<R, Tuple1<A1> >* t =
3230 new MutantFunction<R, R (*)(X1, X2, X3, X4, A1),
3231 Tuple4<P1, P2, P3, P4>, Tuple1<A1> >
3233 return MutantFunctor<R, Tuple1<A1> >(t);
3238 typename P3, typename P4, typename A1, typename X1, typename X2,
3240 inline MutantFunctor<R, Tuple1<A1> >
3241 CreateFunctor(T** obj, R (U::*method)(X1, X2, X3, X4, A1), const P1& p1,
3243 MutantRunner<R, Tuple1<A1> >* t =
3244 new MutantLateObjectBind<R, T, R (U::*)(X1, X2, X3, X4, A1),
3245 Tuple4<P1, P2, P3, P4>, Tuple1<A1> >
3247 return MutantFunctor<R, Tuple1<A1> >(t);
3253 typename P3, typename P4, typename A1, typename X1, typename X2,
3255 inline MutantFunctor<R, Tuple1<A1> >
3256 CreateFunctor(T* obj, R (__stdcall U::*method)(X1, X2, X3, X4, A1),
3258 MutantRunner<R, Tuple1<A1> >* t =
3259 new Mutant<R, T, R (__stdcall U::*)(X1, X2, X3, X4, A1),
3260 Tuple4<P1, P2, P3, P4>, Tuple1<A1> >
3262 return MutantFunctor<R, Tuple1<A1> >(t);
3266 typename A1, typename X1, typename X2, typename X3, typename X4>
3267 inline MutantFunctor<R, Tuple1<A1> >
3268 CreateFunctor(R (__stdcall *function)(X1, X2, X3, X4, A1), const P1& p1,
3270 MutantRunner<R, Tuple1<A1> >* t =
3271 new MutantFunction<R, R (__stdcall *)(X1, X2, X3, X4, A1),
3272 Tuple4<P1, P2, P3, P4>, Tuple1<A1> >
3274 return MutantFunctor<R, Tuple1<A1> >(t);
3278 typename P3, typename P4, typename A1, typename X1, typename X2,
3280 inline MutantFunctor<R, Tuple1<A1> >
3281 CreateFunctor(T** obj, R (__stdcall U::*method)(X1, X2, X3, X4, A1),
3283 MutantRunner<R, Tuple1<A1> >* t =
3284 new MutantLateObjectBind<R, T, R (__stdcall U::*)(X1, X2, X3, X4, A1),
3285 Tuple4<P1, P2, P3, P4>, Tuple1<A1> >
3287 return MutantFunctor<R, Tuple1<A1> >(t);
3294 typename P3, typename P4, typename A1, typename A2, typename X1,
3296 inline MutantFunctor<R, Tuple2<A1, A2> >
3297 CreateFunctor(T* obj, R (U::*method)(X1, X2, X3, X4, A1, A2), const P1& p1,
3299 MutantRunner<R, Tuple2<A1, A2> >* t =
3300 new Mutant<R, T, R (U::*)(X1, X2, X3, X4, A1, A2),
3301 Tuple4<P1, P2, P3, P4>, Tuple2<A1, A2> >
3303 return MutantFunctor<R, Tuple2<A1, A2> >(t);
3307 typename A1, typename A2, typename X1, typename X2, typename X3,
3309 inline MutantFunctor<R, Tuple2<A1, A2> >
3310 CreateFunctor(R (*function)(X1, X2, X3, X4, A1, A2), const P1& p1, const P2& p2,
3312 MutantRunner<R, Tuple2<A1, A2> >* t =
3313 new MutantFunction<R, R (*)(X1, X2, X3, X4, A1, A2),
3314 Tuple4<P1, P2, P3, P4>, Tuple2<A1, A2> >
3316 return MutantFunctor<R, Tuple2<A1, A2> >(t);
3321 typename P3, typename P4, typename A1, typename A2, typename X1,
3323 inline MutantFunctor<R, Tuple2<A1, A2> >
3324 CreateFunctor(T** obj, R (U::*method)(X1, X2, X3, X4, A1, A2), const P1& p1,
3326 MutantRunner<R, Tuple2<A1, A2> >* t =
3327 new MutantLateObjectBind<R, T, R (U::*)(X1, X2, X3, X4, A1, A2),
3328 Tuple4<P1, P2, P3, P4>, Tuple2<A1, A2> >
3330 return MutantFunctor<R, Tuple2<A1, A2> >(t);
3336 typename P3, typename P4, typename A1, typename A2, typename X1,
3338 inline MutantFunctor<R, Tuple2<A1, A2> >
3339 CreateFunctor(T* obj, R (__stdcall U::*method)(X1, X2, X3, X4, A1, A2),
3341 MutantRunner<R, Tuple2<A1, A2> >* t =
3342 new Mutant<R, T, R (__stdcall U::*)(X1, X2, X3, X4, A1, A2),
3343 Tuple4<P1, P2, P3, P4>, Tuple2<A1, A2> >
3345 return MutantFunctor<R, Tuple2<A1, A2> >(t);
3349 typename A1, typename A2, typename X1, typename X2, typename X3,
3351 inline MutantFunctor<R, Tuple2<A1, A2> >
3352 CreateFunctor(R (__stdcall *function)(X1, X2, X3, X4, A1, A2), const P1& p1,
3354 MutantRunner<R, Tuple2<A1, A2> >* t =
3355 new MutantFunction<R, R (__stdcall *)(X1, X2, X3, X4, A1, A2),
3356 Tuple4<P1, P2, P3, P4>, Tuple2<A1, A2> >
3358 return MutantFunctor<R, Tuple2<A1, A2> >(t);
3362 typename P3, typename P4, typename A1, typename A2, typename X1,
3364 inline MutantFunctor<R, Tuple2<A1, A2> >
3365 CreateFunctor(T** obj, R (__stdcall U::*method)(X1, X2, X3, X4, A1, A2),
3367 MutantRunner<R, Tuple2<A1, A2> >* t =
3368 new MutantLateObjectBind<R, T, R (__stdcall U::*)(X1, X2, X3, X4, A1, A2),
3369 Tuple4<P1, P2, P3, P4>, Tuple2<A1, A2> >
3371 return MutantFunctor<R, Tuple2<A1, A2> >(t);
3378 typename P3, typename P4, typename A1, typename A2, typename A3,
3380 A1, A2, A3> >
3381 CreateFunctor(T* obj, R (U::*method)(X1, X2, X3, X4, A1, A2, A3), const P1& p1,
3383 MutantRunner<R, Tuple3<A1, A2, A3> >* t =
3384 new Mutant<R, T, R (U::*)(X1, X2, X3, X4, A1, A2, A3),
3385 Tuple4<P1, P2, P3, P4>, Tuple3<A1, A2, A3> >
3387 return MutantFunctor<R, Tuple3<A1, A2, A3> >(t);
3391 typename A1, typename A2, typename A3, typename X1, typename X2,
3393 inline MutantFunctor<R, Tuple3<A1, A2, A3> >
3394 CreateFunctor(R (*function)(X1, X2, X3, X4, A1, A2, A3), const P1& p1,
3396 MutantRunner<R, Tuple3<A1, A2, A3> >* t =
3397 new MutantFunction<R, R (*)(X1, X2, X3, X4, A1, A2, A3),
3398 Tuple4<P1, P2, P3, P4>, Tuple3<A1, A2, A3> >
3400 return MutantFunctor<R, Tuple3<A1, A2, A3> >(t);
3405 typename P3, typename P4, typename A1, typename A2, typename A3,
3407 inline MutantFunctor<R, Tuple3<A1, A2, A3> >
3408 CreateFunctor(T** obj, R (U::*method)(X1, X2, X3, X4, A1, A2, A3), const P1& p1,
3410 MutantRunner<R, Tuple3<A1, A2, A3> >* t =
3411 new MutantLateObjectBind<R, T, R (U::*)(X1, X2, X3, X4, A1, A2, A3),
3412 Tuple4<P1, P2, P3, P4>, Tuple3<A1, A2, A3> >
3414 return MutantFunctor<R, Tuple3<A1, A2, A3> >(t);
3420 typename P3, typename P4, typename A1, typename A2, typename A3,
3422 inline MutantFunctor<R, Tuple3<A1, A2, A3> >
3423 CreateFunctor(T* obj, R (__stdcall U::*method)(X1, X2, X3, X4, A1, A2, A3),
3425 MutantRunner<R, Tuple3<A1, A2, A3> >* t =
3426 new Mutant<R, T, R (__stdcall U::*)(X1, X2, X3, X4, A1, A2, A3),
3427 Tuple4<P1, P2, P3, P4>, Tuple3<A1, A2, A3> >
3429 return MutantFunctor<R, Tuple3<A1, A2, A3> >(t);
3433 typename A1, typename A2, typename A3, typename X1, typename X2,
3435 inline MutantFunctor<R, Tuple3<A1, A2, A3> >
3436 CreateFunctor(R (__stdcall *function)(X1, X2, X3, X4, A1, A2, A3), const P1& p1,
3438 MutantRunner<R, Tuple3<A1, A2, A3> >* t =
3439 new MutantFunction<R, R (__stdcall *)(X1, X2, X3, X4, A1, A2, A3),
3440 Tuple4<P1, P2, P3, P4>, Tuple3<A1, A2, A3> >
3442 return MutantFunctor<R, Tuple3<A1, A2, A3> >(t);
3446 typename P3, typename P4, typename A1, typename A2, typename A3,
3448 inline MutantFunctor<R, Tuple3<A1, A2, A3> >
3449 CreateFunctor(T** obj, R (__stdcall U::*method)(X1, X2, X3, X4, A1, A2, A3),
3451 MutantRunner<R, Tuple3<A1, A2, A3> >* t =
3452 new MutantLateObjectBind<R, T, R (__stdcall U::*)(X1, X2, X3, X4, A1, A2, A3),
3453 Tuple4<P1, P2, P3, P4>, Tuple3<A1, A2, A3> >
3455 return MutantFunctor<R, Tuple3<A1, A2, A3> >(t);
3462 typename P3, typename P4, typename A1, typename A2, typename A3,
3464 inline MutantFunctor<R, Tuple4<A1, A2, A3, A4> >
3465 CreateFunctor(T* obj, R (U::*method)(X1, X2, X3, X4, A1, A2, A3, A4),
3467 MutantRunner<R, Tuple4<A1, A2, A3, A4> >* t =
3468 new Mutant<R, T, R (U::*)(X1, X2, X3, X4, A1, A2, A3, A4),
3469 Tuple4<P1, P2, P3, P4>, Tuple4<A1, A2, A3, A4> >
3471 return MutantFunctor<R, Tuple4<A1, A2, A3, A4> >(t);
3475 typename A1, typename A2, typename A3, typename A4, typename X1,
3477 inline MutantFunctor<R, Tuple4<A1, A2, A3, A4> >
3478 CreateFunctor(R (*function)(X1, X2, X3, X4, A1, A2, A3, A4), const P1& p1,
3480 MutantRunner<R, Tuple4<A1, A2, A3, A4> >* t =
3481 new MutantFunction<R, R (*)(X1, X2, X3, X4, A1, A2, A3, A4),
3482 Tuple4<P1, P2, P3, P4>, Tuple4<A1, A2, A3, A4> >
3484 return MutantFunctor<R, Tuple4<A1, A2, A3, A4> >(t);
3489 typename P3, typename P4, typename A1, typename A2, typename A3,
3491 inline MutantFunctor<R, Tuple4<A1, A2, A3, A4> >
3492 CreateFunctor(T** obj, R (U::*method)(X1, X2, X3, X4, A1, A2, A3, A4),
3494 MutantRunner<R, Tuple4<A1, A2, A3, A4> >* t =
3495 new MutantLateObjectBind<R, T, R (U::*)(X1, X2, X3, X4, A1, A2, A3, A4),
3496 Tuple4<P1, P2, P3, P4>, Tuple4<A1, A2, A3, A4> >
3498 return MutantFunctor<R, Tuple4<A1, A2, A3, A4> >(t);
3504 typename P3, typename P4, typename A1, typename A2, typename A3,
3506 inline MutantFunctor<R, Tuple4<A1, A2, A3, A4> >
3507 CreateFunctor(T* obj, R (__stdcall U::*method)(X1, X2, X3, X4, A1, A2, A3, A4),
3509 MutantRunner<R, Tuple4<A1, A2, A3, A4> >* t =
3510 new Mutant<R, T, R (__stdcall U::*)(X1, X2, X3, X4, A1, A2, A3, A4),
3511 Tuple4<P1, P2, P3, P4>, Tuple4<A1, A2, A3, A4> >
3513 return MutantFunctor<R, Tuple4<A1, A2, A3, A4> >(t);
3517 typename A1, typename A2, typename A3, typename A4, typename X1,
3519 inline MutantFunctor<R, Tuple4<A1, A2, A3, A4> >
3520 CreateFunctor(R (__stdcall *function)(X1, X2, X3, X4, A1, A2, A3, A4),
3522 MutantRunner<R, Tuple4<A1, A2, A3, A4> >* t =
3523 new MutantFunction<R, R (__stdcall *)(X1, X2, X3, X4, A1, A2, A3, A4),
3524 Tuple4<P1, P2, P3, P4>, Tuple4<A1, A2, A3, A4> >
3526 return MutantFunctor<R, Tuple4<A1, A2, A3, A4> >(t);
3530 typename P3, typename P4, typename A1, typename A2, typename A3,
3532 inline MutantFunctor<R, Tuple4<A1, A2, A3, A4> >
3533 CreateFunctor(T** obj, R (__stdcall U::*method)(X1, X2, X3, X4, A1, A2, A3, A4),
3535 MutantRunner<R, Tuple4<A1, A2, A3, A4> >* t =
3536 new MutantLateObjectBind<R, T, R (__stdcall U::*)(X1, X2, X3, X4, A1, A2, A3, A4),
3537 Tuple4<P1, P2, P3, P4>, Tuple4<A1, A2, A3, A4> >
3539 return MutantFunctor<R, Tuple4<A1, A2, A3, A4> >(t);
3546 typename P3, typename P4, typename A1, typename A2, typename A3,
3549 inline MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >
3550 CreateFunctor(T* obj, R (U::*method)(X1, X2, X3, X4, A1, A2, A3, A4, A5),
3552 MutantRunner<R, Tuple5<A1, A2, A3, A4, A5> >* t =
3553 new Mutant<R, T, R (U::*)(X1, X2, X3, X4, A1, A2, A3, A4, A5),
3554 Tuple4<P1, P2, P3, P4>, Tuple5<A1, A2, A3, A4, A5> >
3556 return MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >(t);
3560 typename A1, typename A2, typename A3, typename A4, typename A5,
3562 inline MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >
3563 CreateFunctor(R (*function)(X1, X2, X3, X4, A1, A2, A3, A4, A5), const P1& p1,
3565 MutantRunner<R, Tuple5<A1, A2, A3, A4, A5> >* t =
3566 new MutantFunction<R, R (*)(X1, X2, X3, X4, A1, A2, A3, A4, A5),
3567 Tuple4<P1, P2, P3, P4>, Tuple5<A1, A2, A3, A4, A5> >
3569 return MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >(t);
3574 typename P3, typename P4, typename A1, typename A2, typename A3,
3577 inline MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >
3578 CreateFunctor(T** obj, R (U::*method)(X1, X2, X3, X4, A1, A2, A3, A4, A5),
3580 MutantRunner<R, Tuple5<A1, A2, A3, A4, A5> >* t =
3581 new MutantLateObjectBind<R, T, R (U::*)(X1, X2, X3, X4, A1, A2, A3, A4, A5),
3582 Tuple4<P1, P2, P3, P4>, Tuple5<A1, A2, A3, A4, A5> >
3584 return MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >(t);
3590 typename P3, typename P4, typename A1, typename A2, typename A3,
3593 inline MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >
3594 CreateFunctor(T* obj, R (__stdcall U::*method)(X1, X2, X3, X4, A1, A2, A3, A4,
3596 MutantRunner<R, Tuple5<A1, A2, A3, A4, A5> >* t =
3597 new Mutant<R, T, R (__stdcall U::*)(X1, X2, X3, X4, A1, A2, A3, A4, A5),
3598 Tuple4<P1, P2, P3, P4>, Tuple5<A1, A2, A3, A4, A5> >
3600 return MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >(t);
3604 typename A1, typename A2, typename A3, typename A4, typename A5,
3606 inline MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >
3607 CreateFunctor(R (__stdcall *function)(X1, X2, X3, X4, A1, A2, A3, A4, A5),
3609 MutantRunner<R, Tuple5<A1, A2, A3, A4, A5> >* t =
3610 new MutantFunction<R, R (__stdcall *)(X1, X2, X3, X4, A1, A2, A3, A4, A5),
3611 Tuple4<P1, P2, P3, P4>, Tuple5<A1, A2, A3, A4, A5> >
3613 return MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >(t);
3617 typename P3, typename P4, typename A1, typename A2, typename A3,
3620 inline MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >
3621 CreateFunctor(T** obj, R (__stdcall U::*method)(X1, X2, X3, X4, A1, A2, A3, A4,
3623 MutantRunner<R, Tuple5<A1, A2, A3, A4, A5> >* t =
3624 new MutantLateObjectBind<R, T, R (__stdcall U::*)(X1, X2, X3, X4, A1, A2, A3, A4, A5),
3625 Tuple4<P1, P2, P3, P4>, Tuple5<A1, A2, A3, A4, A5> >
3627 return MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >(t);
3634 typename P3, typename P4, typename A1, typename A2, typename A3,
3637 inline MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >
3638 CreateFunctor(T* obj, R (U::*method)(X1, X2, X3, X4, A1, A2, A3, A4, A5, A6),
3640 MutantRunner<R, Tuple6<A1, A2, A3, A4, A5, A6> >* t =
3641 new Mutant<R, T, R (U::*)(X1, X2, X3, X4, A1, A2, A3, A4, A5, A6),
3642 Tuple4<P1, P2, P3, P4>, Tuple6<A1, A2, A3, A4, A5, A6> >
3644 return MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >(t);
3648 typename A1, typename A2, typename A3, typename A4, typename A5,
3650 inline MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >
3651 CreateFunctor(R (*function)(X1, X2, X3, X4, A1, A2, A3, A4, A5, A6),
3653 MutantRunner<R, Tuple6<A1, A2, A3, A4, A5, A6> >* t =
3654 new MutantFunction<R, R (*)(X1, X2, X3, X4, A1, A2, A3, A4, A5, A6),
3655 Tuple4<P1, P2, P3, P4>, Tuple6<A1, A2, A3, A4, A5, A6> >
3657 return MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >(t);
3662 typename P3, typename P4, typename A1, typename A2, typename A3,
3665 inline MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >
3666 CreateFunctor(T** obj, R (U::*method)(X1, X2, X3, X4, A1, A2, A3, A4, A5, A6),
3668 MutantRunner<R, Tuple6<A1, A2, A3, A4, A5, A6> >* t =
3669 new MutantLateObjectBind<R, T, R (U::*)(X1, X2, X3, X4, A1, A2, A3, A4, A5, A6),
3670 Tuple4<P1, P2, P3, P4>, Tuple6<A1, A2, A3, A4, A5, A6> >
3672 return MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >(t);
3678 typename P3, typename P4, typename A1, typename A2, typename A3,
3681 inline MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >
3682 CreateFunctor(T* obj, R (__stdcall U::*method)(X1, X2, X3, X4, A1, A2, A3, A4,
3684 MutantRunner<R, Tuple6<A1, A2, A3, A4, A5, A6> >* t =
3685 new Mutant<R, T, R (__stdcall U::*)(X1, X2, X3, X4, A1, A2, A3, A4, A5, A6),
3686 Tuple4<P1, P2, P3, P4>, Tuple6<A1, A2, A3, A4, A5, A6> >
3688 return MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >(t);
3692 typename A1, typename A2, typename A3, typename A4, typename A5,
3694 inline MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >
3695 CreateFunctor(R (__stdcall *function)(X1, X2, X3, X4, A1, A2, A3, A4, A5, A6),
3697 MutantRunner<R, Tuple6<A1, A2, A3, A4, A5, A6> >* t =
3698 new MutantFunction<R, R (__stdcall *)(X1, X2, X3, X4, A1, A2, A3, A4, A5, A6),
3699 Tuple4<P1, P2, P3, P4>, Tuple6<A1, A2, A3, A4, A5, A6> >
3701 return MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >(t);
3705 typename P3, typename P4, typename A1, typename A2, typename A3,
3708 inline MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >
3709 CreateFunctor(T** obj, R (__stdcall U::*method)(X1, X2, X3, X4, A1, A2, A3, A4,
3711 MutantRunner<R, Tuple6<A1, A2, A3, A4, A5, A6> >* t =
3712 new MutantLateObjectBind<R, T, R (__stdcall U::*)(X1, X2, X3, X4, A1, A2, A3, A4, A5, A6),
3713 Tuple4<P1, P2, P3, P4>, Tuple6<A1, A2, A3, A4, A5, A6> >
3715 return MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >(t);
3806 typename P3, typename P4, typename P5, typename A1, typename X1,
3808 inline MutantFunctor<R, Tuple1<A1> >
3809 CreateFunctor(T* obj, R (U::*method)(X1, X2, X3, X4, X5, A1), const P1& p1,
3811 MutantRunner<R, Tuple1<A1> >* t =
3812 new Mutant<R, T, R (U::*)(X1, X2, X3, X4, X5, A1),
3813 Tuple5<P1, P2, P3, P4, P5>, Tuple1<A1> >
3815 return MutantFunctor<R, Tuple1<A1> >(t);
3819 typename P5, typename A1, typename X1, typename X2, typename X3,
3821 inline MutantFunctor<R, Tuple1<A1> >
3822 CreateFunctor(R (*function)(X1, X2, X3, X4, X5, A1), const P1& p1, const P2& p2,
3824 MutantRunner<R, Tuple1<A1> >* t =
3825 new MutantFunction<R, R (*)(X1, X2, X3, X4, X5, A1),
3826 Tuple5<P1, P2, P3, P4, P5>, Tuple1<A1> >
3828 return MutantFunctor<R, Tuple1<A1> >(t);
3833 typename P3, typename P4, typename P5, typename A1, typename X1,
3835 inline MutantFunctor<R, Tuple1<A1> >
3836 CreateFunctor(T** obj, R (U::*method)(X1, X2, X3, X4, X5, A1), const P1& p1,
3838 MutantRunner<R, Tuple1<A1> >* t =
3839 new MutantLateObjectBind<R, T, R (U::*)(X1, X2, X3, X4, X5, A1),
3840 Tuple5<P1, P2, P3, P4, P5>, Tuple1<A1> >
3842 return MutantFunctor<R, Tuple1<A1> >(t);
3848 typename P3, typename P4, typename P5, typename A1, typename X1,
3850 inline MutantFunctor<R, Tuple1<A1> >
3851 CreateFunctor(T* obj, R (__stdcall U::*method)(X1, X2, X3, X4, X5, A1),
3853 MutantRunner<R, Tuple1<A1> >* t =
3854 new Mutant<R, T, R (__stdcall U::*)(X1, X2, X3, X4, X5, A1),
3855 Tuple5<P1, P2, P3, P4, P5>, Tuple1<A1> >
3857 return MutantFunctor<R, Tuple1<A1> >(t);
3861 typename P5, typename A1, typename X1, typename X2, typename X3,
3863 inline MutantFunctor<R, Tuple1<A1> >
3864 CreateFunctor(R (__stdcall *function)(X1, X2, X3, X4, X5, A1), const P1& p1,
3866 MutantRunner<R, Tuple1<A1> >* t =
3867 new MutantFunction<R, R (__stdcall *)(X1, X2, X3, X4, X5, A1),
3868 Tuple5<P1, P2, P3, P4, P5>, Tuple1<A1> >
3870 return MutantFunctor<R, Tuple1<A1> >(t);
3874 typename P3, typename P4, typename P5, typename A1, typename X1,
3876 inline MutantFunctor<R, Tuple1<A1> >
3877 CreateFunctor(T** obj, R (__stdcall U::*method)(X1, X2, X3, X4, X5, A1),
3879 MutantRunner<R, Tuple1<A1> >* t =
3880 new MutantLateObjectBind<R, T, R (__stdcall U::*)(X1, X2, X3, X4, X5, A1),
3881 Tuple5<P1, P2, P3, P4, P5>, Tuple1<A1> >
3883 return MutantFunctor<R, Tuple1<A1> >(t);
3890 typename P3, typename P4, typename P5, typename A1, typename A2,
3892 inline MutantFunctor<R, Tuple2<A1, A2> >
3893 CreateFunctor(T* obj, R (U::*method)(X1, X2, X3, X4, X5, A1, A2), const P1& p1,
3895 MutantRunner<R, Tuple2<A1, A2> >* t =
3896 new Mutant<R, T, R (U::*)(X1, X2, X3, X4, X5, A1, A2),
3897 Tuple5<P1, P2, P3, P4, P5>, Tuple2<A1, A2> >
3899 return MutantFunctor<R, Tuple2<A1, A2> >(t);
3903 typename P5, typename A1, typename A2, typename X1, typename X2,
3905 inline MutantFunctor<R, Tuple2<A1, A2> >
3906 CreateFunctor(R (*function)(X1, X2, X3, X4, X5, A1, A2), const P1& p1,
3908 MutantRunner<R, Tuple2<A1, A2> >* t =
3909 new MutantFunction<R, R (*)(X1, X2, X3, X4, X5, A1, A2),
3910 Tuple5<P1, P2, P3, P4, P5>, Tuple2<A1, A2> >
3912 return MutantFunctor<R, Tuple2<A1, A2> >(t);
3917 typename P3, typename P4, typename P5, typename A1, typename A2,
3919 inline MutantFunctor<R, Tuple2<A1, A2> >
3920 CreateFunctor(T** obj, R (U::*method)(X1, X2, X3, X4, X5, A1, A2), const P1& p1,
3922 MutantRunner<R, Tuple2<A1, A2> >* t =
3923 new MutantLateObjectBind<R, T, R (U::*)(X1, X2, X3, X4, X5, A1, A2),
3924 Tuple5<P1, P2, P3, P4, P5>, Tuple2<A1, A2> >
3926 return MutantFunctor<R, Tuple2<A1, A2> >(t);
3932 typename P3, typename P4, typename P5, typename A1, typename A2,
3934 inline MutantFunctor<R, Tuple2<A1, A2> >
3935 CreateFunctor(T* obj, R (__stdcall U::*method)(X1, X2, X3, X4, X5, A1, A2),
3937 MutantRunner<R, Tuple2<A1, A2> >* t =
3938 new Mutant<R, T, R (__stdcall U::*)(X1, X2, X3, X4, X5, A1, A2),
3939 Tuple5<P1, P2, P3, P4, P5>, Tuple2<A1, A2> >
3941 return MutantFunctor<R, Tuple2<A1, A2> >(t);
3945 typename P5, typename A1, typename A2, typename X1, typename X2,
3947 inline MutantFunctor<R, Tuple2<A1, A2> >
3948 CreateFunctor(R (__stdcall *function)(X1, X2, X3, X4, X5, A1, A2), const P1& p1,
3950 MutantRunner<R, Tuple2<A1, A2> >* t =
3951 new MutantFunction<R, R (__stdcall *)(X1, X2, X3, X4, X5, A1, A2),
3952 Tuple5<P1, P2, P3, P4, P5>, Tuple2<A1, A2> >
3954 return MutantFunctor<R, Tuple2<A1, A2> >(t);
3958 typename P3, typename P4, typename P5, typename A1, typename A2,
3960 inline MutantFunctor<R, Tuple2<A1, A2> >
3961 CreateFunctor(T** obj, R (__stdcall U::*method)(X1, X2, X3, X4, X5, A1, A2),
3963 MutantRunner<R, Tuple2<A1, A2> >* t =
3964 new MutantLateObjectBind<R, T, R (__stdcall U::*)(X1, X2, X3, X4, X5, A1, A2),
3965 Tuple5<P1, P2, P3, P4, P5>, Tuple2<A1, A2> >
3967 return MutantFunctor<R, Tuple2<A1, A2> >(t);
3974 typename P3, typename P4, typename P5, typename A1, typename A2,
3977 inline MutantFunctor<R, Tuple3<A1, A2, A3> >
3978 CreateFunctor(T* obj, R (U::*method)(X1, X2, X3, X4, X5, A1, A2, A3),
3980 MutantRunner<R, Tuple3<A1, A2, A3> >* t =
3981 new Mutant<R, T, R (U::*)(X1, X2, X3, X4, X5, A1, A2, A3),
3982 Tuple5<P1, P2, P3, P4, P5>, Tuple3<A1, A2, A3> >
3984 return MutantFunctor<R, Tuple3<A1, A2, A3> >(t);
3988 typename P5, typename A1, typename A2, typename A3, typename X1,
3990 inline MutantFunctor<R, Tuple3<A1, A2, A3> >
3991 CreateFunctor(R (*function)(X1, X2, X3, X4, X5, A1, A2, A3), const P1& p1,
3993 MutantRunner<R, Tuple3<A1, A2, A3> >* t =
3994 new MutantFunction<R, R (*)(X1, X2, X3, X4, X5, A1, A2, A3),
3995 Tuple5<P1, P2, P3, P4, P5>, Tuple3<A1, A2, A3> >
3997 return MutantFunctor<R, Tuple3<A1, A2, A3> >(t);
4002 typename P3, typename P4, typename P5, typename A1, typename A2,
4005 inline MutantFunctor<R, Tuple3<A1, A2, A3> >
4006 CreateFunctor(T** obj, R (U::*method)(X1, X2, X3, X4, X5, A1, A2, A3),
4008 MutantRunner<R, Tuple3<A1, A2, A3> >* t =
4009 new MutantLateObjectBind<R, T, R (U::*)(X1, X2, X3, X4, X5, A1, A2, A3),
4010 Tuple5<P1, P2, P3, P4, P5>, Tuple3<A1, A2, A3> >
4012 return MutantFunctor<R, Tuple3<A1, A2, A3> >(t);
4018 typename P3, typename P4, typename P5, typename A1, typename A2,
4021 inline MutantFunctor<R, Tuple3<A1, A2, A3> >
4022 CreateFunctor(T* obj, R (__stdcall U::*method)(X1, X2, X3, X4, X5, A1, A2, A3),
4024 MutantRunner<R, Tuple3<A1, A2, A3> >* t =
4025 new Mutant<R, T, R (__stdcall U::*)(X1, X2, X3, X4, X5, A1, A2, A3),
4026 Tuple5<P1, P2, P3, P4, P5>, Tuple3<A1, A2, A3> >
4028 return MutantFunctor<R, Tuple3<A1, A2, A3> >(t);
4032 typename P5, typename A1, typename A2, typename A3, typename X1,
4034 inline MutantFunctor<R, Tuple3<A1, A2, A3> >
4035 CreateFunctor(R (__stdcall *function)(X1, X2, X3, X4, X5, A1, A2, A3),
4037 MutantRunner<R, Tuple3<A1, A2, A3> >* t =
4038 new MutantFunction<R, R (__stdcall *)(X1, X2, X3, X4, X5, A1, A2, A3),
4039 Tuple5<P1, P2, P3, P4, P5>, Tuple3<A1, A2, A3> >
4041 return MutantFunctor<R, Tuple3<A1, A2, A3> >(t);
4045 typename P3, typename P4, typename P5, typename A1, typename A2,
4048 inline MutantFunctor<R, Tuple3<A1, A2, A3> >
4049 CreateFunctor(T** obj, R (__stdcall U::*method)(X1, X2, X3, X4, X5, A1, A2, A3),
4051 MutantRunner<R, Tuple3<A1, A2, A3> >* t =
4052 new MutantLateObjectBind<R, T, R (__stdcall U::*)(X1, X2, X3, X4, X5, A1, A2, A3),
4053 Tuple5<P1, P2, P3, P4, P5>, Tuple3<A1, A2, A3> >
4055 return MutantFunctor<R, Tuple3<A1, A2, A3> >(t);
4062 typename P3, typename P4, typename P5, typename A1, typename A2,
4065 inline MutantFunctor<R, Tuple4<A1, A2, A3, A4> >
4066 CreateFunctor(T* obj, R (U::*method)(X1, X2, X3, X4, X5, A1, A2, A3, A4),
4068 MutantRunner<R, Tuple4<A1, A2, A3, A4> >* t =
4069 new Mutant<R, T, R (U::*)(X1, X2, X3, X4, X5, A1, A2, A3, A4),
4070 Tuple5<P1, P2, P3, P4, P5>, Tuple4<A1, A2, A3, A4> >
4072 return MutantFunctor<R, Tuple4<A1, A2, A3, A4> >(t);
4076 typename P5, typename A1, typename A2, typename A3, typename A4,
4078 inline MutantFunctor<R, Tuple4<A1, A2, A3, A4> >
4079 CreateFunctor(R (*function)(X1, X2, X3, X4, X5, A1, A2, A3, A4), const P1& p1,
4081 MutantRunner<R, Tuple4<A1, A2, A3, A4> >* t =
4082 new MutantFunction<R, R (*)(X1, X2, X3, X4, X5, A1, A2, A3, A4),
4083 Tuple5<P1, P2, P3, P4, P5>, Tuple4<A1, A2, A3, A4> >
4085 return MutantFunctor<R, Tuple4<A1, A2, A3, A4> >(t);
4090 typename P3, typename P4, typename P5, typename A1, typename A2,
4093 inline MutantFunctor<R, Tuple4<A1, A2, A3, A4> >
4094 CreateFunctor(T** obj, R (U::*method)(X1, X2, X3, X4, X5, A1, A2, A3, A4),
4096 MutantRunner<R, Tuple4<A1, A2, A3, A4> >* t =
4097 new MutantLateObjectBind<R, T, R (U::*)(X1, X2, X3, X4, X5, A1, A2, A3, A4),
4098 Tuple5<P1, P2, P3, P4, P5>, Tuple4<A1, A2, A3, A4> >
4100 return MutantFunctor<R, Tuple4<A1, A2, A3, A4> >(t);
4106 typename P3, typename P4, typename P5, typename A1, typename A2,
4109 inline MutantFunctor<R, Tuple4<A1, A2, A3, A4> >
4110 CreateFunctor(T* obj, R (__stdcall U::*method)(X1, X2, X3, X4, X5, A1, A2, A3,
4113 MutantRunner<R, Tuple4<A1, A2, A3, A4> >* t =
4114 new Mutant<R, T, R (__stdcall U::*)(X1, X2, X3, X4, X5, A1, A2, A3, A4),
4115 Tuple5<P1, P2, P3, P4, P5>, Tuple4<A1, A2, A3, A4> >
4117 return MutantFunctor<R, Tuple4<A1, A2, A3, A4> >(t);
4121 typename P5, typename A1, typename A2, typename A3, typename A4,
4123 inline MutantFunctor<R, Tuple4<A1, A2, A3, A4> >
4124 CreateFunctor(R (__stdcall *function)(X1, X2, X3, X4, X5, A1, A2, A3, A4),
4126 MutantRunner<R, Tuple4<A1, A2, A3, A4> >* t =
4127 new MutantFunction<R, R (__stdcall *)(X1, X2, X3, X4, X5, A1, A2, A3, A4),
4128 Tuple5<P1, P2, P3, P4, P5>, Tuple4<A1, A2, A3, A4> >
4130 return MutantFunctor<R, Tuple4<A1, A2, A3, A4> >(t);
4134 typename P3, typename P4, typename P5, typename A1, typename A2,
4137 inline MutantFunctor<R, Tuple4<A1, A2, A3, A4> >
4138 CreateFunctor(T** obj, R (__stdcall U::*method)(X1, X2, X3, X4, X5, A1, A2, A3,
4141 MutantRunner<R, Tuple4<A1, A2, A3, A4> >* t =
4142 new MutantLateObjectBind<R, T, R (__stdcall U::*)(X1, X2, X3, X4, X5, A1, A2, A3, A4),
4143 Tuple5<P1, P2, P3, P4, P5>, Tuple4<A1, A2, A3, A4> >
4145 return MutantFunctor<R, Tuple4<A1, A2, A3, A4> >(t);
4152 typename P3, typename P4, typename P5, typename A1, typename A2,
4155 inline MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >
4156 CreateFunctor(T* obj, R (U::*method)(X1, X2, X3, X4, X5, A1, A2, A3, A4, A5),
4158 MutantRunner<R, Tuple5<A1, A2, A3, A4, A5> >* t =
4159 new Mutant<R, T, R (U::*)(X1, X2, X3, X4, X5, A1, A2, A3, A4, A5),
4160 Tuple5<P1, P2, P3, P4, P5>, Tuple5<A1, A2, A3, A4, A5> >
4162 return MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >(t);
4166 typename P5, typename A1, typename A2, typename A3, typename A4,
4169 inline MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >
4170 CreateFunctor(R (*function)(X1, X2, X3, X4, X5, A1, A2, A3, A4, A5),
4172 MutantRunner<R, Tuple5<A1, A2, A3, A4, A5> >* t =
4173 new MutantFunction<R, R (*)(X1, X2, X3, X4, X5, A1, A2, A3, A4, A5),
4174 Tuple5<P1, P2, P3, P4, P5>, Tuple5<A1, A2, A3, A4, A5> >
4176 return MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >(t);
4181 typename P3, typename P4, typename P5, typename A1, typename A2,
4184 inline MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >
4185 CreateFunctor(T** obj, R (U::*method)(X1, X2, X3, X4, X5, A1, A2, A3, A4, A5),
4187 MutantRunner<R, Tuple5<A1, A2, A3, A4, A5> >* t =
4188 new MutantLateObjectBind<R, T, R (U::*)(X1, X2, X3, X4, X5, A1, A2, A3, A4, A5),
4189 Tuple5<P1, P2, P3, P4, P5>, Tuple5<A1, A2, A3, A4, A5> >
4191 return MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >(t);
4197 typename P3, typename P4, typename P5, typename A1, typename A2,
4200 inline MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >
4201 CreateFunctor(T* obj, R (__stdcall U::*method)(X1, X2, X3, X4, X5, A1, A2, A3,
4204 MutantRunner<R, Tuple5<A1, A2, A3, A4, A5> >* t =
4205 new Mutant<R, T, R (__stdcall U::*)(X1, X2, X3, X4, X5, A1, A2, A3, A4, A5),
4206 Tuple5<P1, P2, P3, P4, P5>, Tuple5<A1, A2, A3, A4, A5> >
4208 return MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >(t);
4212 typename P5, typename A1, typename A2, typename A3, typename A4,
4215 inline MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >
4216 CreateFunctor(R (__stdcall *function)(X1, X2, X3, X4, X5, A1, A2, A3, A4, A5),
4218 MutantRunner<R, Tuple5<A1, A2, A3, A4, A5> >* t =
4219 new MutantFunction<R, R (__stdcall *)(X1, X2, X3, X4, X5, A1, A2, A3, A4, A5),
4220 Tuple5<P1, P2, P3, P4, P5>, Tuple5<A1, A2, A3, A4, A5> >
4222 return MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >(t);
4226 typename P3, typename P4, typename P5, typename A1, typename A2,
4229 inline MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >
4230 CreateFunctor(T** obj, R (__stdcall U::*method)(X1, X2, X3, X4, X5, A1, A2, A3,
4233 MutantRunner<R, Tuple5<A1, A2, A3, A4, A5> >* t =
4234 new MutantLateObjectBind<R, T, R (__stdcall U::*)(X1, X2, X3, X4, X5, A1, A2, A3, A4, A5),
4235 Tuple5<P1, P2, P3, P4, P5>, Tuple5<A1, A2, A3, A4, A5> >
4237 return MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >(t);
4244 typename P3, typename P4, typename P5, typename A1, typename A2,
4247 inline MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >
4248 CreateFunctor(T* obj, R (U::*method)(X1, X2, X3, X4, X5, A1, A2, A3, A4, A5,
4251 MutantRunner<R, Tuple6<A1, A2, A3, A4, A5, A6> >* t =
4252 new Mutant<R, T, R (U::*)(X1, X2, X3, X4, X5, A1, A2, A3, A4, A5, A6),
4253 Tuple5<P1, P2, P3, P4, P5>, Tuple6<A1, A2, A3, A4, A5, A6> >
4255 return MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >(t);
4259 typename P5, typename A1, typename A2, typename A3, typename A4,
4262 inline MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >
4263 CreateFunctor(R (*function)(X1, X2, X3, X4, X5, A1, A2, A3, A4, A5, A6),
4265 MutantRunner<R, Tuple6<A1, A2, A3, A4, A5, A6> >* t =
4266 new MutantFunction<R, R (*)(X1, X2, X3, X4, X5, A1, A2, A3, A4, A5, A6),
4267 Tuple5<P1, P2, P3, P4, P5>, Tuple6<A1, A2, A3, A4, A5, A6> >
4269 return MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >(t);
4274 typename P3, typename P4, typename P5, typename A1, typename A2,
4277 inline MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >
4278 CreateFunctor(T** obj, R (U::*method)(X1, X2, X3, X4, X5, A1, A2, A3, A4, A5,
4281 MutantRunner<R, Tuple6<A1, A2, A3, A4, A5, A6> >* t =
4282 new MutantLateObjectBind<R, T, R (U::*)(X1, X2, X3, X4, X5, A1, A2, A3, A4, A5, A6),
4283 Tuple5<P1, P2, P3, P4, P5>, Tuple6<A1, A2, A3, A4, A5, A6> >
4285 return MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >(t);
4291 typename P3, typename P4, typename P5, typename A1, typename A2,
4294 inline MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >
4295 CreateFunctor(T* obj, R (__stdcall U::*method)(X1, X2, X3, X4, X5, A1, A2, A3,
4298 MutantRunner<R, Tuple6<A1, A2, A3, A4, A5, A6> >* t =
4299 new Mutant<R, T, R (__stdcall U::*)(X1, X2, X3, X4, X5, A1, A2, A3, A4, A5, A6),
4300 Tuple5<P1, P2, P3, P4, P5>, Tuple6<A1, A2, A3, A4, A5, A6> >
4302 return MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >(t);
4306 typename P5, typename A1, typename A2, typename A3, typename A4,
4309 inline MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >
4310 CreateFunctor(R (__stdcall *function)(X1, X2, X3, X4, X5, A1, A2, A3, A4, A5,
4313 MutantRunner<R, Tuple6<A1, A2, A3, A4, A5, A6> >* t =
4314 A1, A2, A3, A4, A5, A6),
4315 Tuple5<P1, P2, P3, P4, P5>, Tuple6<A1, A2, A3, A4, A5, A6> >
4317 return MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >(t);
4321 typename P3, typename P4, typename P5, typename A1, typename A2,
4324 inline MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >
4325 CreateFunctor(T** obj, R (__stdcall U::*method)(X1, X2, X3, X4, X5, A1, A2, A3,
4328 MutantRunner<R, Tuple6<A1, A2, A3, A4, A5, A6> >* t =
4329 new MutantLateObjectBind<R, T, R (__stdcall U::*)(X1, X2, X3, X4, X5, A1, A2, A3, A4, A5, A6),
4330 Tuple5<P1, P2, P3, P4, P5>, Tuple6<A1, A2, A3, A4, A5, A6> >
4332 return MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >(t);
4425 typename P3, typename P4, typename P5, typename P6, typename A1,
4428 inline MutantFunctor<R, Tuple1<A1> >
4429 CreateFunctor(T* obj, R (U::*method)(X1, X2, X3, X4, X5, X6, A1), const P1& p1,
4431 MutantRunner<R, Tuple1<A1> >* t =
4432 new Mutant<R, T, R (U::*)(X1, X2, X3, X4, X5, X6, A1),
4433 Tuple6<P1, P2, P3, P4, P5, P6>, Tuple1<A1> >
4435 return MutantFunctor<R, Tuple1<A1> >(t);
4439 typename P5, typename P6, typename A1, typename X1, typename X2,
4441 inline MutantFunctor<R, Tuple1<A1> >
4442 CreateFunctor(R (*function)(X1, X2, X3, X4, X5, X6, A1), const P1& p1,
4444 MutantRunner<R, Tuple1<A1> >* t =
4445 new MutantFunction<R, R (*)(X1, X2, X3, X4, X5, X6, A1),
4446 Tuple6<P1, P2, P3, P4, P5, P6>, Tuple1<A1> >
4448 return MutantFunctor<R, Tuple1<A1> >(t);
4453 typename P3, typename P4, typename P5, typename P6, typename A1,
4456 inline MutantFunctor<R, Tuple1<A1> >
4457 CreateFunctor(T** obj, R (U::*method)(X1, X2, X3, X4, X5, X6, A1), const P1& p1,
4459 MutantRunner<R, Tuple1<A1> >* t =
4460 new MutantLateObjectBind<R, T, R (U::*)(X1, X2, X3, X4, X5, X6, A1),
4461 Tuple6<P1, P2, P3, P4, P5, P6>, Tuple1<A1> >
4463 return MutantFunctor<R, Tuple1<A1> >(t);
4469 typename P3, typename P4, typename P5, typename P6, typename A1,
4472 inline MutantFunctor<R, Tuple1<A1> >
4473 CreateFunctor(T* obj, R (__stdcall U::*method)(X1, X2, X3, X4, X5, X6, A1),
4476 MutantRunner<R, Tuple1<A1> >* t =
4477 new Mutant<R, T, R (__stdcall U::*)(X1, X2, X3, X4, X5, X6, A1),
4478 Tuple6<P1, P2, P3, P4, P5, P6>, Tuple1<A1> >
4480 return MutantFunctor<R, Tuple1<A1> >(t);
4484 typename P5, typename P6, typename A1, typename X1, typename X2,
4486 inline MutantFunctor<R, Tuple1<A1> >
4487 CreateFunctor(R (__stdcall *function)(X1, X2, X3, X4, X5, X6, A1), const P1& p1,
4489 MutantRunner<R, Tuple1<A1> >* t =
4490 new MutantFunction<R, R (__stdcall *)(X1, X2, X3, X4, X5, X6, A1),
4491 Tuple6<P1, P2, P3, P4, P5, P6>, Tuple1<A1> >
4493 return MutantFunctor<R, Tuple1<A1> >(t);
4497 typename P3, typename P4, typename P5, typename P6, typename A1,
4500 inline MutantFunctor<R, Tuple1<A1> >
4501 CreateFunctor(T** obj, R (__stdcall U::*method)(X1, X2, X3, X4, X5, X6, A1),
4504 MutantRunner<R, Tuple1<A1> >* t =
4505 new MutantLateObjectBind<R, T, R (__stdcall U::*)(X1, X2, X3, X4, X5, X6, A1),
4506 Tuple6<P1, P2, P3, P4, P5, P6>, Tuple1<A1> >
4508 return MutantFunctor<R, Tuple1<A1> >(t);
4515 typename P3, typename P4, typename P5, typename P6, typename A1,
4518 inline MutantFunctor<R, Tuple2<A1, A2> >
4519 CreateFunctor(T* obj, R (U::*method)(X1, X2, X3, X4, X5, X6, A1, A2),
4522 MutantRunner<R, Tuple2<A1, A2> >* t =
4523 new Mutant<R, T, R (U::*)(X1, X2, X3, X4, X5, X6, A1, A2),
4524 Tuple6<P1, P2, P3, P4, P5, P6>, Tuple2<A1, A2> >
4526 return MutantFunctor<R, Tuple2<A1, A2> >(t);
4530 typename P5, typename P6, typename A1, typename A2, typename X1,
4532 inline MutantFunctor<R, Tuple2<A1, A2> >
4533 CreateFunctor(R (*function)(X1, X2, X3, X4, X5, X6, A1, A2), const P1& p1,
4535 MutantRunner<R, Tuple2<A1, A2> >* t =
4536 new MutantFunction<R, R (*)(X1, X2, X3, X4, X5, X6, A1, A2),
4537 Tuple6<P1, P2, P3, P4, P5, P6>, Tuple2<A1, A2> >
4539 return MutantFunctor<R, Tuple2<A1, A2> >(t);
4544 typename P3, typename P4, typename P5, typename P6, typename A1,
4547 inline MutantFunctor<R, Tuple2<A1, A2> >
4548 CreateFunctor(T** obj, R (U::*method)(X1, X2, X3, X4, X5, X6, A1, A2),
4551 MutantRunner<R, Tuple2<A1, A2> >* t =
4552 new MutantLateObjectBind<R, T, R (U::*)(X1, X2, X3, X4, X5, X6, A1, A2),
4553 Tuple6<P1, P2, P3, P4, P5, P6>, Tuple2<A1, A2> >
4555 return MutantFunctor<R, Tuple2<A1, A2> >(t);
4561 typename P3, typename P4, typename P5, typename P6, typename A1,
4564 inline MutantFunctor<R, Tuple2<A1, A2> >
4565 CreateFunctor(T* obj, R (__stdcall U::*method)(X1, X2, X3, X4, X5, X6, A1, A2),
4568 MutantRunner<R, Tuple2<A1, A2> >* t =
4569 new Mutant<R, T, R (__stdcall U::*)(X1, X2, X3, X4, X5, X6, A1, A2),
4570 Tuple6<P1, P2, P3, P4, P5, P6>, Tuple2<A1, A2> >
4572 return MutantFunctor<R, Tuple2<A1, A2> >(t);
4576 typename P5, typename P6, typename A1, typename A2, typename X1,
4578 inline MutantFunctor<R, Tuple2<A1, A2> >
4579 CreateFunctor(R (__stdcall *function)(X1, X2, X3, X4, X5, X6, A1, A2),
4582 MutantRunner<R, Tuple2<A1, A2> >* t =
4583 new MutantFunction<R, R (__stdcall *)(X1, X2, X3, X4, X5, X6, A1, A2),
4584 Tuple6<P1, P2, P3, P4, P5, P6>, Tuple2<A1, A2> >
4586 return MutantFunctor<R, Tuple2<A1, A2> >(t);
4590 typename P3, typename P4, typename P5, typename P6, typename A1,
4593 inline MutantFunctor<R, Tuple2<A1, A2> >
4594 CreateFunctor(T** obj, R (__stdcall U::*method)(X1, X2, X3, X4, X5, X6, A1, A2),
4597 MutantRunner<R, Tuple2<A1, A2> >* t =
4598 new MutantLateObjectBind<R, T, R (__stdcall U::*)(X1, X2, X3, X4, X5, X6, A1, A2),
4599 Tuple6<P1, P2, P3, P4, P5, P6>, Tuple2<A1, A2> >
4601 return MutantFunctor<R, Tuple2<A1, A2> >(t);
4608 typename P3, typename P4, typename P5, typename P6, typename A1,
4611 inline MutantFunctor<R, Tuple3<A1, A2, A3> >
4612 CreateFunctor(T* obj, R (U::*method)(X1, X2, X3, X4, X5, X6, A1, A2, A3),
4615 MutantRunner<R, Tuple3<A1, A2, A3> >* t =
4616 new Mutant<R, T, R (U::*)(X1, X2, X3, X4, X5, X6, A1, A2, A3),
4617 Tuple6<P1, P2, P3, P4, P5, P6>, Tuple3<A1, A2, A3> >
4619 return MutantFunctor<R, Tuple3<A1, A2, A3> >(t);
4623 typename P5, typename P6, typename A1, typename A2, typename A3,
4626 inline MutantFunctor<R, Tuple3<A1, A2, A3> >
4627 CreateFunctor(R (*function)(X1, X2, X3, X4, X5, X6, A1, A2, A3), const P1& p1,
4629 MutantRunner<R, Tuple3<A1, A2, A3> >* t =
4630 new MutantFunction<R, R (*)(X1, X2, X3, X4, X5, X6, A1, A2, A3),
4631 Tuple6<P1, P2, P3, P4, P5, P6>, Tuple3<A1, A2, A3> >
4633 return MutantFunctor<R, Tuple3<A1, A2, A3> >(t);
4638 typename P3, typename P4, typename P5, typename P6, typename A1,
4641 inline MutantFunctor<R, Tuple3<A1, A2, A3> >
4642 CreateFunctor(T** obj, R (U::*method)(X1, X2, X3, X4, X5, X6, A1, A2, A3),
4645 MutantRunner<R, Tuple3<A1, A2, A3> >* t =
4646 new MutantLateObjectBind<R, T, R (U::*)(X1, X2, X3, X4, X5, X6, A1, A2, A3),
4647 Tuple6<P1, P2, P3, P4, P5, P6>, Tuple3<A1, A2, A3> >
4649 return MutantFunctor<R, Tuple3<A1, A2, A3> >(t);
4655 typename P3, typename P4, typename P5, typename P6, typename A1,
4658 inline MutantFunctor<R, Tuple3<A1, A2, A3> >
4659 CreateFunctor(T* obj, R (__stdcall U::*method)(X1, X2, X3, X4, X5, X6, A1, A2,
4662 MutantRunner<R, Tuple3<A1, A2, A3> >* t =
4663 new Mutant<R, T, R (__stdcall U::*)(X1, X2, X3, X4, X5, X6, A1, A2, A3),
4664 Tuple6<P1, P2, P3, P4, P5, P6>, Tuple3<A1, A2, A3> >
4666 return MutantFunctor<R, Tuple3<A1, A2, A3> >(t);
4670 typename P5, typename P6, typename A1, typename A2, typename A3,
4673 inline MutantFunctor<R, Tuple3<A1, A2, A3> >
4674 CreateFunctor(R (__stdcall *function)(X1, X2, X3, X4, X5, X6, A1, A2, A3),
4677 MutantRunner<R, Tuple3<A1, A2, A3> >* t =
4678 new MutantFunction<R, R (__stdcall *)(X1, X2, X3, X4, X5, X6, A1, A2, A3),
4679 Tuple6<P1, P2, P3, P4, P5, P6>, Tuple3<A1, A2, A3> >
4681 return MutantFunctor<R, Tuple3<A1, A2, A3> >(t);
4685 typename P3, typename P4, typename P5, typename P6, typename A1,
4688 inline MutantFunctor<R, Tuple3<A1, A2, A3> >
4689 CreateFunctor(T** obj, R (__stdcall U::*method)(X1, X2, X3, X4, X5, X6, A1, A2,
4692 MutantRunner<R, Tuple3<A1, A2, A3> >* t =
4693 new MutantLateObjectBind<R, T, R (__stdcall U::*)(X1, X2, X3, X4, X5, X6, A1, A2, A3),
4694 Tuple6<P1, P2, P3, P4, P5, P6>, Tuple3<A1, A2, A3> >
4696 return MutantFunctor<R, Tuple3<A1, A2, A3> >(t);
4703 typename P3, typename P4, typename P5, typename P6, typename A1,
4706 inline MutantFunctor<R, Tuple4<A1, A2, A3, A4> >
4707 CreateFunctor(T* obj, R (U::*method)(X1, X2, X3, X4, X5, X6, A1, A2, A3, A4),
4710 MutantRunner<R, Tuple4<A1, A2, A3, A4> >* t =
4711 new Mutant<R, T, R (U::*)(X1, X2, X3, X4, X5, X6, A1, A2, A3, A4),
4712 Tuple6<P1, P2, P3, P4, P5, P6>, Tuple4<A1, A2, A3, A4> >
4714 return MutantFunctor<R, Tuple4<A1, A2, A3, A4> >(t);
4718 typename P5, typename P6, typename A1, typename A2, typename A3,
4721 inline MutantFunctor<R, Tuple4<A1, A2, A3, A4> >
4722 CreateFunctor(R (*function)(X1, X2, X3, X4, X5, X6, A1, A2, A3, A4),
4725 MutantRunner<R, Tuple4<A1, A2, A3, A4> >* t =
4726 new MutantFunction<R, R (*)(X1, X2, X3, X4, X5, X6, A1, A2, A3, A4),
4727 Tuple6<P1, P2, P3, P4, P5, P6>, Tuple4<A1, A2, A3, A4> >
4729 return MutantFunctor<R, Tuple4<A1, A2, A3, A4> >(t);
4734 typename P3, typename P4, typename P5, typename P6, typename A1,
4737 inline MutantFunctor<R, Tuple4<A1, A2, A3, A4> >
4738 CreateFunctor(T** obj, R (U::*method)(X1, X2, X3, X4, X5, X6, A1, A2, A3, A4),
4741 MutantRunner<R, Tuple4<A1, A2, A3, A4> >* t =
4742 new MutantLateObjectBind<R, T, R (U::*)(X1, X2, X3, X4, X5, X6, A1, A2, A3, A4),
4743 Tuple6<P1, P2, P3, P4, P5, P6>, Tuple4<A1, A2, A3, A4> >
4745 return MutantFunctor<R, Tuple4<A1, A2, A3, A4> >(t);
4751 typename P3, typename P4, typename P5, typename P6, typename A1,
4754 inline MutantFunctor<R, Tuple4<A1, A2, A3, A4> >
4755 CreateFunctor(T* obj, R (__stdcall U::*method)(X1, X2, X3, X4, X5, X6, A1, A2,
4758 MutantRunner<R, Tuple4<A1, A2, A3, A4> >* t =
4759 new Mutant<R, T, R (__stdcall U::*)(X1, X2, X3, X4, X5, X6, A1, A2, A3, A4),
4760 Tuple6<P1, P2, P3, P4, P5, P6>, Tuple4<A1, A2, A3, A4> >
4762 return MutantFunctor<R, Tuple4<A1, A2, A3, A4> >(t);
4766 typename P5, typename P6, typename A1, typename A2, typename A3,
4769 inline MutantFunctor<R, Tuple4<A1, A2, A3, A4> >
4770 CreateFunctor(R (__stdcall *function)(X1, X2, X3, X4, X5, X6, A1, A2, A3, A4),
4773 MutantRunner<R, Tuple4<A1, A2, A3, A4> >* t =
4774 new MutantFunction<R, R (__stdcall *)(X1, X2, X3, X4, X5, X6, A1, A2, A3, A4),
4775 Tuple6<P1, P2, P3, P4, P5, P6>, Tuple4<A1, A2, A3, A4> >
4777 return MutantFunctor<R, Tuple4<A1, A2, A3, A4> >(t);
4781 typename P3, typename P4, typename P5, typename P6, typename A1,
4784 inline MutantFunctor<R, Tuple4<A1, A2, A3, A4> >
4785 CreateFunctor(T** obj, R (__stdcall U::*method)(X1, X2, X3, X4, X5, X6, A1, A2,
4788 MutantRunner<R, Tuple4<A1, A2, A3, A4> >* t =
4789 new MutantLateObjectBind<R, T, R (__stdcall U::*)(X1, X2, X3, X4, X5, X6, A1, A2, A3, A4),
4790 Tuple6<P1, P2, P3, P4, P5, P6>, Tuple4<A1, A2, A3, A4> >
4792 return MutantFunctor<R, Tuple4<A1, A2, A3, A4> >(t);
4799 typename P3, typename P4, typename P5, typename P6, typename A1,
4802 inline MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >
4803 CreateFunctor(T* obj, R (U::*method)(X1, X2, X3, X4, X5, X6, A1, A2, A3, A4,
4806 MutantRunner<R, Tuple5<A1, A2, A3, A4, A5> >* t =
4807 new Mutant<R, T, R (U::*)(X1, X2, X3, X4, X5, X6, A1, A2, A3, A4, A5),
4808 Tuple6<P1, P2, P3, P4, P5, P6>, Tuple5<A1, A2, A3, A4, A5> >
4810 return MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >(t);
4814 typename P5, typename P6, typename A1, typename A2, typename A3,
4817 inline MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >
4818 CreateFunctor(R (*function)(X1, X2, X3, X4, X5, X6, A1, A2, A3, A4, A5),
4821 MutantRunner<R, Tuple5<A1, A2, A3, A4, A5> >* t =
4822 new MutantFunction<R, R (*)(X1, X2, X3, X4, X5, X6, A1, A2, A3, A4, A5),
4823 Tuple6<P1, P2, P3, P4, P5, P6>, Tuple5<A1, A2, A3, A4, A5> >
4825 return MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >(t);
4830 typename P3, typename P4, typename P5, typename P6, typename A1,
4833 inline MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >
4834 CreateFunctor(T** obj, R (U::*method)(X1, X2, X3, X4, X5, X6, A1, A2, A3, A4,
4837 MutantRunner<R, Tuple5<A1, A2, A3, A4, A5> >* t =
4838 new MutantLateObjectBind<R, T, R (U::*)(X1, X2, X3, X4, X5, X6, A1, A2, A3, A4, A5),
4839 Tuple6<P1, P2, P3, P4, P5, P6>, Tuple5<A1, A2, A3, A4, A5> >
4841 return MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >(t);
4847 typename P3, typename P4, typename P5, typename P6, typename A1,
4850 inline MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >
4851 CreateFunctor(T* obj, R (__stdcall U::*method)(X1, X2, X3, X4, X5, X6, A1, A2,
4854 MutantRunner<R, Tuple5<A1, A2, A3, A4, A5> >* t =
4855 new Mutant<R, T, R (__stdcall U::*)(X1, X2, X3, X4, X5, X6, A1, A2, A3, A4, A5),
4856 Tuple6<P1, P2, P3, P4, P5, P6>, Tuple5<A1, A2, A3, A4, A5> >
4858 return MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >(t);
4862 typename P5, typename P6, typename A1, typename A2, typename A3,
4865 inline MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >
4866 CreateFunctor(R (__stdcall *function)(X1, X2, X3, X4, X5, X6, A1, A2, A3, A4,
4869 MutantRunner<R, Tuple5<A1, A2, A3, A4, A5> >* t =
4870 new MutantFunction<R, R (__stdcall *)(X1, X2, X3, X4, X5, X6, A1, A2, A3, A4, A5),
4871 Tuple6<P1, P2, P3, P4, P5, P6>, Tuple5<A1, A2, A3, A4, A5> >
4873 return MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >(t);
4877 typename P3, typename P4, typename P5, typename P6, typename A1,
4880 inline MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >
4881 CreateFunctor(T** obj, R (__stdcall U::*method)(X1, X2, X3, X4, X5, X6, A1, A2,
4884 MutantRunner<R, Tuple5<A1, A2, A3, A4, A5> >* t =
4885 new MutantLateObjectBind<R, T, R (__stdcall U::*)(X1, X2, X3, X4, X5, X6, A1, A2, A3, A4, A5),
4886 Tuple6<P1, P2, P3, P4, P5, P6>, Tuple5<A1, A2, A3, A4, A5> >
4888 return MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >(t);
4895 typename P3, typename P4, typename P5, typename P6, typename A1,
4899 inline MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >
4900 CreateFunctor(T* obj, R (U::*method)(X1, X2, X3, X4, X5, X6, A1, A2, A3, A4, A5,
4903 MutantRunner<R, Tuple6<A1, A2, A3, A4, A5, A6> >* t =
4904 new Mutant<R, T, R (U::*)(X1, X2, X3, X4, X5, X6, A1, A2, A3, A4, A5, A6),
4905 Tuple6<P1, P2, P3, P4, P5, P6>, Tuple6<A1, A2, A3, A4, A5, A6> >
4907 return MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >(t);
4911 typename P5, typename P6, typename A1, typename A2, typename A3,
4914 inline MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >
4915 CreateFunctor(R (*function)(X1, X2, X3, X4, X5, X6, A1, A2, A3, A4, A5, A6),
4918 MutantRunner<R, Tuple6<A1, A2, A3, A4, A5, A6> >* t =
4919 new MutantFunction<R, R (*)(X1, X2, X3, X4, X5, X6, A1, A2, A3, A4, A5, A6),
4920 Tuple6<P1, P2, P3, P4, P5, P6>, Tuple6<A1, A2, A3, A4, A5, A6> >
4922 return MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >(t);
4927 typename P3, typename P4, typename P5, typename P6, typename A1,
4931 inline MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >
4932 CreateFunctor(T** obj, R (U::*method)(X1, X2, X3, X4, X5, X6, A1, A2, A3, A4, A5,
4935 MutantRunner<R, Tuple6<A1, A2, A3, A4, A5, A6> >* t =
4936 new MutantLateObjectBind<R, T, R (U::*)(X1, X2, X3, X4, X5, X6, A1, A2, A3, A4, A5, A6),
4937 Tuple6<P1, P2, P3, P4, P5, P6>, Tuple6<A1, A2, A3, A4, A5, A6> >
4939 return MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >(t);
4945 typename P3, typename P4, typename P5, typename P6, typename A1,
4949 inline MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >
4950 CreateFunctor(T* obj, R (__stdcall U::*method)(X1, X2, X3, X4, X5, X6, A1, A2,
4953 MutantRunner<R, Tuple6<A1, A2, A3, A4, A5, A6> >* t =
4954 new Mutant<R, T, R (__stdcall U::*)(X1, X2, X3, X4, X5, X6, A1, A2, A3, A4, A5, A6),
4955 Tuple6<P1, P2, P3, P4, P5, P6>, Tuple6<A1, A2, A3, A4, A5, A6> >
4957 return MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >(t);
4961 typename P5, typename P6, typename A1, typename A2, typename A3,
4964 inline MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >
4965 CreateFunctor(R (__stdcall *function)(X1, X2, X3, X4, X5, X6, A1, A2, A3, A4,
4968 MutantRunner<R, Tuple6<A1, A2, A3, A4, A5, A6> >* t =
4969 new MutantFunction<R, R (__stdcall *)(X1, X2, X3, X4, X5, X6, A1, A2, A3, A4, A5, A6),
4970 Tuple6<P1, P2, P3, P4, P5, P6>, Tuple6<A1, A2, A3, A4, A5, A6> >
4972 return MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >(t);
4976 typename P3, typename P4, typename P5, typename P6, typename A1,
4980 inline MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >
4981 CreateFunctor(T** obj, R (__stdcall U::*method)(X1, X2, X3, X4, X5, X6, A1, A2,
4984 MutantRunner<R, Tuple6<A1, A2, A3, A4, A5, A6> >* t =
4985 new MutantLateObjectBind<R, T, R (__stdcall U::*)(X1, X2, X3, X4, X5, X6, A1, A2, A3, A4, A5, A6),
4986 Tuple6<P1, P2, P3, P4, P5, P6>, Tuple6<A1, A2, A3, A4, A5, A6> >
4988 return MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >(t);