Index: testing/gmock_mutant.h |
=================================================================== |
--- testing/gmock_mutant.h (revision 32501) |
+++ testing/gmock_mutant.h (working copy) |
@@ -650,6 +650,16 @@ |
(obj, method, MakeTuple()); |
return MutantFunctor<R, Tuple0>(t); |
} |
+ |
+template <typename R> |
+inline MutantFunctor<R, Tuple0> |
+CreateFunctor(R (__stdcall *function)()) { |
+ MutantRunner<R, Tuple0>* t = |
+ new MutantFunction<R, R (__stdcall *)(), |
+ Tuple0, Tuple0> |
+ (function, MakeTuple()); |
+ return MutantFunctor<R, Tuple0>(t); |
+} |
#ifdef GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING |
template <typename R, typename T, typename U> |
inline MutantFunctor<R, Tuple0> |
@@ -706,6 +716,16 @@ |
(obj, method, MakeTuple()); |
return MutantFunctor<R, Tuple1<A1> >(t); |
} |
+ |
+template <typename R, typename A1> |
+inline MutantFunctor<R, Tuple1<A1> > |
+CreateFunctor(R (__stdcall *function)(A1)) { |
+ MutantRunner<R, Tuple1<A1> >* t = |
+ new MutantFunction<R, R (__stdcall *)(A1), |
+ Tuple0, Tuple1<A1> > |
+ (function, MakeTuple()); |
+ return MutantFunctor<R, Tuple1<A1> >(t); |
+} |
#ifdef GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING |
template <typename R, typename T, typename U, typename A1> |
inline MutantFunctor<R, Tuple1<A1> > |
@@ -762,6 +782,16 @@ |
(obj, method, MakeTuple()); |
return MutantFunctor<R, Tuple2<A1, A2> >(t); |
} |
+ |
+template <typename R, typename A1, typename A2> |
+inline MutantFunctor<R, Tuple2<A1, A2> > |
+CreateFunctor(R (__stdcall *function)(A1, A2)) { |
+ MutantRunner<R, Tuple2<A1, A2> >* t = |
+ new MutantFunction<R, R (__stdcall *)(A1, A2), |
+ Tuple0, Tuple2<A1, A2> > |
+ (function, MakeTuple()); |
+ return MutantFunctor<R, Tuple2<A1, A2> >(t); |
+} |
#ifdef GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING |
template <typename R, typename T, typename U, typename A1, typename A2> |
inline MutantFunctor<R, Tuple2<A1, A2> > |
@@ -821,6 +851,16 @@ |
(obj, method, MakeTuple()); |
return MutantFunctor<R, Tuple3<A1, A2, A3> >(t); |
} |
+ |
+template <typename R, typename A1, typename A2, typename A3> |
+inline MutantFunctor<R, Tuple3<A1, A2, A3> > |
+CreateFunctor(R (__stdcall *function)(A1, A2, A3)) { |
+ MutantRunner<R, Tuple3<A1, A2, A3> >* t = |
+ new MutantFunction<R, R (__stdcall *)(A1, A2, A3), |
+ Tuple0, Tuple3<A1, A2, A3> > |
+ (function, MakeTuple()); |
+ return MutantFunctor<R, Tuple3<A1, A2, A3> >(t); |
+} |
#ifdef GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING |
template <typename R, typename T, typename U, typename A1, typename A2, |
typename A3> |
@@ -881,6 +921,16 @@ |
(obj, method, MakeTuple()); |
return MutantFunctor<R, Tuple4<A1, A2, A3, A4> >(t); |
} |
+ |
+template <typename R, typename A1, typename A2, typename A3, typename A4> |
+inline MutantFunctor<R, Tuple4<A1, A2, A3, A4> > |
+CreateFunctor(R (__stdcall *function)(A1, A2, A3, A4)) { |
+ MutantRunner<R, Tuple4<A1, A2, A3, A4> >* t = |
+ new MutantFunction<R, R (__stdcall *)(A1, A2, A3, A4), |
+ Tuple0, Tuple4<A1, A2, A3, A4> > |
+ (function, MakeTuple()); |
+ return MutantFunctor<R, Tuple4<A1, A2, A3, A4> >(t); |
+} |
#ifdef GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING |
template <typename R, typename T, typename U, typename A1, typename A2, |
typename A3, typename A4> |
@@ -938,6 +988,16 @@ |
(obj, method, MakeTuple(p1)); |
return MutantFunctor<R, Tuple0>(t); |
} |
+ |
+template <typename R, typename P1, typename X1> |
+inline MutantFunctor<R, Tuple0> |
+CreateFunctor(R (__stdcall *function)(X1), const P1& p1) { |
+ MutantRunner<R, Tuple0>* t = |
+ new MutantFunction<R, R (__stdcall *)(X1), |
+ Tuple1<P1>, Tuple0> |
+ (function, MakeTuple(p1)); |
+ return MutantFunctor<R, Tuple0>(t); |
+} |
#ifdef GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING |
template <typename R, typename T, typename U, typename P1, typename X1> |
inline MutantFunctor<R, Tuple0> |
@@ -997,6 +1057,16 @@ |
(obj, method, MakeTuple(p1)); |
return MutantFunctor<R, Tuple1<A1> >(t); |
} |
+ |
+template <typename R, typename P1, typename A1, typename X1> |
+inline MutantFunctor<R, Tuple1<A1> > |
+CreateFunctor(R (__stdcall *function)(X1, A1), const P1& p1) { |
+ MutantRunner<R, Tuple1<A1> >* t = |
+ new MutantFunction<R, R (__stdcall *)(X1, A1), |
+ Tuple1<P1>, Tuple1<A1> > |
+ (function, MakeTuple(p1)); |
+ return MutantFunctor<R, Tuple1<A1> >(t); |
+} |
#ifdef GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING |
template <typename R, typename T, typename U, typename P1, typename A1, |
typename X1> |
@@ -1057,6 +1127,16 @@ |
(obj, method, MakeTuple(p1)); |
return MutantFunctor<R, Tuple2<A1, A2> >(t); |
} |
+ |
+template <typename R, typename P1, typename A1, typename A2, typename X1> |
+inline MutantFunctor<R, Tuple2<A1, A2> > |
+CreateFunctor(R (__stdcall *function)(X1, A1, A2), const P1& p1) { |
+ MutantRunner<R, Tuple2<A1, A2> >* t = |
+ new MutantFunction<R, R (__stdcall *)(X1, A1, A2), |
+ Tuple1<P1>, Tuple2<A1, A2> > |
+ (function, MakeTuple(p1)); |
+ return MutantFunctor<R, Tuple2<A1, A2> >(t); |
+} |
#ifdef GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING |
template <typename R, typename T, typename U, typename P1, typename A1, |
typename A2, typename X1> |
@@ -1118,6 +1198,17 @@ |
(obj, method, MakeTuple(p1)); |
return MutantFunctor<R, Tuple3<A1, A2, A3> >(t); |
} |
+ |
+template <typename R, typename P1, typename A1, typename A2, typename A3, |
+ typename X1> |
+inline MutantFunctor<R, Tuple3<A1, A2, A3> > |
+CreateFunctor(R (__stdcall *function)(X1, A1, A2, A3), const P1& p1) { |
+ MutantRunner<R, Tuple3<A1, A2, A3> >* t = |
+ new MutantFunction<R, R (__stdcall *)(X1, A1, A2, A3), |
+ Tuple1<P1>, Tuple3<A1, A2, A3> > |
+ (function, MakeTuple(p1)); |
+ return MutantFunctor<R, Tuple3<A1, A2, A3> >(t); |
+} |
#ifdef GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING |
template <typename R, typename T, typename U, typename P1, typename A1, |
typename A2, typename A3, typename X1> |
@@ -1180,6 +1271,17 @@ |
(obj, method, MakeTuple(p1)); |
return MutantFunctor<R, Tuple4<A1, A2, A3, A4> >(t); |
} |
+ |
+template <typename R, typename P1, typename A1, typename A2, typename A3, |
+ typename A4, typename X1> |
+inline MutantFunctor<R, Tuple4<A1, A2, A3, A4> > |
+CreateFunctor(R (__stdcall *function)(X1, A1, A2, A3, A4), const P1& p1) { |
+ MutantRunner<R, Tuple4<A1, A2, A3, A4> >* t = |
+ new MutantFunction<R, R (__stdcall *)(X1, A1, A2, A3, A4), |
+ Tuple1<P1>, Tuple4<A1, A2, A3, A4> > |
+ (function, MakeTuple(p1)); |
+ return MutantFunctor<R, Tuple4<A1, A2, A3, A4> >(t); |
+} |
#ifdef GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING |
template <typename R, typename T, typename U, typename P1, typename A1, |
typename A2, typename A3, typename A4, typename X1> |
@@ -1242,6 +1344,16 @@ |
(obj, method, MakeTuple(p1, p2)); |
return MutantFunctor<R, Tuple0>(t); |
} |
+ |
+template <typename R, typename P1, typename P2, typename X1, typename X2> |
+inline MutantFunctor<R, Tuple0> |
+CreateFunctor(R (__stdcall *function)(X1, X2), const P1& p1, const P2& p2) { |
+ MutantRunner<R, Tuple0>* t = |
+ new MutantFunction<R, R (__stdcall *)(X1, X2), |
+ Tuple2<P1, P2>, Tuple0> |
+ (function, MakeTuple(p1, p2)); |
+ return MutantFunctor<R, Tuple0>(t); |
+} |
#ifdef GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING |
template <typename R, typename T, typename U, typename P1, typename P2, |
typename X1, typename X2> |
@@ -1305,6 +1417,18 @@ |
(obj, method, MakeTuple(p1, p2)); |
return MutantFunctor<R, Tuple1<A1> >(t); |
} |
+ |
+template <typename R, typename P1, typename P2, typename A1, typename X1, |
+ typename X2> |
+inline MutantFunctor<R, Tuple1<A1> > |
+CreateFunctor(R (__stdcall *function)(X1, X2, A1), const P1& p1, |
+ const P2& p2) { |
+ MutantRunner<R, Tuple1<A1> >* t = |
+ new MutantFunction<R, R (__stdcall *)(X1, X2, A1), |
+ Tuple2<P1, P2>, Tuple1<A1> > |
+ (function, MakeTuple(p1, p2)); |
+ return MutantFunctor<R, Tuple1<A1> >(t); |
+} |
#ifdef GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING |
template <typename R, typename T, typename U, typename P1, typename P2, |
typename A1, typename X1, typename X2> |
@@ -1370,6 +1494,18 @@ |
(obj, method, MakeTuple(p1, p2)); |
return MutantFunctor<R, Tuple2<A1, A2> >(t); |
} |
+ |
+template <typename R, typename P1, typename P2, typename A1, typename A2, |
+ typename X1, typename X2> |
+inline MutantFunctor<R, Tuple2<A1, A2> > |
+CreateFunctor(R (__stdcall *function)(X1, X2, A1, A2), const P1& p1, |
+ const P2& p2) { |
+ MutantRunner<R, Tuple2<A1, A2> >* t = |
+ new MutantFunction<R, R (__stdcall *)(X1, X2, A1, A2), |
+ Tuple2<P1, P2>, Tuple2<A1, A2> > |
+ (function, MakeTuple(p1, p2)); |
+ return MutantFunctor<R, Tuple2<A1, A2> >(t); |
+} |
#ifdef GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING |
template <typename R, typename T, typename U, typename P1, typename P2, |
typename A1, typename A2, typename X1, typename X2> |
@@ -1435,6 +1571,18 @@ |
(obj, method, MakeTuple(p1, p2)); |
return MutantFunctor<R, Tuple3<A1, A2, A3> >(t); |
} |
+ |
+template <typename R, typename P1, typename P2, typename A1, typename A2, |
+ typename A3, typename X1, typename X2> |
+inline MutantFunctor<R, Tuple3<A1, A2, A3> > |
+CreateFunctor(R (__stdcall *function)(X1, X2, A1, A2, A3), const P1& p1, |
+ const P2& p2) { |
+ MutantRunner<R, Tuple3<A1, A2, A3> >* t = |
+ new MutantFunction<R, R (__stdcall *)(X1, X2, A1, A2, A3), |
+ Tuple2<P1, P2>, Tuple3<A1, A2, A3> > |
+ (function, MakeTuple(p1, p2)); |
+ return MutantFunctor<R, Tuple3<A1, A2, A3> >(t); |
+} |
#ifdef GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING |
template <typename R, typename T, typename U, typename P1, typename P2, |
typename A1, typename A2, typename A3, typename X1, typename X2> |
@@ -1504,6 +1652,18 @@ |
(obj, method, MakeTuple(p1, p2)); |
return MutantFunctor<R, Tuple4<A1, A2, A3, A4> >(t); |
} |
+ |
+template <typename R, typename P1, typename P2, typename A1, typename A2, |
+ typename A3, typename A4, typename X1, typename X2> |
+inline MutantFunctor<R, Tuple4<A1, A2, A3, A4> > |
+CreateFunctor(R (__stdcall *function)(X1, X2, A1, A2, A3, A4), const P1& p1, |
+ const P2& p2) { |
+ MutantRunner<R, Tuple4<A1, A2, A3, A4> >* t = |
+ new MutantFunction<R, R (__stdcall *)(X1, X2, A1, A2, A3, A4), |
+ Tuple2<P1, P2>, Tuple4<A1, A2, A3, A4> > |
+ (function, MakeTuple(p1, p2)); |
+ return MutantFunctor<R, Tuple4<A1, A2, A3, A4> >(t); |
+} |
#ifdef GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING |
template <typename R, typename T, typename U, typename P1, typename P2, |
typename A1, typename A2, typename A3, typename A4, typename X1, |
@@ -1571,6 +1731,18 @@ |
(obj, method, MakeTuple(p1, p2, p3)); |
return MutantFunctor<R, Tuple0>(t); |
} |
+ |
+template <typename R, typename P1, typename P2, typename P3, typename X1, |
+ typename X2, typename X3> |
+inline MutantFunctor<R, Tuple0> |
+CreateFunctor(R (__stdcall *function)(X1, X2, X3), const P1& p1, const P2& p2, |
+ const P3& p3) { |
+ MutantRunner<R, Tuple0>* t = |
+ new MutantFunction<R, R (__stdcall *)(X1, X2, X3), |
+ Tuple3<P1, P2, P3>, Tuple0> |
+ (function, MakeTuple(p1, p2, p3)); |
+ return MutantFunctor<R, Tuple0>(t); |
+} |
#ifdef GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING |
template <typename R, typename T, typename U, typename P1, typename P2, |
typename P3, typename X1, typename X2, typename X3> |
@@ -1637,6 +1809,18 @@ |
(obj, method, MakeTuple(p1, p2, p3)); |
return MutantFunctor<R, Tuple1<A1> >(t); |
} |
+ |
+template <typename R, typename P1, typename P2, typename P3, typename A1, |
+ typename X1, typename X2, typename X3> |
+inline MutantFunctor<R, Tuple1<A1> > |
+CreateFunctor(R (__stdcall *function)(X1, X2, X3, A1), const P1& p1, |
+ const P2& p2, const P3& p3) { |
+ MutantRunner<R, Tuple1<A1> >* t = |
+ new MutantFunction<R, R (__stdcall *)(X1, X2, X3, A1), |
+ Tuple3<P1, P2, P3>, Tuple1<A1> > |
+ (function, MakeTuple(p1, p2, p3)); |
+ return MutantFunctor<R, Tuple1<A1> >(t); |
+} |
#ifdef GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING |
template <typename R, typename T, typename U, typename P1, typename P2, |
typename P3, typename A1, typename X1, typename X2, typename X3> |
@@ -1706,6 +1890,18 @@ |
(obj, method, MakeTuple(p1, p2, p3)); |
return MutantFunctor<R, Tuple2<A1, A2> >(t); |
} |
+ |
+template <typename R, typename P1, typename P2, typename P3, typename A1, |
+ typename A2, typename X1, typename X2, typename X3> |
+inline MutantFunctor<R, Tuple2<A1, A2> > |
+CreateFunctor(R (__stdcall *function)(X1, X2, X3, A1, A2), const P1& p1, |
+ const P2& p2, const P3& p3) { |
+ MutantRunner<R, Tuple2<A1, A2> >* t = |
+ new MutantFunction<R, R (__stdcall *)(X1, X2, X3, A1, A2), |
+ Tuple3<P1, P2, P3>, Tuple2<A1, A2> > |
+ (function, MakeTuple(p1, p2, p3)); |
+ return MutantFunctor<R, Tuple2<A1, A2> >(t); |
+} |
#ifdef GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING |
template <typename R, typename T, typename U, typename P1, typename P2, |
typename P3, typename A1, typename A2, typename X1, typename X2, |
@@ -1776,6 +1972,18 @@ |
(obj, method, MakeTuple(p1, p2, p3)); |
return MutantFunctor<R, Tuple3<A1, A2, A3> >(t); |
} |
+ |
+template <typename R, typename P1, typename P2, typename P3, typename A1, |
+ typename A2, typename A3, typename X1, typename X2, typename X3> |
+inline MutantFunctor<R, Tuple3<A1, A2, A3> > |
+CreateFunctor(R (__stdcall *function)(X1, X2, X3, A1, A2, A3), const P1& p1, |
+ const P2& p2, const P3& p3) { |
+ MutantRunner<R, Tuple3<A1, A2, A3> >* t = |
+ new MutantFunction<R, R (__stdcall *)(X1, X2, X3, A1, A2, A3), |
+ Tuple3<P1, P2, P3>, Tuple3<A1, A2, A3> > |
+ (function, MakeTuple(p1, p2, p3)); |
+ return MutantFunctor<R, Tuple3<A1, A2, A3> >(t); |
+} |
#ifdef GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING |
template <typename R, typename T, typename U, typename P1, typename P2, |
typename P3, typename A1, typename A2, typename A3, typename X1, |
@@ -1847,6 +2055,19 @@ |
(obj, method, MakeTuple(p1, p2, p3)); |
return MutantFunctor<R, Tuple4<A1, A2, A3, A4> >(t); |
} |
+ |
+template <typename R, typename P1, typename P2, typename P3, typename A1, |
+ typename A2, typename A3, typename A4, typename X1, typename X2, |
+ typename X3> |
+inline MutantFunctor<R, Tuple4<A1, A2, A3, A4> > |
+CreateFunctor(R (__stdcall *function)(X1, X2, X3, A1, A2, A3, A4), const P1& p1, |
+ const P2& p2, const P3& p3) { |
+ MutantRunner<R, Tuple4<A1, A2, A3, A4> >* t = |
+ new MutantFunction<R, R (__stdcall *)(X1, X2, X3, A1, A2, A3, A4), |
+ Tuple3<P1, P2, P3>, Tuple4<A1, A2, A3, A4> > |
+ (function, MakeTuple(p1, p2, p3)); |
+ return MutantFunctor<R, Tuple4<A1, A2, A3, A4> >(t); |
+} |
#ifdef GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING |
template <typename R, typename T, typename U, typename P1, typename P2, |
typename P3, typename A1, typename A2, typename A3, typename A4, |
@@ -1917,6 +2138,18 @@ |
(obj, method, MakeTuple(p1, p2, p3, p4)); |
return MutantFunctor<R, Tuple0>(t); |
} |
+ |
+template <typename R, typename P1, typename P2, typename P3, typename P4, |
+ typename X1, typename X2, typename X3, typename X4> |
+inline MutantFunctor<R, Tuple0> |
+CreateFunctor(R (__stdcall *function)(X1, X2, X3, X4), const P1& p1, |
+ const P2& p2, const P3& p3, const P4& p4) { |
+ MutantRunner<R, Tuple0>* t = |
+ new MutantFunction<R, R (__stdcall *)(X1, X2, X3, X4), |
+ Tuple4<P1, P2, P3, P4>, Tuple0> |
+ (function, MakeTuple(p1, p2, p3, p4)); |
+ return MutantFunctor<R, Tuple0>(t); |
+} |
#ifdef GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING |
template <typename R, typename T, typename U, typename P1, typename P2, |
typename P3, typename P4, typename X1, typename X2, typename X3, |
@@ -1987,6 +2220,18 @@ |
(obj, method, MakeTuple(p1, p2, p3, p4)); |
return MutantFunctor<R, Tuple1<A1> >(t); |
} |
+ |
+template <typename R, typename P1, typename P2, typename P3, typename P4, |
+ typename A1, typename X1, typename X2, typename X3, typename X4> |
+inline MutantFunctor<R, Tuple1<A1> > |
+CreateFunctor(R (__stdcall *function)(X1, X2, X3, X4, A1), const P1& p1, |
+ const P2& p2, const P3& p3, const P4& p4) { |
+ MutantRunner<R, Tuple1<A1> >* t = |
+ new MutantFunction<R, R (__stdcall *)(X1, X2, X3, X4, A1), |
+ Tuple4<P1, P2, P3, P4>, Tuple1<A1> > |
+ (function, MakeTuple(p1, p2, p3, p4)); |
+ return MutantFunctor<R, Tuple1<A1> >(t); |
+} |
#ifdef GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING |
template <typename R, typename T, typename U, typename P1, typename P2, |
typename P3, typename P4, typename A1, typename X1, typename X2, |
@@ -2058,6 +2303,19 @@ |
(obj, method, MakeTuple(p1, p2, p3, p4)); |
return MutantFunctor<R, Tuple2<A1, A2> >(t); |
} |
+ |
+template <typename R, typename P1, typename P2, typename P3, typename P4, |
+ typename A1, typename A2, typename X1, typename X2, typename X3, |
+ typename X4> |
+inline MutantFunctor<R, Tuple2<A1, A2> > |
+CreateFunctor(R (__stdcall *function)(X1, X2, X3, X4, A1, A2), const P1& p1, |
+ const P2& p2, const P3& p3, const P4& p4) { |
+ MutantRunner<R, Tuple2<A1, A2> >* t = |
+ new MutantFunction<R, R (__stdcall *)(X1, X2, X3, X4, A1, A2), |
+ Tuple4<P1, P2, P3, P4>, Tuple2<A1, A2> > |
+ (function, MakeTuple(p1, p2, p3, p4)); |
+ return MutantFunctor<R, Tuple2<A1, A2> >(t); |
+} |
#ifdef GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING |
template <typename R, typename T, typename U, typename P1, typename P2, |
typename P3, typename P4, typename A1, typename A2, typename X1, |
@@ -2129,6 +2387,19 @@ |
(obj, method, MakeTuple(p1, p2, p3, p4)); |
return MutantFunctor<R, Tuple3<A1, A2, A3> >(t); |
} |
+ |
+template <typename R, typename P1, typename P2, typename P3, typename P4, |
+ typename A1, typename A2, typename A3, typename X1, typename X2, |
+ typename X3, typename X4> |
+inline MutantFunctor<R, Tuple3<A1, A2, A3> > |
+CreateFunctor(R (__stdcall *function)(X1, X2, X3, X4, A1, A2, A3), const P1& p1, |
+ const P2& p2, const P3& p3, const P4& p4) { |
+ MutantRunner<R, Tuple3<A1, A2, A3> >* t = |
+ new MutantFunction<R, R (__stdcall *)(X1, X2, X3, X4, A1, A2, A3), |
+ Tuple4<P1, P2, P3, P4>, Tuple3<A1, A2, A3> > |
+ (function, MakeTuple(p1, p2, p3, p4)); |
+ return MutantFunctor<R, Tuple3<A1, A2, A3> >(t); |
+} |
#ifdef GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING |
template <typename R, typename T, typename U, typename P1, typename P2, |
typename P3, typename P4, typename A1, typename A2, typename A3, |
@@ -2200,6 +2471,19 @@ |
(obj, method, MakeTuple(p1, p2, p3, p4)); |
return MutantFunctor<R, Tuple4<A1, A2, A3, A4> >(t); |
} |
+ |
+template <typename R, typename P1, typename P2, typename P3, typename P4, |
+ typename A1, typename A2, typename A3, typename A4, typename X1, |
+ typename X2, typename X3, typename X4> |
+inline MutantFunctor<R, Tuple4<A1, A2, A3, A4> > |
+CreateFunctor(R (__stdcall *function)(X1, X2, X3, X4, A1, A2, A3, A4), |
+ const P1& p1, const P2& p2, const P3& p3, const P4& p4) { |
+ MutantRunner<R, Tuple4<A1, A2, A3, A4> >* t = |
+ new MutantFunction<R, R (__stdcall *)(X1, X2, X3, X4, A1, A2, A3, A4), |
+ Tuple4<P1, P2, P3, P4>, Tuple4<A1, A2, A3, A4> > |
+ (function, MakeTuple(p1, p2, p3, p4)); |
+ return MutantFunctor<R, Tuple4<A1, A2, A3, A4> >(t); |
+} |
#ifdef GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING |
template <typename R, typename T, typename U, typename P1, typename P2, |
typename P3, typename P4, typename A1, typename A2, typename A3, |