Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(7)

Side by Side Diff: testing/gmock_mutant.h

Issue 12208028: Exclude duplicate gmock_mutant functor templates in WIN64 (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Revert script copyright and use && in WIN64 condition Created 7 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « testing/generate_gmock_mutant.py ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 // This file automatically generated by testing/generate_gmock_mutant.py. 5 // This file automatically generated by testing/generate_gmock_mutant.py.
6 // DO NOT EDIT. 6 // DO NOT EDIT.
7 7
8 #ifndef TESTING_GMOCK_MUTANT_H_ 8 #ifndef TESTING_GMOCK_MUTANT_H_
9 #define TESTING_GMOCK_MUTANT_H_ 9 #define TESTING_GMOCK_MUTANT_H_
10 10
11 // The intention of this file is to make possible using GMock actions in 11 // The intention of this file is to make possible using GMock actions in
(...skipping 1029 matching lines...) Expand 10 before | Expand all | Expand 10 after
1041 inline MutantFunctor<R, Tuple0> 1041 inline MutantFunctor<R, Tuple0>
1042 CreateFunctor(T** obj, R (U::*method)()) { 1042 CreateFunctor(T** obj, R (U::*method)()) {
1043 MutantRunner<R, Tuple0>* t = 1043 MutantRunner<R, Tuple0>* t =
1044 new MutantLateObjectBind<R, T, R (U::*)(), 1044 new MutantLateObjectBind<R, T, R (U::*)(),
1045 Tuple0, Tuple0> 1045 Tuple0, Tuple0>
1046 (obj, method, MakeTuple()); 1046 (obj, method, MakeTuple());
1047 return MutantFunctor<R, Tuple0>(t); 1047 return MutantFunctor<R, Tuple0>(t);
1048 } 1048 }
1049 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING 1049 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
1050 1050
1051 #if defined (OS_WIN) 1051 #if defined (OS_WIN) && !defined (ARCH_CPU_X86_64)
1052 template <typename R, typename T, typename U> 1052 template <typename R, typename T, typename U>
1053 inline MutantFunctor<R, Tuple0> 1053 inline MutantFunctor<R, Tuple0>
1054 CreateFunctor(T* obj, R (__stdcall U::*method)()) { 1054 CreateFunctor(T* obj, R (__stdcall U::*method)()) {
1055 MutantRunner<R, Tuple0>* t = 1055 MutantRunner<R, Tuple0>* t =
1056 new Mutant<R, T, R (__stdcall U::*)(), 1056 new Mutant<R, T, R (__stdcall U::*)(),
1057 Tuple0, Tuple0> 1057 Tuple0, Tuple0>
1058 (obj, method, MakeTuple()); 1058 (obj, method, MakeTuple());
1059 return MutantFunctor<R, Tuple0>(t); 1059 return MutantFunctor<R, Tuple0>(t);
1060 } 1060 }
1061 1061
(...skipping 10 matching lines...) Expand all
1072 template <typename R, typename T, typename U> 1072 template <typename R, typename T, typename U>
1073 inline MutantFunctor<R, Tuple0> 1073 inline MutantFunctor<R, Tuple0>
1074 CreateFunctor(T** obj, R (__stdcall U::*method)()) { 1074 CreateFunctor(T** obj, R (__stdcall U::*method)()) {
1075 MutantRunner<R, Tuple0>* t = 1075 MutantRunner<R, Tuple0>* t =
1076 new MutantLateObjectBind<R, T, R (__stdcall U::*)(), 1076 new MutantLateObjectBind<R, T, R (__stdcall U::*)(),
1077 Tuple0, Tuple0> 1077 Tuple0, Tuple0>
1078 (obj, method, MakeTuple()); 1078 (obj, method, MakeTuple());
1079 return MutantFunctor<R, Tuple0>(t); 1079 return MutantFunctor<R, Tuple0>(t);
1080 } 1080 }
1081 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING 1081 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
1082 #endif // OS_WIN 1082 #endif // defined (OS_WIN) && !defined (ARCH_CPU_X86_64)
1083 1083
1084 // 0 - 1 1084 // 0 - 1
1085 template <typename R, typename T, typename U, typename A1> 1085 template <typename R, typename T, typename U, typename A1>
1086 inline MutantFunctor<R, Tuple1<A1> > 1086 inline MutantFunctor<R, Tuple1<A1> >
1087 CreateFunctor(T* obj, R (U::*method)(A1)) { 1087 CreateFunctor(T* obj, R (U::*method)(A1)) {
1088 MutantRunner<R, Tuple1<A1> >* t = 1088 MutantRunner<R, Tuple1<A1> >* t =
1089 new Mutant<R, T, R (U::*)(A1), 1089 new Mutant<R, T, R (U::*)(A1),
1090 Tuple0, Tuple1<A1> > 1090 Tuple0, Tuple1<A1> >
1091 (obj, method, MakeTuple()); 1091 (obj, method, MakeTuple());
1092 return MutantFunctor<R, Tuple1<A1> >(t); 1092 return MutantFunctor<R, Tuple1<A1> >(t);
(...skipping 14 matching lines...) Expand all
1107 inline MutantFunctor<R, Tuple1<A1> > 1107 inline MutantFunctor<R, Tuple1<A1> >
1108 CreateFunctor(T** obj, R (U::*method)(A1)) { 1108 CreateFunctor(T** obj, R (U::*method)(A1)) {
1109 MutantRunner<R, Tuple1<A1> >* t = 1109 MutantRunner<R, Tuple1<A1> >* t =
1110 new MutantLateObjectBind<R, T, R (U::*)(A1), 1110 new MutantLateObjectBind<R, T, R (U::*)(A1),
1111 Tuple0, Tuple1<A1> > 1111 Tuple0, Tuple1<A1> >
1112 (obj, method, MakeTuple()); 1112 (obj, method, MakeTuple());
1113 return MutantFunctor<R, Tuple1<A1> >(t); 1113 return MutantFunctor<R, Tuple1<A1> >(t);
1114 } 1114 }
1115 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING 1115 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
1116 1116
1117 #if defined (OS_WIN) 1117 #if defined (OS_WIN) && !defined (ARCH_CPU_X86_64)
1118 template <typename R, typename T, typename U, typename A1> 1118 template <typename R, typename T, typename U, typename A1>
1119 inline MutantFunctor<R, Tuple1<A1> > 1119 inline MutantFunctor<R, Tuple1<A1> >
1120 CreateFunctor(T* obj, R (__stdcall U::*method)(A1)) { 1120 CreateFunctor(T* obj, R (__stdcall U::*method)(A1)) {
1121 MutantRunner<R, Tuple1<A1> >* t = 1121 MutantRunner<R, Tuple1<A1> >* t =
1122 new Mutant<R, T, R (__stdcall U::*)(A1), 1122 new Mutant<R, T, R (__stdcall U::*)(A1),
1123 Tuple0, Tuple1<A1> > 1123 Tuple0, Tuple1<A1> >
1124 (obj, method, MakeTuple()); 1124 (obj, method, MakeTuple());
1125 return MutantFunctor<R, Tuple1<A1> >(t); 1125 return MutantFunctor<R, Tuple1<A1> >(t);
1126 } 1126 }
1127 1127
(...skipping 10 matching lines...) Expand all
1138 template <typename R, typename T, typename U, typename A1> 1138 template <typename R, typename T, typename U, typename A1>
1139 inline MutantFunctor<R, Tuple1<A1> > 1139 inline MutantFunctor<R, Tuple1<A1> >
1140 CreateFunctor(T** obj, R (__stdcall U::*method)(A1)) { 1140 CreateFunctor(T** obj, R (__stdcall U::*method)(A1)) {
1141 MutantRunner<R, Tuple1<A1> >* t = 1141 MutantRunner<R, Tuple1<A1> >* t =
1142 new MutantLateObjectBind<R, T, R (__stdcall U::*)(A1), 1142 new MutantLateObjectBind<R, T, R (__stdcall U::*)(A1),
1143 Tuple0, Tuple1<A1> > 1143 Tuple0, Tuple1<A1> >
1144 (obj, method, MakeTuple()); 1144 (obj, method, MakeTuple());
1145 return MutantFunctor<R, Tuple1<A1> >(t); 1145 return MutantFunctor<R, Tuple1<A1> >(t);
1146 } 1146 }
1147 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING 1147 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
1148 #endif // OS_WIN 1148 #endif // defined (OS_WIN) && !defined (ARCH_CPU_X86_64)
1149 1149
1150 // 0 - 2 1150 // 0 - 2
1151 template <typename R, typename T, typename U, typename A1, typename A2> 1151 template <typename R, typename T, typename U, typename A1, typename A2>
1152 inline MutantFunctor<R, Tuple2<A1, A2> > 1152 inline MutantFunctor<R, Tuple2<A1, A2> >
1153 CreateFunctor(T* obj, R (U::*method)(A1, A2)) { 1153 CreateFunctor(T* obj, R (U::*method)(A1, A2)) {
1154 MutantRunner<R, Tuple2<A1, A2> >* t = 1154 MutantRunner<R, Tuple2<A1, A2> >* t =
1155 new Mutant<R, T, R (U::*)(A1, A2), 1155 new Mutant<R, T, R (U::*)(A1, A2),
1156 Tuple0, Tuple2<A1, A2> > 1156 Tuple0, Tuple2<A1, A2> >
1157 (obj, method, MakeTuple()); 1157 (obj, method, MakeTuple());
1158 return MutantFunctor<R, Tuple2<A1, A2> >(t); 1158 return MutantFunctor<R, Tuple2<A1, A2> >(t);
(...skipping 14 matching lines...) Expand all
1173 inline MutantFunctor<R, Tuple2<A1, A2> > 1173 inline MutantFunctor<R, Tuple2<A1, A2> >
1174 CreateFunctor(T** obj, R (U::*method)(A1, A2)) { 1174 CreateFunctor(T** obj, R (U::*method)(A1, A2)) {
1175 MutantRunner<R, Tuple2<A1, A2> >* t = 1175 MutantRunner<R, Tuple2<A1, A2> >* t =
1176 new MutantLateObjectBind<R, T, R (U::*)(A1, A2), 1176 new MutantLateObjectBind<R, T, R (U::*)(A1, A2),
1177 Tuple0, Tuple2<A1, A2> > 1177 Tuple0, Tuple2<A1, A2> >
1178 (obj, method, MakeTuple()); 1178 (obj, method, MakeTuple());
1179 return MutantFunctor<R, Tuple2<A1, A2> >(t); 1179 return MutantFunctor<R, Tuple2<A1, A2> >(t);
1180 } 1180 }
1181 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING 1181 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
1182 1182
1183 #if defined (OS_WIN) 1183 #if defined (OS_WIN) && !defined (ARCH_CPU_X86_64)
1184 template <typename R, typename T, typename U, typename A1, typename A2> 1184 template <typename R, typename T, typename U, typename A1, typename A2>
1185 inline MutantFunctor<R, Tuple2<A1, A2> > 1185 inline MutantFunctor<R, Tuple2<A1, A2> >
1186 CreateFunctor(T* obj, R (__stdcall U::*method)(A1, A2)) { 1186 CreateFunctor(T* obj, R (__stdcall U::*method)(A1, A2)) {
1187 MutantRunner<R, Tuple2<A1, A2> >* t = 1187 MutantRunner<R, Tuple2<A1, A2> >* t =
1188 new Mutant<R, T, R (__stdcall U::*)(A1, A2), 1188 new Mutant<R, T, R (__stdcall U::*)(A1, A2),
1189 Tuple0, Tuple2<A1, A2> > 1189 Tuple0, Tuple2<A1, A2> >
1190 (obj, method, MakeTuple()); 1190 (obj, method, MakeTuple());
1191 return MutantFunctor<R, Tuple2<A1, A2> >(t); 1191 return MutantFunctor<R, Tuple2<A1, A2> >(t);
1192 } 1192 }
1193 1193
(...skipping 10 matching lines...) Expand all
1204 template <typename R, typename T, typename U, typename A1, typename A2> 1204 template <typename R, typename T, typename U, typename A1, typename A2>
1205 inline MutantFunctor<R, Tuple2<A1, A2> > 1205 inline MutantFunctor<R, Tuple2<A1, A2> >
1206 CreateFunctor(T** obj, R (__stdcall U::*method)(A1, A2)) { 1206 CreateFunctor(T** obj, R (__stdcall U::*method)(A1, A2)) {
1207 MutantRunner<R, Tuple2<A1, A2> >* t = 1207 MutantRunner<R, Tuple2<A1, A2> >* t =
1208 new MutantLateObjectBind<R, T, R (__stdcall U::*)(A1, A2), 1208 new MutantLateObjectBind<R, T, R (__stdcall U::*)(A1, A2),
1209 Tuple0, Tuple2<A1, A2> > 1209 Tuple0, Tuple2<A1, A2> >
1210 (obj, method, MakeTuple()); 1210 (obj, method, MakeTuple());
1211 return MutantFunctor<R, Tuple2<A1, A2> >(t); 1211 return MutantFunctor<R, Tuple2<A1, A2> >(t);
1212 } 1212 }
1213 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING 1213 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
1214 #endif // OS_WIN 1214 #endif // defined (OS_WIN) && !defined (ARCH_CPU_X86_64)
1215 1215
1216 // 0 - 3 1216 // 0 - 3
1217 template <typename R, typename T, typename U, typename A1, typename A2, 1217 template <typename R, typename T, typename U, typename A1, typename A2,
1218 typename A3> 1218 typename A3>
1219 inline MutantFunctor<R, Tuple3<A1, A2, A3> > 1219 inline MutantFunctor<R, Tuple3<A1, A2, A3> >
1220 CreateFunctor(T* obj, R (U::*method)(A1, A2, A3)) { 1220 CreateFunctor(T* obj, R (U::*method)(A1, A2, A3)) {
1221 MutantRunner<R, Tuple3<A1, A2, A3> >* t = 1221 MutantRunner<R, Tuple3<A1, A2, A3> >* t =
1222 new Mutant<R, T, R (U::*)(A1, A2, A3), 1222 new Mutant<R, T, R (U::*)(A1, A2, A3),
1223 Tuple0, Tuple3<A1, A2, A3> > 1223 Tuple0, Tuple3<A1, A2, A3> >
1224 (obj, method, MakeTuple()); 1224 (obj, method, MakeTuple());
(...skipping 16 matching lines...) Expand all
1241 inline MutantFunctor<R, Tuple3<A1, A2, A3> > 1241 inline MutantFunctor<R, Tuple3<A1, A2, A3> >
1242 CreateFunctor(T** obj, R (U::*method)(A1, A2, A3)) { 1242 CreateFunctor(T** obj, R (U::*method)(A1, A2, A3)) {
1243 MutantRunner<R, Tuple3<A1, A2, A3> >* t = 1243 MutantRunner<R, Tuple3<A1, A2, A3> >* t =
1244 new MutantLateObjectBind<R, T, R (U::*)(A1, A2, A3), 1244 new MutantLateObjectBind<R, T, R (U::*)(A1, A2, A3),
1245 Tuple0, Tuple3<A1, A2, A3> > 1245 Tuple0, Tuple3<A1, A2, A3> >
1246 (obj, method, MakeTuple()); 1246 (obj, method, MakeTuple());
1247 return MutantFunctor<R, Tuple3<A1, A2, A3> >(t); 1247 return MutantFunctor<R, Tuple3<A1, A2, A3> >(t);
1248 } 1248 }
1249 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING 1249 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
1250 1250
1251 #if defined (OS_WIN) 1251 #if defined (OS_WIN) && !defined (ARCH_CPU_X86_64)
1252 template <typename R, typename T, typename U, typename A1, typename A2, 1252 template <typename R, typename T, typename U, typename A1, typename A2,
1253 typename A3> 1253 typename A3>
1254 inline MutantFunctor<R, Tuple3<A1, A2, A3> > 1254 inline MutantFunctor<R, Tuple3<A1, A2, A3> >
1255 CreateFunctor(T* obj, R (__stdcall U::*method)(A1, A2, A3)) { 1255 CreateFunctor(T* obj, R (__stdcall U::*method)(A1, A2, A3)) {
1256 MutantRunner<R, Tuple3<A1, A2, A3> >* t = 1256 MutantRunner<R, Tuple3<A1, A2, A3> >* t =
1257 new Mutant<R, T, R (__stdcall U::*)(A1, A2, A3), 1257 new Mutant<R, T, R (__stdcall U::*)(A1, A2, A3),
1258 Tuple0, Tuple3<A1, A2, A3> > 1258 Tuple0, Tuple3<A1, A2, A3> >
1259 (obj, method, MakeTuple()); 1259 (obj, method, MakeTuple());
1260 return MutantFunctor<R, Tuple3<A1, A2, A3> >(t); 1260 return MutantFunctor<R, Tuple3<A1, A2, A3> >(t);
1261 } 1261 }
(...skipping 12 matching lines...) Expand all
1274 typename A3> 1274 typename A3>
1275 inline MutantFunctor<R, Tuple3<A1, A2, A3> > 1275 inline MutantFunctor<R, Tuple3<A1, A2, A3> >
1276 CreateFunctor(T** obj, R (__stdcall U::*method)(A1, A2, A3)) { 1276 CreateFunctor(T** obj, R (__stdcall U::*method)(A1, A2, A3)) {
1277 MutantRunner<R, Tuple3<A1, A2, A3> >* t = 1277 MutantRunner<R, Tuple3<A1, A2, A3> >* t =
1278 new MutantLateObjectBind<R, T, R (__stdcall U::*)(A1, A2, A3), 1278 new MutantLateObjectBind<R, T, R (__stdcall U::*)(A1, A2, A3),
1279 Tuple0, Tuple3<A1, A2, A3> > 1279 Tuple0, Tuple3<A1, A2, A3> >
1280 (obj, method, MakeTuple()); 1280 (obj, method, MakeTuple());
1281 return MutantFunctor<R, Tuple3<A1, A2, A3> >(t); 1281 return MutantFunctor<R, Tuple3<A1, A2, A3> >(t);
1282 } 1282 }
1283 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING 1283 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
1284 #endif // OS_WIN 1284 #endif // defined (OS_WIN) && !defined (ARCH_CPU_X86_64)
1285 1285
1286 // 0 - 4 1286 // 0 - 4
1287 template <typename R, typename T, typename U, typename A1, typename A2, 1287 template <typename R, typename T, typename U, typename A1, typename A2,
1288 typename A3, typename A4> 1288 typename A3, typename A4>
1289 inline MutantFunctor<R, Tuple4<A1, A2, A3, A4> > 1289 inline MutantFunctor<R, Tuple4<A1, A2, A3, A4> >
1290 CreateFunctor(T* obj, R (U::*method)(A1, A2, A3, A4)) { 1290 CreateFunctor(T* obj, R (U::*method)(A1, A2, A3, A4)) {
1291 MutantRunner<R, Tuple4<A1, A2, A3, A4> >* t = 1291 MutantRunner<R, Tuple4<A1, A2, A3, A4> >* t =
1292 new Mutant<R, T, R (U::*)(A1, A2, A3, A4), 1292 new Mutant<R, T, R (U::*)(A1, A2, A3, A4),
1293 Tuple0, Tuple4<A1, A2, A3, A4> > 1293 Tuple0, Tuple4<A1, A2, A3, A4> >
1294 (obj, method, MakeTuple()); 1294 (obj, method, MakeTuple());
(...skipping 16 matching lines...) Expand all
1311 inline MutantFunctor<R, Tuple4<A1, A2, A3, A4> > 1311 inline MutantFunctor<R, Tuple4<A1, A2, A3, A4> >
1312 CreateFunctor(T** obj, R (U::*method)(A1, A2, A3, A4)) { 1312 CreateFunctor(T** obj, R (U::*method)(A1, A2, A3, A4)) {
1313 MutantRunner<R, Tuple4<A1, A2, A3, A4> >* t = 1313 MutantRunner<R, Tuple4<A1, A2, A3, A4> >* t =
1314 new MutantLateObjectBind<R, T, R (U::*)(A1, A2, A3, A4), 1314 new MutantLateObjectBind<R, T, R (U::*)(A1, A2, A3, A4),
1315 Tuple0, Tuple4<A1, A2, A3, A4> > 1315 Tuple0, Tuple4<A1, A2, A3, A4> >
1316 (obj, method, MakeTuple()); 1316 (obj, method, MakeTuple());
1317 return MutantFunctor<R, Tuple4<A1, A2, A3, A4> >(t); 1317 return MutantFunctor<R, Tuple4<A1, A2, A3, A4> >(t);
1318 } 1318 }
1319 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING 1319 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
1320 1320
1321 #if defined (OS_WIN) 1321 #if defined (OS_WIN) && !defined (ARCH_CPU_X86_64)
1322 template <typename R, typename T, typename U, typename A1, typename A2, 1322 template <typename R, typename T, typename U, typename A1, typename A2,
1323 typename A3, typename A4> 1323 typename A3, typename A4>
1324 inline MutantFunctor<R, Tuple4<A1, A2, A3, A4> > 1324 inline MutantFunctor<R, Tuple4<A1, A2, A3, A4> >
1325 CreateFunctor(T* obj, R (__stdcall U::*method)(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 = 1326 MutantRunner<R, Tuple4<A1, A2, A3, A4> >* t =
1327 new Mutant<R, T, R (__stdcall U::*)(A1, A2, A3, A4), 1327 new Mutant<R, T, R (__stdcall U::*)(A1, A2, A3, A4),
1328 Tuple0, Tuple4<A1, A2, A3, A4> > 1328 Tuple0, Tuple4<A1, A2, A3, A4> >
1329 (obj, method, MakeTuple()); 1329 (obj, method, MakeTuple());
1330 return MutantFunctor<R, Tuple4<A1, A2, A3, A4> >(t); 1330 return MutantFunctor<R, Tuple4<A1, A2, A3, A4> >(t);
1331 } 1331 }
(...skipping 12 matching lines...) Expand all
1344 typename A3, typename A4> 1344 typename A3, typename A4>
1345 inline MutantFunctor<R, Tuple4<A1, A2, A3, A4> > 1345 inline MutantFunctor<R, Tuple4<A1, A2, A3, A4> >
1346 CreateFunctor(T** obj, R (__stdcall U::*method)(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 = 1347 MutantRunner<R, Tuple4<A1, A2, A3, A4> >* t =
1348 new MutantLateObjectBind<R, T, R (__stdcall U::*)(A1, A2, A3, A4), 1348 new MutantLateObjectBind<R, T, R (__stdcall U::*)(A1, A2, A3, A4),
1349 Tuple0, Tuple4<A1, A2, A3, A4> > 1349 Tuple0, Tuple4<A1, A2, A3, A4> >
1350 (obj, method, MakeTuple()); 1350 (obj, method, MakeTuple());
1351 return MutantFunctor<R, Tuple4<A1, A2, A3, A4> >(t); 1351 return MutantFunctor<R, Tuple4<A1, A2, A3, A4> >(t);
1352 } 1352 }
1353 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING 1353 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
1354 #endif // OS_WIN 1354 #endif // defined (OS_WIN) && !defined (ARCH_CPU_X86_64)
1355 1355
1356 // 0 - 5 1356 // 0 - 5
1357 template <typename R, typename T, typename U, typename A1, typename A2, 1357 template <typename R, typename T, typename U, typename A1, typename A2,
1358 typename A3, typename A4, typename A5> 1358 typename A3, typename A4, typename A5>
1359 inline MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> > 1359 inline MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >
1360 CreateFunctor(T* obj, R (U::*method)(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 = 1361 MutantRunner<R, Tuple5<A1, A2, A3, A4, A5> >* t =
1362 new Mutant<R, T, R (U::*)(A1, A2, A3, A4, A5), 1362 new Mutant<R, T, R (U::*)(A1, A2, A3, A4, A5),
1363 Tuple0, Tuple5<A1, A2, A3, A4, A5> > 1363 Tuple0, Tuple5<A1, A2, A3, A4, A5> >
1364 (obj, method, MakeTuple()); 1364 (obj, method, MakeTuple());
(...skipping 17 matching lines...) Expand all
1382 inline MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> > 1382 inline MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >
1383 CreateFunctor(T** obj, R (U::*method)(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 = 1384 MutantRunner<R, Tuple5<A1, A2, A3, A4, A5> >* t =
1385 new MutantLateObjectBind<R, T, R (U::*)(A1, A2, A3, A4, A5), 1385 new MutantLateObjectBind<R, T, R (U::*)(A1, A2, A3, A4, A5),
1386 Tuple0, Tuple5<A1, A2, A3, A4, A5> > 1386 Tuple0, Tuple5<A1, A2, A3, A4, A5> >
1387 (obj, method, MakeTuple()); 1387 (obj, method, MakeTuple());
1388 return MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >(t); 1388 return MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >(t);
1389 } 1389 }
1390 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING 1390 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
1391 1391
1392 #if defined (OS_WIN) 1392 #if defined (OS_WIN) && !defined (ARCH_CPU_X86_64)
1393 template <typename R, typename T, typename U, typename A1, typename A2, 1393 template <typename R, typename T, typename U, typename A1, typename A2,
1394 typename A3, typename A4, typename A5> 1394 typename A3, typename A4, typename A5>
1395 inline MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> > 1395 inline MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >
1396 CreateFunctor(T* obj, R (__stdcall U::*method)(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 = 1397 MutantRunner<R, Tuple5<A1, A2, A3, A4, A5> >* t =
1398 new Mutant<R, T, R (__stdcall U::*)(A1, A2, A3, A4, A5), 1398 new Mutant<R, T, R (__stdcall U::*)(A1, A2, A3, A4, A5),
1399 Tuple0, Tuple5<A1, A2, A3, A4, A5> > 1399 Tuple0, Tuple5<A1, A2, A3, A4, A5> >
1400 (obj, method, MakeTuple()); 1400 (obj, method, MakeTuple());
1401 return MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >(t); 1401 return MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >(t);
1402 } 1402 }
(...skipping 13 matching lines...) Expand all
1416 typename A3, typename A4, typename A5> 1416 typename A3, typename A4, typename A5>
1417 inline MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> > 1417 inline MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >
1418 CreateFunctor(T** obj, R (__stdcall U::*method)(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 = 1419 MutantRunner<R, Tuple5<A1, A2, A3, A4, A5> >* t =
1420 new MutantLateObjectBind<R, T, R (__stdcall U::*)(A1, A2, A3, A4, A5), 1420 new MutantLateObjectBind<R, T, R (__stdcall U::*)(A1, A2, A3, A4, A5),
1421 Tuple0, Tuple5<A1, A2, A3, A4, A5> > 1421 Tuple0, Tuple5<A1, A2, A3, A4, A5> >
1422 (obj, method, MakeTuple()); 1422 (obj, method, MakeTuple());
1423 return MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >(t); 1423 return MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >(t);
1424 } 1424 }
1425 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING 1425 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
1426 #endif // OS_WIN 1426 #endif // defined (OS_WIN) && !defined (ARCH_CPU_X86_64)
1427 1427
1428 // 0 - 6 1428 // 0 - 6
1429 template <typename R, typename T, typename U, typename A1, typename A2, 1429 template <typename R, typename T, typename U, typename A1, typename A2,
1430 typename A3, typename A4, typename A5, typename A6> 1430 typename A3, typename A4, typename A5, typename A6>
1431 inline MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> > 1431 inline MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >
1432 CreateFunctor(T* obj, R (U::*method)(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 = 1433 MutantRunner<R, Tuple6<A1, A2, A3, A4, A5, A6> >* t =
1434 new Mutant<R, T, R (U::*)(A1, A2, A3, A4, A5, A6), 1434 new Mutant<R, T, R (U::*)(A1, A2, A3, A4, A5, A6),
1435 Tuple0, Tuple6<A1, A2, A3, A4, A5, A6> > 1435 Tuple0, Tuple6<A1, A2, A3, A4, A5, A6> >
1436 (obj, method, MakeTuple()); 1436 (obj, method, MakeTuple());
(...skipping 17 matching lines...) Expand all
1454 inline MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> > 1454 inline MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >
1455 CreateFunctor(T** obj, R (U::*method)(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 = 1456 MutantRunner<R, Tuple6<A1, A2, A3, A4, A5, A6> >* t =
1457 new MutantLateObjectBind<R, T, R (U::*)(A1, A2, A3, A4, A5, A6), 1457 new MutantLateObjectBind<R, T, R (U::*)(A1, A2, A3, A4, A5, A6),
1458 Tuple0, Tuple6<A1, A2, A3, A4, A5, A6> > 1458 Tuple0, Tuple6<A1, A2, A3, A4, A5, A6> >
1459 (obj, method, MakeTuple()); 1459 (obj, method, MakeTuple());
1460 return MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >(t); 1460 return MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >(t);
1461 } 1461 }
1462 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING 1462 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
1463 1463
1464 #if defined (OS_WIN) 1464 #if defined (OS_WIN) && !defined (ARCH_CPU_X86_64)
1465 template <typename R, typename T, typename U, typename A1, typename A2, 1465 template <typename R, typename T, typename U, typename A1, typename A2,
1466 typename A3, typename A4, typename A5, typename A6> 1466 typename A3, typename A4, typename A5, typename A6>
1467 inline MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> > 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)) { 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 = 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), 1470 new Mutant<R, T, R (__stdcall U::*)(A1, A2, A3, A4, A5, A6),
1471 Tuple0, Tuple6<A1, A2, A3, A4, A5, A6> > 1471 Tuple0, Tuple6<A1, A2, A3, A4, A5, A6> >
1472 (obj, method, MakeTuple()); 1472 (obj, method, MakeTuple());
1473 return MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >(t); 1473 return MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >(t);
1474 } 1474 }
(...skipping 13 matching lines...) Expand all
1488 typename A3, typename A4, typename A5, typename A6> 1488 typename A3, typename A4, typename A5, typename A6>
1489 inline MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> > 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)) { 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 = 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), 1492 new MutantLateObjectBind<R, T, R (__stdcall U::*)(A1, A2, A3, A4, A5, A6),
1493 Tuple0, Tuple6<A1, A2, A3, A4, A5, A6> > 1493 Tuple0, Tuple6<A1, A2, A3, A4, A5, A6> >
1494 (obj, method, MakeTuple()); 1494 (obj, method, MakeTuple());
1495 return MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >(t); 1495 return MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >(t);
1496 } 1496 }
1497 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING 1497 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
1498 #endif // OS_WIN 1498 #endif // defined (OS_WIN) && !defined (ARCH_CPU_X86_64)
1499 1499
1500 // 1 - 0 1500 // 1 - 0
1501 template <typename R, typename T, typename U, typename P1, typename X1> 1501 template <typename R, typename T, typename U, typename P1, typename X1>
1502 inline MutantFunctor<R, Tuple0> 1502 inline MutantFunctor<R, Tuple0>
1503 CreateFunctor(T* obj, R (U::*method)(X1), const P1& p1) { 1503 CreateFunctor(T* obj, R (U::*method)(X1), const P1& p1) {
1504 MutantRunner<R, Tuple0>* t = 1504 MutantRunner<R, Tuple0>* t =
1505 new Mutant<R, T, R (U::*)(X1), 1505 new Mutant<R, T, R (U::*)(X1),
1506 Tuple1<P1>, Tuple0> 1506 Tuple1<P1>, Tuple0>
1507 (obj, method, MakeTuple(p1)); 1507 (obj, method, MakeTuple(p1));
1508 return MutantFunctor<R, Tuple0>(t); 1508 return MutantFunctor<R, Tuple0>(t);
(...skipping 14 matching lines...) Expand all
1523 inline MutantFunctor<R, Tuple0> 1523 inline MutantFunctor<R, Tuple0>
1524 CreateFunctor(T** obj, R (U::*method)(X1), const P1& p1) { 1524 CreateFunctor(T** obj, R (U::*method)(X1), const P1& p1) {
1525 MutantRunner<R, Tuple0>* t = 1525 MutantRunner<R, Tuple0>* t =
1526 new MutantLateObjectBind<R, T, R (U::*)(X1), 1526 new MutantLateObjectBind<R, T, R (U::*)(X1),
1527 Tuple1<P1>, Tuple0> 1527 Tuple1<P1>, Tuple0>
1528 (obj, method, MakeTuple(p1)); 1528 (obj, method, MakeTuple(p1));
1529 return MutantFunctor<R, Tuple0>(t); 1529 return MutantFunctor<R, Tuple0>(t);
1530 } 1530 }
1531 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING 1531 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
1532 1532
1533 #if defined (OS_WIN) 1533 #if defined (OS_WIN) && !defined (ARCH_CPU_X86_64)
1534 template <typename R, typename T, typename U, typename P1, typename X1> 1534 template <typename R, typename T, typename U, typename P1, typename X1>
1535 inline MutantFunctor<R, Tuple0> 1535 inline MutantFunctor<R, Tuple0>
1536 CreateFunctor(T* obj, R (__stdcall U::*method)(X1), const P1& p1) { 1536 CreateFunctor(T* obj, R (__stdcall U::*method)(X1), const P1& p1) {
1537 MutantRunner<R, Tuple0>* t = 1537 MutantRunner<R, Tuple0>* t =
1538 new Mutant<R, T, R (__stdcall U::*)(X1), 1538 new Mutant<R, T, R (__stdcall U::*)(X1),
1539 Tuple1<P1>, Tuple0> 1539 Tuple1<P1>, Tuple0>
1540 (obj, method, MakeTuple(p1)); 1540 (obj, method, MakeTuple(p1));
1541 return MutantFunctor<R, Tuple0>(t); 1541 return MutantFunctor<R, Tuple0>(t);
1542 } 1542 }
1543 1543
(...skipping 10 matching lines...) Expand all
1554 template <typename R, typename T, typename U, typename P1, typename X1> 1554 template <typename R, typename T, typename U, typename P1, typename X1>
1555 inline MutantFunctor<R, Tuple0> 1555 inline MutantFunctor<R, Tuple0>
1556 CreateFunctor(T** obj, R (__stdcall U::*method)(X1), const P1& p1) { 1556 CreateFunctor(T** obj, R (__stdcall U::*method)(X1), const P1& p1) {
1557 MutantRunner<R, Tuple0>* t = 1557 MutantRunner<R, Tuple0>* t =
1558 new MutantLateObjectBind<R, T, R (__stdcall U::*)(X1), 1558 new MutantLateObjectBind<R, T, R (__stdcall U::*)(X1),
1559 Tuple1<P1>, Tuple0> 1559 Tuple1<P1>, Tuple0>
1560 (obj, method, MakeTuple(p1)); 1560 (obj, method, MakeTuple(p1));
1561 return MutantFunctor<R, Tuple0>(t); 1561 return MutantFunctor<R, Tuple0>(t);
1562 } 1562 }
1563 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING 1563 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
1564 #endif // OS_WIN 1564 #endif // defined (OS_WIN) && !defined (ARCH_CPU_X86_64)
1565 1565
1566 // 1 - 1 1566 // 1 - 1
1567 template <typename R, typename T, typename U, typename P1, typename A1, 1567 template <typename R, typename T, typename U, typename P1, typename A1,
1568 typename X1> 1568 typename X1>
1569 inline MutantFunctor<R, Tuple1<A1> > 1569 inline MutantFunctor<R, Tuple1<A1> >
1570 CreateFunctor(T* obj, R (U::*method)(X1, A1), const P1& p1) { 1570 CreateFunctor(T* obj, R (U::*method)(X1, A1), const P1& p1) {
1571 MutantRunner<R, Tuple1<A1> >* t = 1571 MutantRunner<R, Tuple1<A1> >* t =
1572 new Mutant<R, T, R (U::*)(X1, A1), 1572 new Mutant<R, T, R (U::*)(X1, A1),
1573 Tuple1<P1>, Tuple1<A1> > 1573 Tuple1<P1>, Tuple1<A1> >
1574 (obj, method, MakeTuple(p1)); 1574 (obj, method, MakeTuple(p1));
(...skipping 16 matching lines...) Expand all
1591 inline MutantFunctor<R, Tuple1<A1> > 1591 inline MutantFunctor<R, Tuple1<A1> >
1592 CreateFunctor(T** obj, R (U::*method)(X1, A1), const P1& p1) { 1592 CreateFunctor(T** obj, R (U::*method)(X1, A1), const P1& p1) {
1593 MutantRunner<R, Tuple1<A1> >* t = 1593 MutantRunner<R, Tuple1<A1> >* t =
1594 new MutantLateObjectBind<R, T, R (U::*)(X1, A1), 1594 new MutantLateObjectBind<R, T, R (U::*)(X1, A1),
1595 Tuple1<P1>, Tuple1<A1> > 1595 Tuple1<P1>, Tuple1<A1> >
1596 (obj, method, MakeTuple(p1)); 1596 (obj, method, MakeTuple(p1));
1597 return MutantFunctor<R, Tuple1<A1> >(t); 1597 return MutantFunctor<R, Tuple1<A1> >(t);
1598 } 1598 }
1599 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING 1599 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
1600 1600
1601 #if defined (OS_WIN) 1601 #if defined (OS_WIN) && !defined (ARCH_CPU_X86_64)
1602 template <typename R, typename T, typename U, typename P1, typename A1, 1602 template <typename R, typename T, typename U, typename P1, typename A1,
1603 typename X1> 1603 typename X1>
1604 inline MutantFunctor<R, Tuple1<A1> > 1604 inline MutantFunctor<R, Tuple1<A1> >
1605 CreateFunctor(T* obj, R (__stdcall U::*method)(X1, A1), const P1& p1) { 1605 CreateFunctor(T* obj, R (__stdcall U::*method)(X1, A1), const P1& p1) {
1606 MutantRunner<R, Tuple1<A1> >* t = 1606 MutantRunner<R, Tuple1<A1> >* t =
1607 new Mutant<R, T, R (__stdcall U::*)(X1, A1), 1607 new Mutant<R, T, R (__stdcall U::*)(X1, A1),
1608 Tuple1<P1>, Tuple1<A1> > 1608 Tuple1<P1>, Tuple1<A1> >
1609 (obj, method, MakeTuple(p1)); 1609 (obj, method, MakeTuple(p1));
1610 return MutantFunctor<R, Tuple1<A1> >(t); 1610 return MutantFunctor<R, Tuple1<A1> >(t);
1611 } 1611 }
(...skipping 12 matching lines...) Expand all
1624 typename X1> 1624 typename X1>
1625 inline MutantFunctor<R, Tuple1<A1> > 1625 inline MutantFunctor<R, Tuple1<A1> >
1626 CreateFunctor(T** obj, R (__stdcall U::*method)(X1, A1), const P1& p1) { 1626 CreateFunctor(T** obj, R (__stdcall U::*method)(X1, A1), const P1& p1) {
1627 MutantRunner<R, Tuple1<A1> >* t = 1627 MutantRunner<R, Tuple1<A1> >* t =
1628 new MutantLateObjectBind<R, T, R (__stdcall U::*)(X1, A1), 1628 new MutantLateObjectBind<R, T, R (__stdcall U::*)(X1, A1),
1629 Tuple1<P1>, Tuple1<A1> > 1629 Tuple1<P1>, Tuple1<A1> >
1630 (obj, method, MakeTuple(p1)); 1630 (obj, method, MakeTuple(p1));
1631 return MutantFunctor<R, Tuple1<A1> >(t); 1631 return MutantFunctor<R, Tuple1<A1> >(t);
1632 } 1632 }
1633 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING 1633 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
1634 #endif // OS_WIN 1634 #endif // defined (OS_WIN) && !defined (ARCH_CPU_X86_64)
1635 1635
1636 // 1 - 2 1636 // 1 - 2
1637 template <typename R, typename T, typename U, typename P1, typename A1, 1637 template <typename R, typename T, typename U, typename P1, typename A1,
1638 typename A2, typename X1> 1638 typename A2, typename X1>
1639 inline MutantFunctor<R, Tuple2<A1, A2> > 1639 inline MutantFunctor<R, Tuple2<A1, A2> >
1640 CreateFunctor(T* obj, R (U::*method)(X1, A1, A2), const P1& p1) { 1640 CreateFunctor(T* obj, R (U::*method)(X1, A1, A2), const P1& p1) {
1641 MutantRunner<R, Tuple2<A1, A2> >* t = 1641 MutantRunner<R, Tuple2<A1, A2> >* t =
1642 new Mutant<R, T, R (U::*)(X1, A1, A2), 1642 new Mutant<R, T, R (U::*)(X1, A1, A2),
1643 Tuple1<P1>, Tuple2<A1, A2> > 1643 Tuple1<P1>, Tuple2<A1, A2> >
1644 (obj, method, MakeTuple(p1)); 1644 (obj, method, MakeTuple(p1));
(...skipping 16 matching lines...) Expand all
1661 inline MutantFunctor<R, Tuple2<A1, A2> > 1661 inline MutantFunctor<R, Tuple2<A1, A2> >
1662 CreateFunctor(T** obj, R (U::*method)(X1, A1, A2), const P1& p1) { 1662 CreateFunctor(T** obj, R (U::*method)(X1, A1, A2), const P1& p1) {
1663 MutantRunner<R, Tuple2<A1, A2> >* t = 1663 MutantRunner<R, Tuple2<A1, A2> >* t =
1664 new MutantLateObjectBind<R, T, R (U::*)(X1, A1, A2), 1664 new MutantLateObjectBind<R, T, R (U::*)(X1, A1, A2),
1665 Tuple1<P1>, Tuple2<A1, A2> > 1665 Tuple1<P1>, Tuple2<A1, A2> >
1666 (obj, method, MakeTuple(p1)); 1666 (obj, method, MakeTuple(p1));
1667 return MutantFunctor<R, Tuple2<A1, A2> >(t); 1667 return MutantFunctor<R, Tuple2<A1, A2> >(t);
1668 } 1668 }
1669 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING 1669 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
1670 1670
1671 #if defined (OS_WIN) 1671 #if defined (OS_WIN) && !defined (ARCH_CPU_X86_64)
1672 template <typename R, typename T, typename U, typename P1, typename A1, 1672 template <typename R, typename T, typename U, typename P1, typename A1,
1673 typename A2, typename X1> 1673 typename A2, typename X1>
1674 inline MutantFunctor<R, Tuple2<A1, A2> > 1674 inline MutantFunctor<R, Tuple2<A1, A2> >
1675 CreateFunctor(T* obj, R (__stdcall U::*method)(X1, A1, A2), const P1& p1) { 1675 CreateFunctor(T* obj, R (__stdcall U::*method)(X1, A1, A2), const P1& p1) {
1676 MutantRunner<R, Tuple2<A1, A2> >* t = 1676 MutantRunner<R, Tuple2<A1, A2> >* t =
1677 new Mutant<R, T, R (__stdcall U::*)(X1, A1, A2), 1677 new Mutant<R, T, R (__stdcall U::*)(X1, A1, A2),
1678 Tuple1<P1>, Tuple2<A1, A2> > 1678 Tuple1<P1>, Tuple2<A1, A2> >
1679 (obj, method, MakeTuple(p1)); 1679 (obj, method, MakeTuple(p1));
1680 return MutantFunctor<R, Tuple2<A1, A2> >(t); 1680 return MutantFunctor<R, Tuple2<A1, A2> >(t);
1681 } 1681 }
(...skipping 12 matching lines...) Expand all
1694 typename A2, typename X1> 1694 typename A2, typename X1>
1695 inline MutantFunctor<R, Tuple2<A1, A2> > 1695 inline MutantFunctor<R, Tuple2<A1, A2> >
1696 CreateFunctor(T** obj, R (__stdcall U::*method)(X1, A1, A2), const P1& p1) { 1696 CreateFunctor(T** obj, R (__stdcall U::*method)(X1, A1, A2), const P1& p1) {
1697 MutantRunner<R, Tuple2<A1, A2> >* t = 1697 MutantRunner<R, Tuple2<A1, A2> >* t =
1698 new MutantLateObjectBind<R, T, R (__stdcall U::*)(X1, A1, A2), 1698 new MutantLateObjectBind<R, T, R (__stdcall U::*)(X1, A1, A2),
1699 Tuple1<P1>, Tuple2<A1, A2> > 1699 Tuple1<P1>, Tuple2<A1, A2> >
1700 (obj, method, MakeTuple(p1)); 1700 (obj, method, MakeTuple(p1));
1701 return MutantFunctor<R, Tuple2<A1, A2> >(t); 1701 return MutantFunctor<R, Tuple2<A1, A2> >(t);
1702 } 1702 }
1703 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING 1703 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
1704 #endif // OS_WIN 1704 #endif // defined (OS_WIN) && !defined (ARCH_CPU_X86_64)
1705 1705
1706 // 1 - 3 1706 // 1 - 3
1707 template <typename R, typename T, typename U, typename P1, typename A1, 1707 template <typename R, typename T, typename U, typename P1, typename A1,
1708 typename A2, typename A3, typename X1> 1708 typename A2, typename A3, typename X1>
1709 inline MutantFunctor<R, Tuple3<A1, A2, A3> > 1709 inline MutantFunctor<R, Tuple3<A1, A2, A3> >
1710 CreateFunctor(T* obj, R (U::*method)(X1, A1, A2, A3), const P1& p1) { 1710 CreateFunctor(T* obj, R (U::*method)(X1, A1, A2, A3), const P1& p1) {
1711 MutantRunner<R, Tuple3<A1, A2, A3> >* t = 1711 MutantRunner<R, Tuple3<A1, A2, A3> >* t =
1712 new Mutant<R, T, R (U::*)(X1, A1, A2, A3), 1712 new Mutant<R, T, R (U::*)(X1, A1, A2, A3),
1713 Tuple1<P1>, Tuple3<A1, A2, A3> > 1713 Tuple1<P1>, Tuple3<A1, A2, A3> >
1714 (obj, method, MakeTuple(p1)); 1714 (obj, method, MakeTuple(p1));
(...skipping 17 matching lines...) Expand all
1732 inline MutantFunctor<R, Tuple3<A1, A2, A3> > 1732 inline MutantFunctor<R, Tuple3<A1, A2, A3> >
1733 CreateFunctor(T** obj, R (U::*method)(X1, A1, A2, A3), const P1& p1) { 1733 CreateFunctor(T** obj, R (U::*method)(X1, A1, A2, A3), const P1& p1) {
1734 MutantRunner<R, Tuple3<A1, A2, A3> >* t = 1734 MutantRunner<R, Tuple3<A1, A2, A3> >* t =
1735 new MutantLateObjectBind<R, T, R (U::*)(X1, A1, A2, A3), 1735 new MutantLateObjectBind<R, T, R (U::*)(X1, A1, A2, A3),
1736 Tuple1<P1>, Tuple3<A1, A2, A3> > 1736 Tuple1<P1>, Tuple3<A1, A2, A3> >
1737 (obj, method, MakeTuple(p1)); 1737 (obj, method, MakeTuple(p1));
1738 return MutantFunctor<R, Tuple3<A1, A2, A3> >(t); 1738 return MutantFunctor<R, Tuple3<A1, A2, A3> >(t);
1739 } 1739 }
1740 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING 1740 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
1741 1741
1742 #if defined (OS_WIN) 1742 #if defined (OS_WIN) && !defined (ARCH_CPU_X86_64)
1743 template <typename R, typename T, typename U, typename P1, typename A1, 1743 template <typename R, typename T, typename U, typename P1, typename A1,
1744 typename A2, typename A3, typename X1> 1744 typename A2, typename A3, typename X1>
1745 inline MutantFunctor<R, Tuple3<A1, A2, A3> > 1745 inline MutantFunctor<R, Tuple3<A1, A2, A3> >
1746 CreateFunctor(T* obj, R (__stdcall U::*method)(X1, A1, A2, A3), const P1& p1) { 1746 CreateFunctor(T* obj, R (__stdcall U::*method)(X1, A1, A2, A3), const P1& p1) {
1747 MutantRunner<R, Tuple3<A1, A2, A3> >* t = 1747 MutantRunner<R, Tuple3<A1, A2, A3> >* t =
1748 new Mutant<R, T, R (__stdcall U::*)(X1, A1, A2, A3), 1748 new Mutant<R, T, R (__stdcall U::*)(X1, A1, A2, A3),
1749 Tuple1<P1>, Tuple3<A1, A2, A3> > 1749 Tuple1<P1>, Tuple3<A1, A2, A3> >
1750 (obj, method, MakeTuple(p1)); 1750 (obj, method, MakeTuple(p1));
1751 return MutantFunctor<R, Tuple3<A1, A2, A3> >(t); 1751 return MutantFunctor<R, Tuple3<A1, A2, A3> >(t);
1752 } 1752 }
(...skipping 13 matching lines...) Expand all
1766 typename A2, typename A3, typename X1> 1766 typename A2, typename A3, typename X1>
1767 inline MutantFunctor<R, Tuple3<A1, A2, A3> > 1767 inline MutantFunctor<R, Tuple3<A1, A2, A3> >
1768 CreateFunctor(T** obj, R (__stdcall U::*method)(X1, A1, A2, A3), const P1& p1) { 1768 CreateFunctor(T** obj, R (__stdcall U::*method)(X1, A1, A2, A3), const P1& p1) {
1769 MutantRunner<R, Tuple3<A1, A2, A3> >* t = 1769 MutantRunner<R, Tuple3<A1, A2, A3> >* t =
1770 new MutantLateObjectBind<R, T, R (__stdcall U::*)(X1, A1, A2, A3), 1770 new MutantLateObjectBind<R, T, R (__stdcall U::*)(X1, A1, A2, A3),
1771 Tuple1<P1>, Tuple3<A1, A2, A3> > 1771 Tuple1<P1>, Tuple3<A1, A2, A3> >
1772 (obj, method, MakeTuple(p1)); 1772 (obj, method, MakeTuple(p1));
1773 return MutantFunctor<R, Tuple3<A1, A2, A3> >(t); 1773 return MutantFunctor<R, Tuple3<A1, A2, A3> >(t);
1774 } 1774 }
1775 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING 1775 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
1776 #endif // OS_WIN 1776 #endif // defined (OS_WIN) && !defined (ARCH_CPU_X86_64)
1777 1777
1778 // 1 - 4 1778 // 1 - 4
1779 template <typename R, typename T, typename U, typename P1, typename A1, 1779 template <typename R, typename T, typename U, typename P1, typename A1,
1780 typename A2, typename A3, typename A4, typename X1> 1780 typename A2, typename A3, typename A4, typename X1>
1781 inline MutantFunctor<R, Tuple4<A1, A2, A3, A4> > 1781 inline MutantFunctor<R, Tuple4<A1, A2, A3, A4> >
1782 CreateFunctor(T* obj, R (U::*method)(X1, A1, A2, A3, A4), const P1& p1) { 1782 CreateFunctor(T* obj, R (U::*method)(X1, A1, A2, A3, A4), const P1& p1) {
1783 MutantRunner<R, Tuple4<A1, A2, A3, A4> >* t = 1783 MutantRunner<R, Tuple4<A1, A2, A3, A4> >* t =
1784 new Mutant<R, T, R (U::*)(X1, A1, A2, A3, A4), 1784 new Mutant<R, T, R (U::*)(X1, A1, A2, A3, A4),
1785 Tuple1<P1>, Tuple4<A1, A2, A3, A4> > 1785 Tuple1<P1>, Tuple4<A1, A2, A3, A4> >
1786 (obj, method, MakeTuple(p1)); 1786 (obj, method, MakeTuple(p1));
(...skipping 17 matching lines...) Expand all
1804 inline MutantFunctor<R, Tuple4<A1, A2, A3, A4> > 1804 inline MutantFunctor<R, Tuple4<A1, A2, A3, A4> >
1805 CreateFunctor(T** obj, R (U::*method)(X1, A1, A2, A3, A4), const P1& p1) { 1805 CreateFunctor(T** obj, R (U::*method)(X1, A1, A2, A3, A4), const P1& p1) {
1806 MutantRunner<R, Tuple4<A1, A2, A3, A4> >* t = 1806 MutantRunner<R, Tuple4<A1, A2, A3, A4> >* t =
1807 new MutantLateObjectBind<R, T, R (U::*)(X1, A1, A2, A3, A4), 1807 new MutantLateObjectBind<R, T, R (U::*)(X1, A1, A2, A3, A4),
1808 Tuple1<P1>, Tuple4<A1, A2, A3, A4> > 1808 Tuple1<P1>, Tuple4<A1, A2, A3, A4> >
1809 (obj, method, MakeTuple(p1)); 1809 (obj, method, MakeTuple(p1));
1810 return MutantFunctor<R, Tuple4<A1, A2, A3, A4> >(t); 1810 return MutantFunctor<R, Tuple4<A1, A2, A3, A4> >(t);
1811 } 1811 }
1812 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING 1812 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
1813 1813
1814 #if defined (OS_WIN) 1814 #if defined (OS_WIN) && !defined (ARCH_CPU_X86_64)
1815 template <typename R, typename T, typename U, typename P1, typename A1, 1815 template <typename R, typename T, typename U, typename P1, typename A1,
1816 typename A2, typename A3, typename A4, typename X1> 1816 typename A2, typename A3, typename A4, typename X1>
1817 inline MutantFunctor<R, Tuple4<A1, A2, A3, A4> > 1817 inline MutantFunctor<R, Tuple4<A1, A2, A3, A4> >
1818 CreateFunctor(T* obj, R (__stdcall U::*method)(X1, A1, A2, A3, A4), 1818 CreateFunctor(T* obj, R (__stdcall U::*method)(X1, A1, A2, A3, A4),
1819 const P1& p1) { 1819 const P1& p1) {
1820 MutantRunner<R, Tuple4<A1, A2, A3, A4> >* t = 1820 MutantRunner<R, Tuple4<A1, A2, A3, A4> >* t =
1821 new Mutant<R, T, R (__stdcall U::*)(X1, A1, A2, A3, A4), 1821 new Mutant<R, T, R (__stdcall U::*)(X1, A1, A2, A3, A4),
1822 Tuple1<P1>, Tuple4<A1, A2, A3, A4> > 1822 Tuple1<P1>, Tuple4<A1, A2, A3, A4> >
1823 (obj, method, MakeTuple(p1)); 1823 (obj, method, MakeTuple(p1));
1824 return MutantFunctor<R, Tuple4<A1, A2, A3, A4> >(t); 1824 return MutantFunctor<R, Tuple4<A1, A2, A3, A4> >(t);
(...skipping 15 matching lines...) Expand all
1840 inline MutantFunctor<R, Tuple4<A1, A2, A3, A4> > 1840 inline MutantFunctor<R, Tuple4<A1, A2, A3, A4> >
1841 CreateFunctor(T** obj, R (__stdcall U::*method)(X1, A1, A2, A3, A4), 1841 CreateFunctor(T** obj, R (__stdcall U::*method)(X1, A1, A2, A3, A4),
1842 const P1& p1) { 1842 const P1& p1) {
1843 MutantRunner<R, Tuple4<A1, A2, A3, A4> >* t = 1843 MutantRunner<R, Tuple4<A1, A2, A3, A4> >* t =
1844 new MutantLateObjectBind<R, T, R (__stdcall U::*)(X1, A1, A2, A3, A4), 1844 new MutantLateObjectBind<R, T, R (__stdcall U::*)(X1, A1, A2, A3, A4),
1845 Tuple1<P1>, Tuple4<A1, A2, A3, A4> > 1845 Tuple1<P1>, Tuple4<A1, A2, A3, A4> >
1846 (obj, method, MakeTuple(p1)); 1846 (obj, method, MakeTuple(p1));
1847 return MutantFunctor<R, Tuple4<A1, A2, A3, A4> >(t); 1847 return MutantFunctor<R, Tuple4<A1, A2, A3, A4> >(t);
1848 } 1848 }
1849 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING 1849 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
1850 #endif // OS_WIN 1850 #endif // defined (OS_WIN) && !defined (ARCH_CPU_X86_64)
1851 1851
1852 // 1 - 5 1852 // 1 - 5
1853 template <typename R, typename T, typename U, typename P1, typename A1, 1853 template <typename R, typename T, typename U, typename P1, typename A1,
1854 typename A2, typename A3, typename A4, typename A5, typename X1> 1854 typename A2, typename A3, typename A4, typename A5, typename X1>
1855 inline MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> > 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) { 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 = 1857 MutantRunner<R, Tuple5<A1, A2, A3, A4, A5> >* t =
1858 new Mutant<R, T, R (U::*)(X1, A1, A2, A3, A4, A5), 1858 new Mutant<R, T, R (U::*)(X1, A1, A2, A3, A4, A5),
1859 Tuple1<P1>, Tuple5<A1, A2, A3, A4, A5> > 1859 Tuple1<P1>, Tuple5<A1, A2, A3, A4, A5> >
1860 (obj, method, MakeTuple(p1)); 1860 (obj, method, MakeTuple(p1));
(...skipping 17 matching lines...) Expand all
1878 inline MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> > 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) { 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 = 1880 MutantRunner<R, Tuple5<A1, A2, A3, A4, A5> >* t =
1881 new MutantLateObjectBind<R, T, R (U::*)(X1, A1, A2, A3, A4, A5), 1881 new MutantLateObjectBind<R, T, R (U::*)(X1, A1, A2, A3, A4, A5),
1882 Tuple1<P1>, Tuple5<A1, A2, A3, A4, A5> > 1882 Tuple1<P1>, Tuple5<A1, A2, A3, A4, A5> >
1883 (obj, method, MakeTuple(p1)); 1883 (obj, method, MakeTuple(p1));
1884 return MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >(t); 1884 return MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >(t);
1885 } 1885 }
1886 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING 1886 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
1887 1887
1888 #if defined (OS_WIN) 1888 #if defined (OS_WIN) && !defined (ARCH_CPU_X86_64)
1889 template <typename R, typename T, typename U, typename P1, typename A1, 1889 template <typename R, typename T, typename U, typename P1, typename A1,
1890 typename A2, typename A3, typename A4, typename A5, typename X1> 1890 typename A2, typename A3, typename A4, typename A5, typename X1>
1891 inline MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> > 1891 inline MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >
1892 CreateFunctor(T* obj, R (__stdcall U::*method)(X1, A1, A2, A3, A4, A5), 1892 CreateFunctor(T* obj, R (__stdcall U::*method)(X1, A1, A2, A3, A4, A5),
1893 const P1& p1) { 1893 const P1& p1) {
1894 MutantRunner<R, Tuple5<A1, A2, A3, A4, A5> >* t = 1894 MutantRunner<R, Tuple5<A1, A2, A3, A4, A5> >* t =
1895 new Mutant<R, T, R (__stdcall U::*)(X1, A1, A2, A3, A4, A5), 1895 new Mutant<R, T, R (__stdcall U::*)(X1, A1, A2, A3, A4, A5),
1896 Tuple1<P1>, Tuple5<A1, A2, A3, A4, A5> > 1896 Tuple1<P1>, Tuple5<A1, A2, A3, A4, A5> >
1897 (obj, method, MakeTuple(p1)); 1897 (obj, method, MakeTuple(p1));
1898 return MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >(t); 1898 return MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >(t);
(...skipping 15 matching lines...) Expand all
1914 inline MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> > 1914 inline MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >
1915 CreateFunctor(T** obj, R (__stdcall U::*method)(X1, A1, A2, A3, A4, A5), 1915 CreateFunctor(T** obj, R (__stdcall U::*method)(X1, A1, A2, A3, A4, A5),
1916 const P1& p1) { 1916 const P1& p1) {
1917 MutantRunner<R, Tuple5<A1, A2, A3, A4, A5> >* t = 1917 MutantRunner<R, Tuple5<A1, A2, A3, A4, A5> >* t =
1918 new MutantLateObjectBind<R, T, R (__stdcall U::*)(X1, A1, A2, A3, A4, A5), 1918 new MutantLateObjectBind<R, T, R (__stdcall U::*)(X1, A1, A2, A3, A4, A5),
1919 Tuple1<P1>, Tuple5<A1, A2, A3, A4, A5> > 1919 Tuple1<P1>, Tuple5<A1, A2, A3, A4, A5> >
1920 (obj, method, MakeTuple(p1)); 1920 (obj, method, MakeTuple(p1));
1921 return MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >(t); 1921 return MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >(t);
1922 } 1922 }
1923 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING 1923 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
1924 #endif // OS_WIN 1924 #endif // defined (OS_WIN) && !defined (ARCH_CPU_X86_64)
1925 1925
1926 // 1 - 6 1926 // 1 - 6
1927 template <typename R, typename T, typename U, typename P1, typename A1, 1927 template <typename R, typename T, typename U, typename P1, typename A1,
1928 typename A2, typename A3, typename A4, typename A5, typename A6, 1928 typename A2, typename A3, typename A4, typename A5, typename A6,
1929 typename X1> 1929 typename X1>
1930 inline MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> > 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), 1931 CreateFunctor(T* obj, R (U::*method)(X1, A1, A2, A3, A4, A5, A6),
1932 const P1& p1) { 1932 const P1& p1) {
1933 MutantRunner<R, Tuple6<A1, A2, A3, A4, A5, A6> >* t = 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), 1934 new Mutant<R, T, R (U::*)(X1, A1, A2, A3, A4, A5, A6),
(...skipping 21 matching lines...) Expand all
1956 CreateFunctor(T** obj, R (U::*method)(X1, A1, A2, A3, A4, A5, A6), 1956 CreateFunctor(T** obj, R (U::*method)(X1, A1, A2, A3, A4, A5, A6),
1957 const P1& p1) { 1957 const P1& p1) {
1958 MutantRunner<R, Tuple6<A1, A2, A3, A4, A5, A6> >* t = 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), 1959 new MutantLateObjectBind<R, T, R (U::*)(X1, A1, A2, A3, A4, A5, A6),
1960 Tuple1<P1>, Tuple6<A1, A2, A3, A4, A5, A6> > 1960 Tuple1<P1>, Tuple6<A1, A2, A3, A4, A5, A6> >
1961 (obj, method, MakeTuple(p1)); 1961 (obj, method, MakeTuple(p1));
1962 return MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >(t); 1962 return MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >(t);
1963 } 1963 }
1964 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING 1964 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
1965 1965
1966 #if defined (OS_WIN) 1966 #if defined (OS_WIN) && !defined (ARCH_CPU_X86_64)
1967 template <typename R, typename T, typename U, typename P1, typename A1, 1967 template <typename R, typename T, typename U, typename P1, typename A1,
1968 typename A2, typename A3, typename A4, typename A5, typename A6, 1968 typename A2, typename A3, typename A4, typename A5, typename A6,
1969 typename X1> 1969 typename X1>
1970 inline MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> > 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), 1971 CreateFunctor(T* obj, R (__stdcall U::*method)(X1, A1, A2, A3, A4, A5, A6),
1972 const P1& p1) { 1972 const P1& p1) {
1973 MutantRunner<R, Tuple6<A1, A2, A3, A4, A5, A6> >* t = 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), 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> > 1975 Tuple1<P1>, Tuple6<A1, A2, A3, A4, A5, A6> >
1976 (obj, method, MakeTuple(p1)); 1976 (obj, method, MakeTuple(p1));
(...skipping 18 matching lines...) Expand all
1995 inline MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> > 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), 1996 CreateFunctor(T** obj, R (__stdcall U::*method)(X1, A1, A2, A3, A4, A5, A6),
1997 const P1& p1) { 1997 const P1& p1) {
1998 MutantRunner<R, Tuple6<A1, A2, A3, A4, A5, A6> >* t = 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), 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> > 2000 Tuple1<P1>, Tuple6<A1, A2, A3, A4, A5, A6> >
2001 (obj, method, MakeTuple(p1)); 2001 (obj, method, MakeTuple(p1));
2002 return MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >(t); 2002 return MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >(t);
2003 } 2003 }
2004 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING 2004 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
2005 #endif // OS_WIN 2005 #endif // defined (OS_WIN) && !defined (ARCH_CPU_X86_64)
2006 2006
2007 // 2 - 0 2007 // 2 - 0
2008 template <typename R, typename T, typename U, typename P1, typename P2, 2008 template <typename R, typename T, typename U, typename P1, typename P2,
2009 typename X1, typename X2> 2009 typename X1, typename X2>
2010 inline MutantFunctor<R, Tuple0> 2010 inline MutantFunctor<R, Tuple0>
2011 CreateFunctor(T* obj, R (U::*method)(X1, X2), const P1& p1, const P2& p2) { 2011 CreateFunctor(T* obj, R (U::*method)(X1, X2), const P1& p1, const P2& p2) {
2012 MutantRunner<R, Tuple0>* t = 2012 MutantRunner<R, Tuple0>* t =
2013 new Mutant<R, T, R (U::*)(X1, X2), 2013 new Mutant<R, T, R (U::*)(X1, X2),
2014 Tuple2<P1, P2>, Tuple0> 2014 Tuple2<P1, P2>, Tuple0>
2015 (obj, method, MakeTuple(p1, p2)); 2015 (obj, method, MakeTuple(p1, p2));
(...skipping 16 matching lines...) Expand all
2032 inline MutantFunctor<R, Tuple0> 2032 inline MutantFunctor<R, Tuple0>
2033 CreateFunctor(T** obj, R (U::*method)(X1, X2), const P1& p1, const P2& p2) { 2033 CreateFunctor(T** obj, R (U::*method)(X1, X2), const P1& p1, const P2& p2) {
2034 MutantRunner<R, Tuple0>* t = 2034 MutantRunner<R, Tuple0>* t =
2035 new MutantLateObjectBind<R, T, R (U::*)(X1, X2), 2035 new MutantLateObjectBind<R, T, R (U::*)(X1, X2),
2036 Tuple2<P1, P2>, Tuple0> 2036 Tuple2<P1, P2>, Tuple0>
2037 (obj, method, MakeTuple(p1, p2)); 2037 (obj, method, MakeTuple(p1, p2));
2038 return MutantFunctor<R, Tuple0>(t); 2038 return MutantFunctor<R, Tuple0>(t);
2039 } 2039 }
2040 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING 2040 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
2041 2041
2042 #if defined (OS_WIN) 2042 #if defined (OS_WIN) && !defined (ARCH_CPU_X86_64)
2043 template <typename R, typename T, typename U, typename P1, typename P2, 2043 template <typename R, typename T, typename U, typename P1, typename P2,
2044 typename X1, typename X2> 2044 typename X1, typename X2>
2045 inline MutantFunctor<R, Tuple0> 2045 inline MutantFunctor<R, Tuple0>
2046 CreateFunctor(T* obj, R (__stdcall U::*method)(X1, X2), const P1& p1, 2046 CreateFunctor(T* obj, R (__stdcall U::*method)(X1, X2), const P1& p1,
2047 const P2& p2) { 2047 const P2& p2) {
2048 MutantRunner<R, Tuple0>* t = 2048 MutantRunner<R, Tuple0>* t =
2049 new Mutant<R, T, R (__stdcall U::*)(X1, X2), 2049 new Mutant<R, T, R (__stdcall U::*)(X1, X2),
2050 Tuple2<P1, P2>, Tuple0> 2050 Tuple2<P1, P2>, Tuple0>
2051 (obj, method, MakeTuple(p1, p2)); 2051 (obj, method, MakeTuple(p1, p2));
2052 return MutantFunctor<R, Tuple0>(t); 2052 return MutantFunctor<R, Tuple0>(t);
(...skipping 14 matching lines...) Expand all
2067 inline MutantFunctor<R, Tuple0> 2067 inline MutantFunctor<R, Tuple0>
2068 CreateFunctor(T** obj, R (__stdcall U::*method)(X1, X2), const P1& p1, 2068 CreateFunctor(T** obj, R (__stdcall U::*method)(X1, X2), const P1& p1,
2069 const P2& p2) { 2069 const P2& p2) {
2070 MutantRunner<R, Tuple0>* t = 2070 MutantRunner<R, Tuple0>* t =
2071 new MutantLateObjectBind<R, T, R (__stdcall U::*)(X1, X2), 2071 new MutantLateObjectBind<R, T, R (__stdcall U::*)(X1, X2),
2072 Tuple2<P1, P2>, Tuple0> 2072 Tuple2<P1, P2>, Tuple0>
2073 (obj, method, MakeTuple(p1, p2)); 2073 (obj, method, MakeTuple(p1, p2));
2074 return MutantFunctor<R, Tuple0>(t); 2074 return MutantFunctor<R, Tuple0>(t);
2075 } 2075 }
2076 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING 2076 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
2077 #endif // OS_WIN 2077 #endif // defined (OS_WIN) && !defined (ARCH_CPU_X86_64)
2078 2078
2079 // 2 - 1 2079 // 2 - 1
2080 template <typename R, typename T, typename U, typename P1, typename P2, 2080 template <typename R, typename T, typename U, typename P1, typename P2,
2081 typename A1, typename X1, typename X2> 2081 typename A1, typename X1, typename X2>
2082 inline MutantFunctor<R, Tuple1<A1> > 2082 inline MutantFunctor<R, Tuple1<A1> >
2083 CreateFunctor(T* obj, R (U::*method)(X1, X2, A1), const P1& p1, const P2& p2) { 2083 CreateFunctor(T* obj, R (U::*method)(X1, X2, A1), const P1& p1, const P2& p2) {
2084 MutantRunner<R, Tuple1<A1> >* t = 2084 MutantRunner<R, Tuple1<A1> >* t =
2085 new Mutant<R, T, R (U::*)(X1, X2, A1), 2085 new Mutant<R, T, R (U::*)(X1, X2, A1),
2086 Tuple2<P1, P2>, Tuple1<A1> > 2086 Tuple2<P1, P2>, Tuple1<A1> >
2087 (obj, method, MakeTuple(p1, p2)); 2087 (obj, method, MakeTuple(p1, p2));
(...skipping 17 matching lines...) Expand all
2105 inline MutantFunctor<R, Tuple1<A1> > 2105 inline MutantFunctor<R, Tuple1<A1> >
2106 CreateFunctor(T** obj, R (U::*method)(X1, X2, A1), const P1& p1, const P2& p2) { 2106 CreateFunctor(T** obj, R (U::*method)(X1, X2, A1), const P1& p1, const P2& p2) {
2107 MutantRunner<R, Tuple1<A1> >* t = 2107 MutantRunner<R, Tuple1<A1> >* t =
2108 new MutantLateObjectBind<R, T, R (U::*)(X1, X2, A1), 2108 new MutantLateObjectBind<R, T, R (U::*)(X1, X2, A1),
2109 Tuple2<P1, P2>, Tuple1<A1> > 2109 Tuple2<P1, P2>, Tuple1<A1> >
2110 (obj, method, MakeTuple(p1, p2)); 2110 (obj, method, MakeTuple(p1, p2));
2111 return MutantFunctor<R, Tuple1<A1> >(t); 2111 return MutantFunctor<R, Tuple1<A1> >(t);
2112 } 2112 }
2113 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING 2113 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
2114 2114
2115 #if defined (OS_WIN) 2115 #if defined (OS_WIN) && !defined (ARCH_CPU_X86_64)
2116 template <typename R, typename T, typename U, typename P1, typename P2, 2116 template <typename R, typename T, typename U, typename P1, typename P2,
2117 typename A1, typename X1, typename X2> 2117 typename A1, typename X1, typename X2>
2118 inline MutantFunctor<R, Tuple1<A1> > 2118 inline MutantFunctor<R, Tuple1<A1> >
2119 CreateFunctor(T* obj, R (__stdcall U::*method)(X1, X2, A1), const P1& p1, 2119 CreateFunctor(T* obj, R (__stdcall U::*method)(X1, X2, A1), const P1& p1,
2120 const P2& p2) { 2120 const P2& p2) {
2121 MutantRunner<R, Tuple1<A1> >* t = 2121 MutantRunner<R, Tuple1<A1> >* t =
2122 new Mutant<R, T, R (__stdcall U::*)(X1, X2, A1), 2122 new Mutant<R, T, R (__stdcall U::*)(X1, X2, A1),
2123 Tuple2<P1, P2>, Tuple1<A1> > 2123 Tuple2<P1, P2>, Tuple1<A1> >
2124 (obj, method, MakeTuple(p1, p2)); 2124 (obj, method, MakeTuple(p1, p2));
2125 return MutantFunctor<R, Tuple1<A1> >(t); 2125 return MutantFunctor<R, Tuple1<A1> >(t);
(...skipping 16 matching lines...) Expand all
2142 inline MutantFunctor<R, Tuple1<A1> > 2142 inline MutantFunctor<R, Tuple1<A1> >
2143 CreateFunctor(T** obj, R (__stdcall U::*method)(X1, X2, A1), const P1& p1, 2143 CreateFunctor(T** obj, R (__stdcall U::*method)(X1, X2, A1), const P1& p1,
2144 const P2& p2) { 2144 const P2& p2) {
2145 MutantRunner<R, Tuple1<A1> >* t = 2145 MutantRunner<R, Tuple1<A1> >* t =
2146 new MutantLateObjectBind<R, T, R (__stdcall U::*)(X1, X2, A1), 2146 new MutantLateObjectBind<R, T, R (__stdcall U::*)(X1, X2, A1),
2147 Tuple2<P1, P2>, Tuple1<A1> > 2147 Tuple2<P1, P2>, Tuple1<A1> >
2148 (obj, method, MakeTuple(p1, p2)); 2148 (obj, method, MakeTuple(p1, p2));
2149 return MutantFunctor<R, Tuple1<A1> >(t); 2149 return MutantFunctor<R, Tuple1<A1> >(t);
2150 } 2150 }
2151 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING 2151 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
2152 #endif // OS_WIN 2152 #endif // defined (OS_WIN) && !defined (ARCH_CPU_X86_64)
2153 2153
2154 // 2 - 2 2154 // 2 - 2
2155 template <typename R, typename T, typename U, typename P1, typename P2, 2155 template <typename R, typename T, typename U, typename P1, typename P2,
2156 typename A1, typename A2, typename X1, typename X2> 2156 typename A1, typename A2, typename X1, typename X2>
2157 inline MutantFunctor<R, Tuple2<A1, A2> > 2157 inline MutantFunctor<R, Tuple2<A1, A2> >
2158 CreateFunctor(T* obj, R (U::*method)(X1, X2, A1, A2), const P1& p1, 2158 CreateFunctor(T* obj, R (U::*method)(X1, X2, A1, A2), const P1& p1,
2159 const P2& p2) { 2159 const P2& p2) {
2160 MutantRunner<R, Tuple2<A1, A2> >* t = 2160 MutantRunner<R, Tuple2<A1, A2> >* t =
2161 new Mutant<R, T, R (U::*)(X1, X2, A1, A2), 2161 new Mutant<R, T, R (U::*)(X1, X2, A1, A2),
2162 Tuple2<P1, P2>, Tuple2<A1, A2> > 2162 Tuple2<P1, P2>, Tuple2<A1, A2> >
(...skipping 19 matching lines...) Expand all
2182 CreateFunctor(T** obj, R (U::*method)(X1, X2, A1, A2), const P1& p1, 2182 CreateFunctor(T** obj, R (U::*method)(X1, X2, A1, A2), const P1& p1,
2183 const P2& p2) { 2183 const P2& p2) {
2184 MutantRunner<R, Tuple2<A1, A2> >* t = 2184 MutantRunner<R, Tuple2<A1, A2> >* t =
2185 new MutantLateObjectBind<R, T, R (U::*)(X1, X2, A1, A2), 2185 new MutantLateObjectBind<R, T, R (U::*)(X1, X2, A1, A2),
2186 Tuple2<P1, P2>, Tuple2<A1, A2> > 2186 Tuple2<P1, P2>, Tuple2<A1, A2> >
2187 (obj, method, MakeTuple(p1, p2)); 2187 (obj, method, MakeTuple(p1, p2));
2188 return MutantFunctor<R, Tuple2<A1, A2> >(t); 2188 return MutantFunctor<R, Tuple2<A1, A2> >(t);
2189 } 2189 }
2190 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING 2190 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
2191 2191
2192 #if defined (OS_WIN) 2192 #if defined (OS_WIN) && !defined (ARCH_CPU_X86_64)
2193 template <typename R, typename T, typename U, typename P1, typename P2, 2193 template <typename R, typename T, typename U, typename P1, typename P2,
2194 typename A1, typename A2, typename X1, typename X2> 2194 typename A1, typename A2, typename X1, typename X2>
2195 inline MutantFunctor<R, Tuple2<A1, A2> > 2195 inline MutantFunctor<R, Tuple2<A1, A2> >
2196 CreateFunctor(T* obj, R (__stdcall U::*method)(X1, X2, A1, A2), const P1& p1, 2196 CreateFunctor(T* obj, R (__stdcall U::*method)(X1, X2, A1, A2), const P1& p1,
2197 const P2& p2) { 2197 const P2& p2) {
2198 MutantRunner<R, Tuple2<A1, A2> >* t = 2198 MutantRunner<R, Tuple2<A1, A2> >* t =
2199 new Mutant<R, T, R (__stdcall U::*)(X1, X2, A1, A2), 2199 new Mutant<R, T, R (__stdcall U::*)(X1, X2, A1, A2),
2200 Tuple2<P1, P2>, Tuple2<A1, A2> > 2200 Tuple2<P1, P2>, Tuple2<A1, A2> >
2201 (obj, method, MakeTuple(p1, p2)); 2201 (obj, method, MakeTuple(p1, p2));
2202 return MutantFunctor<R, Tuple2<A1, A2> >(t); 2202 return MutantFunctor<R, Tuple2<A1, A2> >(t);
(...skipping 16 matching lines...) Expand all
2219 inline MutantFunctor<R, Tuple2<A1, A2> > 2219 inline MutantFunctor<R, Tuple2<A1, A2> >
2220 CreateFunctor(T** obj, R (__stdcall U::*method)(X1, X2, A1, A2), const P1& p1, 2220 CreateFunctor(T** obj, R (__stdcall U::*method)(X1, X2, A1, A2), const P1& p1,
2221 const P2& p2) { 2221 const P2& p2) {
2222 MutantRunner<R, Tuple2<A1, A2> >* t = 2222 MutantRunner<R, Tuple2<A1, A2> >* t =
2223 new MutantLateObjectBind<R, T, R (__stdcall U::*)(X1, X2, A1, A2), 2223 new MutantLateObjectBind<R, T, R (__stdcall U::*)(X1, X2, A1, A2),
2224 Tuple2<P1, P2>, Tuple2<A1, A2> > 2224 Tuple2<P1, P2>, Tuple2<A1, A2> >
2225 (obj, method, MakeTuple(p1, p2)); 2225 (obj, method, MakeTuple(p1, p2));
2226 return MutantFunctor<R, Tuple2<A1, A2> >(t); 2226 return MutantFunctor<R, Tuple2<A1, A2> >(t);
2227 } 2227 }
2228 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING 2228 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
2229 #endif // OS_WIN 2229 #endif // defined (OS_WIN) && !defined (ARCH_CPU_X86_64)
2230 2230
2231 // 2 - 3 2231 // 2 - 3
2232 template <typename R, typename T, typename U, typename P1, typename P2, 2232 template <typename R, typename T, typename U, typename P1, typename P2,
2233 typename A1, typename A2, typename A3, typename X1, typename X2> 2233 typename A1, typename A2, typename A3, typename X1, typename X2>
2234 inline MutantFunctor<R, Tuple3<A1, A2, A3> > 2234 inline MutantFunctor<R, Tuple3<A1, A2, A3> >
2235 CreateFunctor(T* obj, R (U::*method)(X1, X2, A1, A2, A3), const P1& p1, 2235 CreateFunctor(T* obj, R (U::*method)(X1, X2, A1, A2, A3), const P1& p1,
2236 const P2& p2) { 2236 const P2& p2) {
2237 MutantRunner<R, Tuple3<A1, A2, A3> >* t = 2237 MutantRunner<R, Tuple3<A1, A2, A3> >* t =
2238 new Mutant<R, T, R (U::*)(X1, X2, A1, A2, A3), 2238 new Mutant<R, T, R (U::*)(X1, X2, A1, A2, A3),
2239 Tuple2<P1, P2>, Tuple3<A1, A2, A3> > 2239 Tuple2<P1, P2>, Tuple3<A1, A2, A3> >
(...skipping 19 matching lines...) Expand all
2259 CreateFunctor(T** obj, R (U::*method)(X1, X2, A1, A2, A3), const P1& p1, 2259 CreateFunctor(T** obj, R (U::*method)(X1, X2, A1, A2, A3), const P1& p1,
2260 const P2& p2) { 2260 const P2& p2) {
2261 MutantRunner<R, Tuple3<A1, A2, A3> >* t = 2261 MutantRunner<R, Tuple3<A1, A2, A3> >* t =
2262 new MutantLateObjectBind<R, T, R (U::*)(X1, X2, A1, A2, A3), 2262 new MutantLateObjectBind<R, T, R (U::*)(X1, X2, A1, A2, A3),
2263 Tuple2<P1, P2>, Tuple3<A1, A2, A3> > 2263 Tuple2<P1, P2>, Tuple3<A1, A2, A3> >
2264 (obj, method, MakeTuple(p1, p2)); 2264 (obj, method, MakeTuple(p1, p2));
2265 return MutantFunctor<R, Tuple3<A1, A2, A3> >(t); 2265 return MutantFunctor<R, Tuple3<A1, A2, A3> >(t);
2266 } 2266 }
2267 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING 2267 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
2268 2268
2269 #if defined (OS_WIN) 2269 #if defined (OS_WIN) && !defined (ARCH_CPU_X86_64)
2270 template <typename R, typename T, typename U, typename P1, typename P2, 2270 template <typename R, typename T, typename U, typename P1, typename P2,
2271 typename A1, typename A2, typename A3, typename X1, typename X2> 2271 typename A1, typename A2, typename A3, typename X1, typename X2>
2272 inline MutantFunctor<R, Tuple3<A1, A2, A3> > 2272 inline MutantFunctor<R, Tuple3<A1, A2, A3> >
2273 CreateFunctor(T* obj, R (__stdcall U::*method)(X1, X2, A1, A2, A3), 2273 CreateFunctor(T* obj, R (__stdcall U::*method)(X1, X2, A1, A2, A3),
2274 const P1& p1, const P2& p2) { 2274 const P1& p1, const P2& p2) {
2275 MutantRunner<R, Tuple3<A1, A2, A3> >* t = 2275 MutantRunner<R, Tuple3<A1, A2, A3> >* t =
2276 new Mutant<R, T, R (__stdcall U::*)(X1, X2, A1, A2, A3), 2276 new Mutant<R, T, R (__stdcall U::*)(X1, X2, A1, A2, A3),
2277 Tuple2<P1, P2>, Tuple3<A1, A2, A3> > 2277 Tuple2<P1, P2>, Tuple3<A1, A2, A3> >
2278 (obj, method, MakeTuple(p1, p2)); 2278 (obj, method, MakeTuple(p1, p2));
2279 return MutantFunctor<R, Tuple3<A1, A2, A3> >(t); 2279 return MutantFunctor<R, Tuple3<A1, A2, A3> >(t);
(...skipping 16 matching lines...) Expand all
2296 inline MutantFunctor<R, Tuple3<A1, A2, A3> > 2296 inline MutantFunctor<R, Tuple3<A1, A2, A3> >
2297 CreateFunctor(T** obj, R (__stdcall U::*method)(X1, X2, A1, A2, A3), 2297 CreateFunctor(T** obj, R (__stdcall U::*method)(X1, X2, A1, A2, A3),
2298 const P1& p1, const P2& p2) { 2298 const P1& p1, const P2& p2) {
2299 MutantRunner<R, Tuple3<A1, A2, A3> >* t = 2299 MutantRunner<R, Tuple3<A1, A2, A3> >* t =
2300 new MutantLateObjectBind<R, T, R (__stdcall U::*)(X1, X2, A1, A2, A3), 2300 new MutantLateObjectBind<R, T, R (__stdcall U::*)(X1, X2, A1, A2, A3),
2301 Tuple2<P1, P2>, Tuple3<A1, A2, A3> > 2301 Tuple2<P1, P2>, Tuple3<A1, A2, A3> >
2302 (obj, method, MakeTuple(p1, p2)); 2302 (obj, method, MakeTuple(p1, p2));
2303 return MutantFunctor<R, Tuple3<A1, A2, A3> >(t); 2303 return MutantFunctor<R, Tuple3<A1, A2, A3> >(t);
2304 } 2304 }
2305 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING 2305 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
2306 #endif // OS_WIN 2306 #endif // defined (OS_WIN) && !defined (ARCH_CPU_X86_64)
2307 2307
2308 // 2 - 4 2308 // 2 - 4
2309 template <typename R, typename T, typename U, typename P1, typename P2, 2309 template <typename R, typename T, typename U, typename P1, typename P2,
2310 typename A1, typename A2, typename A3, typename A4, typename X1, 2310 typename A1, typename A2, typename A3, typename A4, typename X1,
2311 typename X2> 2311 typename X2>
2312 inline MutantFunctor<R, Tuple4<A1, A2, A3, A4> > 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, 2313 CreateFunctor(T* obj, R (U::*method)(X1, X2, A1, A2, A3, A4), const P1& p1,
2314 const P2& p2) { 2314 const P2& p2) {
2315 MutantRunner<R, Tuple4<A1, A2, A3, A4> >* t = 2315 MutantRunner<R, Tuple4<A1, A2, A3, A4> >* t =
2316 new Mutant<R, T, R (U::*)(X1, X2, A1, A2, A3, A4), 2316 new Mutant<R, T, R (U::*)(X1, X2, A1, A2, A3, A4),
(...skipping 22 matching lines...) Expand all
2339 CreateFunctor(T** obj, R (U::*method)(X1, X2, A1, A2, A3, A4), const P1& p1, 2339 CreateFunctor(T** obj, R (U::*method)(X1, X2, A1, A2, A3, A4), const P1& p1,
2340 const P2& p2) { 2340 const P2& p2) {
2341 MutantRunner<R, Tuple4<A1, A2, A3, A4> >* t = 2341 MutantRunner<R, Tuple4<A1, A2, A3, A4> >* t =
2342 new MutantLateObjectBind<R, T, R (U::*)(X1, X2, A1, A2, A3, A4), 2342 new MutantLateObjectBind<R, T, R (U::*)(X1, X2, A1, A2, A3, A4),
2343 Tuple2<P1, P2>, Tuple4<A1, A2, A3, A4> > 2343 Tuple2<P1, P2>, Tuple4<A1, A2, A3, A4> >
2344 (obj, method, MakeTuple(p1, p2)); 2344 (obj, method, MakeTuple(p1, p2));
2345 return MutantFunctor<R, Tuple4<A1, A2, A3, A4> >(t); 2345 return MutantFunctor<R, Tuple4<A1, A2, A3, A4> >(t);
2346 } 2346 }
2347 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING 2347 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
2348 2348
2349 #if defined (OS_WIN) 2349 #if defined (OS_WIN) && !defined (ARCH_CPU_X86_64)
2350 template <typename R, typename T, typename U, typename P1, typename P2, 2350 template <typename R, typename T, typename U, typename P1, typename P2,
2351 typename A1, typename A2, typename A3, typename A4, typename X1, 2351 typename A1, typename A2, typename A3, typename A4, typename X1,
2352 typename X2> 2352 typename X2>
2353 inline MutantFunctor<R, Tuple4<A1, A2, A3, A4> > 2353 inline MutantFunctor<R, Tuple4<A1, A2, A3, A4> >
2354 CreateFunctor(T* obj, R (__stdcall U::*method)(X1, X2, A1, A2, A3, A4), 2354 CreateFunctor(T* obj, R (__stdcall U::*method)(X1, X2, A1, A2, A3, A4),
2355 const P1& p1, const P2& p2) { 2355 const P1& p1, const P2& p2) {
2356 MutantRunner<R, Tuple4<A1, A2, A3, A4> >* t = 2356 MutantRunner<R, Tuple4<A1, A2, A3, A4> >* t =
2357 new Mutant<R, T, R (__stdcall U::*)(X1, X2, A1, A2, A3, A4), 2357 new Mutant<R, T, R (__stdcall U::*)(X1, X2, A1, A2, A3, A4),
2358 Tuple2<P1, P2>, Tuple4<A1, A2, A3, A4> > 2358 Tuple2<P1, P2>, Tuple4<A1, A2, A3, A4> >
2359 (obj, method, MakeTuple(p1, p2)); 2359 (obj, method, MakeTuple(p1, p2));
(...skipping 18 matching lines...) Expand all
2378 inline MutantFunctor<R, Tuple4<A1, A2, A3, A4> > 2378 inline MutantFunctor<R, Tuple4<A1, A2, A3, A4> >
2379 CreateFunctor(T** obj, R (__stdcall U::*method)(X1, X2, A1, A2, A3, A4), 2379 CreateFunctor(T** obj, R (__stdcall U::*method)(X1, X2, A1, A2, A3, A4),
2380 const P1& p1, const P2& p2) { 2380 const P1& p1, const P2& p2) {
2381 MutantRunner<R, Tuple4<A1, A2, A3, A4> >* t = 2381 MutantRunner<R, Tuple4<A1, A2, A3, A4> >* t =
2382 new MutantLateObjectBind<R, T, R (__stdcall U::*)(X1, X2, A1, A2, A3, A4), 2382 new MutantLateObjectBind<R, T, R (__stdcall U::*)(X1, X2, A1, A2, A3, A4),
2383 Tuple2<P1, P2>, Tuple4<A1, A2, A3, A4> > 2383 Tuple2<P1, P2>, Tuple4<A1, A2, A3, A4> >
2384 (obj, method, MakeTuple(p1, p2)); 2384 (obj, method, MakeTuple(p1, p2));
2385 return MutantFunctor<R, Tuple4<A1, A2, A3, A4> >(t); 2385 return MutantFunctor<R, Tuple4<A1, A2, A3, A4> >(t);
2386 } 2386 }
2387 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING 2387 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
2388 #endif // OS_WIN 2388 #endif // defined (OS_WIN) && !defined (ARCH_CPU_X86_64)
2389 2389
2390 // 2 - 5 2390 // 2 - 5
2391 template <typename R, typename T, typename U, typename P1, typename P2, 2391 template <typename R, typename T, typename U, typename P1, typename P2,
2392 typename A1, typename A2, typename A3, typename A4, typename A5, 2392 typename A1, typename A2, typename A3, typename A4, typename A5,
2393 typename X1, typename X2> 2393 typename X1, typename X2>
2394 inline MutantFunctor<R, Tuple5<A1, A2, A3, A4, 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, 2395 CreateFunctor(T* obj, R (U::*method)(X1, X2, A1, A2, A3, A4, A5), const P1& p1,
2396 const P2& p2) { 2396 const P2& p2) {
2397 MutantRunner<R, Tuple5<A1, A2, A3, A4, A5> >* t = 2397 MutantRunner<R, Tuple5<A1, A2, A3, A4, A5> >* t =
2398 new Mutant<R, T, R (U::*)(X1, X2, A1, A2, A3, A4, A5), 2398 new Mutant<R, T, R (U::*)(X1, X2, A1, A2, A3, A4, A5),
(...skipping 22 matching lines...) Expand all
2421 CreateFunctor(T** obj, R (U::*method)(X1, X2, A1, A2, A3, A4, A5), const P1& p1, 2421 CreateFunctor(T** obj, R (U::*method)(X1, X2, A1, A2, A3, A4, A5), const P1& p1,
2422 const P2& p2) { 2422 const P2& p2) {
2423 MutantRunner<R, Tuple5<A1, A2, A3, A4, A5> >* t = 2423 MutantRunner<R, Tuple5<A1, A2, A3, A4, A5> >* t =
2424 new MutantLateObjectBind<R, T, R (U::*)(X1, X2, A1, A2, A3, A4, A5), 2424 new MutantLateObjectBind<R, T, R (U::*)(X1, X2, A1, A2, A3, A4, A5),
2425 Tuple2<P1, P2>, Tuple5<A1, A2, A3, A4, A5> > 2425 Tuple2<P1, P2>, Tuple5<A1, A2, A3, A4, A5> >
2426 (obj, method, MakeTuple(p1, p2)); 2426 (obj, method, MakeTuple(p1, p2));
2427 return MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >(t); 2427 return MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >(t);
2428 } 2428 }
2429 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING 2429 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
2430 2430
2431 #if defined (OS_WIN) 2431 #if defined (OS_WIN) && !defined (ARCH_CPU_X86_64)
2432 template <typename R, typename T, typename U, typename P1, typename P2, 2432 template <typename R, typename T, typename U, typename P1, typename P2,
2433 typename A1, typename A2, typename A3, typename A4, typename A5, 2433 typename A1, typename A2, typename A3, typename A4, typename A5,
2434 typename X1, typename X2> 2434 typename X1, typename X2>
2435 inline MutantFunctor<R, Tuple5<A1, A2, A3, A4, 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), 2436 CreateFunctor(T* obj, R (__stdcall U::*method)(X1, X2, A1, A2, A3, A4, A5),
2437 const P1& p1, const P2& p2) { 2437 const P1& p1, const P2& p2) {
2438 MutantRunner<R, Tuple5<A1, A2, A3, A4, A5> >* t = 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), 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> > 2440 Tuple2<P1, P2>, Tuple5<A1, A2, A3, A4, A5> >
2441 (obj, method, MakeTuple(p1, p2)); 2441 (obj, method, MakeTuple(p1, p2));
(...skipping 18 matching lines...) Expand all
2460 inline MutantFunctor<R, Tuple5<A1, A2, A3, A4, 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), 2461 CreateFunctor(T** obj, R (__stdcall U::*method)(X1, X2, A1, A2, A3, A4, A5),
2462 const P1& p1, const P2& p2) { 2462 const P1& p1, const P2& p2) {
2463 MutantRunner<R, Tuple5<A1, A2, A3, A4, A5> >* t = 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), 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> > 2465 Tuple2<P1, P2>, Tuple5<A1, A2, A3, A4, A5> >
2466 (obj, method, MakeTuple(p1, p2)); 2466 (obj, method, MakeTuple(p1, p2));
2467 return MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >(t); 2467 return MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >(t);
2468 } 2468 }
2469 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING 2469 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
2470 #endif // OS_WIN 2470 #endif // defined (OS_WIN) && !defined (ARCH_CPU_X86_64)
2471 2471
2472 // 2 - 6 2472 // 2 - 6
2473 template <typename R, typename T, typename U, typename P1, typename P2, 2473 template <typename R, typename T, typename U, typename P1, typename P2,
2474 typename A1, typename A2, typename A3, typename A4, typename A5, 2474 typename A1, typename A2, typename A3, typename A4, typename A5,
2475 typename A6, typename X1, typename X2> 2475 typename A6, typename X1, typename X2>
2476 inline MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> > 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), 2477 CreateFunctor(T* obj, R (U::*method)(X1, X2, A1, A2, A3, A4, A5, A6),
2478 const P1& p1, const P2& p2) { 2478 const P1& p1, const P2& p2) {
2479 MutantRunner<R, Tuple6<A1, A2, A3, A4, A5, A6> >* t = 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), 2480 new Mutant<R, T, R (U::*)(X1, X2, A1, A2, A3, A4, A5, A6),
(...skipping 23 matching lines...) Expand all
2504 CreateFunctor(T** obj, R (U::*method)(X1, X2, A1, A2, A3, A4, A5, A6), 2504 CreateFunctor(T** obj, R (U::*method)(X1, X2, A1, A2, A3, A4, A5, A6),
2505 const P1& p1, const P2& p2) { 2505 const P1& p1, const P2& p2) {
2506 MutantRunner<R, Tuple6<A1, A2, A3, A4, A5, A6> >* t = 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), 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> > 2508 Tuple2<P1, P2>, Tuple6<A1, A2, A3, A4, A5, A6> >
2509 (obj, method, MakeTuple(p1, p2)); 2509 (obj, method, MakeTuple(p1, p2));
2510 return MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >(t); 2510 return MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >(t);
2511 } 2511 }
2512 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING 2512 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
2513 2513
2514 #if defined (OS_WIN) 2514 #if defined (OS_WIN) && !defined (ARCH_CPU_X86_64)
2515 template <typename R, typename T, typename U, typename P1, typename P2, 2515 template <typename R, typename T, typename U, typename P1, typename P2,
2516 typename A1, typename A2, typename A3, typename A4, typename A5, 2516 typename A1, typename A2, typename A3, typename A4, typename A5,
2517 typename A6, typename X1, typename X2> 2517 typename A6, typename X1, typename X2>
2518 inline MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> > 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), 2519 CreateFunctor(T* obj, R (__stdcall U::*method)(X1, X2, A1, A2, A3, A4, A5, A6),
2520 const P1& p1, const P2& p2) { 2520 const P1& p1, const P2& p2) {
2521 MutantRunner<R, Tuple6<A1, A2, A3, A4, A5, A6> >* t = 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), 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> > 2523 Tuple2<P1, P2>, Tuple6<A1, A2, A3, A4, A5, A6> >
2524 (obj, method, MakeTuple(p1, p2)); 2524 (obj, method, MakeTuple(p1, p2));
(...skipping 19 matching lines...) Expand all
2544 inline MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> > 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), 2545 CreateFunctor(T** obj, R (__stdcall U::*method)(X1, X2, A1, A2, A3, A4, A5, A6),
2546 const P1& p1, const P2& p2) { 2546 const P1& p1, const P2& p2) {
2547 MutantRunner<R, Tuple6<A1, A2, A3, A4, A5, A6> >* t = 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), 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> > 2549 Tuple2<P1, P2>, Tuple6<A1, A2, A3, A4, A5, A6> >
2550 (obj, method, MakeTuple(p1, p2)); 2550 (obj, method, MakeTuple(p1, p2));
2551 return MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >(t); 2551 return MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >(t);
2552 } 2552 }
2553 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING 2553 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
2554 #endif // OS_WIN 2554 #endif // defined (OS_WIN) && !defined (ARCH_CPU_X86_64)
2555 2555
2556 // 3 - 0 2556 // 3 - 0
2557 template <typename R, typename T, typename U, typename P1, typename P2, 2557 template <typename R, typename T, typename U, typename P1, typename P2,
2558 typename P3, typename X1, typename X2, typename X3> 2558 typename P3, typename X1, typename X2, typename X3>
2559 inline MutantFunctor<R, Tuple0> 2559 inline MutantFunctor<R, Tuple0>
2560 CreateFunctor(T* obj, R (U::*method)(X1, X2, X3), const P1& p1, const P2& p2, 2560 CreateFunctor(T* obj, R (U::*method)(X1, X2, X3), const P1& p1, const P2& p2,
2561 const P3& p3) { 2561 const P3& p3) {
2562 MutantRunner<R, Tuple0>* t = 2562 MutantRunner<R, Tuple0>* t =
2563 new Mutant<R, T, R (U::*)(X1, X2, X3), 2563 new Mutant<R, T, R (U::*)(X1, X2, X3),
2564 Tuple3<P1, P2, P3>, Tuple0> 2564 Tuple3<P1, P2, P3>, Tuple0>
(...skipping 20 matching lines...) Expand all
2585 CreateFunctor(T** obj, R (U::*method)(X1, X2, X3), const P1& p1, const P2& p2, 2585 CreateFunctor(T** obj, R (U::*method)(X1, X2, X3), const P1& p1, const P2& p2,
2586 const P3& p3) { 2586 const P3& p3) {
2587 MutantRunner<R, Tuple0>* t = 2587 MutantRunner<R, Tuple0>* t =
2588 new MutantLateObjectBind<R, T, R (U::*)(X1, X2, X3), 2588 new MutantLateObjectBind<R, T, R (U::*)(X1, X2, X3),
2589 Tuple3<P1, P2, P3>, Tuple0> 2589 Tuple3<P1, P2, P3>, Tuple0>
2590 (obj, method, MakeTuple(p1, p2, p3)); 2590 (obj, method, MakeTuple(p1, p2, p3));
2591 return MutantFunctor<R, Tuple0>(t); 2591 return MutantFunctor<R, Tuple0>(t);
2592 } 2592 }
2593 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING 2593 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
2594 2594
2595 #if defined (OS_WIN) 2595 #if defined (OS_WIN) && !defined (ARCH_CPU_X86_64)
2596 template <typename R, typename T, typename U, typename P1, typename P2, 2596 template <typename R, typename T, typename U, typename P1, typename P2,
2597 typename P3, typename X1, typename X2, typename X3> 2597 typename P3, typename X1, typename X2, typename X3>
2598 inline MutantFunctor<R, Tuple0> 2598 inline MutantFunctor<R, Tuple0>
2599 CreateFunctor(T* obj, R (__stdcall U::*method)(X1, X2, X3), const P1& p1, 2599 CreateFunctor(T* obj, R (__stdcall U::*method)(X1, X2, X3), const P1& p1,
2600 const P2& p2, const P3& p3) { 2600 const P2& p2, const P3& p3) {
2601 MutantRunner<R, Tuple0>* t = 2601 MutantRunner<R, Tuple0>* t =
2602 new Mutant<R, T, R (__stdcall U::*)(X1, X2, X3), 2602 new Mutant<R, T, R (__stdcall U::*)(X1, X2, X3),
2603 Tuple3<P1, P2, P3>, Tuple0> 2603 Tuple3<P1, P2, P3>, Tuple0>
2604 (obj, method, MakeTuple(p1, p2, p3)); 2604 (obj, method, MakeTuple(p1, p2, p3));
2605 return MutantFunctor<R, Tuple0>(t); 2605 return MutantFunctor<R, Tuple0>(t);
(...skipping 16 matching lines...) Expand all
2622 inline MutantFunctor<R, Tuple0> 2622 inline MutantFunctor<R, Tuple0>
2623 CreateFunctor(T** obj, R (__stdcall U::*method)(X1, X2, X3), const P1& p1, 2623 CreateFunctor(T** obj, R (__stdcall U::*method)(X1, X2, X3), const P1& p1,
2624 const P2& p2, const P3& p3) { 2624 const P2& p2, const P3& p3) {
2625 MutantRunner<R, Tuple0>* t = 2625 MutantRunner<R, Tuple0>* t =
2626 new MutantLateObjectBind<R, T, R (__stdcall U::*)(X1, X2, X3), 2626 new MutantLateObjectBind<R, T, R (__stdcall U::*)(X1, X2, X3),
2627 Tuple3<P1, P2, P3>, Tuple0> 2627 Tuple3<P1, P2, P3>, Tuple0>
2628 (obj, method, MakeTuple(p1, p2, p3)); 2628 (obj, method, MakeTuple(p1, p2, p3));
2629 return MutantFunctor<R, Tuple0>(t); 2629 return MutantFunctor<R, Tuple0>(t);
2630 } 2630 }
2631 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING 2631 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
2632 #endif // OS_WIN 2632 #endif // defined (OS_WIN) && !defined (ARCH_CPU_X86_64)
2633 2633
2634 // 3 - 1 2634 // 3 - 1
2635 template <typename R, typename T, typename U, typename P1, typename P2, 2635 template <typename R, typename T, typename U, typename P1, typename P2,
2636 typename P3, typename A1, typename X1, typename X2, typename X3> 2636 typename P3, typename A1, typename X1, typename X2, typename X3>
2637 inline MutantFunctor<R, Tuple1<A1> > 2637 inline MutantFunctor<R, Tuple1<A1> >
2638 CreateFunctor(T* obj, R (U::*method)(X1, X2, X3, A1), const P1& p1, 2638 CreateFunctor(T* obj, R (U::*method)(X1, X2, X3, A1), const P1& p1,
2639 const P2& p2, const P3& p3) { 2639 const P2& p2, const P3& p3) {
2640 MutantRunner<R, Tuple1<A1> >* t = 2640 MutantRunner<R, Tuple1<A1> >* t =
2641 new Mutant<R, T, R (U::*)(X1, X2, X3, A1), 2641 new Mutant<R, T, R (U::*)(X1, X2, X3, A1),
2642 Tuple3<P1, P2, P3>, Tuple1<A1> > 2642 Tuple3<P1, P2, P3>, Tuple1<A1> >
(...skipping 20 matching lines...) Expand all
2663 CreateFunctor(T** obj, R (U::*method)(X1, X2, X3, A1), const P1& p1, 2663 CreateFunctor(T** obj, R (U::*method)(X1, X2, X3, A1), const P1& p1,
2664 const P2& p2, const P3& p3) { 2664 const P2& p2, const P3& p3) {
2665 MutantRunner<R, Tuple1<A1> >* t = 2665 MutantRunner<R, Tuple1<A1> >* t =
2666 new MutantLateObjectBind<R, T, R (U::*)(X1, X2, X3, A1), 2666 new MutantLateObjectBind<R, T, R (U::*)(X1, X2, X3, A1),
2667 Tuple3<P1, P2, P3>, Tuple1<A1> > 2667 Tuple3<P1, P2, P3>, Tuple1<A1> >
2668 (obj, method, MakeTuple(p1, p2, p3)); 2668 (obj, method, MakeTuple(p1, p2, p3));
2669 return MutantFunctor<R, Tuple1<A1> >(t); 2669 return MutantFunctor<R, Tuple1<A1> >(t);
2670 } 2670 }
2671 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING 2671 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
2672 2672
2673 #if defined (OS_WIN) 2673 #if defined (OS_WIN) && !defined (ARCH_CPU_X86_64)
2674 template <typename R, typename T, typename U, typename P1, typename P2, 2674 template <typename R, typename T, typename U, typename P1, typename P2,
2675 typename P3, typename A1, typename X1, typename X2, typename X3> 2675 typename P3, typename A1, typename X1, typename X2, typename X3>
2676 inline MutantFunctor<R, Tuple1<A1> > 2676 inline MutantFunctor<R, Tuple1<A1> >
2677 CreateFunctor(T* obj, R (__stdcall U::*method)(X1, X2, X3, A1), const P1& p1, 2677 CreateFunctor(T* obj, R (__stdcall U::*method)(X1, X2, X3, A1), const P1& p1,
2678 const P2& p2, const P3& p3) { 2678 const P2& p2, const P3& p3) {
2679 MutantRunner<R, Tuple1<A1> >* t = 2679 MutantRunner<R, Tuple1<A1> >* t =
2680 new Mutant<R, T, R (__stdcall U::*)(X1, X2, X3, A1), 2680 new Mutant<R, T, R (__stdcall U::*)(X1, X2, X3, A1),
2681 Tuple3<P1, P2, P3>, Tuple1<A1> > 2681 Tuple3<P1, P2, P3>, Tuple1<A1> >
2682 (obj, method, MakeTuple(p1, p2, p3)); 2682 (obj, method, MakeTuple(p1, p2, p3));
2683 return MutantFunctor<R, Tuple1<A1> >(t); 2683 return MutantFunctor<R, Tuple1<A1> >(t);
(...skipping 16 matching lines...) Expand all
2700 inline MutantFunctor<R, Tuple1<A1> > 2700 inline MutantFunctor<R, Tuple1<A1> >
2701 CreateFunctor(T** obj, R (__stdcall U::*method)(X1, X2, X3, A1), const P1& p1, 2701 CreateFunctor(T** obj, R (__stdcall U::*method)(X1, X2, X3, A1), const P1& p1,
2702 const P2& p2, const P3& p3) { 2702 const P2& p2, const P3& p3) {
2703 MutantRunner<R, Tuple1<A1> >* t = 2703 MutantRunner<R, Tuple1<A1> >* t =
2704 new MutantLateObjectBind<R, T, R (__stdcall U::*)(X1, X2, X3, A1), 2704 new MutantLateObjectBind<R, T, R (__stdcall U::*)(X1, X2, X3, A1),
2705 Tuple3<P1, P2, P3>, Tuple1<A1> > 2705 Tuple3<P1, P2, P3>, Tuple1<A1> >
2706 (obj, method, MakeTuple(p1, p2, p3)); 2706 (obj, method, MakeTuple(p1, p2, p3));
2707 return MutantFunctor<R, Tuple1<A1> >(t); 2707 return MutantFunctor<R, Tuple1<A1> >(t);
2708 } 2708 }
2709 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING 2709 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
2710 #endif // OS_WIN 2710 #endif // defined (OS_WIN) && !defined (ARCH_CPU_X86_64)
2711 2711
2712 // 3 - 2 2712 // 3 - 2
2713 template <typename R, typename T, typename U, typename P1, typename P2, 2713 template <typename R, typename T, typename U, typename P1, typename P2,
2714 typename P3, typename A1, typename A2, typename X1, typename X2, 2714 typename P3, typename A1, typename A2, typename X1, typename X2,
2715 typename X3> 2715 typename X3>
2716 inline MutantFunctor<R, Tuple2<A1, A2> > 2716 inline MutantFunctor<R, Tuple2<A1, A2> >
2717 CreateFunctor(T* obj, R (U::*method)(X1, X2, X3, A1, A2), const P1& p1, 2717 CreateFunctor(T* obj, R (U::*method)(X1, X2, X3, A1, A2), const P1& p1,
2718 const P2& p2, const P3& p3) { 2718 const P2& p2, const P3& p3) {
2719 MutantRunner<R, Tuple2<A1, A2> >* t = 2719 MutantRunner<R, Tuple2<A1, A2> >* t =
2720 new Mutant<R, T, R (U::*)(X1, X2, X3, A1, A2), 2720 new Mutant<R, T, R (U::*)(X1, X2, X3, A1, A2),
(...skipping 22 matching lines...) Expand all
2743 CreateFunctor(T** obj, R (U::*method)(X1, X2, X3, A1, A2), const P1& p1, 2743 CreateFunctor(T** obj, R (U::*method)(X1, X2, X3, A1, A2), const P1& p1,
2744 const P2& p2, const P3& p3) { 2744 const P2& p2, const P3& p3) {
2745 MutantRunner<R, Tuple2<A1, A2> >* t = 2745 MutantRunner<R, Tuple2<A1, A2> >* t =
2746 new MutantLateObjectBind<R, T, R (U::*)(X1, X2, X3, A1, A2), 2746 new MutantLateObjectBind<R, T, R (U::*)(X1, X2, X3, A1, A2),
2747 Tuple3<P1, P2, P3>, Tuple2<A1, A2> > 2747 Tuple3<P1, P2, P3>, Tuple2<A1, A2> >
2748 (obj, method, MakeTuple(p1, p2, p3)); 2748 (obj, method, MakeTuple(p1, p2, p3));
2749 return MutantFunctor<R, Tuple2<A1, A2> >(t); 2749 return MutantFunctor<R, Tuple2<A1, A2> >(t);
2750 } 2750 }
2751 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING 2751 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
2752 2752
2753 #if defined (OS_WIN) 2753 #if defined (OS_WIN) && !defined (ARCH_CPU_X86_64)
2754 template <typename R, typename T, typename U, typename P1, typename P2, 2754 template <typename R, typename T, typename U, typename P1, typename P2,
2755 typename P3, typename A1, typename A2, typename X1, typename X2, 2755 typename P3, typename A1, typename A2, typename X1, typename X2,
2756 typename X3> 2756 typename X3>
2757 inline MutantFunctor<R, Tuple2<A1, A2> > 2757 inline MutantFunctor<R, Tuple2<A1, A2> >
2758 CreateFunctor(T* obj, R (__stdcall U::*method)(X1, X2, X3, A1, A2), 2758 CreateFunctor(T* obj, R (__stdcall U::*method)(X1, X2, X3, A1, A2),
2759 const P1& p1, const P2& p2, const P3& p3) { 2759 const P1& p1, const P2& p2, const P3& p3) {
2760 MutantRunner<R, Tuple2<A1, A2> >* t = 2760 MutantRunner<R, Tuple2<A1, A2> >* t =
2761 new Mutant<R, T, R (__stdcall U::*)(X1, X2, X3, A1, A2), 2761 new Mutant<R, T, R (__stdcall U::*)(X1, X2, X3, A1, A2),
2762 Tuple3<P1, P2, P3>, Tuple2<A1, A2> > 2762 Tuple3<P1, P2, P3>, Tuple2<A1, A2> >
2763 (obj, method, MakeTuple(p1, p2, p3)); 2763 (obj, method, MakeTuple(p1, p2, p3));
(...skipping 18 matching lines...) Expand all
2782 inline MutantFunctor<R, Tuple2<A1, A2> > 2782 inline MutantFunctor<R, Tuple2<A1, A2> >
2783 CreateFunctor(T** obj, R (__stdcall U::*method)(X1, X2, X3, A1, A2), 2783 CreateFunctor(T** obj, R (__stdcall U::*method)(X1, X2, X3, A1, A2),
2784 const P1& p1, const P2& p2, const P3& p3) { 2784 const P1& p1, const P2& p2, const P3& p3) {
2785 MutantRunner<R, Tuple2<A1, A2> >* t = 2785 MutantRunner<R, Tuple2<A1, A2> >* t =
2786 new MutantLateObjectBind<R, T, R (__stdcall U::*)(X1, X2, X3, A1, A2), 2786 new MutantLateObjectBind<R, T, R (__stdcall U::*)(X1, X2, X3, A1, A2),
2787 Tuple3<P1, P2, P3>, Tuple2<A1, A2> > 2787 Tuple3<P1, P2, P3>, Tuple2<A1, A2> >
2788 (obj, method, MakeTuple(p1, p2, p3)); 2788 (obj, method, MakeTuple(p1, p2, p3));
2789 return MutantFunctor<R, Tuple2<A1, A2> >(t); 2789 return MutantFunctor<R, Tuple2<A1, A2> >(t);
2790 } 2790 }
2791 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING 2791 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
2792 #endif // OS_WIN 2792 #endif // defined (OS_WIN) && !defined (ARCH_CPU_X86_64)
2793 2793
2794 // 3 - 3 2794 // 3 - 3
2795 template <typename R, typename T, typename U, typename P1, typename P2, 2795 template <typename R, typename T, typename U, typename P1, typename P2,
2796 typename P3, typename A1, typename A2, typename A3, typename X1, 2796 typename P3, typename A1, typename A2, typename A3, typename X1,
2797 typename X2, typename X3> 2797 typename X2, typename X3>
2798 inline MutantFunctor<R, Tuple3<A1, A2, A3> > 2798 inline MutantFunctor<R, Tuple3<A1, A2, A3> >
2799 CreateFunctor(T* obj, R (U::*method)(X1, X2, X3, A1, A2, A3), const P1& p1, 2799 CreateFunctor(T* obj, R (U::*method)(X1, X2, X3, A1, A2, A3), const P1& p1,
2800 const P2& p2, const P3& p3) { 2800 const P2& p2, const P3& p3) {
2801 MutantRunner<R, Tuple3<A1, A2, A3> >* t = 2801 MutantRunner<R, Tuple3<A1, A2, A3> >* t =
2802 new Mutant<R, T, R (U::*)(X1, X2, X3, A1, A2, A3), 2802 new Mutant<R, T, R (U::*)(X1, X2, X3, A1, A2, A3),
(...skipping 22 matching lines...) Expand all
2825 CreateFunctor(T** obj, R (U::*method)(X1, X2, X3, A1, A2, A3), const P1& p1, 2825 CreateFunctor(T** obj, R (U::*method)(X1, X2, X3, A1, A2, A3), const P1& p1,
2826 const P2& p2, const P3& p3) { 2826 const P2& p2, const P3& p3) {
2827 MutantRunner<R, Tuple3<A1, A2, A3> >* t = 2827 MutantRunner<R, Tuple3<A1, A2, A3> >* t =
2828 new MutantLateObjectBind<R, T, R (U::*)(X1, X2, X3, A1, A2, A3), 2828 new MutantLateObjectBind<R, T, R (U::*)(X1, X2, X3, A1, A2, A3),
2829 Tuple3<P1, P2, P3>, Tuple3<A1, A2, A3> > 2829 Tuple3<P1, P2, P3>, Tuple3<A1, A2, A3> >
2830 (obj, method, MakeTuple(p1, p2, p3)); 2830 (obj, method, MakeTuple(p1, p2, p3));
2831 return MutantFunctor<R, Tuple3<A1, A2, A3> >(t); 2831 return MutantFunctor<R, Tuple3<A1, A2, A3> >(t);
2832 } 2832 }
2833 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING 2833 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
2834 2834
2835 #if defined (OS_WIN) 2835 #if defined (OS_WIN) && !defined (ARCH_CPU_X86_64)
2836 template <typename R, typename T, typename U, typename P1, typename P2, 2836 template <typename R, typename T, typename U, typename P1, typename P2,
2837 typename P3, typename A1, typename A2, typename A3, typename X1, 2837 typename P3, typename A1, typename A2, typename A3, typename X1,
2838 typename X2, typename X3> 2838 typename X2, typename X3>
2839 inline MutantFunctor<R, Tuple3<A1, A2, A3> > 2839 inline MutantFunctor<R, Tuple3<A1, A2, A3> >
2840 CreateFunctor(T* obj, R (__stdcall U::*method)(X1, X2, X3, A1, A2, A3), 2840 CreateFunctor(T* obj, R (__stdcall U::*method)(X1, X2, X3, A1, A2, A3),
2841 const P1& p1, const P2& p2, const P3& p3) { 2841 const P1& p1, const P2& p2, const P3& p3) {
2842 MutantRunner<R, Tuple3<A1, A2, A3> >* t = 2842 MutantRunner<R, Tuple3<A1, A2, A3> >* t =
2843 new Mutant<R, T, R (__stdcall U::*)(X1, X2, X3, A1, A2, A3), 2843 new Mutant<R, T, R (__stdcall U::*)(X1, X2, X3, A1, A2, A3),
2844 Tuple3<P1, P2, P3>, Tuple3<A1, A2, A3> > 2844 Tuple3<P1, P2, P3>, Tuple3<A1, A2, A3> >
2845 (obj, method, MakeTuple(p1, p2, p3)); 2845 (obj, method, MakeTuple(p1, p2, p3));
(...skipping 18 matching lines...) Expand all
2864 inline MutantFunctor<R, Tuple3<A1, A2, A3> > 2864 inline MutantFunctor<R, Tuple3<A1, A2, A3> >
2865 CreateFunctor(T** obj, R (__stdcall U::*method)(X1, X2, X3, A1, A2, A3), 2865 CreateFunctor(T** obj, R (__stdcall U::*method)(X1, X2, X3, A1, A2, A3),
2866 const P1& p1, const P2& p2, const P3& p3) { 2866 const P1& p1, const P2& p2, const P3& p3) {
2867 MutantRunner<R, Tuple3<A1, A2, A3> >* t = 2867 MutantRunner<R, Tuple3<A1, A2, A3> >* t =
2868 new MutantLateObjectBind<R, T, R (__stdcall U::*)(X1, X2, X3, A1, A2, A3), 2868 new MutantLateObjectBind<R, T, R (__stdcall U::*)(X1, X2, X3, A1, A2, A3),
2869 Tuple3<P1, P2, P3>, Tuple3<A1, A2, A3> > 2869 Tuple3<P1, P2, P3>, Tuple3<A1, A2, A3> >
2870 (obj, method, MakeTuple(p1, p2, p3)); 2870 (obj, method, MakeTuple(p1, p2, p3));
2871 return MutantFunctor<R, Tuple3<A1, A2, A3> >(t); 2871 return MutantFunctor<R, Tuple3<A1, A2, A3> >(t);
2872 } 2872 }
2873 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING 2873 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
2874 #endif // OS_WIN 2874 #endif // defined (OS_WIN) && !defined (ARCH_CPU_X86_64)
2875 2875
2876 // 3 - 4 2876 // 3 - 4
2877 template <typename R, typename T, typename U, typename P1, typename P2, 2877 template <typename R, typename T, typename U, typename P1, typename P2,
2878 typename P3, typename A1, typename A2, typename A3, typename A4, 2878 typename P3, typename A1, typename A2, typename A3, typename A4,
2879 typename X1, typename X2, typename X3> 2879 typename X1, typename X2, typename X3>
2880 inline MutantFunctor<R, Tuple4<A1, A2, A3, 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, 2881 CreateFunctor(T* obj, R (U::*method)(X1, X2, X3, A1, A2, A3, A4), const P1& p1,
2882 const P2& p2, const P3& p3) { 2882 const P2& p2, const P3& p3) {
2883 MutantRunner<R, Tuple4<A1, A2, A3, A4> >* t = 2883 MutantRunner<R, Tuple4<A1, A2, A3, A4> >* t =
2884 new Mutant<R, T, R (U::*)(X1, X2, X3, A1, A2, A3, A4), 2884 new Mutant<R, T, R (U::*)(X1, X2, X3, A1, A2, A3, A4),
(...skipping 23 matching lines...) Expand all
2908 CreateFunctor(T** obj, R (U::*method)(X1, X2, X3, A1, A2, A3, A4), const P1& p1, 2908 CreateFunctor(T** obj, R (U::*method)(X1, X2, X3, A1, A2, A3, A4), const P1& p1,
2909 const P2& p2, const P3& p3) { 2909 const P2& p2, const P3& p3) {
2910 MutantRunner<R, Tuple4<A1, A2, A3, A4> >* t = 2910 MutantRunner<R, Tuple4<A1, A2, A3, A4> >* t =
2911 new MutantLateObjectBind<R, T, R (U::*)(X1, X2, X3, A1, A2, A3, A4), 2911 new MutantLateObjectBind<R, T, R (U::*)(X1, X2, X3, A1, A2, A3, A4),
2912 Tuple3<P1, P2, P3>, Tuple4<A1, A2, A3, A4> > 2912 Tuple3<P1, P2, P3>, Tuple4<A1, A2, A3, A4> >
2913 (obj, method, MakeTuple(p1, p2, p3)); 2913 (obj, method, MakeTuple(p1, p2, p3));
2914 return MutantFunctor<R, Tuple4<A1, A2, A3, A4> >(t); 2914 return MutantFunctor<R, Tuple4<A1, A2, A3, A4> >(t);
2915 } 2915 }
2916 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING 2916 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
2917 2917
2918 #if defined (OS_WIN) 2918 #if defined (OS_WIN) && !defined (ARCH_CPU_X86_64)
2919 template <typename R, typename T, typename U, typename P1, typename P2, 2919 template <typename R, typename T, typename U, typename P1, typename P2,
2920 typename P3, typename A1, typename A2, typename A3, typename A4, 2920 typename P3, typename A1, typename A2, typename A3, typename A4,
2921 typename X1, typename X2, typename X3> 2921 typename X1, typename X2, typename X3>
2922 inline MutantFunctor<R, Tuple4<A1, A2, A3, 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), 2923 CreateFunctor(T* obj, R (__stdcall U::*method)(X1, X2, X3, A1, A2, A3, A4),
2924 const P1& p1, const P2& p2, const P3& p3) { 2924 const P1& p1, const P2& p2, const P3& p3) {
2925 MutantRunner<R, Tuple4<A1, A2, A3, A4> >* t = 2925 MutantRunner<R, Tuple4<A1, A2, A3, A4> >* t =
2926 new Mutant<R, T, R (__stdcall U::*)(X1, X2, X3, A1, A2, A3, A4), 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> > 2927 Tuple3<P1, P2, P3>, Tuple4<A1, A2, A3, A4> >
2928 (obj, method, MakeTuple(p1, p2, p3)); 2928 (obj, method, MakeTuple(p1, p2, p3));
(...skipping 19 matching lines...) Expand all
2948 inline MutantFunctor<R, Tuple4<A1, A2, A3, 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), 2949 CreateFunctor(T** obj, R (__stdcall U::*method)(X1, X2, X3, A1, A2, A3, A4),
2950 const P1& p1, const P2& p2, const P3& p3) { 2950 const P1& p1, const P2& p2, const P3& p3) {
2951 MutantRunner<R, Tuple4<A1, A2, A3, A4> >* t = 2951 MutantRunner<R, Tuple4<A1, A2, A3, A4> >* t =
2952 new MutantLateObjectBind<R, T, R (__stdcall U::*)(X1, X2, X3, A1, A2, A3, A4), 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> > 2953 Tuple3<P1, P2, P3>, Tuple4<A1, A2, A3, A4> >
2954 (obj, method, MakeTuple(p1, p2, p3)); 2954 (obj, method, MakeTuple(p1, p2, p3));
2955 return MutantFunctor<R, Tuple4<A1, A2, A3, A4> >(t); 2955 return MutantFunctor<R, Tuple4<A1, A2, A3, A4> >(t);
2956 } 2956 }
2957 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING 2957 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
2958 #endif // OS_WIN 2958 #endif // defined (OS_WIN) && !defined (ARCH_CPU_X86_64)
2959 2959
2960 // 3 - 5 2960 // 3 - 5
2961 template <typename R, typename T, typename U, typename P1, typename P2, 2961 template <typename R, typename T, typename U, typename P1, typename P2,
2962 typename P3, typename A1, typename A2, typename A3, typename A4, 2962 typename P3, typename A1, typename A2, typename A3, typename A4,
2963 typename A5, typename X1, typename X2, typename X3> 2963 typename A5, typename X1, typename X2, typename X3>
2964 inline MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> > 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), 2965 CreateFunctor(T* obj, R (U::*method)(X1, X2, X3, A1, A2, A3, A4, A5),
2966 const P1& p1, const P2& p2, const P3& p3) { 2966 const P1& p1, const P2& p2, const P3& p3) {
2967 MutantRunner<R, Tuple5<A1, A2, A3, A4, A5> >* t = 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), 2968 new Mutant<R, T, R (U::*)(X1, X2, X3, A1, A2, A3, A4, A5),
(...skipping 23 matching lines...) Expand all
2992 CreateFunctor(T** obj, R (U::*method)(X1, X2, X3, A1, A2, A3, A4, A5), 2992 CreateFunctor(T** obj, R (U::*method)(X1, X2, X3, A1, A2, A3, A4, A5),
2993 const P1& p1, const P2& p2, const P3& p3) { 2993 const P1& p1, const P2& p2, const P3& p3) {
2994 MutantRunner<R, Tuple5<A1, A2, A3, A4, A5> >* t = 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), 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> > 2996 Tuple3<P1, P2, P3>, Tuple5<A1, A2, A3, A4, A5> >
2997 (obj, method, MakeTuple(p1, p2, p3)); 2997 (obj, method, MakeTuple(p1, p2, p3));
2998 return MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >(t); 2998 return MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >(t);
2999 } 2999 }
3000 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING 3000 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
3001 3001
3002 #if defined (OS_WIN) 3002 #if defined (OS_WIN) && !defined (ARCH_CPU_X86_64)
3003 template <typename R, typename T, typename U, typename P1, typename P2, 3003 template <typename R, typename T, typename U, typename P1, typename P2,
3004 typename P3, typename A1, typename A2, typename A3, typename A4, 3004 typename P3, typename A1, typename A2, typename A3, typename A4,
3005 typename A5, typename X1, typename X2, typename X3> 3005 typename A5, typename X1, typename X2, typename X3>
3006 inline MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> > 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), 3007 CreateFunctor(T* obj, R (__stdcall U::*method)(X1, X2, X3, A1, A2, A3, A4, A5),
3008 const P1& p1, const P2& p2, const P3& p3) { 3008 const P1& p1, const P2& p2, const P3& p3) {
3009 MutantRunner<R, Tuple5<A1, A2, A3, A4, A5> >* t = 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), 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> > 3011 Tuple3<P1, P2, P3>, Tuple5<A1, A2, A3, A4, A5> >
3012 (obj, method, MakeTuple(p1, p2, p3)); 3012 (obj, method, MakeTuple(p1, p2, p3));
(...skipping 19 matching lines...) Expand all
3032 inline MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> > 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), 3033 CreateFunctor(T** obj, R (__stdcall U::*method)(X1, X2, X3, A1, A2, A3, A4, A5),
3034 const P1& p1, const P2& p2, const P3& p3) { 3034 const P1& p1, const P2& p2, const P3& p3) {
3035 MutantRunner<R, Tuple5<A1, A2, A3, A4, A5> >* t = 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), 3036 new MutantLateObjectBind<R, T, R (__stdcall U::*)(X1, X2, X3, A1, A2, A3, A4, A5),
3037 Tuple3<P1, P2, P3>, Tuple5<A1, A2, A3, A4, A5> > 3037 Tuple3<P1, P2, P3>, Tuple5<A1, A2, A3, A4, A5> >
3038 (obj, method, MakeTuple(p1, p2, p3)); 3038 (obj, method, MakeTuple(p1, p2, p3));
3039 return MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >(t); 3039 return MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >(t);
3040 } 3040 }
3041 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING 3041 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
3042 #endif // OS_WIN 3042 #endif // defined (OS_WIN) && !defined (ARCH_CPU_X86_64)
3043 3043
3044 // 3 - 6 3044 // 3 - 6
3045 template <typename R, typename T, typename U, typename P1, typename P2, 3045 template <typename R, typename T, typename U, typename P1, typename P2,
3046 typename P3, typename A1, typename A2, typename A3, typename A4, 3046 typename P3, typename A1, typename A2, typename A3, typename A4,
3047 typename A5, typename A6, typename X1, typename X2, typename X3> 3047 typename A5, typename A6, typename X1, typename X2, typename X3>
3048 inline MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> > 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), 3049 CreateFunctor(T* obj, R (U::*method)(X1, X2, X3, A1, A2, A3, A4, A5, A6),
3050 const P1& p1, const P2& p2, const P3& p3) { 3050 const P1& p1, const P2& p2, const P3& p3) {
3051 MutantRunner<R, Tuple6<A1, A2, A3, A4, A5, A6> >* t = 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), 3052 new Mutant<R, T, R (U::*)(X1, X2, X3, A1, A2, A3, A4, A5, A6),
(...skipping 23 matching lines...) Expand all
3076 CreateFunctor(T** obj, R (U::*method)(X1, X2, X3, A1, A2, A3, A4, A5, A6), 3076 CreateFunctor(T** obj, R (U::*method)(X1, X2, X3, A1, A2, A3, A4, A5, A6),
3077 const P1& p1, const P2& p2, const P3& p3) { 3077 const P1& p1, const P2& p2, const P3& p3) {
3078 MutantRunner<R, Tuple6<A1, A2, A3, A4, A5, A6> >* t = 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 ), 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 > > 3080 Tuple3<P1, P2, P3>, Tuple6<A1, A2, A3, A4, A5, A6 > >
3081 (obj, method, MakeTuple(p1, p2, p3)); 3081 (obj, method, MakeTuple(p1, p2, p3));
3082 return MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >(t); 3082 return MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >(t);
3083 } 3083 }
3084 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING 3084 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
3085 3085
3086 #if defined (OS_WIN) 3086 #if defined (OS_WIN) && !defined (ARCH_CPU_X86_64)
3087 template <typename R, typename T, typename U, typename P1, typename P2, 3087 template <typename R, typename T, typename U, typename P1, typename P2,
3088 typename P3, typename A1, typename A2, typename A3, typename A4, 3088 typename P3, typename A1, typename A2, typename A3, typename A4,
3089 typename A5, typename A6, typename X1, typename X2, typename X3> 3089 typename A5, typename A6, typename X1, typename X2, typename X3>
3090 inline MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> > 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, 3091 CreateFunctor(T* obj, R (__stdcall U::*method)(X1, X2, X3, A1, A2, A3, A4, A5,
3092 A6), const P1& p1, const P2& p2, const P3& p3) { 3092 A6), const P1& p1, const P2& p2, const P3& p3) {
3093 MutantRunner<R, Tuple6<A1, A2, A3, A4, A5, A6> >* t = 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), 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> > 3095 Tuple3<P1, P2, P3>, Tuple6<A1, A2, A3, A4, A5, A6> >
3096 (obj, method, MakeTuple(p1, p2, p3)); 3096 (obj, method, MakeTuple(p1, p2, p3));
(...skipping 19 matching lines...) Expand all
3116 inline MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> > 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, 3117 CreateFunctor(T** obj, R (__stdcall U::*method)(X1, X2, X3, A1, A2, A3, A4, A5,
3118 A6), const P1& p1, const P2& p2, const P3& p3) { 3118 A6), const P1& p1, const P2& p2, const P3& p3) {
3119 MutantRunner<R, Tuple6<A1, A2, A3, A4, A5, A6> >* t = 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), 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 > > 3121 Tuple3<P1, P2, P3>, Tuple6<A1, A2, A3, A4, A5, A6 > >
3122 (obj, method, MakeTuple(p1, p2, p3)); 3122 (obj, method, MakeTuple(p1, p2, p3));
3123 return MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >(t); 3123 return MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >(t);
3124 } 3124 }
3125 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING 3125 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
3126 #endif // OS_WIN 3126 #endif // defined (OS_WIN) && !defined (ARCH_CPU_X86_64)
3127 3127
3128 // 4 - 0 3128 // 4 - 0
3129 template <typename R, typename T, typename U, typename P1, typename P2, 3129 template <typename R, typename T, typename U, typename P1, typename P2,
3130 typename P3, typename P4, typename X1, typename X2, typename X3, 3130 typename P3, typename P4, typename X1, typename X2, typename X3,
3131 typename X4> 3131 typename X4>
3132 inline MutantFunctor<R, Tuple0> 3132 inline MutantFunctor<R, Tuple0>
3133 CreateFunctor(T* obj, R (U::*method)(X1, X2, X3, X4), const P1& p1, 3133 CreateFunctor(T* obj, R (U::*method)(X1, X2, X3, X4), const P1& p1,
3134 const P2& p2, const P3& p3, const P4& p4) { 3134 const P2& p2, const P3& p3, const P4& p4) {
3135 MutantRunner<R, Tuple0>* t = 3135 MutantRunner<R, Tuple0>* t =
3136 new Mutant<R, T, R (U::*)(X1, X2, X3, X4), 3136 new Mutant<R, T, R (U::*)(X1, X2, X3, X4),
(...skipping 22 matching lines...) Expand all
3159 CreateFunctor(T** obj, R (U::*method)(X1, X2, X3, X4), const P1& p1, 3159 CreateFunctor(T** obj, R (U::*method)(X1, X2, X3, X4), const P1& p1,
3160 const P2& p2, const P3& p3, const P4& p4) { 3160 const P2& p2, const P3& p3, const P4& p4) {
3161 MutantRunner<R, Tuple0>* t = 3161 MutantRunner<R, Tuple0>* t =
3162 new MutantLateObjectBind<R, T, R (U::*)(X1, X2, X3, X4), 3162 new MutantLateObjectBind<R, T, R (U::*)(X1, X2, X3, X4),
3163 Tuple4<P1, P2, P3, P4>, Tuple0> 3163 Tuple4<P1, P2, P3, P4>, Tuple0>
3164 (obj, method, MakeTuple(p1, p2, p3, p4)); 3164 (obj, method, MakeTuple(p1, p2, p3, p4));
3165 return MutantFunctor<R, Tuple0>(t); 3165 return MutantFunctor<R, Tuple0>(t);
3166 } 3166 }
3167 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING 3167 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
3168 3168
3169 #if defined (OS_WIN) 3169 #if defined (OS_WIN) && !defined (ARCH_CPU_X86_64)
3170 template <typename R, typename T, typename U, typename P1, typename P2, 3170 template <typename R, typename T, typename U, typename P1, typename P2,
3171 typename P3, typename P4, typename X1, typename X2, typename X3, 3171 typename P3, typename P4, typename X1, typename X2, typename X3,
3172 typename X4> 3172 typename X4>
3173 inline MutantFunctor<R, Tuple0> 3173 inline MutantFunctor<R, Tuple0>
3174 CreateFunctor(T* obj, R (__stdcall U::*method)(X1, X2, X3, X4), const P1& p1, 3174 CreateFunctor(T* obj, R (__stdcall U::*method)(X1, X2, X3, X4), const P1& p1,
3175 const P2& p2, const P3& p3, const P4& p4) { 3175 const P2& p2, const P3& p3, const P4& p4) {
3176 MutantRunner<R, Tuple0>* t = 3176 MutantRunner<R, Tuple0>* t =
3177 new Mutant<R, T, R (__stdcall U::*)(X1, X2, X3, X4), 3177 new Mutant<R, T, R (__stdcall U::*)(X1, X2, X3, X4),
3178 Tuple4<P1, P2, P3, P4>, Tuple0> 3178 Tuple4<P1, P2, P3, P4>, Tuple0>
3179 (obj, method, MakeTuple(p1, p2, p3, p4)); 3179 (obj, method, MakeTuple(p1, p2, p3, p4));
(...skipping 18 matching lines...) Expand all
3198 inline MutantFunctor<R, Tuple0> 3198 inline MutantFunctor<R, Tuple0>
3199 CreateFunctor(T** obj, R (__stdcall U::*method)(X1, X2, X3, X4), const P1& p1, 3199 CreateFunctor(T** obj, R (__stdcall U::*method)(X1, X2, X3, X4), const P1& p1,
3200 const P2& p2, const P3& p3, const P4& p4) { 3200 const P2& p2, const P3& p3, const P4& p4) {
3201 MutantRunner<R, Tuple0>* t = 3201 MutantRunner<R, Tuple0>* t =
3202 new MutantLateObjectBind<R, T, R (__stdcall U::*)(X1, X2, X3, X4), 3202 new MutantLateObjectBind<R, T, R (__stdcall U::*)(X1, X2, X3, X4),
3203 Tuple4<P1, P2, P3, P4>, Tuple0> 3203 Tuple4<P1, P2, P3, P4>, Tuple0>
3204 (obj, method, MakeTuple(p1, p2, p3, p4)); 3204 (obj, method, MakeTuple(p1, p2, p3, p4));
3205 return MutantFunctor<R, Tuple0>(t); 3205 return MutantFunctor<R, Tuple0>(t);
3206 } 3206 }
3207 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING 3207 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
3208 #endif // OS_WIN 3208 #endif // defined (OS_WIN) && !defined (ARCH_CPU_X86_64)
3209 3209
3210 // 4 - 1 3210 // 4 - 1
3211 template <typename R, typename T, typename U, typename P1, typename P2, 3211 template <typename R, typename T, typename U, typename P1, typename P2,
3212 typename P3, typename P4, typename A1, typename X1, typename X2, 3212 typename P3, typename P4, typename A1, typename X1, typename X2,
3213 typename X3, typename X4> 3213 typename X3, typename X4>
3214 inline MutantFunctor<R, Tuple1<A1> > 3214 inline MutantFunctor<R, Tuple1<A1> >
3215 CreateFunctor(T* obj, R (U::*method)(X1, X2, X3, X4, A1), const P1& p1, 3215 CreateFunctor(T* obj, R (U::*method)(X1, X2, X3, X4, A1), const P1& p1,
3216 const P2& p2, const P3& p3, const P4& p4) { 3216 const P2& p2, const P3& p3, const P4& p4) {
3217 MutantRunner<R, Tuple1<A1> >* t = 3217 MutantRunner<R, Tuple1<A1> >* t =
3218 new Mutant<R, T, R (U::*)(X1, X2, X3, X4, A1), 3218 new Mutant<R, T, R (U::*)(X1, X2, X3, X4, A1),
(...skipping 22 matching lines...) Expand all
3241 CreateFunctor(T** obj, R (U::*method)(X1, X2, X3, X4, A1), const P1& p1, 3241 CreateFunctor(T** obj, R (U::*method)(X1, X2, X3, X4, A1), const P1& p1,
3242 const P2& p2, const P3& p3, const P4& p4) { 3242 const P2& p2, const P3& p3, const P4& p4) {
3243 MutantRunner<R, Tuple1<A1> >* t = 3243 MutantRunner<R, Tuple1<A1> >* t =
3244 new MutantLateObjectBind<R, T, R (U::*)(X1, X2, X3, X4, A1), 3244 new MutantLateObjectBind<R, T, R (U::*)(X1, X2, X3, X4, A1),
3245 Tuple4<P1, P2, P3, P4>, Tuple1<A1> > 3245 Tuple4<P1, P2, P3, P4>, Tuple1<A1> >
3246 (obj, method, MakeTuple(p1, p2, p3, p4)); 3246 (obj, method, MakeTuple(p1, p2, p3, p4));
3247 return MutantFunctor<R, Tuple1<A1> >(t); 3247 return MutantFunctor<R, Tuple1<A1> >(t);
3248 } 3248 }
3249 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING 3249 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
3250 3250
3251 #if defined (OS_WIN) 3251 #if defined (OS_WIN) && !defined (ARCH_CPU_X86_64)
3252 template <typename R, typename T, typename U, typename P1, typename P2, 3252 template <typename R, typename T, typename U, typename P1, typename P2,
3253 typename P3, typename P4, typename A1, typename X1, typename X2, 3253 typename P3, typename P4, typename A1, typename X1, typename X2,
3254 typename X3, typename X4> 3254 typename X3, typename X4>
3255 inline MutantFunctor<R, Tuple1<A1> > 3255 inline MutantFunctor<R, Tuple1<A1> >
3256 CreateFunctor(T* obj, R (__stdcall U::*method)(X1, X2, X3, X4, A1), 3256 CreateFunctor(T* obj, R (__stdcall U::*method)(X1, X2, X3, X4, A1),
3257 const P1& p1, const P2& p2, const P3& p3, const P4& p4) { 3257 const P1& p1, const P2& p2, const P3& p3, const P4& p4) {
3258 MutantRunner<R, Tuple1<A1> >* t = 3258 MutantRunner<R, Tuple1<A1> >* t =
3259 new Mutant<R, T, R (__stdcall U::*)(X1, X2, X3, X4, A1), 3259 new Mutant<R, T, R (__stdcall U::*)(X1, X2, X3, X4, A1),
3260 Tuple4<P1, P2, P3, P4>, Tuple1<A1> > 3260 Tuple4<P1, P2, P3, P4>, Tuple1<A1> >
3261 (obj, method, MakeTuple(p1, p2, p3, p4)); 3261 (obj, method, MakeTuple(p1, p2, p3, p4));
(...skipping 18 matching lines...) Expand all
3280 inline MutantFunctor<R, Tuple1<A1> > 3280 inline MutantFunctor<R, Tuple1<A1> >
3281 CreateFunctor(T** obj, R (__stdcall U::*method)(X1, X2, X3, X4, A1), 3281 CreateFunctor(T** obj, R (__stdcall U::*method)(X1, X2, X3, X4, A1),
3282 const P1& p1, const P2& p2, const P3& p3, const P4& p4) { 3282 const P1& p1, const P2& p2, const P3& p3, const P4& p4) {
3283 MutantRunner<R, Tuple1<A1> >* t = 3283 MutantRunner<R, Tuple1<A1> >* t =
3284 new MutantLateObjectBind<R, T, R (__stdcall U::*)(X1, X2, X3, X4, A1), 3284 new MutantLateObjectBind<R, T, R (__stdcall U::*)(X1, X2, X3, X4, A1),
3285 Tuple4<P1, P2, P3, P4>, Tuple1<A1> > 3285 Tuple4<P1, P2, P3, P4>, Tuple1<A1> >
3286 (obj, method, MakeTuple(p1, p2, p3, p4)); 3286 (obj, method, MakeTuple(p1, p2, p3, p4));
3287 return MutantFunctor<R, Tuple1<A1> >(t); 3287 return MutantFunctor<R, Tuple1<A1> >(t);
3288 } 3288 }
3289 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING 3289 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
3290 #endif // OS_WIN 3290 #endif // defined (OS_WIN) && !defined (ARCH_CPU_X86_64)
3291 3291
3292 // 4 - 2 3292 // 4 - 2
3293 template <typename R, typename T, typename U, typename P1, typename P2, 3293 template <typename R, typename T, typename U, typename P1, typename P2,
3294 typename P3, typename P4, typename A1, typename A2, typename X1, 3294 typename P3, typename P4, typename A1, typename A2, typename X1,
3295 typename X2, typename X3, typename X4> 3295 typename X2, typename X3, typename X4>
3296 inline MutantFunctor<R, Tuple2<A1, A2> > 3296 inline MutantFunctor<R, Tuple2<A1, A2> >
3297 CreateFunctor(T* obj, R (U::*method)(X1, X2, X3, X4, A1, A2), const P1& p1, 3297 CreateFunctor(T* obj, R (U::*method)(X1, X2, X3, X4, A1, A2), const P1& p1,
3298 const P2& p2, const P3& p3, const P4& p4) { 3298 const P2& p2, const P3& p3, const P4& p4) {
3299 MutantRunner<R, Tuple2<A1, A2> >* t = 3299 MutantRunner<R, Tuple2<A1, A2> >* t =
3300 new Mutant<R, T, R (U::*)(X1, X2, X3, X4, A1, A2), 3300 new Mutant<R, T, R (U::*)(X1, X2, X3, X4, A1, A2),
(...skipping 23 matching lines...) Expand all
3324 CreateFunctor(T** obj, R (U::*method)(X1, X2, X3, X4, A1, A2), const P1& p1, 3324 CreateFunctor(T** obj, R (U::*method)(X1, X2, X3, X4, A1, A2), const P1& p1,
3325 const P2& p2, const P3& p3, const P4& p4) { 3325 const P2& p2, const P3& p3, const P4& p4) {
3326 MutantRunner<R, Tuple2<A1, A2> >* t = 3326 MutantRunner<R, Tuple2<A1, A2> >* t =
3327 new MutantLateObjectBind<R, T, R (U::*)(X1, X2, X3, X4, A1, A2), 3327 new MutantLateObjectBind<R, T, R (U::*)(X1, X2, X3, X4, A1, A2),
3328 Tuple4<P1, P2, P3, P4>, Tuple2<A1, A2> > 3328 Tuple4<P1, P2, P3, P4>, Tuple2<A1, A2> >
3329 (obj, method, MakeTuple(p1, p2, p3, p4)); 3329 (obj, method, MakeTuple(p1, p2, p3, p4));
3330 return MutantFunctor<R, Tuple2<A1, A2> >(t); 3330 return MutantFunctor<R, Tuple2<A1, A2> >(t);
3331 } 3331 }
3332 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING 3332 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
3333 3333
3334 #if defined (OS_WIN) 3334 #if defined (OS_WIN) && !defined (ARCH_CPU_X86_64)
3335 template <typename R, typename T, typename U, typename P1, typename P2, 3335 template <typename R, typename T, typename U, typename P1, typename P2,
3336 typename P3, typename P4, typename A1, typename A2, typename X1, 3336 typename P3, typename P4, typename A1, typename A2, typename X1,
3337 typename X2, typename X3, typename X4> 3337 typename X2, typename X3, typename X4>
3338 inline MutantFunctor<R, Tuple2<A1, A2> > 3338 inline MutantFunctor<R, Tuple2<A1, A2> >
3339 CreateFunctor(T* obj, R (__stdcall U::*method)(X1, X2, X3, X4, A1, A2), 3339 CreateFunctor(T* obj, R (__stdcall U::*method)(X1, X2, X3, X4, A1, A2),
3340 const P1& p1, const P2& p2, const P3& p3, const P4& p4) { 3340 const P1& p1, const P2& p2, const P3& p3, const P4& p4) {
3341 MutantRunner<R, Tuple2<A1, A2> >* t = 3341 MutantRunner<R, Tuple2<A1, A2> >* t =
3342 new Mutant<R, T, R (__stdcall U::*)(X1, X2, X3, X4, A1, A2), 3342 new Mutant<R, T, R (__stdcall U::*)(X1, X2, X3, X4, A1, A2),
3343 Tuple4<P1, P2, P3, P4>, Tuple2<A1, A2> > 3343 Tuple4<P1, P2, P3, P4>, Tuple2<A1, A2> >
3344 (obj, method, MakeTuple(p1, p2, p3, p4)); 3344 (obj, method, MakeTuple(p1, p2, p3, p4));
(...skipping 19 matching lines...) Expand all
3364 inline MutantFunctor<R, Tuple2<A1, A2> > 3364 inline MutantFunctor<R, Tuple2<A1, A2> >
3365 CreateFunctor(T** obj, R (__stdcall U::*method)(X1, X2, X3, X4, A1, A2), 3365 CreateFunctor(T** obj, R (__stdcall U::*method)(X1, X2, X3, X4, A1, A2),
3366 const P1& p1, const P2& p2, const P3& p3, const P4& p4) { 3366 const P1& p1, const P2& p2, const P3& p3, const P4& p4) {
3367 MutantRunner<R, Tuple2<A1, A2> >* t = 3367 MutantRunner<R, Tuple2<A1, A2> >* t =
3368 new MutantLateObjectBind<R, T, R (__stdcall U::*)(X1, X2, X3, X4, A1, A2), 3368 new MutantLateObjectBind<R, T, R (__stdcall U::*)(X1, X2, X3, X4, A1, A2),
3369 Tuple4<P1, P2, P3, P4>, Tuple2<A1, A2> > 3369 Tuple4<P1, P2, P3, P4>, Tuple2<A1, A2> >
3370 (obj, method, MakeTuple(p1, p2, p3, p4)); 3370 (obj, method, MakeTuple(p1, p2, p3, p4));
3371 return MutantFunctor<R, Tuple2<A1, A2> >(t); 3371 return MutantFunctor<R, Tuple2<A1, A2> >(t);
3372 } 3372 }
3373 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING 3373 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
3374 #endif // OS_WIN 3374 #endif // defined (OS_WIN) && !defined (ARCH_CPU_X86_64)
3375 3375
3376 // 4 - 3 3376 // 4 - 3
3377 template <typename R, typename T, typename U, typename P1, typename P2, 3377 template <typename R, typename T, typename U, typename P1, typename P2,
3378 typename P3, typename P4, typename A1, typename A2, typename A3, 3378 typename P3, typename P4, typename A1, typename A2, typename A3,
3379 typename X1, typename X2, typename X3, typename X4> 3379 typename X1, typename X2, typename X3, typename X4>
3380 inline MutantFunctor<R, Tuple3<A1, A2, A3> > 3380 inline MutantFunctor<R, Tuple3<A1, A2, A3> >
3381 CreateFunctor(T* obj, R (U::*method)(X1, X2, X3, X4, A1, A2, A3), const P1& p1, 3381 CreateFunctor(T* obj, R (U::*method)(X1, X2, X3, X4, A1, A2, A3), const P1& p1,
3382 const P2& p2, const P3& p3, const P4& p4) { 3382 const P2& p2, const P3& p3, const P4& p4) {
3383 MutantRunner<R, Tuple3<A1, A2, A3> >* t = 3383 MutantRunner<R, Tuple3<A1, A2, A3> >* t =
3384 new Mutant<R, T, R (U::*)(X1, X2, X3, X4, A1, A2, A3), 3384 new Mutant<R, T, R (U::*)(X1, X2, X3, X4, A1, A2, A3),
(...skipping 23 matching lines...) Expand all
3408 CreateFunctor(T** obj, R (U::*method)(X1, X2, X3, X4, A1, A2, A3), const P1& p1, 3408 CreateFunctor(T** obj, R (U::*method)(X1, X2, X3, X4, A1, A2, A3), const P1& p1,
3409 const P2& p2, const P3& p3, const P4& p4) { 3409 const P2& p2, const P3& p3, const P4& p4) {
3410 MutantRunner<R, Tuple3<A1, A2, A3> >* t = 3410 MutantRunner<R, Tuple3<A1, A2, A3> >* t =
3411 new MutantLateObjectBind<R, T, R (U::*)(X1, X2, X3, X4, A1, A2, A3), 3411 new MutantLateObjectBind<R, T, R (U::*)(X1, X2, X3, X4, A1, A2, A3),
3412 Tuple4<P1, P2, P3, P4>, Tuple3<A1, A2, A3> > 3412 Tuple4<P1, P2, P3, P4>, Tuple3<A1, A2, A3> >
3413 (obj, method, MakeTuple(p1, p2, p3, p4)); 3413 (obj, method, MakeTuple(p1, p2, p3, p4));
3414 return MutantFunctor<R, Tuple3<A1, A2, A3> >(t); 3414 return MutantFunctor<R, Tuple3<A1, A2, A3> >(t);
3415 } 3415 }
3416 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING 3416 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
3417 3417
3418 #if defined (OS_WIN) 3418 #if defined (OS_WIN) && !defined (ARCH_CPU_X86_64)
3419 template <typename R, typename T, typename U, typename P1, typename P2, 3419 template <typename R, typename T, typename U, typename P1, typename P2,
3420 typename P3, typename P4, typename A1, typename A2, typename A3, 3420 typename P3, typename P4, typename A1, typename A2, typename A3,
3421 typename X1, typename X2, typename X3, typename X4> 3421 typename X1, typename X2, typename X3, typename X4>
3422 inline MutantFunctor<R, Tuple3<A1, A2, A3> > 3422 inline MutantFunctor<R, Tuple3<A1, A2, A3> >
3423 CreateFunctor(T* obj, R (__stdcall U::*method)(X1, X2, X3, X4, A1, A2, A3), 3423 CreateFunctor(T* obj, R (__stdcall U::*method)(X1, X2, X3, X4, A1, A2, A3),
3424 const P1& p1, const P2& p2, const P3& p3, const P4& p4) { 3424 const P1& p1, const P2& p2, const P3& p3, const P4& p4) {
3425 MutantRunner<R, Tuple3<A1, A2, A3> >* t = 3425 MutantRunner<R, Tuple3<A1, A2, A3> >* t =
3426 new Mutant<R, T, R (__stdcall U::*)(X1, X2, X3, X4, A1, A2, A3), 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> > 3427 Tuple4<P1, P2, P3, P4>, Tuple3<A1, A2, A3> >
3428 (obj, method, MakeTuple(p1, p2, p3, p4)); 3428 (obj, method, MakeTuple(p1, p2, p3, p4));
(...skipping 19 matching lines...) Expand all
3448 inline MutantFunctor<R, Tuple3<A1, A2, A3> > 3448 inline MutantFunctor<R, Tuple3<A1, A2, A3> >
3449 CreateFunctor(T** obj, R (__stdcall U::*method)(X1, X2, X3, X4, A1, A2, A3), 3449 CreateFunctor(T** obj, R (__stdcall U::*method)(X1, X2, X3, X4, A1, A2, A3),
3450 const P1& p1, const P2& p2, const P3& p3, const P4& p4) { 3450 const P1& p1, const P2& p2, const P3& p3, const P4& p4) {
3451 MutantRunner<R, Tuple3<A1, A2, A3> >* t = 3451 MutantRunner<R, Tuple3<A1, A2, A3> >* t =
3452 new MutantLateObjectBind<R, T, R (__stdcall U::*)(X1, X2, X3, X4, A1, A2, A3), 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> > 3453 Tuple4<P1, P2, P3, P4>, Tuple3<A1, A2, A3> >
3454 (obj, method, MakeTuple(p1, p2, p3, p4)); 3454 (obj, method, MakeTuple(p1, p2, p3, p4));
3455 return MutantFunctor<R, Tuple3<A1, A2, A3> >(t); 3455 return MutantFunctor<R, Tuple3<A1, A2, A3> >(t);
3456 } 3456 }
3457 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING 3457 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
3458 #endif // OS_WIN 3458 #endif // defined (OS_WIN) && !defined (ARCH_CPU_X86_64)
3459 3459
3460 // 4 - 4 3460 // 4 - 4
3461 template <typename R, typename T, typename U, typename P1, typename P2, 3461 template <typename R, typename T, typename U, typename P1, typename P2,
3462 typename P3, typename P4, typename A1, typename A2, typename A3, 3462 typename P3, typename P4, typename A1, typename A2, typename A3,
3463 typename A4, typename X1, typename X2, typename X3, typename X4> 3463 typename A4, typename X1, typename X2, typename X3, typename X4>
3464 inline MutantFunctor<R, Tuple4<A1, A2, A3, A4> > 3464 inline MutantFunctor<R, Tuple4<A1, A2, A3, A4> >
3465 CreateFunctor(T* obj, R (U::*method)(X1, X2, X3, X4, A1, A2, A3, A4), 3465 CreateFunctor(T* obj, R (U::*method)(X1, X2, X3, X4, A1, A2, A3, A4),
3466 const P1& p1, const P2& p2, const P3& p3, const P4& p4) { 3466 const P1& p1, const P2& p2, const P3& p3, const P4& p4) {
3467 MutantRunner<R, Tuple4<A1, A2, A3, A4> >* t = 3467 MutantRunner<R, Tuple4<A1, A2, A3, A4> >* t =
3468 new Mutant<R, T, R (U::*)(X1, X2, X3, X4, A1, A2, A3, A4), 3468 new Mutant<R, T, R (U::*)(X1, X2, X3, X4, A1, A2, A3, A4),
(...skipping 23 matching lines...) Expand all
3492 CreateFunctor(T** obj, R (U::*method)(X1, X2, X3, X4, A1, A2, A3, A4), 3492 CreateFunctor(T** obj, R (U::*method)(X1, X2, X3, X4, A1, A2, A3, A4),
3493 const P1& p1, const P2& p2, const P3& p3, const P4& p4) { 3493 const P1& p1, const P2& p2, const P3& p3, const P4& p4) {
3494 MutantRunner<R, Tuple4<A1, A2, A3, A4> >* t = 3494 MutantRunner<R, Tuple4<A1, A2, A3, A4> >* t =
3495 new MutantLateObjectBind<R, T, R (U::*)(X1, X2, X3, X4, A1, A2, A3, A4), 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> > 3496 Tuple4<P1, P2, P3, P4>, Tuple4<A1, A2, A3, A4> >
3497 (obj, method, MakeTuple(p1, p2, p3, p4)); 3497 (obj, method, MakeTuple(p1, p2, p3, p4));
3498 return MutantFunctor<R, Tuple4<A1, A2, A3, A4> >(t); 3498 return MutantFunctor<R, Tuple4<A1, A2, A3, A4> >(t);
3499 } 3499 }
3500 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING 3500 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
3501 3501
3502 #if defined (OS_WIN) 3502 #if defined (OS_WIN) && !defined (ARCH_CPU_X86_64)
3503 template <typename R, typename T, typename U, typename P1, typename P2, 3503 template <typename R, typename T, typename U, typename P1, typename P2,
3504 typename P3, typename P4, typename A1, typename A2, typename A3, 3504 typename P3, typename P4, typename A1, typename A2, typename A3,
3505 typename A4, typename X1, typename X2, typename X3, typename X4> 3505 typename A4, typename X1, typename X2, typename X3, typename X4>
3506 inline MutantFunctor<R, Tuple4<A1, A2, A3, A4> > 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), 3507 CreateFunctor(T* obj, R (__stdcall U::*method)(X1, X2, X3, X4, A1, A2, A3, A4),
3508 const P1& p1, const P2& p2, const P3& p3, const P4& p4) { 3508 const P1& p1, const P2& p2, const P3& p3, const P4& p4) {
3509 MutantRunner<R, Tuple4<A1, A2, A3, A4> >* t = 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), 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> > 3511 Tuple4<P1, P2, P3, P4>, Tuple4<A1, A2, A3, A4> >
3512 (obj, method, MakeTuple(p1, p2, p3, p4)); 3512 (obj, method, MakeTuple(p1, p2, p3, p4));
(...skipping 19 matching lines...) Expand all
3532 inline MutantFunctor<R, Tuple4<A1, A2, A3, A4> > 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), 3533 CreateFunctor(T** obj, R (__stdcall U::*method)(X1, X2, X3, X4, A1, A2, A3, A4),
3534 const P1& p1, const P2& p2, const P3& p3, const P4& p4) { 3534 const P1& p1, const P2& p2, const P3& p3, const P4& p4) {
3535 MutantRunner<R, Tuple4<A1, A2, A3, A4> >* t = 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), 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> > 3537 Tuple4<P1, P2, P3, P4>, Tuple4<A1, A2, A3, A4> >
3538 (obj, method, MakeTuple(p1, p2, p3, p4)); 3538 (obj, method, MakeTuple(p1, p2, p3, p4));
3539 return MutantFunctor<R, Tuple4<A1, A2, A3, A4> >(t); 3539 return MutantFunctor<R, Tuple4<A1, A2, A3, A4> >(t);
3540 } 3540 }
3541 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING 3541 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
3542 #endif // OS_WIN 3542 #endif // defined (OS_WIN) && !defined (ARCH_CPU_X86_64)
3543 3543
3544 // 4 - 5 3544 // 4 - 5
3545 template <typename R, typename T, typename U, typename P1, typename P2, 3545 template <typename R, typename T, typename U, typename P1, typename P2,
3546 typename P3, typename P4, typename A1, typename A2, typename A3, 3546 typename P3, typename P4, typename A1, typename A2, typename A3,
3547 typename A4, typename A5, typename X1, typename X2, typename X3, 3547 typename A4, typename A5, typename X1, typename X2, typename X3,
3548 typename X4> 3548 typename X4>
3549 inline MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> > 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), 3550 CreateFunctor(T* obj, R (U::*method)(X1, X2, X3, X4, A1, A2, A3, A4, A5),
3551 const P1& p1, const P2& p2, const P3& p3, const P4& p4) { 3551 const P1& p1, const P2& p2, const P3& p3, const P4& p4) {
3552 MutantRunner<R, Tuple5<A1, A2, A3, A4, A5> >* t = 3552 MutantRunner<R, Tuple5<A1, A2, A3, A4, A5> >* t =
(...skipping 25 matching lines...) Expand all
3578 CreateFunctor(T** obj, R (U::*method)(X1, X2, X3, X4, A1, A2, A3, A4, A5), 3578 CreateFunctor(T** obj, R (U::*method)(X1, X2, X3, X4, A1, A2, A3, A4, A5),
3579 const P1& p1, const P2& p2, const P3& p3, const P4& p4) { 3579 const P1& p1, const P2& p2, const P3& p3, const P4& p4) {
3580 MutantRunner<R, Tuple5<A1, A2, A3, A4, A5> >* t = 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 ), 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 > > 3582 Tuple4<P1, P2, P3, P4>, Tuple5<A1, A2, A3, A4, A5 > >
3583 (obj, method, MakeTuple(p1, p2, p3, p4)); 3583 (obj, method, MakeTuple(p1, p2, p3, p4));
3584 return MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >(t); 3584 return MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >(t);
3585 } 3585 }
3586 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING 3586 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
3587 3587
3588 #if defined (OS_WIN) 3588 #if defined (OS_WIN) && !defined (ARCH_CPU_X86_64)
3589 template <typename R, typename T, typename U, typename P1, typename P2, 3589 template <typename R, typename T, typename U, typename P1, typename P2,
3590 typename P3, typename P4, typename A1, typename A2, typename A3, 3590 typename P3, typename P4, typename A1, typename A2, typename A3,
3591 typename A4, typename A5, typename X1, typename X2, typename X3, 3591 typename A4, typename A5, typename X1, typename X2, typename X3,
3592 typename X4> 3592 typename X4>
3593 inline MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> > 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, 3594 CreateFunctor(T* obj, R (__stdcall U::*method)(X1, X2, X3, X4, A1, A2, A3, A4,
3595 A5), const P1& p1, const P2& p2, const P3& p3, const P4& p4) { 3595 A5), const P1& p1, const P2& p2, const P3& p3, const P4& p4) {
3596 MutantRunner<R, Tuple5<A1, A2, A3, A4, A5> >* t = 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), 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> > 3598 Tuple4<P1, P2, P3, P4>, Tuple5<A1, A2, A3, A4, A5> >
(...skipping 21 matching lines...) Expand all
3620 inline MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> > 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, 3621 CreateFunctor(T** obj, R (__stdcall U::*method)(X1, X2, X3, X4, A1, A2, A3, A4,
3622 A5), const P1& p1, const P2& p2, const P3& p3, const P4& p4) { 3622 A5), const P1& p1, const P2& p2, const P3& p3, const P4& p4) {
3623 MutantRunner<R, Tuple5<A1, A2, A3, A4, A5> >* t = 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), 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 > > 3625 Tuple4<P1, P2, P3, P4>, Tuple5<A1, A2, A3, A4, A5 > >
3626 (obj, method, MakeTuple(p1, p2, p3, p4)); 3626 (obj, method, MakeTuple(p1, p2, p3, p4));
3627 return MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >(t); 3627 return MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >(t);
3628 } 3628 }
3629 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING 3629 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
3630 #endif // OS_WIN 3630 #endif // defined (OS_WIN) && !defined (ARCH_CPU_X86_64)
3631 3631
3632 // 4 - 6 3632 // 4 - 6
3633 template <typename R, typename T, typename U, typename P1, typename P2, 3633 template <typename R, typename T, typename U, typename P1, typename P2,
3634 typename P3, typename P4, typename A1, typename A2, typename A3, 3634 typename P3, typename P4, typename A1, typename A2, typename A3,
3635 typename A4, typename A5, typename A6, typename X1, typename X2, 3635 typename A4, typename A5, typename A6, typename X1, typename X2,
3636 typename X3, typename X4> 3636 typename X3, typename X4>
3637 inline MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> > 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), 3638 CreateFunctor(T* obj, R (U::*method)(X1, X2, X3, X4, A1, A2, A3, A4, A5, A6),
3639 const P1& p1, const P2& p2, const P3& p3, const P4& p4) { 3639 const P1& p1, const P2& p2, const P3& p3, const P4& p4) {
3640 MutantRunner<R, Tuple6<A1, A2, A3, A4, A5, A6> >* t = 3640 MutantRunner<R, Tuple6<A1, A2, A3, A4, A5, A6> >* t =
(...skipping 25 matching lines...) Expand all
3666 CreateFunctor(T** obj, R (U::*method)(X1, X2, X3, X4, A1, A2, A3, A4, A5, A6), 3666 CreateFunctor(T** obj, R (U::*method)(X1, X2, X3, X4, A1, A2, A3, A4, A5, A6),
3667 const P1& p1, const P2& p2, const P3& p3, const P4& p4) { 3667 const P1& p1, const P2& p2, const P3& p3, const P4& p4) {
3668 MutantRunner<R, Tuple6<A1, A2, A3, A4, A5, A6> >* t = 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), 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> > 3670 Tuple4<P1, P2, P3, P4>, Tuple6<A1, A2, A3, A4, A5 , A6> >
3671 (obj, method, MakeTuple(p1, p2, p3, p4)); 3671 (obj, method, MakeTuple(p1, p2, p3, p4));
3672 return MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >(t); 3672 return MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >(t);
3673 } 3673 }
3674 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING 3674 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
3675 3675
3676 #if defined (OS_WIN) 3676 #if defined (OS_WIN) && !defined (ARCH_CPU_X86_64)
3677 template <typename R, typename T, typename U, typename P1, typename P2, 3677 template <typename R, typename T, typename U, typename P1, typename P2,
3678 typename P3, typename P4, typename A1, typename A2, typename A3, 3678 typename P3, typename P4, typename A1, typename A2, typename A3,
3679 typename A4, typename A5, typename A6, typename X1, typename X2, 3679 typename A4, typename A5, typename A6, typename X1, typename X2,
3680 typename X3, typename X4> 3680 typename X3, typename X4>
3681 inline MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> > 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, 3682 CreateFunctor(T* obj, R (__stdcall U::*method)(X1, X2, X3, X4, A1, A2, A3, A4,
3683 A5, A6), const P1& p1, const P2& p2, const P3& p3, const P4& p4) { 3683 A5, A6), const P1& p1, const P2& p2, const P3& p3, const P4& p4) {
3684 MutantRunner<R, Tuple6<A1, A2, A3, A4, A5, A6> >* t = 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 ), 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> > 3686 Tuple4<P1, P2, P3, P4>, Tuple6<A1, A2, A3, A4, A5, A6> >
(...skipping 21 matching lines...) Expand all
3708 inline MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> > 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, 3709 CreateFunctor(T** obj, R (__stdcall U::*method)(X1, X2, X3, X4, A1, A2, A3, A4,
3710 A5, A6), const P1& p1, const P2& p2, const P3& p3, const P4& p4) { 3710 A5, A6), const P1& p1, const P2& p2, const P3& p3, const P4& p4) {
3711 MutantRunner<R, Tuple6<A1, A2, A3, A4, A5, A6> >* t = 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), 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> > 3713 Tuple4<P1, P2, P3, P4>, Tuple6<A1, A2, A3, A4, A5 , A6> >
3714 (obj, method, MakeTuple(p1, p2, p3, p4)); 3714 (obj, method, MakeTuple(p1, p2, p3, p4));
3715 return MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >(t); 3715 return MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >(t);
3716 } 3716 }
3717 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING 3717 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
3718 #endif // OS_WIN 3718 #endif // defined (OS_WIN) && !defined (ARCH_CPU_X86_64)
3719 3719
3720 // 5 - 0 3720 // 5 - 0
3721 template <typename R, typename T, typename U, typename P1, typename P2, 3721 template <typename R, typename T, typename U, typename P1, typename P2,
3722 typename P3, typename P4, typename P5, typename X1, typename X2, 3722 typename P3, typename P4, typename P5, typename X1, typename X2,
3723 typename X3, typename X4, typename X5> 3723 typename X3, typename X4, typename X5>
3724 inline MutantFunctor<R, Tuple0> 3724 inline MutantFunctor<R, Tuple0>
3725 CreateFunctor(T* obj, R (U::*method)(X1, X2, X3, X4, X5), const P1& p1, 3725 CreateFunctor(T* obj, R (U::*method)(X1, X2, X3, X4, X5), const P1& p1,
3726 const P2& p2, const P3& p3, const P4& p4, const P5& p5) { 3726 const P2& p2, const P3& p3, const P4& p4, const P5& p5) {
3727 MutantRunner<R, Tuple0>* t = 3727 MutantRunner<R, Tuple0>* t =
3728 new Mutant<R, T, R (U::*)(X1, X2, X3, X4, X5), 3728 new Mutant<R, T, R (U::*)(X1, X2, X3, X4, X5),
(...skipping 23 matching lines...) Expand all
3752 CreateFunctor(T** obj, R (U::*method)(X1, X2, X3, X4, X5), const P1& p1, 3752 CreateFunctor(T** obj, R (U::*method)(X1, X2, X3, X4, X5), const P1& p1,
3753 const P2& p2, const P3& p3, const P4& p4, const P5& p5) { 3753 const P2& p2, const P3& p3, const P4& p4, const P5& p5) {
3754 MutantRunner<R, Tuple0>* t = 3754 MutantRunner<R, Tuple0>* t =
3755 new MutantLateObjectBind<R, T, R (U::*)(X1, X2, X3, X4, X5), 3755 new MutantLateObjectBind<R, T, R (U::*)(X1, X2, X3, X4, X5),
3756 Tuple5<P1, P2, P3, P4, P5>, Tuple0> 3756 Tuple5<P1, P2, P3, P4, P5>, Tuple0>
3757 (obj, method, MakeTuple(p1, p2, p3, p4, p5)); 3757 (obj, method, MakeTuple(p1, p2, p3, p4, p5));
3758 return MutantFunctor<R, Tuple0>(t); 3758 return MutantFunctor<R, Tuple0>(t);
3759 } 3759 }
3760 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING 3760 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
3761 3761
3762 #if defined (OS_WIN) 3762 #if defined (OS_WIN) && !defined (ARCH_CPU_X86_64)
3763 template <typename R, typename T, typename U, typename P1, typename P2, 3763 template <typename R, typename T, typename U, typename P1, typename P2,
3764 typename P3, typename P4, typename P5, typename X1, typename X2, 3764 typename P3, typename P4, typename P5, typename X1, typename X2,
3765 typename X3, typename X4, typename X5> 3765 typename X3, typename X4, typename X5>
3766 inline MutantFunctor<R, Tuple0> 3766 inline MutantFunctor<R, Tuple0>
3767 CreateFunctor(T* obj, R (__stdcall U::*method)(X1, X2, X3, X4, X5), 3767 CreateFunctor(T* obj, R (__stdcall U::*method)(X1, X2, X3, X4, X5),
3768 const P1& p1, const P2& p2, const P3& p3, const P4& p4, const P5& p5) { 3768 const P1& p1, const P2& p2, const P3& p3, const P4& p4, const P5& p5) {
3769 MutantRunner<R, Tuple0>* t = 3769 MutantRunner<R, Tuple0>* t =
3770 new Mutant<R, T, R (__stdcall U::*)(X1, X2, X3, X4, X5), 3770 new Mutant<R, T, R (__stdcall U::*)(X1, X2, X3, X4, X5),
3771 Tuple5<P1, P2, P3, P4, P5>, Tuple0> 3771 Tuple5<P1, P2, P3, P4, P5>, Tuple0>
3772 (obj, method, MakeTuple(p1, p2, p3, p4, p5)); 3772 (obj, method, MakeTuple(p1, p2, p3, p4, p5));
(...skipping 19 matching lines...) Expand all
3792 inline MutantFunctor<R, Tuple0> 3792 inline MutantFunctor<R, Tuple0>
3793 CreateFunctor(T** obj, R (__stdcall U::*method)(X1, X2, X3, X4, X5), 3793 CreateFunctor(T** obj, R (__stdcall U::*method)(X1, X2, X3, X4, X5),
3794 const P1& p1, const P2& p2, const P3& p3, const P4& p4, const P5& p5) { 3794 const P1& p1, const P2& p2, const P3& p3, const P4& p4, const P5& p5) {
3795 MutantRunner<R, Tuple0>* t = 3795 MutantRunner<R, Tuple0>* t =
3796 new MutantLateObjectBind<R, T, R (__stdcall U::*)(X1, X2, X3, X4, X5), 3796 new MutantLateObjectBind<R, T, R (__stdcall U::*)(X1, X2, X3, X4, X5),
3797 Tuple5<P1, P2, P3, P4, P5>, Tuple0> 3797 Tuple5<P1, P2, P3, P4, P5>, Tuple0>
3798 (obj, method, MakeTuple(p1, p2, p3, p4, p5)); 3798 (obj, method, MakeTuple(p1, p2, p3, p4, p5));
3799 return MutantFunctor<R, Tuple0>(t); 3799 return MutantFunctor<R, Tuple0>(t);
3800 } 3800 }
3801 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING 3801 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
3802 #endif // OS_WIN 3802 #endif // defined (OS_WIN) && !defined (ARCH_CPU_X86_64)
3803 3803
3804 // 5 - 1 3804 // 5 - 1
3805 template <typename R, typename T, typename U, typename P1, typename P2, 3805 template <typename R, typename T, typename U, typename P1, typename P2,
3806 typename P3, typename P4, typename P5, typename A1, typename X1, 3806 typename P3, typename P4, typename P5, typename A1, typename X1,
3807 typename X2, typename X3, typename X4, typename X5> 3807 typename X2, typename X3, typename X4, typename X5>
3808 inline MutantFunctor<R, Tuple1<A1> > 3808 inline MutantFunctor<R, Tuple1<A1> >
3809 CreateFunctor(T* obj, R (U::*method)(X1, X2, X3, X4, X5, A1), const P1& p1, 3809 CreateFunctor(T* obj, R (U::*method)(X1, X2, X3, X4, X5, A1), const P1& p1,
3810 const P2& p2, const P3& p3, const P4& p4, const P5& p5) { 3810 const P2& p2, const P3& p3, const P4& p4, const P5& p5) {
3811 MutantRunner<R, Tuple1<A1> >* t = 3811 MutantRunner<R, Tuple1<A1> >* t =
3812 new Mutant<R, T, R (U::*)(X1, X2, X3, X4, X5, A1), 3812 new Mutant<R, T, R (U::*)(X1, X2, X3, X4, X5, A1),
(...skipping 23 matching lines...) Expand all
3836 CreateFunctor(T** obj, R (U::*method)(X1, X2, X3, X4, X5, A1), const P1& p1, 3836 CreateFunctor(T** obj, R (U::*method)(X1, X2, X3, X4, X5, A1), const P1& p1,
3837 const P2& p2, const P3& p3, const P4& p4, const P5& p5) { 3837 const P2& p2, const P3& p3, const P4& p4, const P5& p5) {
3838 MutantRunner<R, Tuple1<A1> >* t = 3838 MutantRunner<R, Tuple1<A1> >* t =
3839 new MutantLateObjectBind<R, T, R (U::*)(X1, X2, X3, X4, X5, A1), 3839 new MutantLateObjectBind<R, T, R (U::*)(X1, X2, X3, X4, X5, A1),
3840 Tuple5<P1, P2, P3, P4, P5>, Tuple1<A1> > 3840 Tuple5<P1, P2, P3, P4, P5>, Tuple1<A1> >
3841 (obj, method, MakeTuple(p1, p2, p3, p4, p5)); 3841 (obj, method, MakeTuple(p1, p2, p3, p4, p5));
3842 return MutantFunctor<R, Tuple1<A1> >(t); 3842 return MutantFunctor<R, Tuple1<A1> >(t);
3843 } 3843 }
3844 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING 3844 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
3845 3845
3846 #if defined (OS_WIN) 3846 #if defined (OS_WIN) && !defined (ARCH_CPU_X86_64)
3847 template <typename R, typename T, typename U, typename P1, typename P2, 3847 template <typename R, typename T, typename U, typename P1, typename P2,
3848 typename P3, typename P4, typename P5, typename A1, typename X1, 3848 typename P3, typename P4, typename P5, typename A1, typename X1,
3849 typename X2, typename X3, typename X4, typename X5> 3849 typename X2, typename X3, typename X4, typename X5>
3850 inline MutantFunctor<R, Tuple1<A1> > 3850 inline MutantFunctor<R, Tuple1<A1> >
3851 CreateFunctor(T* obj, R (__stdcall U::*method)(X1, X2, X3, X4, X5, A1), 3851 CreateFunctor(T* obj, R (__stdcall U::*method)(X1, X2, X3, X4, X5, A1),
3852 const P1& p1, const P2& p2, const P3& p3, const P4& p4, const P5& p5) { 3852 const P1& p1, const P2& p2, const P3& p3, const P4& p4, const P5& p5) {
3853 MutantRunner<R, Tuple1<A1> >* t = 3853 MutantRunner<R, Tuple1<A1> >* t =
3854 new Mutant<R, T, R (__stdcall U::*)(X1, X2, X3, X4, X5, A1), 3854 new Mutant<R, T, R (__stdcall U::*)(X1, X2, X3, X4, X5, A1),
3855 Tuple5<P1, P2, P3, P4, P5>, Tuple1<A1> > 3855 Tuple5<P1, P2, P3, P4, P5>, Tuple1<A1> >
3856 (obj, method, MakeTuple(p1, p2, p3, p4, p5)); 3856 (obj, method, MakeTuple(p1, p2, p3, p4, p5));
(...skipping 19 matching lines...) Expand all
3876 inline MutantFunctor<R, Tuple1<A1> > 3876 inline MutantFunctor<R, Tuple1<A1> >
3877 CreateFunctor(T** obj, R (__stdcall U::*method)(X1, X2, X3, X4, X5, A1), 3877 CreateFunctor(T** obj, R (__stdcall U::*method)(X1, X2, X3, X4, X5, A1),
3878 const P1& p1, const P2& p2, const P3& p3, const P4& p4, const P5& p5) { 3878 const P1& p1, const P2& p2, const P3& p3, const P4& p4, const P5& p5) {
3879 MutantRunner<R, Tuple1<A1> >* t = 3879 MutantRunner<R, Tuple1<A1> >* t =
3880 new MutantLateObjectBind<R, T, R (__stdcall U::*)(X1, X2, X3, X4, X5, A1), 3880 new MutantLateObjectBind<R, T, R (__stdcall U::*)(X1, X2, X3, X4, X5, A1),
3881 Tuple5<P1, P2, P3, P4, P5>, Tuple1<A1> > 3881 Tuple5<P1, P2, P3, P4, P5>, Tuple1<A1> >
3882 (obj, method, MakeTuple(p1, p2, p3, p4, p5)); 3882 (obj, method, MakeTuple(p1, p2, p3, p4, p5));
3883 return MutantFunctor<R, Tuple1<A1> >(t); 3883 return MutantFunctor<R, Tuple1<A1> >(t);
3884 } 3884 }
3885 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING 3885 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
3886 #endif // OS_WIN 3886 #endif // defined (OS_WIN) && !defined (ARCH_CPU_X86_64)
3887 3887
3888 // 5 - 2 3888 // 5 - 2
3889 template <typename R, typename T, typename U, typename P1, typename P2, 3889 template <typename R, typename T, typename U, typename P1, typename P2,
3890 typename P3, typename P4, typename P5, typename A1, typename A2, 3890 typename P3, typename P4, typename P5, typename A1, typename A2,
3891 typename X1, typename X2, typename X3, typename X4, typename X5> 3891 typename X1, typename X2, typename X3, typename X4, typename X5>
3892 inline MutantFunctor<R, Tuple2<A1, 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, 3893 CreateFunctor(T* obj, R (U::*method)(X1, X2, X3, X4, X5, A1, A2), const P1& p1,
3894 const P2& p2, const P3& p3, const P4& p4, const P5& p5) { 3894 const P2& p2, const P3& p3, const P4& p4, const P5& p5) {
3895 MutantRunner<R, Tuple2<A1, A2> >* t = 3895 MutantRunner<R, Tuple2<A1, A2> >* t =
3896 new Mutant<R, T, R (U::*)(X1, X2, X3, X4, X5, A1, A2), 3896 new Mutant<R, T, R (U::*)(X1, X2, X3, X4, X5, A1, A2),
(...skipping 23 matching lines...) Expand all
3920 CreateFunctor(T** obj, R (U::*method)(X1, X2, X3, X4, X5, A1, A2), const P1& p1, 3920 CreateFunctor(T** obj, R (U::*method)(X1, X2, X3, X4, X5, A1, A2), const P1& p1,
3921 const P2& p2, const P3& p3, const P4& p4, const P5& p5) { 3921 const P2& p2, const P3& p3, const P4& p4, const P5& p5) {
3922 MutantRunner<R, Tuple2<A1, A2> >* t = 3922 MutantRunner<R, Tuple2<A1, A2> >* t =
3923 new MutantLateObjectBind<R, T, R (U::*)(X1, X2, X3, X4, X5, A1, A2), 3923 new MutantLateObjectBind<R, T, R (U::*)(X1, X2, X3, X4, X5, A1, A2),
3924 Tuple5<P1, P2, P3, P4, P5>, Tuple2<A1, A2> > 3924 Tuple5<P1, P2, P3, P4, P5>, Tuple2<A1, A2> >
3925 (obj, method, MakeTuple(p1, p2, p3, p4, p5)); 3925 (obj, method, MakeTuple(p1, p2, p3, p4, p5));
3926 return MutantFunctor<R, Tuple2<A1, A2> >(t); 3926 return MutantFunctor<R, Tuple2<A1, A2> >(t);
3927 } 3927 }
3928 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING 3928 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
3929 3929
3930 #if defined (OS_WIN) 3930 #if defined (OS_WIN) && !defined (ARCH_CPU_X86_64)
3931 template <typename R, typename T, typename U, typename P1, typename P2, 3931 template <typename R, typename T, typename U, typename P1, typename P2,
3932 typename P3, typename P4, typename P5, typename A1, typename A2, 3932 typename P3, typename P4, typename P5, typename A1, typename A2,
3933 typename X1, typename X2, typename X3, typename X4, typename X5> 3933 typename X1, typename X2, typename X3, typename X4, typename X5>
3934 inline MutantFunctor<R, Tuple2<A1, A2> > 3934 inline MutantFunctor<R, Tuple2<A1, A2> >
3935 CreateFunctor(T* obj, R (__stdcall U::*method)(X1, X2, X3, X4, X5, A1, A2), 3935 CreateFunctor(T* obj, R (__stdcall U::*method)(X1, X2, X3, X4, X5, A1, A2),
3936 const P1& p1, const P2& p2, const P3& p3, const P4& p4, const P5& p5) { 3936 const P1& p1, const P2& p2, const P3& p3, const P4& p4, const P5& p5) {
3937 MutantRunner<R, Tuple2<A1, A2> >* t = 3937 MutantRunner<R, Tuple2<A1, A2> >* t =
3938 new Mutant<R, T, R (__stdcall U::*)(X1, X2, X3, X4, X5, A1, A2), 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> > 3939 Tuple5<P1, P2, P3, P4, P5>, Tuple2<A1, A2> >
3940 (obj, method, MakeTuple(p1, p2, p3, p4, p5)); 3940 (obj, method, MakeTuple(p1, p2, p3, p4, p5));
(...skipping 19 matching lines...) Expand all
3960 inline MutantFunctor<R, Tuple2<A1, A2> > 3960 inline MutantFunctor<R, Tuple2<A1, A2> >
3961 CreateFunctor(T** obj, R (__stdcall U::*method)(X1, X2, X3, X4, X5, A1, A2), 3961 CreateFunctor(T** obj, R (__stdcall U::*method)(X1, X2, X3, X4, X5, A1, A2),
3962 const P1& p1, const P2& p2, const P3& p3, const P4& p4, const P5& p5) { 3962 const P1& p1, const P2& p2, const P3& p3, const P4& p4, const P5& p5) {
3963 MutantRunner<R, Tuple2<A1, A2> >* t = 3963 MutantRunner<R, Tuple2<A1, A2> >* t =
3964 new MutantLateObjectBind<R, T, R (__stdcall U::*)(X1, X2, X3, X4, X5, A1, A2), 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> > 3965 Tuple5<P1, P2, P3, P4, P5>, Tuple2<A1, A2> >
3966 (obj, method, MakeTuple(p1, p2, p3, p4, p5)); 3966 (obj, method, MakeTuple(p1, p2, p3, p4, p5));
3967 return MutantFunctor<R, Tuple2<A1, A2> >(t); 3967 return MutantFunctor<R, Tuple2<A1, A2> >(t);
3968 } 3968 }
3969 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING 3969 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
3970 #endif // OS_WIN 3970 #endif // defined (OS_WIN) && !defined (ARCH_CPU_X86_64)
3971 3971
3972 // 5 - 3 3972 // 5 - 3
3973 template <typename R, typename T, typename U, typename P1, typename P2, 3973 template <typename R, typename T, typename U, typename P1, typename P2,
3974 typename P3, typename P4, typename P5, typename A1, typename A2, 3974 typename P3, typename P4, typename P5, typename A1, typename A2,
3975 typename A3, typename X1, typename X2, typename X3, typename X4, 3975 typename A3, typename X1, typename X2, typename X3, typename X4,
3976 typename X5> 3976 typename X5>
3977 inline MutantFunctor<R, Tuple3<A1, A2, A3> > 3977 inline MutantFunctor<R, Tuple3<A1, A2, A3> >
3978 CreateFunctor(T* obj, R (U::*method)(X1, X2, X3, X4, X5, A1, A2, A3), 3978 CreateFunctor(T* obj, R (U::*method)(X1, X2, X3, X4, X5, A1, A2, A3),
3979 const P1& p1, const P2& p2, const P3& p3, const P4& p4, const P5& p5) { 3979 const P1& p1, const P2& p2, const P3& p3, const P4& p4, const P5& p5) {
3980 MutantRunner<R, Tuple3<A1, A2, A3> >* t = 3980 MutantRunner<R, Tuple3<A1, A2, A3> >* t =
(...skipping 25 matching lines...) Expand all
4006 CreateFunctor(T** obj, R (U::*method)(X1, X2, X3, X4, X5, A1, A2, A3), 4006 CreateFunctor(T** obj, R (U::*method)(X1, X2, X3, X4, X5, A1, A2, A3),
4007 const P1& p1, const P2& p2, const P3& p3, const P4& p4, const P5& p5) { 4007 const P1& p1, const P2& p2, const P3& p3, const P4& p4, const P5& p5) {
4008 MutantRunner<R, Tuple3<A1, A2, A3> >* t = 4008 MutantRunner<R, Tuple3<A1, A2, A3> >* t =
4009 new MutantLateObjectBind<R, T, R (U::*)(X1, X2, X3, X4, X5, A1, A2, A3), 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> > 4010 Tuple5<P1, P2, P3, P4, P5>, Tuple3<A1, A2, A3> >
4011 (obj, method, MakeTuple(p1, p2, p3, p4, p5)); 4011 (obj, method, MakeTuple(p1, p2, p3, p4, p5));
4012 return MutantFunctor<R, Tuple3<A1, A2, A3> >(t); 4012 return MutantFunctor<R, Tuple3<A1, A2, A3> >(t);
4013 } 4013 }
4014 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING 4014 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
4015 4015
4016 #if defined (OS_WIN) 4016 #if defined (OS_WIN) && !defined (ARCH_CPU_X86_64)
4017 template <typename R, typename T, typename U, typename P1, typename P2, 4017 template <typename R, typename T, typename U, typename P1, typename P2,
4018 typename P3, typename P4, typename P5, typename A1, typename A2, 4018 typename P3, typename P4, typename P5, typename A1, typename A2,
4019 typename A3, typename X1, typename X2, typename X3, typename X4, 4019 typename A3, typename X1, typename X2, typename X3, typename X4,
4020 typename X5> 4020 typename X5>
4021 inline MutantFunctor<R, Tuple3<A1, A2, A3> > 4021 inline MutantFunctor<R, Tuple3<A1, A2, A3> >
4022 CreateFunctor(T* obj, R (__stdcall U::*method)(X1, X2, X3, X4, X5, A1, A2, A3), 4022 CreateFunctor(T* obj, R (__stdcall U::*method)(X1, X2, X3, X4, X5, A1, A2, A3),
4023 const P1& p1, const P2& p2, const P3& p3, const P4& p4, const P5& p5) { 4023 const P1& p1, const P2& p2, const P3& p3, const P4& p4, const P5& p5) {
4024 MutantRunner<R, Tuple3<A1, A2, A3> >* t = 4024 MutantRunner<R, Tuple3<A1, A2, A3> >* t =
4025 new Mutant<R, T, R (__stdcall U::*)(X1, X2, X3, X4, X5, A1, A2, A3), 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> > 4026 Tuple5<P1, P2, P3, P4, P5>, Tuple3<A1, A2, A3> >
(...skipping 21 matching lines...) Expand all
4048 inline MutantFunctor<R, Tuple3<A1, A2, A3> > 4048 inline MutantFunctor<R, Tuple3<A1, A2, A3> >
4049 CreateFunctor(T** obj, R (__stdcall U::*method)(X1, X2, X3, X4, X5, A1, A2, A3), 4049 CreateFunctor(T** obj, R (__stdcall U::*method)(X1, X2, X3, X4, X5, A1, A2, A3),
4050 const P1& p1, const P2& p2, const P3& p3, const P4& p4, const P5& p5) { 4050 const P1& p1, const P2& p2, const P3& p3, const P4& p4, const P5& p5) {
4051 MutantRunner<R, Tuple3<A1, A2, A3> >* t = 4051 MutantRunner<R, Tuple3<A1, A2, A3> >* t =
4052 new MutantLateObjectBind<R, T, R (__stdcall U::*)(X1, X2, X3, X4, X5, A1, A2, A3), 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> > 4053 Tuple5<P1, P2, P3, P4, P5>, Tuple3<A1, A2, A3> >
4054 (obj, method, MakeTuple(p1, p2, p3, p4, p5)); 4054 (obj, method, MakeTuple(p1, p2, p3, p4, p5));
4055 return MutantFunctor<R, Tuple3<A1, A2, A3> >(t); 4055 return MutantFunctor<R, Tuple3<A1, A2, A3> >(t);
4056 } 4056 }
4057 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING 4057 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
4058 #endif // OS_WIN 4058 #endif // defined (OS_WIN) && !defined (ARCH_CPU_X86_64)
4059 4059
4060 // 5 - 4 4060 // 5 - 4
4061 template <typename R, typename T, typename U, typename P1, typename P2, 4061 template <typename R, typename T, typename U, typename P1, typename P2,
4062 typename P3, typename P4, typename P5, typename A1, typename A2, 4062 typename P3, typename P4, typename P5, typename A1, typename A2,
4063 typename A3, typename A4, typename X1, typename X2, typename X3, 4063 typename A3, typename A4, typename X1, typename X2, typename X3,
4064 typename X4, typename X5> 4064 typename X4, typename X5>
4065 inline MutantFunctor<R, Tuple4<A1, A2, A3, A4> > 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), 4066 CreateFunctor(T* obj, R (U::*method)(X1, X2, X3, X4, X5, A1, A2, A3, A4),
4067 const P1& p1, const P2& p2, const P3& p3, const P4& p4, const P5& p5) { 4067 const P1& p1, const P2& p2, const P3& p3, const P4& p4, const P5& p5) {
4068 MutantRunner<R, Tuple4<A1, A2, A3, A4> >* t = 4068 MutantRunner<R, Tuple4<A1, A2, A3, A4> >* t =
(...skipping 25 matching lines...) Expand all
4094 CreateFunctor(T** obj, R (U::*method)(X1, X2, X3, X4, X5, A1, A2, A3, A4), 4094 CreateFunctor(T** obj, R (U::*method)(X1, X2, X3, X4, X5, A1, A2, A3, A4),
4095 const P1& p1, const P2& p2, const P3& p3, const P4& p4, const P5& p5) { 4095 const P1& p1, const P2& p2, const P3& p3, const P4& p4, const P5& p5) {
4096 MutantRunner<R, Tuple4<A1, A2, A3, A4> >* t = 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 ), 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 > > 4098 Tuple5<P1, P2, P3, P4, P5>, Tuple4<A1, A2, A3, A4 > >
4099 (obj, method, MakeTuple(p1, p2, p3, p4, p5)); 4099 (obj, method, MakeTuple(p1, p2, p3, p4, p5));
4100 return MutantFunctor<R, Tuple4<A1, A2, A3, A4> >(t); 4100 return MutantFunctor<R, Tuple4<A1, A2, A3, A4> >(t);
4101 } 4101 }
4102 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING 4102 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
4103 4103
4104 #if defined (OS_WIN) 4104 #if defined (OS_WIN) && !defined (ARCH_CPU_X86_64)
4105 template <typename R, typename T, typename U, typename P1, typename P2, 4105 template <typename R, typename T, typename U, typename P1, typename P2,
4106 typename P3, typename P4, typename P5, typename A1, typename A2, 4106 typename P3, typename P4, typename P5, typename A1, typename A2,
4107 typename A3, typename A4, typename X1, typename X2, typename X3, 4107 typename A3, typename A4, typename X1, typename X2, typename X3,
4108 typename X4, typename X5> 4108 typename X4, typename X5>
4109 inline MutantFunctor<R, Tuple4<A1, A2, A3, A4> > 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, 4110 CreateFunctor(T* obj, R (__stdcall U::*method)(X1, X2, X3, X4, X5, A1, A2, A3,
4111 A4), const P1& p1, const P2& p2, const P3& p3, const P4& p4, 4111 A4), const P1& p1, const P2& p2, const P3& p3, const P4& p4,
4112 const P5& p5) { 4112 const P5& p5) {
4113 MutantRunner<R, Tuple4<A1, A2, A3, A4> >* t = 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), 4114 new Mutant<R, T, R (__stdcall U::*)(X1, X2, X3, X4, X5, A1, A2, A3, A4),
(...skipping 23 matching lines...) Expand all
4138 CreateFunctor(T** obj, R (__stdcall U::*method)(X1, X2, X3, X4, X5, A1, A2, A3, 4138 CreateFunctor(T** obj, R (__stdcall U::*method)(X1, X2, X3, X4, X5, A1, A2, A3,
4139 A4), const P1& p1, const P2& p2, const P3& p3, const P4& p4, 4139 A4), const P1& p1, const P2& p2, const P3& p3, const P4& p4,
4140 const P5& p5) { 4140 const P5& p5) {
4141 MutantRunner<R, Tuple4<A1, A2, A3, A4> >* t = 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), 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 > > 4143 Tuple5<P1, P2, P3, P4, P5>, Tuple4<A1, A2, A3, A4 > >
4144 (obj, method, MakeTuple(p1, p2, p3, p4, p5)); 4144 (obj, method, MakeTuple(p1, p2, p3, p4, p5));
4145 return MutantFunctor<R, Tuple4<A1, A2, A3, A4> >(t); 4145 return MutantFunctor<R, Tuple4<A1, A2, A3, A4> >(t);
4146 } 4146 }
4147 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING 4147 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
4148 #endif // OS_WIN 4148 #endif // defined (OS_WIN) && !defined (ARCH_CPU_X86_64)
4149 4149
4150 // 5 - 5 4150 // 5 - 5
4151 template <typename R, typename T, typename U, typename P1, typename P2, 4151 template <typename R, typename T, typename U, typename P1, typename P2,
4152 typename P3, typename P4, typename P5, typename A1, typename A2, 4152 typename P3, typename P4, typename P5, typename A1, typename A2,
4153 typename A3, typename A4, typename A5, typename X1, typename X2, 4153 typename A3, typename A4, typename A5, typename X1, typename X2,
4154 typename X3, typename X4, typename X5> 4154 typename X3, typename X4, typename X5>
4155 inline MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> > 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), 4156 CreateFunctor(T* obj, R (U::*method)(X1, X2, X3, X4, X5, A1, A2, A3, A4, A5),
4157 const P1& p1, const P2& p2, const P3& p3, const P4& p4, const P5& p5) { 4157 const P1& p1, const P2& p2, const P3& p3, const P4& p4, const P5& p5) {
4158 MutantRunner<R, Tuple5<A1, A2, A3, A4, A5> >* t = 4158 MutantRunner<R, Tuple5<A1, A2, A3, A4, A5> >* t =
(...skipping 26 matching lines...) Expand all
4185 CreateFunctor(T** obj, R (U::*method)(X1, X2, X3, X4, X5, A1, A2, A3, A4, A5), 4185 CreateFunctor(T** obj, R (U::*method)(X1, X2, X3, X4, X5, A1, A2, A3, A4, A5),
4186 const P1& p1, const P2& p2, const P3& p3, const P4& p4, const P5& p5) { 4186 const P1& p1, const P2& p2, const P3& p3, const P4& p4, const P5& p5) {
4187 MutantRunner<R, Tuple5<A1, A2, A3, A4, A5> >* t = 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), 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> > 4189 Tuple5<P1, P2, P3, P4, P5>, Tuple5<A1, A2, A3, A4 , A5> >
4190 (obj, method, MakeTuple(p1, p2, p3, p4, p5)); 4190 (obj, method, MakeTuple(p1, p2, p3, p4, p5));
4191 return MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >(t); 4191 return MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >(t);
4192 } 4192 }
4193 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING 4193 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
4194 4194
4195 #if defined (OS_WIN) 4195 #if defined (OS_WIN) && !defined (ARCH_CPU_X86_64)
4196 template <typename R, typename T, typename U, typename P1, typename P2, 4196 template <typename R, typename T, typename U, typename P1, typename P2,
4197 typename P3, typename P4, typename P5, typename A1, typename A2, 4197 typename P3, typename P4, typename P5, typename A1, typename A2,
4198 typename A3, typename A4, typename A5, typename X1, typename X2, 4198 typename A3, typename A4, typename A5, typename X1, typename X2,
4199 typename X3, typename X4, typename X5> 4199 typename X3, typename X4, typename X5>
4200 inline MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> > 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, 4201 CreateFunctor(T* obj, R (__stdcall U::*method)(X1, X2, X3, X4, X5, A1, A2, A3,
4202 A4, A5), const P1& p1, const P2& p2, const P3& p3, const P4& p4, 4202 A4, A5), const P1& p1, const P2& p2, const P3& p3, const P4& p4,
4203 const P5& p5) { 4203 const P5& p5) {
4204 MutantRunner<R, Tuple5<A1, A2, A3, A4, A5> >* t = 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 ), 4205 new Mutant<R, T, R (__stdcall U::*)(X1, X2, X3, X4, X5, A1, A2, A3, A4, A5 ),
(...skipping 24 matching lines...) Expand all
4230 CreateFunctor(T** obj, R (__stdcall U::*method)(X1, X2, X3, X4, X5, A1, A2, A3, 4230 CreateFunctor(T** obj, R (__stdcall U::*method)(X1, X2, X3, X4, X5, A1, A2, A3,
4231 A4, A5), const P1& p1, const P2& p2, const P3& p3, const P4& p4, 4231 A4, A5), const P1& p1, const P2& p2, const P3& p3, const P4& p4,
4232 const P5& p5) { 4232 const P5& p5) {
4233 MutantRunner<R, Tuple5<A1, A2, A3, A4, A5> >* t = 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), 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> > 4235 Tuple5<P1, P2, P3, P4, P5>, Tuple5<A1, A2, A3, A4 , A5> >
4236 (obj, method, MakeTuple(p1, p2, p3, p4, p5)); 4236 (obj, method, MakeTuple(p1, p2, p3, p4, p5));
4237 return MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >(t); 4237 return MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >(t);
4238 } 4238 }
4239 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING 4239 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
4240 #endif // OS_WIN 4240 #endif // defined (OS_WIN) && !defined (ARCH_CPU_X86_64)
4241 4241
4242 // 5 - 6 4242 // 5 - 6
4243 template <typename R, typename T, typename U, typename P1, typename P2, 4243 template <typename R, typename T, typename U, typename P1, typename P2,
4244 typename P3, typename P4, typename P5, typename A1, typename A2, 4244 typename P3, typename P4, typename P5, typename A1, typename A2,
4245 typename A3, typename A4, typename A5, typename A6, typename X1, 4245 typename A3, typename A4, typename A5, typename A6, typename X1,
4246 typename X2, typename X3, typename X4, typename X5> 4246 typename X2, typename X3, typename X4, typename X5>
4247 inline MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> > 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, 4248 CreateFunctor(T* obj, R (U::*method)(X1, X2, X3, X4, X5, A1, A2, A3, A4, A5,
4249 A6), const P1& p1, const P2& p2, const P3& p3, const P4& p4, 4249 A6), const P1& p1, const P2& p2, const P3& p3, const P4& p4,
4250 const P5& p5) { 4250 const P5& p5) {
(...skipping 28 matching lines...) Expand all
4279 A6), const P1& p1, const P2& p2, const P3& p3, const P4& p4, 4279 A6), const P1& p1, const P2& p2, const P3& p3, const P4& p4,
4280 const P5& p5) { 4280 const P5& p5) {
4281 MutantRunner<R, Tuple6<A1, A2, A3, A4, A5, A6> >* t = 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), 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> > 4283 Tuple5<P1, P2, P3, P4, P5>, Tuple6<A1, A2, A3, A4 , A5, A6> >
4284 (obj, method, MakeTuple(p1, p2, p3, p4, p5)); 4284 (obj, method, MakeTuple(p1, p2, p3, p4, p5));
4285 return MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >(t); 4285 return MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >(t);
4286 } 4286 }
4287 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING 4287 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
4288 4288
4289 #if defined (OS_WIN) 4289 #if defined (OS_WIN) && !defined (ARCH_CPU_X86_64)
4290 template <typename R, typename T, typename U, typename P1, typename P2, 4290 template <typename R, typename T, typename U, typename P1, typename P2,
4291 typename P3, typename P4, typename P5, typename A1, typename A2, 4291 typename P3, typename P4, typename P5, typename A1, typename A2,
4292 typename A3, typename A4, typename A5, typename A6, typename X1, 4292 typename A3, typename A4, typename A5, typename A6, typename X1,
4293 typename X2, typename X3, typename X4, typename X5> 4293 typename X2, typename X3, typename X4, typename X5>
4294 inline MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> > 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, 4295 CreateFunctor(T* obj, R (__stdcall U::*method)(X1, X2, X3, X4, X5, A1, A2, A3,
4296 A4, A5, A6), const P1& p1, const P2& p2, const P3& p3, const P4& p4, 4296 A4, A5, A6), const P1& p1, const P2& p2, const P3& p3, const P4& p4,
4297 const P5& p5) { 4297 const P5& p5) {
4298 MutantRunner<R, Tuple6<A1, A2, A3, A4, A5, A6> >* t = 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), 4299 new Mutant<R, T, R (__stdcall U::*)(X1, X2, X3, X4, X5, A1, A2, A3, A4, A5 , A6),
(...skipping 25 matching lines...) Expand all
4325 CreateFunctor(T** obj, R (__stdcall U::*method)(X1, X2, X3, X4, X5, A1, A2, A3, 4325 CreateFunctor(T** obj, R (__stdcall U::*method)(X1, X2, X3, X4, X5, A1, A2, A3,
4326 A4, A5, A6), const P1& p1, const P2& p2, const P3& p3, const P4& p4, 4326 A4, A5, A6), const P1& p1, const P2& p2, const P3& p3, const P4& p4,
4327 const P5& p5) { 4327 const P5& p5) {
4328 MutantRunner<R, Tuple6<A1, A2, A3, A4, A5, A6> >* t = 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), 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> > 4330 Tuple5<P1, P2, P3, P4, P5>, Tuple6<A1, A2, A3, A4 , A5, A6> >
4331 (obj, method, MakeTuple(p1, p2, p3, p4, p5)); 4331 (obj, method, MakeTuple(p1, p2, p3, p4, p5));
4332 return MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >(t); 4332 return MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >(t);
4333 } 4333 }
4334 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING 4334 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
4335 #endif // OS_WIN 4335 #endif // defined (OS_WIN) && !defined (ARCH_CPU_X86_64)
4336 4336
4337 // 6 - 0 4337 // 6 - 0
4338 template <typename R, typename T, typename U, typename P1, typename P2, 4338 template <typename R, typename T, typename U, typename P1, typename P2,
4339 typename P3, typename P4, typename P5, typename P6, typename X1, 4339 typename P3, typename P4, typename P5, typename P6, typename X1,
4340 typename X2, typename X3, typename X4, typename X5, typename X6> 4340 typename X2, typename X3, typename X4, typename X5, typename X6>
4341 inline MutantFunctor<R, Tuple0> 4341 inline MutantFunctor<R, Tuple0>
4342 CreateFunctor(T* obj, R (U::*method)(X1, X2, X3, X4, X5, X6), const P1& p1, 4342 CreateFunctor(T* obj, R (U::*method)(X1, X2, X3, X4, X5, X6), const P1& p1,
4343 const P2& p2, const P3& p3, const P4& p4, const P5& p5, const P6& p6) { 4343 const P2& p2, const P3& p3, const P4& p4, const P5& p5, const P6& p6) {
4344 MutantRunner<R, Tuple0>* t = 4344 MutantRunner<R, Tuple0>* t =
4345 new Mutant<R, T, R (U::*)(X1, X2, X3, X4, X5, X6), 4345 new Mutant<R, T, R (U::*)(X1, X2, X3, X4, X5, X6),
(...skipping 23 matching lines...) Expand all
4369 CreateFunctor(T** obj, R (U::*method)(X1, X2, X3, X4, X5, X6), const P1& p1, 4369 CreateFunctor(T** obj, R (U::*method)(X1, X2, X3, X4, X5, X6), const P1& p1,
4370 const P2& p2, const P3& p3, const P4& p4, const P5& p5, const P6& p6) { 4370 const P2& p2, const P3& p3, const P4& p4, const P5& p5, const P6& p6) {
4371 MutantRunner<R, Tuple0>* t = 4371 MutantRunner<R, Tuple0>* t =
4372 new MutantLateObjectBind<R, T, R (U::*)(X1, X2, X3, X4, X5, X6), 4372 new MutantLateObjectBind<R, T, R (U::*)(X1, X2, X3, X4, X5, X6),
4373 Tuple6<P1, P2, P3, P4, P5, P6>, Tuple0> 4373 Tuple6<P1, P2, P3, P4, P5, P6>, Tuple0>
4374 (obj, method, MakeTuple(p1, p2, p3, p4, p5, p6)); 4374 (obj, method, MakeTuple(p1, p2, p3, p4, p5, p6));
4375 return MutantFunctor<R, Tuple0>(t); 4375 return MutantFunctor<R, Tuple0>(t);
4376 } 4376 }
4377 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING 4377 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
4378 4378
4379 #if defined (OS_WIN) 4379 #if defined (OS_WIN) && !defined (ARCH_CPU_X86_64)
4380 template <typename R, typename T, typename U, typename P1, typename P2, 4380 template <typename R, typename T, typename U, typename P1, typename P2,
4381 typename P3, typename P4, typename P5, typename P6, typename X1, 4381 typename P3, typename P4, typename P5, typename P6, typename X1,
4382 typename X2, typename X3, typename X4, typename X5, typename X6> 4382 typename X2, typename X3, typename X4, typename X5, typename X6>
4383 inline MutantFunctor<R, Tuple0> 4383 inline MutantFunctor<R, Tuple0>
4384 CreateFunctor(T* obj, R (__stdcall U::*method)(X1, X2, X3, X4, X5, X6), 4384 CreateFunctor(T* obj, R (__stdcall U::*method)(X1, X2, X3, X4, X5, X6),
4385 const P1& p1, const P2& p2, const P3& p3, const P4& p4, const P5& p5, 4385 const P1& p1, const P2& p2, const P3& p3, const P4& p4, const P5& p5,
4386 const P6& p6) { 4386 const P6& p6) {
4387 MutantRunner<R, Tuple0>* t = 4387 MutantRunner<R, Tuple0>* t =
4388 new Mutant<R, T, R (__stdcall U::*)(X1, X2, X3, X4, X5, X6), 4388 new Mutant<R, T, R (__stdcall U::*)(X1, X2, X3, X4, X5, X6),
4389 Tuple6<P1, P2, P3, P4, P5, P6>, Tuple0> 4389 Tuple6<P1, P2, P3, P4, P5, P6>, Tuple0>
(...skipping 21 matching lines...) Expand all
4411 CreateFunctor(T** obj, R (__stdcall U::*method)(X1, X2, X3, X4, X5, X6), 4411 CreateFunctor(T** obj, R (__stdcall U::*method)(X1, X2, X3, X4, X5, X6),
4412 const P1& p1, const P2& p2, const P3& p3, const P4& p4, const P5& p5, 4412 const P1& p1, const P2& p2, const P3& p3, const P4& p4, const P5& p5,
4413 const P6& p6) { 4413 const P6& p6) {
4414 MutantRunner<R, Tuple0>* t = 4414 MutantRunner<R, Tuple0>* t =
4415 new MutantLateObjectBind<R, T, R (__stdcall U::*)(X1, X2, X3, X4, X5, X6), 4415 new MutantLateObjectBind<R, T, R (__stdcall U::*)(X1, X2, X3, X4, X5, X6),
4416 Tuple6<P1, P2, P3, P4, P5, P6>, Tuple0> 4416 Tuple6<P1, P2, P3, P4, P5, P6>, Tuple0>
4417 (obj, method, MakeTuple(p1, p2, p3, p4, p5, p6)); 4417 (obj, method, MakeTuple(p1, p2, p3, p4, p5, p6));
4418 return MutantFunctor<R, Tuple0>(t); 4418 return MutantFunctor<R, Tuple0>(t);
4419 } 4419 }
4420 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING 4420 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
4421 #endif // OS_WIN 4421 #endif // defined (OS_WIN) && !defined (ARCH_CPU_X86_64)
4422 4422
4423 // 6 - 1 4423 // 6 - 1
4424 template <typename R, typename T, typename U, typename P1, typename P2, 4424 template <typename R, typename T, typename U, typename P1, typename P2,
4425 typename P3, typename P4, typename P5, typename P6, typename A1, 4425 typename P3, typename P4, typename P5, typename P6, typename A1,
4426 typename X1, typename X2, typename X3, typename X4, typename X5, 4426 typename X1, typename X2, typename X3, typename X4, typename X5,
4427 typename X6> 4427 typename X6>
4428 inline MutantFunctor<R, Tuple1<A1> > 4428 inline MutantFunctor<R, Tuple1<A1> >
4429 CreateFunctor(T* obj, R (U::*method)(X1, X2, X3, X4, X5, X6, A1), const P1& p1, 4429 CreateFunctor(T* obj, R (U::*method)(X1, X2, X3, X4, X5, X6, A1), const P1& p1,
4430 const P2& p2, const P3& p3, const P4& p4, const P5& p5, const P6& p6) { 4430 const P2& p2, const P3& p3, const P4& p4, const P5& p5, const P6& p6) {
4431 MutantRunner<R, Tuple1<A1> >* t = 4431 MutantRunner<R, Tuple1<A1> >* t =
(...skipping 25 matching lines...) Expand all
4457 CreateFunctor(T** obj, R (U::*method)(X1, X2, X3, X4, X5, X6, A1), const P1& p1, 4457 CreateFunctor(T** obj, R (U::*method)(X1, X2, X3, X4, X5, X6, A1), const P1& p1,
4458 const P2& p2, const P3& p3, const P4& p4, const P5& p5, const P6& p6) { 4458 const P2& p2, const P3& p3, const P4& p4, const P5& p5, const P6& p6) {
4459 MutantRunner<R, Tuple1<A1> >* t = 4459 MutantRunner<R, Tuple1<A1> >* t =
4460 new MutantLateObjectBind<R, T, R (U::*)(X1, X2, X3, X4, X5, X6, A1), 4460 new MutantLateObjectBind<R, T, R (U::*)(X1, X2, X3, X4, X5, X6, A1),
4461 Tuple6<P1, P2, P3, P4, P5, P6>, Tuple1<A1> > 4461 Tuple6<P1, P2, P3, P4, P5, P6>, Tuple1<A1> >
4462 (obj, method, MakeTuple(p1, p2, p3, p4, p5, p6)); 4462 (obj, method, MakeTuple(p1, p2, p3, p4, p5, p6));
4463 return MutantFunctor<R, Tuple1<A1> >(t); 4463 return MutantFunctor<R, Tuple1<A1> >(t);
4464 } 4464 }
4465 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING 4465 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
4466 4466
4467 #if defined (OS_WIN) 4467 #if defined (OS_WIN) && !defined (ARCH_CPU_X86_64)
4468 template <typename R, typename T, typename U, typename P1, typename P2, 4468 template <typename R, typename T, typename U, typename P1, typename P2,
4469 typename P3, typename P4, typename P5, typename P6, typename A1, 4469 typename P3, typename P4, typename P5, typename P6, typename A1,
4470 typename X1, typename X2, typename X3, typename X4, typename X5, 4470 typename X1, typename X2, typename X3, typename X4, typename X5,
4471 typename X6> 4471 typename X6>
4472 inline MutantFunctor<R, Tuple1<A1> > 4472 inline MutantFunctor<R, Tuple1<A1> >
4473 CreateFunctor(T* obj, R (__stdcall U::*method)(X1, X2, X3, X4, X5, X6, A1), 4473 CreateFunctor(T* obj, R (__stdcall U::*method)(X1, X2, X3, X4, X5, X6, A1),
4474 const P1& p1, const P2& p2, const P3& p3, const P4& p4, const P5& p5, 4474 const P1& p1, const P2& p2, const P3& p3, const P4& p4, const P5& p5,
4475 const P6& p6) { 4475 const P6& p6) {
4476 MutantRunner<R, Tuple1<A1> >* t = 4476 MutantRunner<R, Tuple1<A1> >* t =
4477 new Mutant<R, T, R (__stdcall U::*)(X1, X2, X3, X4, X5, X6, A1), 4477 new Mutant<R, T, R (__stdcall U::*)(X1, X2, X3, X4, X5, X6, A1),
(...skipping 23 matching lines...) Expand all
4501 CreateFunctor(T** obj, R (__stdcall U::*method)(X1, X2, X3, X4, X5, X6, A1), 4501 CreateFunctor(T** obj, R (__stdcall U::*method)(X1, X2, X3, X4, X5, X6, A1),
4502 const P1& p1, const P2& p2, const P3& p3, const P4& p4, const P5& p5, 4502 const P1& p1, const P2& p2, const P3& p3, const P4& p4, const P5& p5,
4503 const P6& p6) { 4503 const P6& p6) {
4504 MutantRunner<R, Tuple1<A1> >* t = 4504 MutantRunner<R, Tuple1<A1> >* t =
4505 new MutantLateObjectBind<R, T, R (__stdcall U::*)(X1, X2, X3, X4, X5, X6, A1), 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> > 4506 Tuple6<P1, P2, P3, P4, P5, P6>, Tuple1<A1> >
4507 (obj, method, MakeTuple(p1, p2, p3, p4, p5, p6)); 4507 (obj, method, MakeTuple(p1, p2, p3, p4, p5, p6));
4508 return MutantFunctor<R, Tuple1<A1> >(t); 4508 return MutantFunctor<R, Tuple1<A1> >(t);
4509 } 4509 }
4510 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING 4510 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
4511 #endif // OS_WIN 4511 #endif // defined (OS_WIN) && !defined (ARCH_CPU_X86_64)
4512 4512
4513 // 6 - 2 4513 // 6 - 2
4514 template <typename R, typename T, typename U, typename P1, typename P2, 4514 template <typename R, typename T, typename U, typename P1, typename P2,
4515 typename P3, typename P4, typename P5, typename P6, typename A1, 4515 typename P3, typename P4, typename P5, typename P6, typename A1,
4516 typename A2, typename X1, typename X2, typename X3, typename X4, 4516 typename A2, typename X1, typename X2, typename X3, typename X4,
4517 typename X5, typename X6> 4517 typename X5, typename X6>
4518 inline MutantFunctor<R, Tuple2<A1, A2> > 4518 inline MutantFunctor<R, Tuple2<A1, A2> >
4519 CreateFunctor(T* obj, R (U::*method)(X1, X2, X3, X4, X5, X6, A1, A2), 4519 CreateFunctor(T* obj, R (U::*method)(X1, X2, X3, X4, X5, X6, A1, A2),
4520 const P1& p1, const P2& p2, const P3& p3, const P4& p4, const P5& p5, 4520 const P1& p1, const P2& p2, const P3& p3, const P4& p4, const P5& p5,
4521 const P6& p6) { 4521 const P6& p6) {
(...skipping 27 matching lines...) Expand all
4549 const P1& p1, const P2& p2, const P3& p3, const P4& p4, const P5& p5, 4549 const P1& p1, const P2& p2, const P3& p3, const P4& p4, const P5& p5,
4550 const P6& p6) { 4550 const P6& p6) {
4551 MutantRunner<R, Tuple2<A1, A2> >* t = 4551 MutantRunner<R, Tuple2<A1, A2> >* t =
4552 new MutantLateObjectBind<R, T, R (U::*)(X1, X2, X3, X4, X5, X6, A1, A2), 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> > 4553 Tuple6<P1, P2, P3, P4, P5, P6>, Tuple2<A1, A2> >
4554 (obj, method, MakeTuple(p1, p2, p3, p4, p5, p6)); 4554 (obj, method, MakeTuple(p1, p2, p3, p4, p5, p6));
4555 return MutantFunctor<R, Tuple2<A1, A2> >(t); 4555 return MutantFunctor<R, Tuple2<A1, A2> >(t);
4556 } 4556 }
4557 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING 4557 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
4558 4558
4559 #if defined (OS_WIN) 4559 #if defined (OS_WIN) && !defined (ARCH_CPU_X86_64)
4560 template <typename R, typename T, typename U, typename P1, typename P2, 4560 template <typename R, typename T, typename U, typename P1, typename P2,
4561 typename P3, typename P4, typename P5, typename P6, typename A1, 4561 typename P3, typename P4, typename P5, typename P6, typename A1,
4562 typename A2, typename X1, typename X2, typename X3, typename X4, 4562 typename A2, typename X1, typename X2, typename X3, typename X4,
4563 typename X5, typename X6> 4563 typename X5, typename X6>
4564 inline MutantFunctor<R, Tuple2<A1, A2> > 4564 inline MutantFunctor<R, Tuple2<A1, A2> >
4565 CreateFunctor(T* obj, R (__stdcall U::*method)(X1, X2, X3, X4, X5, X6, A1, A2), 4565 CreateFunctor(T* obj, R (__stdcall U::*method)(X1, X2, X3, X4, X5, X6, A1, A2),
4566 const P1& p1, const P2& p2, const P3& p3, const P4& p4, const P5& p5, 4566 const P1& p1, const P2& p2, const P3& p3, const P4& p4, const P5& p5,
4567 const P6& p6) { 4567 const P6& p6) {
4568 MutantRunner<R, Tuple2<A1, A2> >* t = 4568 MutantRunner<R, Tuple2<A1, A2> >* t =
4569 new Mutant<R, T, R (__stdcall U::*)(X1, X2, X3, X4, X5, X6, A1, A2), 4569 new Mutant<R, T, R (__stdcall U::*)(X1, X2, X3, X4, X5, X6, A1, A2),
(...skipping 24 matching lines...) Expand all
4594 CreateFunctor(T** obj, R (__stdcall U::*method)(X1, X2, X3, X4, X5, X6, A1, A2), 4594 CreateFunctor(T** obj, R (__stdcall U::*method)(X1, X2, X3, X4, X5, X6, A1, A2),
4595 const P1& p1, const P2& p2, const P3& p3, const P4& p4, const P5& p5, 4595 const P1& p1, const P2& p2, const P3& p3, const P4& p4, const P5& p5,
4596 const P6& p6) { 4596 const P6& p6) {
4597 MutantRunner<R, Tuple2<A1, A2> >* t = 4597 MutantRunner<R, Tuple2<A1, A2> >* t =
4598 new MutantLateObjectBind<R, T, R (__stdcall U::*)(X1, X2, X3, X4, X5, X6, A1, A2), 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> > 4599 Tuple6<P1, P2, P3, P4, P5, P6>, Tuple2<A1, A2> >
4600 (obj, method, MakeTuple(p1, p2, p3, p4, p5, p6)); 4600 (obj, method, MakeTuple(p1, p2, p3, p4, p5, p6));
4601 return MutantFunctor<R, Tuple2<A1, A2> >(t); 4601 return MutantFunctor<R, Tuple2<A1, A2> >(t);
4602 } 4602 }
4603 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING 4603 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
4604 #endif // OS_WIN 4604 #endif // defined (OS_WIN) && !defined (ARCH_CPU_X86_64)
4605 4605
4606 // 6 - 3 4606 // 6 - 3
4607 template <typename R, typename T, typename U, typename P1, typename P2, 4607 template <typename R, typename T, typename U, typename P1, typename P2,
4608 typename P3, typename P4, typename P5, typename P6, typename A1, 4608 typename P3, typename P4, typename P5, typename P6, typename A1,
4609 typename A2, typename A3, typename X1, typename X2, typename X3, 4609 typename A2, typename A3, typename X1, typename X2, typename X3,
4610 typename X4, typename X5, typename X6> 4610 typename X4, typename X5, typename X6>
4611 inline MutantFunctor<R, Tuple3<A1, A2, A3> > 4611 inline MutantFunctor<R, Tuple3<A1, A2, A3> >
4612 CreateFunctor(T* obj, R (U::*method)(X1, X2, X3, X4, X5, X6, A1, A2, A3), 4612 CreateFunctor(T* obj, R (U::*method)(X1, X2, X3, X4, X5, X6, A1, A2, A3),
4613 const P1& p1, const P2& p2, const P3& p3, const P4& p4, const P5& p5, 4613 const P1& p1, const P2& p2, const P3& p3, const P4& p4, const P5& p5,
4614 const P6& p6) { 4614 const P6& p6) {
(...skipping 28 matching lines...) Expand all
4643 const P1& p1, const P2& p2, const P3& p3, const P4& p4, const P5& p5, 4643 const P1& p1, const P2& p2, const P3& p3, const P4& p4, const P5& p5,
4644 const P6& p6) { 4644 const P6& p6) {
4645 MutantRunner<R, Tuple3<A1, A2, A3> >* t = 4645 MutantRunner<R, Tuple3<A1, A2, A3> >* t =
4646 new MutantLateObjectBind<R, T, R (U::*)(X1, X2, X3, X4, X5, X6, A1, A2, A3 ), 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 > > 4647 Tuple6<P1, P2, P3, P4, P5, P6>, Tuple3<A1, A2, A3 > >
4648 (obj, method, MakeTuple(p1, p2, p3, p4, p5, p6)); 4648 (obj, method, MakeTuple(p1, p2, p3, p4, p5, p6));
4649 return MutantFunctor<R, Tuple3<A1, A2, A3> >(t); 4649 return MutantFunctor<R, Tuple3<A1, A2, A3> >(t);
4650 } 4650 }
4651 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING 4651 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
4652 4652
4653 #if defined (OS_WIN) 4653 #if defined (OS_WIN) && !defined (ARCH_CPU_X86_64)
4654 template <typename R, typename T, typename U, typename P1, typename P2, 4654 template <typename R, typename T, typename U, typename P1, typename P2,
4655 typename P3, typename P4, typename P5, typename P6, typename A1, 4655 typename P3, typename P4, typename P5, typename P6, typename A1,
4656 typename A2, typename A3, typename X1, typename X2, typename X3, 4656 typename A2, typename A3, typename X1, typename X2, typename X3,
4657 typename X4, typename X5, typename X6> 4657 typename X4, typename X5, typename X6>
4658 inline MutantFunctor<R, Tuple3<A1, A2, A3> > 4658 inline MutantFunctor<R, Tuple3<A1, A2, A3> >
4659 CreateFunctor(T* obj, R (__stdcall U::*method)(X1, X2, X3, X4, X5, X6, A1, A2, 4659 CreateFunctor(T* obj, R (__stdcall U::*method)(X1, X2, X3, X4, X5, X6, A1, A2,
4660 A3), const P1& p1, const P2& p2, const P3& p3, const P4& p4, const P5& p5, 4660 A3), const P1& p1, const P2& p2, const P3& p3, const P4& p4, const P5& p5,
4661 const P6& p6) { 4661 const P6& p6) {
4662 MutantRunner<R, Tuple3<A1, A2, A3> >* t = 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), 4663 new Mutant<R, T, R (__stdcall U::*)(X1, X2, X3, X4, X5, X6, A1, A2, A3),
(...skipping 25 matching lines...) Expand all
4689 CreateFunctor(T** obj, R (__stdcall U::*method)(X1, X2, X3, X4, X5, X6, A1, A2, 4689 CreateFunctor(T** obj, R (__stdcall U::*method)(X1, X2, X3, X4, X5, X6, A1, A2,
4690 A3), const P1& p1, const P2& p2, const P3& p3, const P4& p4, const P5& p5, 4690 A3), const P1& p1, const P2& p2, const P3& p3, const P4& p4, const P5& p5,
4691 const P6& p6) { 4691 const P6& p6) {
4692 MutantRunner<R, Tuple3<A1, A2, A3> >* t = 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), 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 > > 4694 Tuple6<P1, P2, P3, P4, P5, P6>, Tuple3<A1, A2, A3 > >
4695 (obj, method, MakeTuple(p1, p2, p3, p4, p5, p6)); 4695 (obj, method, MakeTuple(p1, p2, p3, p4, p5, p6));
4696 return MutantFunctor<R, Tuple3<A1, A2, A3> >(t); 4696 return MutantFunctor<R, Tuple3<A1, A2, A3> >(t);
4697 } 4697 }
4698 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING 4698 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
4699 #endif // OS_WIN 4699 #endif // defined (OS_WIN) && !defined (ARCH_CPU_X86_64)
4700 4700
4701 // 6 - 4 4701 // 6 - 4
4702 template <typename R, typename T, typename U, typename P1, typename P2, 4702 template <typename R, typename T, typename U, typename P1, typename P2,
4703 typename P3, typename P4, typename P5, typename P6, typename A1, 4703 typename P3, typename P4, typename P5, typename P6, typename A1,
4704 typename A2, typename A3, typename A4, typename X1, typename X2, 4704 typename A2, typename A3, typename A4, typename X1, typename X2,
4705 typename X3, typename X4, typename X5, typename X6> 4705 typename X3, typename X4, typename X5, typename X6>
4706 inline MutantFunctor<R, Tuple4<A1, A2, A3, A4> > 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), 4707 CreateFunctor(T* obj, R (U::*method)(X1, X2, X3, X4, X5, X6, A1, A2, A3, A4),
4708 const P1& p1, const P2& p2, const P3& p3, const P4& p4, const P5& p5, 4708 const P1& p1, const P2& p2, const P3& p3, const P4& p4, const P5& p5,
4709 const P6& p6) { 4709 const P6& p6) {
(...skipping 29 matching lines...) Expand all
4739 const P1& p1, const P2& p2, const P3& p3, const P4& p4, const P5& p5, 4739 const P1& p1, const P2& p2, const P3& p3, const P4& p4, const P5& p5,
4740 const P6& p6) { 4740 const P6& p6) {
4741 MutantRunner<R, Tuple4<A1, A2, A3, A4> >* t = 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), 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> > 4743 Tuple6<P1, P2, P3, P4, P5, P6>, Tuple4<A1, A2, A3 , A4> >
4744 (obj, method, MakeTuple(p1, p2, p3, p4, p5, p6)); 4744 (obj, method, MakeTuple(p1, p2, p3, p4, p5, p6));
4745 return MutantFunctor<R, Tuple4<A1, A2, A3, A4> >(t); 4745 return MutantFunctor<R, Tuple4<A1, A2, A3, A4> >(t);
4746 } 4746 }
4747 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING 4747 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
4748 4748
4749 #if defined (OS_WIN) 4749 #if defined (OS_WIN) && !defined (ARCH_CPU_X86_64)
4750 template <typename R, typename T, typename U, typename P1, typename P2, 4750 template <typename R, typename T, typename U, typename P1, typename P2,
4751 typename P3, typename P4, typename P5, typename P6, typename A1, 4751 typename P3, typename P4, typename P5, typename P6, typename A1,
4752 typename A2, typename A3, typename A4, typename X1, typename X2, 4752 typename A2, typename A3, typename A4, typename X1, typename X2,
4753 typename X3, typename X4, typename X5, typename X6> 4753 typename X3, typename X4, typename X5, typename X6>
4754 inline MutantFunctor<R, Tuple4<A1, A2, A3, A4> > 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, 4755 CreateFunctor(T* obj, R (__stdcall U::*method)(X1, X2, X3, X4, X5, X6, A1, A2,
4756 A3, A4), const P1& p1, const P2& p2, const P3& p3, const P4& p4, 4756 A3, A4), const P1& p1, const P2& p2, const P3& p3, const P4& p4,
4757 const P5& p5, const P6& p6) { 4757 const P5& p5, const P6& p6) {
4758 MutantRunner<R, Tuple4<A1, A2, A3, A4> >* t = 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 ), 4759 new Mutant<R, T, R (__stdcall U::*)(X1, X2, X3, X4, X5, X6, A1, A2, A3, A4 ),
(...skipping 25 matching lines...) Expand all
4785 CreateFunctor(T** obj, R (__stdcall U::*method)(X1, X2, X3, X4, X5, X6, A1, A2, 4785 CreateFunctor(T** obj, R (__stdcall U::*method)(X1, X2, X3, X4, X5, X6, A1, A2,
4786 A3, A4), const P1& p1, const P2& p2, const P3& p3, const P4& p4, 4786 A3, A4), const P1& p1, const P2& p2, const P3& p3, const P4& p4,
4787 const P5& p5, const P6& p6) { 4787 const P5& p5, const P6& p6) {
4788 MutantRunner<R, Tuple4<A1, A2, A3, A4> >* t = 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), 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> > 4790 Tuple6<P1, P2, P3, P4, P5, P6>, Tuple4<A1, A2, A3 , A4> >
4791 (obj, method, MakeTuple(p1, p2, p3, p4, p5, p6)); 4791 (obj, method, MakeTuple(p1, p2, p3, p4, p5, p6));
4792 return MutantFunctor<R, Tuple4<A1, A2, A3, A4> >(t); 4792 return MutantFunctor<R, Tuple4<A1, A2, A3, A4> >(t);
4793 } 4793 }
4794 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING 4794 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
4795 #endif // OS_WIN 4795 #endif // defined (OS_WIN) && !defined (ARCH_CPU_X86_64)
4796 4796
4797 // 6 - 5 4797 // 6 - 5
4798 template <typename R, typename T, typename U, typename P1, typename P2, 4798 template <typename R, typename T, typename U, typename P1, typename P2,
4799 typename P3, typename P4, typename P5, typename P6, typename A1, 4799 typename P3, typename P4, typename P5, typename P6, typename A1,
4800 typename A2, typename A3, typename A4, typename A5, typename X1, 4800 typename A2, typename A3, typename A4, typename A5, typename X1,
4801 typename X2, typename X3, typename X4, typename X5, typename X6> 4801 typename X2, typename X3, typename X4, typename X5, typename X6>
4802 inline MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> > 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, 4803 CreateFunctor(T* obj, R (U::*method)(X1, X2, X3, X4, X5, X6, A1, A2, A3, A4,
4804 A5), const P1& p1, const P2& p2, const P3& p3, const P4& p4, const P5& p5, 4804 A5), const P1& p1, const P2& p2, const P3& p3, const P4& p4, const P5& p5,
4805 const P6& p6) { 4805 const P6& p6) {
(...skipping 29 matching lines...) Expand all
4835 A5), const P1& p1, const P2& p2, const P3& p3, const P4& p4, const P5& p5, 4835 A5), const P1& p1, const P2& p2, const P3& p3, const P4& p4, const P5& p5,
4836 const P6& p6) { 4836 const P6& p6) {
4837 MutantRunner<R, Tuple5<A1, A2, A3, A4, A5> >* t = 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), 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> > 4839 Tuple6<P1, P2, P3, P4, P5, P6>, Tuple5<A1, A2, A3 , A4, A5> >
4840 (obj, method, MakeTuple(p1, p2, p3, p4, p5, p6)); 4840 (obj, method, MakeTuple(p1, p2, p3, p4, p5, p6));
4841 return MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >(t); 4841 return MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >(t);
4842 } 4842 }
4843 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING 4843 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
4844 4844
4845 #if defined (OS_WIN) 4845 #if defined (OS_WIN) && !defined (ARCH_CPU_X86_64)
4846 template <typename R, typename T, typename U, typename P1, typename P2, 4846 template <typename R, typename T, typename U, typename P1, typename P2,
4847 typename P3, typename P4, typename P5, typename P6, typename A1, 4847 typename P3, typename P4, typename P5, typename P6, typename A1,
4848 typename A2, typename A3, typename A4, typename A5, typename X1, 4848 typename A2, typename A3, typename A4, typename A5, typename X1,
4849 typename X2, typename X3, typename X4, typename X5, typename X6> 4849 typename X2, typename X3, typename X4, typename X5, typename X6>
4850 inline MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> > 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, 4851 CreateFunctor(T* obj, R (__stdcall U::*method)(X1, X2, X3, X4, X5, X6, A1, A2,
4852 A3, A4, A5), const P1& p1, const P2& p2, const P3& p3, const P4& p4, 4852 A3, A4, A5), const P1& p1, const P2& p2, const P3& p3, const P4& p4,
4853 const P5& p5, const P6& p6) { 4853 const P5& p5, const P6& p6) {
4854 MutantRunner<R, Tuple5<A1, A2, A3, A4, A5> >* t = 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), 4855 new Mutant<R, T, R (__stdcall U::*)(X1, X2, X3, X4, X5, X6, A1, A2, A3, A4 , A5),
(...skipping 25 matching lines...) Expand all
4881 CreateFunctor(T** obj, R (__stdcall U::*method)(X1, X2, X3, X4, X5, X6, A1, A2, 4881 CreateFunctor(T** obj, R (__stdcall U::*method)(X1, X2, X3, X4, X5, X6, A1, A2,
4882 A3, A4, A5), const P1& p1, const P2& p2, const P3& p3, const P4& p4, 4882 A3, A4, A5), const P1& p1, const P2& p2, const P3& p3, const P4& p4,
4883 const P5& p5, const P6& p6) { 4883 const P5& p5, const P6& p6) {
4884 MutantRunner<R, Tuple5<A1, A2, A3, A4, A5> >* t = 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), 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> > 4886 Tuple6<P1, P2, P3, P4, P5, P6>, Tuple5<A1, A2, A3 , A4, A5> >
4887 (obj, method, MakeTuple(p1, p2, p3, p4, p5, p6)); 4887 (obj, method, MakeTuple(p1, p2, p3, p4, p5, p6));
4888 return MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >(t); 4888 return MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >(t);
4889 } 4889 }
4890 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING 4890 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
4891 #endif // OS_WIN 4891 #endif // defined (OS_WIN) && !defined (ARCH_CPU_X86_64)
4892 4892
4893 // 6 - 6 4893 // 6 - 6
4894 template <typename R, typename T, typename U, typename P1, typename P2, 4894 template <typename R, typename T, typename U, typename P1, typename P2,
4895 typename P3, typename P4, typename P5, typename P6, typename A1, 4895 typename P3, typename P4, typename P5, typename P6, typename A1,
4896 typename A2, typename A3, typename A4, typename A5, typename A6, 4896 typename A2, typename A3, typename A4, typename A5, typename A6,
4897 typename X1, typename X2, typename X3, typename X4, typename X5, 4897 typename X1, typename X2, typename X3, typename X4, typename X5,
4898 typename X6> 4898 typename X6>
4899 inline MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> > 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, 4900 CreateFunctor(T* obj, R (U::*method)(X1, X2, X3, X4, X5, X6, A1, A2, A3, A4, A5,
4901 A6), const P1& p1, const P2& p2, const P3& p3, const P4& p4, const P5& p5, 4901 A6), const P1& p1, const P2& p2, const P3& p3, const P4& p4, const P5& p5,
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
4933 A6), const P1& p1, const P2& p2, const P3& p3, const P4& p4, const P5& p5, 4933 A6), const P1& p1, const P2& p2, const P3& p3, const P4& p4, const P5& p5,
4934 const P6& p6) { 4934 const P6& p6) {
4935 MutantRunner<R, Tuple6<A1, A2, A3, A4, A5, A6> >* t = 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), 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> > 4937 Tuple6<P1, P2, P3, P4, P5, P6>, Tuple6<A1, A2, A3 , A4, A5, A6> >
4938 (obj, method, MakeTuple(p1, p2, p3, p4, p5, p6)); 4938 (obj, method, MakeTuple(p1, p2, p3, p4, p5, p6));
4939 return MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >(t); 4939 return MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >(t);
4940 } 4940 }
4941 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING 4941 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
4942 4942
4943 #if defined (OS_WIN) 4943 #if defined (OS_WIN) && !defined (ARCH_CPU_X86_64)
4944 template <typename R, typename T, typename U, typename P1, typename P2, 4944 template <typename R, typename T, typename U, typename P1, typename P2,
4945 typename P3, typename P4, typename P5, typename P6, typename A1, 4945 typename P3, typename P4, typename P5, typename P6, typename A1,
4946 typename A2, typename A3, typename A4, typename A5, typename A6, 4946 typename A2, typename A3, typename A4, typename A5, typename A6,
4947 typename X1, typename X2, typename X3, typename X4, typename X5, 4947 typename X1, typename X2, typename X3, typename X4, typename X5,
4948 typename X6> 4948 typename X6>
4949 inline MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> > 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, 4950 CreateFunctor(T* obj, R (__stdcall U::*method)(X1, X2, X3, X4, X5, X6, A1, A2,
4951 A3, A4, A5, A6), const P1& p1, const P2& p2, const P3& p3, const P4& p4, 4951 A3, A4, A5, A6), const P1& p1, const P2& p2, const P3& p3, const P4& p4,
4952 const P5& p5, const P6& p6) { 4952 const P5& p5, const P6& p6) {
4953 MutantRunner<R, Tuple6<A1, A2, A3, A4, A5, A6> >* t = 4953 MutantRunner<R, Tuple6<A1, A2, A3, A4, A5, A6> >* t =
(...skipping 27 matching lines...) Expand all
4981 CreateFunctor(T** obj, R (__stdcall U::*method)(X1, X2, X3, X4, X5, X6, A1, A2, 4981 CreateFunctor(T** obj, R (__stdcall U::*method)(X1, X2, X3, X4, X5, X6, A1, A2,
4982 A3, A4, A5, A6), const P1& p1, const P2& p2, const P3& p3, const P4& p4, 4982 A3, A4, A5, A6), const P1& p1, const P2& p2, const P3& p3, const P4& p4,
4983 const P5& p5, const P6& p6) { 4983 const P5& p5, const P6& p6) {
4984 MutantRunner<R, Tuple6<A1, A2, A3, A4, A5, A6> >* t = 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), 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> > 4986 Tuple6<P1, P2, P3, P4, P5, P6>, Tuple6<A1, A2, A3 , A4, A5, A6> >
4987 (obj, method, MakeTuple(p1, p2, p3, p4, p5, p6)); 4987 (obj, method, MakeTuple(p1, p2, p3, p4, p5, p6));
4988 return MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >(t); 4988 return MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >(t);
4989 } 4989 }
4990 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING 4990 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
4991 #endif // OS_WIN 4991 #endif // defined (OS_WIN) && !defined (ARCH_CPU_X86_64)
4992 4992
4993 } // namespace testing 4993 } // namespace testing
4994 4994
4995 #endif // TESTING_GMOCK_MUTANT_H_ 4995 #endif // TESTING_GMOCK_MUTANT_H_
OLDNEW
« no previous file with comments | « testing/generate_gmock_mutant.py ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698