| Index: testing/gmock_mutant.h
|
| ===================================================================
|
| --- testing/gmock_mutant.h (revision 38776)
|
| +++ testing/gmock_mutant.h (working copy)
|
| @@ -181,6 +181,38 @@
|
| return (*function)(c.a, c.b, c.c, c.d);
|
| }
|
|
|
| +// 0 - 5
|
| +template <typename R, typename T, typename Method, typename C1, typename C2,
|
| + typename C3, typename C4, typename C5>
|
| +inline R DispatchToMethod(T* obj, Method method,
|
| + const Tuple0& p,
|
| + const Tuple5<C1, C2, C3, C4, C5>& c) {
|
| + return (obj->*method)(c.a, c.b, c.c, c.d, c.e);
|
| +}
|
| +template <typename R, typename Function, typename C1, typename C2, typename C3,
|
| + typename C4, typename C5>
|
| +inline R DispatchToFunction(Function function,
|
| + const Tuple0& p,
|
| + const Tuple5<C1, C2, C3, C4, C5>& c) {
|
| + return (*function)(c.a, c.b, c.c, c.d, c.e);
|
| +}
|
| +
|
| +// 0 - 6
|
| +template <typename R, typename T, typename Method, typename C1, typename C2,
|
| + typename C3, typename C4, typename C5, typename C6>
|
| +inline R DispatchToMethod(T* obj, Method method,
|
| + const Tuple0& p,
|
| + const Tuple6<C1, C2, C3, C4, C5, C6>& c) {
|
| + return (obj->*method)(c.a, c.b, c.c, c.d, c.e, c.f);
|
| +}
|
| +template <typename R, typename Function, typename C1, typename C2, typename C3,
|
| + typename C4, typename C5, typename C6>
|
| +inline R DispatchToFunction(Function function,
|
| + const Tuple0& p,
|
| + const Tuple6<C1, C2, C3, C4, C5, C6>& c) {
|
| + return (*function)(c.a, c.b, c.c, c.d, c.e, c.f);
|
| +}
|
| +
|
| // 1 - 0
|
| template <typename R, typename T, typename Method, typename P1>
|
| inline R DispatchToMethod(T* obj, Method method,
|
| @@ -256,6 +288,38 @@
|
| return (*function)(p.a, c.a, c.b, c.c, c.d);
|
| }
|
|
|
| +// 1 - 5
|
| +template <typename R, typename T, typename Method, typename P1, typename C1,
|
| + typename C2, typename C3, typename C4, typename C5>
|
| +inline R DispatchToMethod(T* obj, Method method,
|
| + const Tuple1<P1>& p,
|
| + const Tuple5<C1, C2, C3, C4, C5>& c) {
|
| + return (obj->*method)(p.a, c.a, c.b, c.c, c.d, c.e);
|
| +}
|
| +template <typename R, typename Function, typename P1, typename C1, typename C2,
|
| + typename C3, typename C4, typename C5>
|
| +inline R DispatchToFunction(Function function,
|
| + const Tuple1<P1>& p,
|
| + const Tuple5<C1, C2, C3, C4, C5>& c) {
|
| + return (*function)(p.a, c.a, c.b, c.c, c.d, c.e);
|
| +}
|
| +
|
| +// 1 - 6
|
| +template <typename R, typename T, typename Method, typename P1, typename C1,
|
| + typename C2, typename C3, typename C4, typename C5, typename C6>
|
| +inline R DispatchToMethod(T* obj, Method method,
|
| + const Tuple1<P1>& p,
|
| + const Tuple6<C1, C2, C3, C4, C5, C6>& c) {
|
| + return (obj->*method)(p.a, c.a, c.b, c.c, c.d, c.e, c.f);
|
| +}
|
| +template <typename R, typename Function, typename P1, typename C1, typename C2,
|
| + typename C3, typename C4, typename C5, typename C6>
|
| +inline R DispatchToFunction(Function function,
|
| + const Tuple1<P1>& p,
|
| + const Tuple6<C1, C2, C3, C4, C5, C6>& c) {
|
| + return (*function)(p.a, c.a, c.b, c.c, c.d, c.e, c.f);
|
| +}
|
| +
|
| // 2 - 0
|
| template <typename R, typename T, typename Method, typename P1, typename P2>
|
| inline R DispatchToMethod(T* obj, Method method,
|
| @@ -333,6 +397,39 @@
|
| return (*function)(p.a, p.b, c.a, c.b, c.c, c.d);
|
| }
|
|
|
| +// 2 - 5
|
| +template <typename R, typename T, typename Method, typename P1, typename P2,
|
| + typename C1, typename C2, typename C3, typename C4, typename C5>
|
| +inline R DispatchToMethod(T* obj, Method method,
|
| + const Tuple2<P1, P2>& p,
|
| + const Tuple5<C1, C2, C3, C4, C5>& c) {
|
| + return (obj->*method)(p.a, p.b, c.a, c.b, c.c, c.d, c.e);
|
| +}
|
| +template <typename R, typename Function, typename P1, typename P2, typename C1,
|
| + typename C2, typename C3, typename C4, typename C5>
|
| +inline R DispatchToFunction(Function function,
|
| + const Tuple2<P1, P2>& p,
|
| + const Tuple5<C1, C2, C3, C4, C5>& c) {
|
| + return (*function)(p.a, p.b, c.a, c.b, c.c, c.d, c.e);
|
| +}
|
| +
|
| +// 2 - 6
|
| +template <typename R, typename T, typename Method, typename P1, typename P2,
|
| + typename C1, typename C2, typename C3, typename C4, typename C5,
|
| + typename C6>
|
| +inline R DispatchToMethod(T* obj, Method method,
|
| + const Tuple2<P1, P2>& p,
|
| + const Tuple6<C1, C2, C3, C4, C5, C6>& c) {
|
| + return (obj->*method)(p.a, p.b, c.a, c.b, c.c, c.d, c.e, c.f);
|
| +}
|
| +template <typename R, typename Function, typename P1, typename P2, typename C1,
|
| + typename C2, typename C3, typename C4, typename C5, typename C6>
|
| +inline R DispatchToFunction(Function function,
|
| + const Tuple2<P1, P2>& p,
|
| + const Tuple6<C1, C2, C3, C4, C5, C6>& c) {
|
| + return (*function)(p.a, p.b, c.a, c.b, c.c, c.d, c.e, c.f);
|
| +}
|
| +
|
| // 3 - 0
|
| template <typename R, typename T, typename Method, typename P1, typename P2,
|
| typename P3>
|
| @@ -412,6 +509,41 @@
|
| return (*function)(p.a, p.b, p.c, c.a, c.b, c.c, c.d);
|
| }
|
|
|
| +// 3 - 5
|
| +template <typename R, typename T, typename Method, typename P1, typename P2,
|
| + typename P3, typename C1, typename C2, typename C3, typename C4,
|
| + typename C5>
|
| +inline R DispatchToMethod(T* obj, Method method,
|
| + const Tuple3<P1, P2, P3>& p,
|
| + const Tuple5<C1, C2, C3, C4, C5>& c) {
|
| + return (obj->*method)(p.a, p.b, p.c, c.a, c.b, c.c, c.d, c.e);
|
| +}
|
| +template <typename R, typename Function, typename P1, typename P2, typename P3,
|
| + typename C1, typename C2, typename C3, typename C4, typename C5>
|
| +inline R DispatchToFunction(Function function,
|
| + const Tuple3<P1, P2, P3>& p,
|
| + const Tuple5<C1, C2, C3, C4, C5>& c) {
|
| + return (*function)(p.a, p.b, p.c, c.a, c.b, c.c, c.d, c.e);
|
| +}
|
| +
|
| +// 3 - 6
|
| +template <typename R, typename T, typename Method, typename P1, typename P2,
|
| + typename P3, typename C1, typename C2, typename C3, typename C4,
|
| + typename C5, typename C6>
|
| +inline R DispatchToMethod(T* obj, Method method,
|
| + const Tuple3<P1, P2, P3>& p,
|
| + const Tuple6<C1, C2, C3, C4, C5, C6>& c) {
|
| + return (obj->*method)(p.a, p.b, p.c, c.a, c.b, c.c, c.d, c.e, c.f);
|
| +}
|
| +template <typename R, typename Function, typename P1, typename P2, typename P3,
|
| + typename C1, typename C2, typename C3, typename C4, typename C5,
|
| + typename C6>
|
| +inline R DispatchToFunction(Function function,
|
| + const Tuple3<P1, P2, P3>& p,
|
| + const Tuple6<C1, C2, C3, C4, C5, C6>& c) {
|
| + return (*function)(p.a, p.b, p.c, c.a, c.b, c.c, c.d, c.e, c.f);
|
| +}
|
| +
|
| // 4 - 0
|
| template <typename R, typename T, typename Method, typename P1, typename P2,
|
| typename P3, typename P4>
|
| @@ -493,6 +625,282 @@
|
| return (*function)(p.a, p.b, p.c, p.d, c.a, c.b, c.c, c.d);
|
| }
|
|
|
| +// 4 - 5
|
| +template <typename R, typename T, typename Method, typename P1, typename P2,
|
| + typename P3, typename P4, typename C1, typename C2, typename C3,
|
| + typename C4, typename C5>
|
| +inline R DispatchToMethod(T* obj, Method method,
|
| + const Tuple4<P1, P2, P3, P4>& p,
|
| + const Tuple5<C1, C2, C3, C4, C5>& c) {
|
| + return (obj->*method)(p.a, p.b, p.c, p.d, c.a, c.b, c.c, c.d, c.e);
|
| +}
|
| +template <typename R, typename Function, typename P1, typename P2, typename P3,
|
| + typename P4, typename C1, typename C2, typename C3, typename C4,
|
| + typename C5>
|
| +inline R DispatchToFunction(Function function,
|
| + const Tuple4<P1, P2, P3, P4>& p,
|
| + const Tuple5<C1, C2, C3, C4, C5>& c) {
|
| + return (*function)(p.a, p.b, p.c, p.d, c.a, c.b, c.c, c.d, c.e);
|
| +}
|
| +
|
| +// 4 - 6
|
| +template <typename R, typename T, typename Method, typename P1, typename P2,
|
| + typename P3, typename P4, typename C1, typename C2, typename C3,
|
| + typename C4, typename C5, typename C6>
|
| +inline R DispatchToMethod(T* obj, Method method,
|
| + const Tuple4<P1, P2, P3, P4>& p,
|
| + const Tuple6<C1, C2, C3, C4, C5, C6>& c) {
|
| + return (obj->*method)(p.a, p.b, p.c, p.d, c.a, c.b, c.c, c.d, c.e, c.f);
|
| +}
|
| +template <typename R, typename Function, typename P1, typename P2, typename P3,
|
| + typename P4, typename C1, typename C2, typename C3, typename C4,
|
| + typename C5, typename C6>
|
| +inline R DispatchToFunction(Function function,
|
| + const Tuple4<P1, P2, P3, P4>& p,
|
| + const Tuple6<C1, C2, C3, C4, C5, C6>& c) {
|
| + return (*function)(p.a, p.b, p.c, p.d, c.a, c.b, c.c, c.d, c.e, c.f);
|
| +}
|
| +
|
| +// 5 - 0
|
| +template <typename R, typename T, typename Method, typename P1, typename P2,
|
| + typename P3, typename P4, typename P5>
|
| +inline R DispatchToMethod(T* obj, Method method,
|
| + const Tuple5<P1, P2, P3, P4, P5>& p,
|
| + const Tuple0& c) {
|
| + return (obj->*method)(p.a, p.b, p.c, p.d, p.e);
|
| +}
|
| +template <typename R, typename Function, typename P1, typename P2, typename P3,
|
| + typename P4, typename P5>
|
| +inline R DispatchToFunction(Function function,
|
| + const Tuple5<P1, P2, P3, P4, P5>& p,
|
| + const Tuple0& c) {
|
| + return (*function)(p.a, p.b, p.c, p.d, p.e);
|
| +}
|
| +
|
| +// 5 - 1
|
| +template <typename R, typename T, typename Method, typename P1, typename P2,
|
| + typename P3, typename P4, typename P5, typename C1>
|
| +inline R DispatchToMethod(T* obj, Method method,
|
| + const Tuple5<P1, P2, P3, P4, P5>& p,
|
| + const Tuple1<C1>& c) {
|
| + return (obj->*method)(p.a, p.b, p.c, p.d, p.e, c.a);
|
| +}
|
| +template <typename R, typename Function, typename P1, typename P2, typename P3,
|
| + typename P4, typename P5, typename C1>
|
| +inline R DispatchToFunction(Function function,
|
| + const Tuple5<P1, P2, P3, P4, P5>& p,
|
| + const Tuple1<C1>& c) {
|
| + return (*function)(p.a, p.b, p.c, p.d, p.e, c.a);
|
| +}
|
| +
|
| +// 5 - 2
|
| +template <typename R, typename T, typename Method, typename P1, typename P2,
|
| + typename P3, typename P4, typename P5, typename C1, typename C2>
|
| +inline R DispatchToMethod(T* obj, Method method,
|
| + const Tuple5<P1, P2, P3, P4, P5>& p,
|
| + const Tuple2<C1, C2>& c) {
|
| + return (obj->*method)(p.a, p.b, p.c, p.d, p.e, c.a, c.b);
|
| +}
|
| +template <typename R, typename Function, typename P1, typename P2, typename P3,
|
| + typename P4, typename P5, typename C1, typename C2>
|
| +inline R DispatchToFunction(Function function,
|
| + const Tuple5<P1, P2, P3, P4, P5>& p,
|
| + const Tuple2<C1, C2>& c) {
|
| + return (*function)(p.a, p.b, p.c, p.d, p.e, c.a, c.b);
|
| +}
|
| +
|
| +// 5 - 3
|
| +template <typename R, typename T, typename Method, typename P1, typename P2,
|
| + typename P3, typename P4, typename P5, typename C1, typename C2,
|
| + typename C3>
|
| +inline R DispatchToMethod(T* obj, Method method,
|
| + const Tuple5<P1, P2, P3, P4, P5>& p,
|
| + const Tuple3<C1, C2, C3>& c) {
|
| + return (obj->*method)(p.a, p.b, p.c, p.d, p.e, c.a, c.b, c.c);
|
| +}
|
| +template <typename R, typename Function, typename P1, typename P2, typename P3,
|
| + typename P4, typename P5, typename C1, typename C2, typename C3>
|
| +inline R DispatchToFunction(Function function,
|
| + const Tuple5<P1, P2, P3, P4, P5>& p,
|
| + const Tuple3<C1, C2, C3>& c) {
|
| + return (*function)(p.a, p.b, p.c, p.d, p.e, c.a, c.b, c.c);
|
| +}
|
| +
|
| +// 5 - 4
|
| +template <typename R, typename T, typename Method, typename P1, typename P2,
|
| + typename P3, typename P4, typename P5, typename C1, typename C2,
|
| + typename C3, typename C4>
|
| +inline R DispatchToMethod(T* obj, Method method,
|
| + const Tuple5<P1, P2, P3, P4, P5>& p,
|
| + const Tuple4<C1, C2, C3, C4>& c) {
|
| + return (obj->*method)(p.a, p.b, p.c, p.d, p.e, c.a, c.b, c.c, c.d);
|
| +}
|
| +template <typename R, typename Function, typename P1, typename P2, typename P3,
|
| + typename P4, typename P5, typename C1, typename C2, typename C3,
|
| + typename C4>
|
| +inline R DispatchToFunction(Function function,
|
| + const Tuple5<P1, P2, P3, P4, P5>& p,
|
| + const Tuple4<C1, C2, C3, C4>& c) {
|
| + return (*function)(p.a, p.b, p.c, p.d, p.e, c.a, c.b, c.c, c.d);
|
| +}
|
| +
|
| +// 5 - 5
|
| +template <typename R, typename T, typename Method, typename P1, typename P2,
|
| + typename P3, typename P4, typename P5, typename C1, typename C2,
|
| + typename C3, typename C4, typename C5>
|
| +inline R DispatchToMethod(T* obj, Method method,
|
| + const Tuple5<P1, P2, P3, P4, P5>& p,
|
| + const Tuple5<C1, C2, C3, C4, C5>& c) {
|
| + return (obj->*method)(p.a, p.b, p.c, p.d, p.e, c.a, c.b, c.c, c.d, c.e);
|
| +}
|
| +template <typename R, typename Function, typename P1, typename P2, typename P3,
|
| + typename P4, typename P5, typename C1, typename C2, typename C3,
|
| + typename C4, typename C5>
|
| +inline R DispatchToFunction(Function function,
|
| + const Tuple5<P1, P2, P3, P4, P5>& p,
|
| + const Tuple5<C1, C2, C3, C4, C5>& c) {
|
| + return (*function)(p.a, p.b, p.c, p.d, p.e, c.a, c.b, c.c, c.d, c.e);
|
| +}
|
| +
|
| +// 5 - 6
|
| +template <typename R, typename T, typename Method, typename P1, typename P2,
|
| + typename P3, typename P4, typename P5, typename C1, typename C2,
|
| + typename C3, typename C4, typename C5, typename C6>
|
| +inline R DispatchToMethod(T* obj, Method method,
|
| + const Tuple5<P1, P2, P3, P4, P5>& p,
|
| + const Tuple6<C1, C2, C3, C4, C5, C6>& c) {
|
| + return (obj->*method)(p.a, p.b, p.c, p.d, p.e, c.a, c.b, c.c, c.d, c.e, c.f);
|
| +}
|
| +template <typename R, typename Function, typename P1, typename P2, typename P3,
|
| + typename P4, typename P5, typename C1, typename C2, typename C3,
|
| + typename C4, typename C5, typename C6>
|
| +inline R DispatchToFunction(Function function,
|
| + const Tuple5<P1, P2, P3, P4, P5>& p,
|
| + const Tuple6<C1, C2, C3, C4, C5, C6>& c) {
|
| + return (*function)(p.a, p.b, p.c, p.d, p.e, c.a, c.b, c.c, c.d, c.e, c.f);
|
| +}
|
| +
|
| +// 6 - 0
|
| +template <typename R, typename T, typename Method, typename P1, typename P2,
|
| + typename P3, typename P4, typename P5, typename P6>
|
| +inline R DispatchToMethod(T* obj, Method method,
|
| + const Tuple6<P1, P2, P3, P4, P5, P6>& p,
|
| + const Tuple0& c) {
|
| + return (obj->*method)(p.a, p.b, p.c, p.d, p.e, p.f);
|
| +}
|
| +template <typename R, typename Function, typename P1, typename P2, typename P3,
|
| + typename P4, typename P5, typename P6>
|
| +inline R DispatchToFunction(Function function,
|
| + const Tuple6<P1, P2, P3, P4, P5, P6>& p,
|
| + const Tuple0& c) {
|
| + return (*function)(p.a, p.b, p.c, p.d, p.e, p.f);
|
| +}
|
| +
|
| +// 6 - 1
|
| +template <typename R, typename T, typename Method, typename P1, typename P2,
|
| + typename P3, typename P4, typename P5, typename P6, typename C1>
|
| +inline R DispatchToMethod(T* obj, Method method,
|
| + const Tuple6<P1, P2, P3, P4, P5, P6>& p,
|
| + const Tuple1<C1>& c) {
|
| + return (obj->*method)(p.a, p.b, p.c, p.d, p.e, p.f, c.a);
|
| +}
|
| +template <typename R, typename Function, typename P1, typename P2, typename P3,
|
| + typename P4, typename P5, typename P6, typename C1>
|
| +inline R DispatchToFunction(Function function,
|
| + const Tuple6<P1, P2, P3, P4, P5, P6>& p,
|
| + const Tuple1<C1>& c) {
|
| + return (*function)(p.a, p.b, p.c, p.d, p.e, p.f, c.a);
|
| +}
|
| +
|
| +// 6 - 2
|
| +template <typename R, typename T, typename Method, typename P1, typename P2,
|
| + typename P3, typename P4, typename P5, typename P6, typename C1,
|
| + typename C2>
|
| +inline R DispatchToMethod(T* obj, Method method,
|
| + const Tuple6<P1, P2, P3, P4, P5, P6>& p,
|
| + const Tuple2<C1, C2>& c) {
|
| + return (obj->*method)(p.a, p.b, p.c, p.d, p.e, p.f, c.a, c.b);
|
| +}
|
| +template <typename R, typename Function, typename P1, typename P2, typename P3,
|
| + typename P4, typename P5, typename P6, typename C1, typename C2>
|
| +inline R DispatchToFunction(Function function,
|
| + const Tuple6<P1, P2, P3, P4, P5, P6>& p,
|
| + const Tuple2<C1, C2>& c) {
|
| + return (*function)(p.a, p.b, p.c, p.d, p.e, p.f, c.a, c.b);
|
| +}
|
| +
|
| +// 6 - 3
|
| +template <typename R, typename T, typename Method, typename P1, typename P2,
|
| + typename P3, typename P4, typename P5, typename P6, typename C1,
|
| + typename C2, typename C3>
|
| +inline R DispatchToMethod(T* obj, Method method,
|
| + const Tuple6<P1, P2, P3, P4, P5, P6>& p,
|
| + const Tuple3<C1, C2, C3>& c) {
|
| + return (obj->*method)(p.a, p.b, p.c, p.d, p.e, p.f, c.a, c.b, c.c);
|
| +}
|
| +template <typename R, typename Function, typename P1, typename P2, typename P3,
|
| + typename P4, typename P5, typename P6, typename C1, typename C2,
|
| + typename C3>
|
| +inline R DispatchToFunction(Function function,
|
| + const Tuple6<P1, P2, P3, P4, P5, P6>& p,
|
| + const Tuple3<C1, C2, C3>& c) {
|
| + return (*function)(p.a, p.b, p.c, p.d, p.e, p.f, c.a, c.b, c.c);
|
| +}
|
| +
|
| +// 6 - 4
|
| +template <typename R, typename T, typename Method, typename P1, typename P2,
|
| + typename P3, typename P4, typename P5, typename P6, typename C1,
|
| + typename C2, typename C3, typename C4>
|
| +inline R DispatchToMethod(T* obj, Method method,
|
| + const Tuple6<P1, P2, P3, P4, P5, P6>& p,
|
| + const Tuple4<C1, C2, C3, C4>& c) {
|
| + return (obj->*method)(p.a, p.b, p.c, p.d, p.e, p.f, c.a, c.b, c.c, c.d);
|
| +}
|
| +template <typename R, typename Function, typename P1, typename P2, typename P3,
|
| + typename P4, typename P5, typename P6, typename C1, typename C2,
|
| + typename C3, typename C4>
|
| +inline R DispatchToFunction(Function function,
|
| + const Tuple6<P1, P2, P3, P4, P5, P6>& p,
|
| + const Tuple4<C1, C2, C3, C4>& c) {
|
| + return (*function)(p.a, p.b, p.c, p.d, p.e, p.f, c.a, c.b, c.c, c.d);
|
| +}
|
| +
|
| +// 6 - 5
|
| +template <typename R, typename T, typename Method, typename P1, typename P2,
|
| + typename P3, typename P4, typename P5, typename P6, typename C1,
|
| + typename C2, typename C3, typename C4, typename C5>
|
| +inline R DispatchToMethod(T* obj, Method method,
|
| + const Tuple6<P1, P2, P3, P4, P5, P6>& p,
|
| + const Tuple5<C1, C2, C3, C4, C5>& c) {
|
| + return (obj->*method)(p.a, p.b, p.c, p.d, p.e, p.f, c.a, c.b, c.c, c.d, c.e);
|
| +}
|
| +template <typename R, typename Function, typename P1, typename P2, typename P3,
|
| + typename P4, typename P5, typename P6, typename C1, typename C2,
|
| + typename C3, typename C4, typename C5>
|
| +inline R DispatchToFunction(Function function,
|
| + const Tuple6<P1, P2, P3, P4, P5, P6>& p,
|
| + const Tuple5<C1, C2, C3, C4, C5>& c) {
|
| + return (*function)(p.a, p.b, p.c, p.d, p.e, p.f, c.a, c.b, c.c, c.d, c.e);
|
| +}
|
| +
|
| +// 6 - 6
|
| +template <typename R, typename T, typename Method, typename P1, typename P2,
|
| + typename P3, typename P4, typename P5, typename P6, typename C1,
|
| + typename C2, typename C3, typename C4, typename C5, typename C6>
|
| +inline R DispatchToMethod(T* obj, Method method,
|
| + const Tuple6<P1, P2, P3, P4, P5, P6>& p,
|
| + const Tuple6<C1, C2, C3, C4, C5, C6>& c) {
|
| + return (obj->*method)(p.a, p.b, p.c, p.d, p.e, p.f, c.a, c.b, c.c, c.d, c.e, c.f);
|
| +}
|
| +template <typename R, typename Function, typename P1, typename P2, typename P3,
|
| + typename P4, typename P5, typename P6, typename C1, typename C2,
|
| + typename C3, typename C4, typename C5, typename C6>
|
| +inline R DispatchToFunction(Function function,
|
| + const Tuple6<P1, P2, P3, P4, P5, P6>& p,
|
| + const Tuple6<C1, C2, C3, C4, C5, C6>& c) {
|
| + return (*function)(p.a, p.b, p.c, p.d, p.e, p.f, c.a, c.b, c.c, c.d, c.e, c.f);
|
| +}
|
| +
|
| // Interface that is exposed to the consumer, that does the actual calling
|
| // of the method.
|
| template <typename R, typename Params>
|
| @@ -945,6 +1353,150 @@
|
| #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
|
| #endif // OS_WIN
|
|
|
| +// 0 - 5
|
| +template <typename R, typename T, typename U, typename A1, typename A2,
|
| + typename A3, typename A4, typename A5>
|
| +inline MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >
|
| +CreateFunctor(T* obj, R (U::*method)(A1, A2, A3, A4, A5)) {
|
| + MutantRunner<R, Tuple5<A1, A2, A3, A4, A5> >* t =
|
| + new Mutant<R, T, R (U::*)(A1, A2, A3, A4, A5),
|
| + Tuple0, Tuple5<A1, A2, A3, A4, A5> >
|
| + (obj, method, MakeTuple());
|
| + return MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >(t);
|
| +}
|
| +
|
| +template <typename R, typename A1, typename A2, typename A3, typename A4,
|
| + typename A5>
|
| +inline MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >
|
| +CreateFunctor(R (*function)(A1, A2, A3, A4, A5)) {
|
| + MutantRunner<R, Tuple5<A1, A2, A3, A4, A5> >* t =
|
| + new MutantFunction<R, R (*)(A1, A2, A3, A4, A5),
|
| + Tuple0, Tuple5<A1, A2, A3, A4, A5> >
|
| + (function, MakeTuple());
|
| + return MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >(t);
|
| +}
|
| +
|
| +#ifdef GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
|
| +template <typename R, typename T, typename U, typename A1, typename A2,
|
| + typename A3, typename A4, typename A5>
|
| +inline MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >
|
| +CreateFunctor(T** obj, R (U::*method)(A1, A2, A3, A4, A5)) {
|
| + MutantRunner<R, Tuple5<A1, A2, A3, A4, A5> >* t =
|
| + new MutantLateObjectBind<R, T, R (U::*)(A1, A2, A3, A4, A5),
|
| + Tuple0, Tuple5<A1, A2, A3, A4, A5> >
|
| + (obj, method, MakeTuple());
|
| + return MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >(t);
|
| +}
|
| +#endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
|
| +
|
| +#if defined (OS_WIN)
|
| +template <typename R, typename T, typename U, typename A1, typename A2,
|
| + typename A3, typename A4, typename A5>
|
| +inline MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >
|
| +CreateFunctor(T* obj, R (__stdcall U::*method)(A1, A2, A3, A4, A5)) {
|
| + MutantRunner<R, Tuple5<A1, A2, A3, A4, A5> >* t =
|
| + new Mutant<R, T, R (__stdcall U::*)(A1, A2, A3, A4, A5),
|
| + Tuple0, Tuple5<A1, A2, A3, A4, A5> >
|
| + (obj, method, MakeTuple());
|
| + return MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >(t);
|
| +}
|
| +
|
| +template <typename R, typename A1, typename A2, typename A3, typename A4,
|
| + typename A5>
|
| +inline MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >
|
| +CreateFunctor(R (__stdcall *function)(A1, A2, A3, A4, A5)) {
|
| + MutantRunner<R, Tuple5<A1, A2, A3, A4, A5> >* t =
|
| + new MutantFunction<R, R (__stdcall *)(A1, A2, A3, A4, A5),
|
| + Tuple0, Tuple5<A1, A2, A3, A4, A5> >
|
| + (function, MakeTuple());
|
| + return MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >(t);
|
| +}
|
| +#ifdef GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
|
| +template <typename R, typename T, typename U, typename A1, typename A2,
|
| + typename A3, typename A4, typename A5>
|
| +inline MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >
|
| +CreateFunctor(T** obj, R (__stdcall U::*method)(A1, A2, A3, A4, A5)) {
|
| + MutantRunner<R, Tuple5<A1, A2, A3, A4, A5> >* t =
|
| + new MutantLateObjectBind<R, T, R (__stdcall U::*)(A1, A2, A3, A4, A5),
|
| + Tuple0, Tuple5<A1, A2, A3, A4, A5> >
|
| + (obj, method, MakeTuple());
|
| + return MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >(t);
|
| +}
|
| +#endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
|
| +#endif // OS_WIN
|
| +
|
| +// 0 - 6
|
| +template <typename R, typename T, typename U, typename A1, typename A2,
|
| + typename A3, typename A4, typename A5, typename A6>
|
| +inline MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >
|
| +CreateFunctor(T* obj, R (U::*method)(A1, A2, A3, A4, A5, A6)) {
|
| + MutantRunner<R, Tuple6<A1, A2, A3, A4, A5, A6> >* t =
|
| + new Mutant<R, T, R (U::*)(A1, A2, A3, A4, A5, A6),
|
| + Tuple0, Tuple6<A1, A2, A3, A4, A5, A6> >
|
| + (obj, method, MakeTuple());
|
| + return MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >(t);
|
| +}
|
| +
|
| +template <typename R, typename A1, typename A2, typename A3, typename A4,
|
| + typename A5, typename A6>
|
| +inline MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >
|
| +CreateFunctor(R (*function)(A1, A2, A3, A4, A5, A6)) {
|
| + MutantRunner<R, Tuple6<A1, A2, A3, A4, A5, A6> >* t =
|
| + new MutantFunction<R, R (*)(A1, A2, A3, A4, A5, A6),
|
| + Tuple0, Tuple6<A1, A2, A3, A4, A5, A6> >
|
| + (function, MakeTuple());
|
| + return MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >(t);
|
| +}
|
| +
|
| +#ifdef GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
|
| +template <typename R, typename T, typename U, typename A1, typename A2,
|
| + typename A3, typename A4, typename A5, typename A6>
|
| +inline MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >
|
| +CreateFunctor(T** obj, R (U::*method)(A1, A2, A3, A4, A5, A6)) {
|
| + MutantRunner<R, Tuple6<A1, A2, A3, A4, A5, A6> >* t =
|
| + new MutantLateObjectBind<R, T, R (U::*)(A1, A2, A3, A4, A5, A6),
|
| + Tuple0, Tuple6<A1, A2, A3, A4, A5, A6> >
|
| + (obj, method, MakeTuple());
|
| + return MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >(t);
|
| +}
|
| +#endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
|
| +
|
| +#if defined (OS_WIN)
|
| +template <typename R, typename T, typename U, typename A1, typename A2,
|
| + typename A3, typename A4, typename A5, typename A6>
|
| +inline MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >
|
| +CreateFunctor(T* obj, R (__stdcall U::*method)(A1, A2, A3, A4, A5, A6)) {
|
| + MutantRunner<R, Tuple6<A1, A2, A3, A4, A5, A6> >* t =
|
| + new Mutant<R, T, R (__stdcall U::*)(A1, A2, A3, A4, A5, A6),
|
| + Tuple0, Tuple6<A1, A2, A3, A4, A5, A6> >
|
| + (obj, method, MakeTuple());
|
| + return MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >(t);
|
| +}
|
| +
|
| +template <typename R, typename A1, typename A2, typename A3, typename A4,
|
| + typename A5, typename A6>
|
| +inline MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >
|
| +CreateFunctor(R (__stdcall *function)(A1, A2, A3, A4, A5, A6)) {
|
| + MutantRunner<R, Tuple6<A1, A2, A3, A4, A5, A6> >* t =
|
| + new MutantFunction<R, R (__stdcall *)(A1, A2, A3, A4, A5, A6),
|
| + Tuple0, Tuple6<A1, A2, A3, A4, A5, A6> >
|
| + (function, MakeTuple());
|
| + return MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >(t);
|
| +}
|
| +#ifdef GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
|
| +template <typename R, typename T, typename U, typename A1, typename A2,
|
| + typename A3, typename A4, typename A5, typename A6>
|
| +inline MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >
|
| +CreateFunctor(T** obj, R (__stdcall U::*method)(A1, A2, A3, A4, A5, A6)) {
|
| + MutantRunner<R, Tuple6<A1, A2, A3, A4, A5, A6> >* t =
|
| + new MutantLateObjectBind<R, T, R (__stdcall U::*)(A1, A2, A3, A4, A5, A6),
|
| + Tuple0, Tuple6<A1, A2, A3, A4, A5, A6> >
|
| + (obj, method, MakeTuple());
|
| + return MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >(t);
|
| +}
|
| +#endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
|
| +#endif // OS_WIN
|
| +
|
| // 1 - 0
|
| template <typename R, typename T, typename U, typename P1, typename X1>
|
| inline MutantFunctor<R, Tuple0>
|
| @@ -1297,6 +1849,161 @@
|
| #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
|
| #endif // OS_WIN
|
|
|
| +// 1 - 5
|
| +template <typename R, typename T, typename U, typename P1, typename A1,
|
| + typename A2, typename A3, typename A4, typename A5, typename X1>
|
| +inline MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >
|
| +CreateFunctor(T* obj, R (U::*method)(X1, A1, A2, A3, A4, A5), const P1& p1) {
|
| + MutantRunner<R, Tuple5<A1, A2, A3, A4, A5> >* t =
|
| + new Mutant<R, T, R (U::*)(X1, A1, A2, A3, A4, A5),
|
| + Tuple1<P1>, Tuple5<A1, A2, A3, A4, A5> >
|
| + (obj, method, MakeTuple(p1));
|
| + return MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >(t);
|
| +}
|
| +
|
| +template <typename R, typename P1, typename A1, typename A2, typename A3,
|
| + typename A4, typename A5, typename X1>
|
| +inline MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >
|
| +CreateFunctor(R (*function)(X1, A1, A2, A3, A4, A5), const P1& p1) {
|
| + MutantRunner<R, Tuple5<A1, A2, A3, A4, A5> >* t =
|
| + new MutantFunction<R, R (*)(X1, A1, A2, A3, A4, A5),
|
| + Tuple1<P1>, Tuple5<A1, A2, A3, A4, A5> >
|
| + (function, MakeTuple(p1));
|
| + return MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >(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 A5, typename X1>
|
| +inline MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >
|
| +CreateFunctor(T** obj, R (U::*method)(X1, A1, A2, A3, A4, A5), const P1& p1) {
|
| + MutantRunner<R, Tuple5<A1, A2, A3, A4, A5> >* t =
|
| + new MutantLateObjectBind<R, T, R (U::*)(X1, A1, A2, A3, A4, A5),
|
| + Tuple1<P1>, Tuple5<A1, A2, A3, A4, A5> >
|
| + (obj, method, MakeTuple(p1));
|
| + return MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >(t);
|
| +}
|
| +#endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
|
| +
|
| +#if defined (OS_WIN)
|
| +template <typename R, typename T, typename U, typename P1, typename A1,
|
| + typename A2, typename A3, typename A4, typename A5, typename X1>
|
| +inline MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >
|
| +CreateFunctor(T* obj, R (__stdcall U::*method)(X1, A1, A2, A3, A4, A5),
|
| + const P1& p1) {
|
| + MutantRunner<R, Tuple5<A1, A2, A3, A4, A5> >* t =
|
| + new Mutant<R, T, R (__stdcall U::*)(X1, A1, A2, A3, A4, A5),
|
| + Tuple1<P1>, Tuple5<A1, A2, A3, A4, A5> >
|
| + (obj, method, MakeTuple(p1));
|
| + return MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >(t);
|
| +}
|
| +
|
| +template <typename R, typename P1, typename A1, typename A2, typename A3,
|
| + typename A4, typename A5, typename X1>
|
| +inline MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >
|
| +CreateFunctor(R (__stdcall *function)(X1, A1, A2, A3, A4, A5), const P1& p1) {
|
| + MutantRunner<R, Tuple5<A1, A2, A3, A4, A5> >* t =
|
| + new MutantFunction<R, R (__stdcall *)(X1, A1, A2, A3, A4, A5),
|
| + Tuple1<P1>, Tuple5<A1, A2, A3, A4, A5> >
|
| + (function, MakeTuple(p1));
|
| + return MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >(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 A5, typename X1>
|
| +inline MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >
|
| +CreateFunctor(T** obj, R (__stdcall U::*method)(X1, A1, A2, A3, A4, A5),
|
| + const P1& p1) {
|
| + MutantRunner<R, Tuple5<A1, A2, A3, A4, A5> >* t =
|
| + new MutantLateObjectBind<R, T, R (__stdcall U::*)(X1, A1, A2, A3, A4, A5),
|
| + Tuple1<P1>, Tuple5<A1, A2, A3, A4, A5> >
|
| + (obj, method, MakeTuple(p1));
|
| + return MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >(t);
|
| +}
|
| +#endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
|
| +#endif // OS_WIN
|
| +
|
| +// 1 - 6
|
| +template <typename R, typename T, typename U, typename P1, typename A1,
|
| + typename A2, typename A3, typename A4, typename A5, typename A6,
|
| + typename X1>
|
| +inline MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >
|
| +CreateFunctor(T* obj, R (U::*method)(X1, A1, A2, A3, A4, A5, A6),
|
| + const P1& p1) {
|
| + MutantRunner<R, Tuple6<A1, A2, A3, A4, A5, A6> >* t =
|
| + new Mutant<R, T, R (U::*)(X1, A1, A2, A3, A4, A5, A6),
|
| + Tuple1<P1>, Tuple6<A1, A2, A3, A4, A5, A6> >
|
| + (obj, method, MakeTuple(p1));
|
| + return MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >(t);
|
| +}
|
| +
|
| +template <typename R, typename P1, typename A1, typename A2, typename A3,
|
| + typename A4, typename A5, typename A6, typename X1>
|
| +inline MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >
|
| +CreateFunctor(R (*function)(X1, A1, A2, A3, A4, A5, A6), const P1& p1) {
|
| + MutantRunner<R, Tuple6<A1, A2, A3, A4, A5, A6> >* t =
|
| + new MutantFunction<R, R (*)(X1, A1, A2, A3, A4, A5, A6),
|
| + Tuple1<P1>, Tuple6<A1, A2, A3, A4, A5, A6> >
|
| + (function, MakeTuple(p1));
|
| + return MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >(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 A5, typename A6,
|
| + typename X1>
|
| +inline MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >
|
| +CreateFunctor(T** obj, R (U::*method)(X1, A1, A2, A3, A4, A5, A6),
|
| + const P1& p1) {
|
| + MutantRunner<R, Tuple6<A1, A2, A3, A4, A5, A6> >* t =
|
| + new MutantLateObjectBind<R, T, R (U::*)(X1, A1, A2, A3, A4, A5, A6),
|
| + Tuple1<P1>, Tuple6<A1, A2, A3, A4, A5, A6> >
|
| + (obj, method, MakeTuple(p1));
|
| + return MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >(t);
|
| +}
|
| +#endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
|
| +
|
| +#if defined (OS_WIN)
|
| +template <typename R, typename T, typename U, typename P1, typename A1,
|
| + typename A2, typename A3, typename A4, typename A5, typename A6,
|
| + typename X1>
|
| +inline MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >
|
| +CreateFunctor(T* obj, R (__stdcall U::*method)(X1, A1, A2, A3, A4, A5, A6),
|
| + const P1& p1) {
|
| + MutantRunner<R, Tuple6<A1, A2, A3, A4, A5, A6> >* t =
|
| + new Mutant<R, T, R (__stdcall U::*)(X1, A1, A2, A3, A4, A5, A6),
|
| + Tuple1<P1>, Tuple6<A1, A2, A3, A4, A5, A6> >
|
| + (obj, method, MakeTuple(p1));
|
| + return MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >(t);
|
| +}
|
| +
|
| +template <typename R, typename P1, typename A1, typename A2, typename A3,
|
| + typename A4, typename A5, typename A6, typename X1>
|
| +inline MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >
|
| +CreateFunctor(R (__stdcall *function)(X1, A1, A2, A3, A4, A5, A6),
|
| + const P1& p1) {
|
| + MutantRunner<R, Tuple6<A1, A2, A3, A4, A5, A6> >* t =
|
| + new MutantFunction<R, R (__stdcall *)(X1, A1, A2, A3, A4, A5, A6),
|
| + Tuple1<P1>, Tuple6<A1, A2, A3, A4, A5, A6> >
|
| + (function, MakeTuple(p1));
|
| + return MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >(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 A5, typename A6,
|
| + typename X1>
|
| +inline MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >
|
| +CreateFunctor(T** obj, R (__stdcall U::*method)(X1, A1, A2, A3, A4, A5, A6),
|
| + const P1& p1) {
|
| + MutantRunner<R, Tuple6<A1, A2, A3, A4, A5, A6> >* t =
|
| + new MutantLateObjectBind<R, T, R (__stdcall U::*)(X1, A1, A2, A3, A4, A5, A6),
|
| + Tuple1<P1>, Tuple6<A1, A2, A3, A4, A5, A6> >
|
| + (obj, method, MakeTuple(p1));
|
| + return MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >(t);
|
| +}
|
| +#endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
|
| +#endif // OS_WIN
|
| +
|
| // 2 - 0
|
| template <typename R, typename T, typename U, typename P1, typename P2,
|
| typename X1, typename X2>
|
| @@ -1680,6 +2387,172 @@
|
| #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
|
| #endif // OS_WIN
|
|
|
| +// 2 - 5
|
| +template <typename R, typename T, typename U, typename P1, typename P2,
|
| + typename A1, typename A2, typename A3, typename A4, typename A5,
|
| + typename X1, typename X2>
|
| +inline MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >
|
| +CreateFunctor(T* obj, R (U::*method)(X1, X2, A1, A2, A3, A4, A5), const P1& p1,
|
| + const P2& p2) {
|
| + MutantRunner<R, Tuple5<A1, A2, A3, A4, A5> >* t =
|
| + new Mutant<R, T, R (U::*)(X1, X2, A1, A2, A3, A4, A5),
|
| + Tuple2<P1, P2>, Tuple5<A1, A2, A3, A4, A5> >
|
| + (obj, method, MakeTuple(p1, p2));
|
| + return MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >(t);
|
| +}
|
| +
|
| +template <typename R, typename P1, typename P2, typename A1, typename A2,
|
| + typename A3, typename A4, typename A5, typename X1, typename X2>
|
| +inline MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >
|
| +CreateFunctor(R (*function)(X1, X2, A1, A2, A3, A4, A5), const P1& p1,
|
| + const P2& p2) {
|
| + MutantRunner<R, Tuple5<A1, A2, A3, A4, A5> >* t =
|
| + new MutantFunction<R, R (*)(X1, X2, A1, A2, A3, A4, A5),
|
| + Tuple2<P1, P2>, Tuple5<A1, A2, A3, A4, A5> >
|
| + (function, MakeTuple(p1, p2));
|
| + return MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >(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 A5,
|
| + typename X1, typename X2>
|
| +inline MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >
|
| +CreateFunctor(T** obj, R (U::*method)(X1, X2, A1, A2, A3, A4, A5), const P1& p1,
|
| + const P2& p2) {
|
| + MutantRunner<R, Tuple5<A1, A2, A3, A4, A5> >* t =
|
| + new MutantLateObjectBind<R, T, R (U::*)(X1, X2, A1, A2, A3, A4, A5),
|
| + Tuple2<P1, P2>, Tuple5<A1, A2, A3, A4, A5> >
|
| + (obj, method, MakeTuple(p1, p2));
|
| + return MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >(t);
|
| +}
|
| +#endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
|
| +
|
| +#if defined (OS_WIN)
|
| +template <typename R, typename T, typename U, typename P1, typename P2,
|
| + typename A1, typename A2, typename A3, typename A4, typename A5,
|
| + typename X1, typename X2>
|
| +inline MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >
|
| +CreateFunctor(T* obj, R (__stdcall U::*method)(X1, X2, A1, A2, A3, A4, A5),
|
| + const P1& p1, const P2& p2) {
|
| + MutantRunner<R, Tuple5<A1, A2, A3, A4, A5> >* t =
|
| + new Mutant<R, T, R (__stdcall U::*)(X1, X2, A1, A2, A3, A4, A5),
|
| + Tuple2<P1, P2>, Tuple5<A1, A2, A3, A4, A5> >
|
| + (obj, method, MakeTuple(p1, p2));
|
| + return MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >(t);
|
| +}
|
| +
|
| +template <typename R, typename P1, typename P2, typename A1, typename A2,
|
| + typename A3, typename A4, typename A5, typename X1, typename X2>
|
| +inline MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >
|
| +CreateFunctor(R (__stdcall *function)(X1, X2, A1, A2, A3, A4, A5), const P1& p1,
|
| + const P2& p2) {
|
| + MutantRunner<R, Tuple5<A1, A2, A3, A4, A5> >* t =
|
| + new MutantFunction<R, R (__stdcall *)(X1, X2, A1, A2, A3, A4, A5),
|
| + Tuple2<P1, P2>, Tuple5<A1, A2, A3, A4, A5> >
|
| + (function, MakeTuple(p1, p2));
|
| + return MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >(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 A5,
|
| + typename X1, typename X2>
|
| +inline MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >
|
| +CreateFunctor(T** obj, R (__stdcall U::*method)(X1, X2, A1, A2, A3, A4, A5),
|
| + const P1& p1, const P2& p2) {
|
| + MutantRunner<R, Tuple5<A1, A2, A3, A4, A5> >* t =
|
| + new MutantLateObjectBind<R, T, R (__stdcall U::*)(X1, X2, A1, A2, A3, A4, A5),
|
| + Tuple2<P1, P2>, Tuple5<A1, A2, A3, A4, A5> >
|
| + (obj, method, MakeTuple(p1, p2));
|
| + return MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >(t);
|
| +}
|
| +#endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
|
| +#endif // OS_WIN
|
| +
|
| +// 2 - 6
|
| +template <typename R, typename T, typename U, typename P1, typename P2,
|
| + typename A1, typename A2, typename A3, typename A4, typename A5,
|
| + typename A6, typename X1, typename X2>
|
| +inline MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >
|
| +CreateFunctor(T* obj, R (U::*method)(X1, X2, A1, A2, A3, A4, A5, A6),
|
| + const P1& p1, const P2& p2) {
|
| + MutantRunner<R, Tuple6<A1, A2, A3, A4, A5, A6> >* t =
|
| + new Mutant<R, T, R (U::*)(X1, X2, A1, A2, A3, A4, A5, A6),
|
| + Tuple2<P1, P2>, Tuple6<A1, A2, A3, A4, A5, A6> >
|
| + (obj, method, MakeTuple(p1, p2));
|
| + return MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >(t);
|
| +}
|
| +
|
| +template <typename R, typename P1, typename P2, typename A1, typename A2,
|
| + typename A3, typename A4, typename A5, typename A6, typename X1,
|
| + typename X2>
|
| +inline MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >
|
| +CreateFunctor(R (*function)(X1, X2, A1, A2, A3, A4, A5, A6), const P1& p1,
|
| + const P2& p2) {
|
| + MutantRunner<R, Tuple6<A1, A2, A3, A4, A5, A6> >* t =
|
| + new MutantFunction<R, R (*)(X1, X2, A1, A2, A3, A4, A5, A6),
|
| + Tuple2<P1, P2>, Tuple6<A1, A2, A3, A4, A5, A6> >
|
| + (function, MakeTuple(p1, p2));
|
| + return MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >(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 A5,
|
| + typename A6, typename X1, typename X2>
|
| +inline MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >
|
| +CreateFunctor(T** obj, R (U::*method)(X1, X2, A1, A2, A3, A4, A5, A6),
|
| + const P1& p1, const P2& p2) {
|
| + MutantRunner<R, Tuple6<A1, A2, A3, A4, A5, A6> >* t =
|
| + new MutantLateObjectBind<R, T, R (U::*)(X1, X2, A1, A2, A3, A4, A5, A6),
|
| + Tuple2<P1, P2>, Tuple6<A1, A2, A3, A4, A5, A6> >
|
| + (obj, method, MakeTuple(p1, p2));
|
| + return MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >(t);
|
| +}
|
| +#endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
|
| +
|
| +#if defined (OS_WIN)
|
| +template <typename R, typename T, typename U, typename P1, typename P2,
|
| + typename A1, typename A2, typename A3, typename A4, typename A5,
|
| + typename A6, typename X1, typename X2>
|
| +inline MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >
|
| +CreateFunctor(T* obj, R (__stdcall U::*method)(X1, X2, A1, A2, A3, A4, A5, A6),
|
| + const P1& p1, const P2& p2) {
|
| + MutantRunner<R, Tuple6<A1, A2, A3, A4, A5, A6> >* t =
|
| + new Mutant<R, T, R (__stdcall U::*)(X1, X2, A1, A2, A3, A4, A5, A6),
|
| + Tuple2<P1, P2>, Tuple6<A1, A2, A3, A4, A5, A6> >
|
| + (obj, method, MakeTuple(p1, p2));
|
| + return MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >(t);
|
| +}
|
| +
|
| +template <typename R, typename P1, typename P2, typename A1, typename A2,
|
| + typename A3, typename A4, typename A5, typename A6, typename X1,
|
| + typename X2>
|
| +inline MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >
|
| +CreateFunctor(R (__stdcall *function)(X1, X2, A1, A2, A3, A4, A5, A6),
|
| + const P1& p1, const P2& p2) {
|
| + MutantRunner<R, Tuple6<A1, A2, A3, A4, A5, A6> >* t =
|
| + new MutantFunction<R, R (__stdcall *)(X1, X2, A1, A2, A3, A4, A5, A6),
|
| + Tuple2<P1, P2>, Tuple6<A1, A2, A3, A4, A5, A6> >
|
| + (function, MakeTuple(p1, p2));
|
| + return MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >(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 A5,
|
| + typename A6, typename X1, typename X2>
|
| +inline MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >
|
| +CreateFunctor(T** obj, R (__stdcall U::*method)(X1, X2, A1, A2, A3, A4, A5, A6),
|
| + const P1& p1, const P2& p2) {
|
| + MutantRunner<R, Tuple6<A1, A2, A3, A4, A5, A6> >* t =
|
| + new MutantLateObjectBind<R, T, R (__stdcall U::*)(X1, X2, A1, A2, A3, A4, A5, A6),
|
| + Tuple2<P1, P2>, Tuple6<A1, A2, A3, A4, A5, A6> >
|
| + (obj, method, MakeTuple(p1, p2));
|
| + return MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >(t);
|
| +}
|
| +#endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
|
| +#endif // OS_WIN
|
| +
|
| // 3 - 0
|
| template <typename R, typename T, typename U, typename P1, typename P2,
|
| typename P3, typename X1, typename X2, typename X3>
|
| @@ -2084,6 +2957,174 @@
|
| #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
|
| #endif // OS_WIN
|
|
|
| +// 3 - 5
|
| +template <typename R, typename T, typename U, typename P1, typename P2,
|
| + typename P3, typename A1, typename A2, typename A3, typename A4,
|
| + typename A5, typename X1, typename X2, typename X3>
|
| +inline MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >
|
| +CreateFunctor(T* obj, R (U::*method)(X1, X2, X3, A1, A2, A3, A4, A5),
|
| + const P1& p1, const P2& p2, const P3& p3) {
|
| + MutantRunner<R, Tuple5<A1, A2, A3, A4, A5> >* t =
|
| + new Mutant<R, T, R (U::*)(X1, X2, X3, A1, A2, A3, A4, A5),
|
| + Tuple3<P1, P2, P3>, Tuple5<A1, A2, A3, A4, A5> >
|
| + (obj, method, MakeTuple(p1, p2, p3));
|
| + return MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >(t);
|
| +}
|
| +
|
| +template <typename R, typename P1, typename P2, typename P3, typename A1,
|
| + typename A2, typename A3, typename A4, typename A5, typename X1,
|
| + typename X2, typename X3>
|
| +inline MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >
|
| +CreateFunctor(R (*function)(X1, X2, X3, A1, A2, A3, A4, A5), const P1& p1,
|
| + const P2& p2, const P3& p3) {
|
| + MutantRunner<R, Tuple5<A1, A2, A3, A4, A5> >* t =
|
| + new MutantFunction<R, R (*)(X1, X2, X3, A1, A2, A3, A4, A5),
|
| + Tuple3<P1, P2, P3>, Tuple5<A1, A2, A3, A4, A5> >
|
| + (function, MakeTuple(p1, p2, p3));
|
| + return MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >(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,
|
| + typename A5, typename X1, typename X2, typename X3>
|
| +inline MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >
|
| +CreateFunctor(T** obj, R (U::*method)(X1, X2, X3, A1, A2, A3, A4, A5),
|
| + const P1& p1, const P2& p2, const P3& p3) {
|
| + MutantRunner<R, Tuple5<A1, A2, A3, A4, A5> >* t =
|
| + new MutantLateObjectBind<R, T, R (U::*)(X1, X2, X3, A1, A2, A3, A4, A5),
|
| + Tuple3<P1, P2, P3>, Tuple5<A1, A2, A3, A4, A5> >
|
| + (obj, method, MakeTuple(p1, p2, p3));
|
| + return MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >(t);
|
| +}
|
| +#endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
|
| +
|
| +#if defined (OS_WIN)
|
| +template <typename R, typename T, typename U, typename P1, typename P2,
|
| + typename P3, typename A1, typename A2, typename A3, typename A4,
|
| + typename A5, typename X1, typename X2, typename X3>
|
| +inline MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >
|
| +CreateFunctor(T* obj, R (__stdcall U::*method)(X1, X2, X3, A1, A2, A3, A4, A5),
|
| + const P1& p1, const P2& p2, const P3& p3) {
|
| + MutantRunner<R, Tuple5<A1, A2, A3, A4, A5> >* t =
|
| + new Mutant<R, T, R (__stdcall U::*)(X1, X2, X3, A1, A2, A3, A4, A5),
|
| + Tuple3<P1, P2, P3>, Tuple5<A1, A2, A3, A4, A5> >
|
| + (obj, method, MakeTuple(p1, p2, p3));
|
| + return MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >(t);
|
| +}
|
| +
|
| +template <typename R, typename P1, typename P2, typename P3, typename A1,
|
| + typename A2, typename A3, typename A4, typename A5, typename X1,
|
| + typename X2, typename X3>
|
| +inline MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >
|
| +CreateFunctor(R (__stdcall *function)(X1, X2, X3, A1, A2, A3, A4, A5),
|
| + const P1& p1, const P2& p2, const P3& p3) {
|
| + MutantRunner<R, Tuple5<A1, A2, A3, A4, A5> >* t =
|
| + new MutantFunction<R, R (__stdcall *)(X1, X2, X3, A1, A2, A3, A4, A5),
|
| + Tuple3<P1, P2, P3>, Tuple5<A1, A2, A3, A4, A5> >
|
| + (function, MakeTuple(p1, p2, p3));
|
| + return MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >(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,
|
| + typename A5, typename X1, typename X2, typename X3>
|
| +inline MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >
|
| +CreateFunctor(T** obj, R (__stdcall U::*method)(X1, X2, X3, A1, A2, A3, A4, A5),
|
| + const P1& p1, const P2& p2, const P3& p3) {
|
| + MutantRunner<R, Tuple5<A1, A2, A3, A4, A5> >* t =
|
| + new MutantLateObjectBind<R, T, R (__stdcall U::*)(X1, X2, X3, A1, A2, A3, A4, A5),
|
| + Tuple3<P1, P2, P3>, Tuple5<A1, A2, A3, A4, A5> >
|
| + (obj, method, MakeTuple(p1, p2, p3));
|
| + return MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >(t);
|
| +}
|
| +#endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
|
| +#endif // OS_WIN
|
| +
|
| +// 3 - 6
|
| +template <typename R, typename T, typename U, typename P1, typename P2,
|
| + typename P3, typename A1, typename A2, typename A3, typename A4,
|
| + typename A5, typename A6, typename X1, typename X2, typename X3>
|
| +inline MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >
|
| +CreateFunctor(T* obj, R (U::*method)(X1, X2, X3, A1, A2, A3, A4, A5, A6),
|
| + const P1& p1, const P2& p2, const P3& p3) {
|
| + MutantRunner<R, Tuple6<A1, A2, A3, A4, A5, A6> >* t =
|
| + new Mutant<R, T, R (U::*)(X1, X2, X3, A1, A2, A3, A4, A5, A6),
|
| + Tuple3<P1, P2, P3>, Tuple6<A1, A2, A3, A4, A5, A6> >
|
| + (obj, method, MakeTuple(p1, p2, p3));
|
| + return MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >(t);
|
| +}
|
| +
|
| +template <typename R, typename P1, typename P2, typename P3, typename A1,
|
| + typename A2, typename A3, typename A4, typename A5, typename A6,
|
| + typename X1, typename X2, typename X3>
|
| +inline MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >
|
| +CreateFunctor(R (*function)(X1, X2, X3, A1, A2, A3, A4, A5, A6), const P1& p1,
|
| + const P2& p2, const P3& p3) {
|
| + MutantRunner<R, Tuple6<A1, A2, A3, A4, A5, A6> >* t =
|
| + new MutantFunction<R, R (*)(X1, X2, X3, A1, A2, A3, A4, A5, A6),
|
| + Tuple3<P1, P2, P3>, Tuple6<A1, A2, A3, A4, A5, A6> >
|
| + (function, MakeTuple(p1, p2, p3));
|
| + return MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >(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,
|
| + typename A5, typename A6, typename X1, typename X2, typename X3>
|
| +inline MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >
|
| +CreateFunctor(T** obj, R (U::*method)(X1, X2, X3, A1, A2, A3, A4, A5, A6),
|
| + const P1& p1, const P2& p2, const P3& p3) {
|
| + MutantRunner<R, Tuple6<A1, A2, A3, A4, A5, A6> >* t =
|
| + new MutantLateObjectBind<R, T, R (U::*)(X1, X2, X3, A1, A2, A3, A4, A5, A6),
|
| + Tuple3<P1, P2, P3>, Tuple6<A1, A2, A3, A4, A5, A6> >
|
| + (obj, method, MakeTuple(p1, p2, p3));
|
| + return MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >(t);
|
| +}
|
| +#endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
|
| +
|
| +#if defined (OS_WIN)
|
| +template <typename R, typename T, typename U, typename P1, typename P2,
|
| + typename P3, typename A1, typename A2, typename A3, typename A4,
|
| + typename A5, typename A6, typename X1, typename X2, typename X3>
|
| +inline MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >
|
| +CreateFunctor(T* obj, R (__stdcall U::*method)(X1, X2, X3, A1, A2, A3, A4, A5,
|
| + A6), const P1& p1, const P2& p2, const P3& p3) {
|
| + MutantRunner<R, Tuple6<A1, A2, A3, A4, A5, A6> >* t =
|
| + new Mutant<R, T, R (__stdcall U::*)(X1, X2, X3, A1, A2, A3, A4, A5, A6),
|
| + Tuple3<P1, P2, P3>, Tuple6<A1, A2, A3, A4, A5, A6> >
|
| + (obj, method, MakeTuple(p1, p2, p3));
|
| + return MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >(t);
|
| +}
|
| +
|
| +template <typename R, typename P1, typename P2, typename P3, typename A1,
|
| + typename A2, typename A3, typename A4, typename A5, typename A6,
|
| + typename X1, typename X2, typename X3>
|
| +inline MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >
|
| +CreateFunctor(R (__stdcall *function)(X1, X2, X3, A1, A2, A3, A4, A5, A6),
|
| + const P1& p1, const P2& p2, const P3& p3) {
|
| + MutantRunner<R, Tuple6<A1, A2, A3, A4, A5, A6> >* t =
|
| + new MutantFunction<R, R (__stdcall *)(X1, X2, X3, A1, A2, A3, A4, A5, A6),
|
| + Tuple3<P1, P2, P3>, Tuple6<A1, A2, A3, A4, A5, A6> >
|
| + (function, MakeTuple(p1, p2, p3));
|
| + return MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >(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,
|
| + typename A5, typename A6, typename X1, typename X2, typename X3>
|
| +inline MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >
|
| +CreateFunctor(T** obj, R (__stdcall U::*method)(X1, X2, X3, A1, A2, A3, A4, A5,
|
| + A6), const P1& p1, const P2& p2, const P3& p3) {
|
| + MutantRunner<R, Tuple6<A1, A2, A3, A4, A5, A6> >* t =
|
| + new MutantLateObjectBind<R, T, R (__stdcall U::*)(X1, X2, X3, A1, A2, A3, A4, A5, A6),
|
| + Tuple3<P1, P2, P3>, Tuple6<A1, A2, A3, A4, A5, A6> >
|
| + (obj, method, MakeTuple(p1, p2, p3));
|
| + return MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >(t);
|
| +}
|
| +#endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
|
| +#endif // OS_WIN
|
| +
|
| // 4 - 0
|
| template <typename R, typename T, typename U, typename P1, typename P2,
|
| typename P3, typename P4, typename X1, typename X2, typename X3,
|
| @@ -2500,6 +3541,1455 @@
|
| #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
|
| #endif // OS_WIN
|
|
|
| +// 4 - 5
|
| +template <typename R, typename T, typename U, typename P1, typename P2,
|
| + typename P3, typename P4, typename A1, typename A2, typename A3,
|
| + typename A4, typename A5, typename X1, typename X2, typename X3,
|
| + typename X4>
|
| +inline MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >
|
| +CreateFunctor(T* obj, R (U::*method)(X1, X2, X3, X4, A1, A2, A3, A4, A5),
|
| + const P1& p1, const P2& p2, const P3& p3, const P4& p4) {
|
| + MutantRunner<R, Tuple5<A1, A2, A3, A4, A5> >* t =
|
| + new Mutant<R, T, R (U::*)(X1, X2, X3, X4, A1, A2, A3, A4, A5),
|
| + Tuple4<P1, P2, P3, P4>, Tuple5<A1, A2, A3, A4, A5> >
|
| + (obj, method, MakeTuple(p1, p2, p3, p4));
|
| + return MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >(t);
|
| +}
|
| +
|
| +template <typename R, typename P1, typename P2, typename P3, typename P4,
|
| + typename A1, typename A2, typename A3, typename A4, typename A5,
|
| + typename X1, typename X2, typename X3, typename X4>
|
| +inline MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >
|
| +CreateFunctor(R (*function)(X1, X2, X3, X4, A1, A2, A3, A4, A5), const P1& p1,
|
| + const P2& p2, const P3& p3, const P4& p4) {
|
| + MutantRunner<R, Tuple5<A1, A2, A3, A4, A5> >* t =
|
| + new MutantFunction<R, R (*)(X1, X2, X3, X4, A1, A2, A3, A4, A5),
|
| + Tuple4<P1, P2, P3, P4>, Tuple5<A1, A2, A3, A4, A5> >
|
| + (function, MakeTuple(p1, p2, p3, p4));
|
| + return MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >(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,
|
| + typename A4, typename A5, typename X1, typename X2, typename X3,
|
| + typename X4>
|
| +inline MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >
|
| +CreateFunctor(T** obj, R (U::*method)(X1, X2, X3, X4, A1, A2, A3, A4, A5),
|
| + const P1& p1, const P2& p2, const P3& p3, const P4& p4) {
|
| + MutantRunner<R, Tuple5<A1, A2, A3, A4, A5> >* t =
|
| + new MutantLateObjectBind<R, T, R (U::*)(X1, X2, X3, X4, A1, A2, A3, A4, A5),
|
| + Tuple4<P1, P2, P3, P4>, Tuple5<A1, A2, A3, A4, A5> >
|
| + (obj, method, MakeTuple(p1, p2, p3, p4));
|
| + return MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >(t);
|
| +}
|
| +#endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
|
| +
|
| +#if defined (OS_WIN)
|
| +template <typename R, typename T, typename U, typename P1, typename P2,
|
| + typename P3, typename P4, typename A1, typename A2, typename A3,
|
| + typename A4, typename A5, typename X1, typename X2, typename X3,
|
| + typename X4>
|
| +inline MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >
|
| +CreateFunctor(T* obj, R (__stdcall U::*method)(X1, X2, X3, X4, A1, A2, A3, A4,
|
| + A5), const P1& p1, const P2& p2, const P3& p3, const P4& p4) {
|
| + MutantRunner<R, Tuple5<A1, A2, A3, A4, A5> >* t =
|
| + new Mutant<R, T, R (__stdcall U::*)(X1, X2, X3, X4, A1, A2, A3, A4, A5),
|
| + Tuple4<P1, P2, P3, P4>, Tuple5<A1, A2, A3, A4, A5> >
|
| + (obj, method, MakeTuple(p1, p2, p3, p4));
|
| + return MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >(t);
|
| +}
|
| +
|
| +template <typename R, typename P1, typename P2, typename P3, typename P4,
|
| + typename A1, typename A2, typename A3, typename A4, typename A5,
|
| + typename X1, typename X2, typename X3, typename X4>
|
| +inline MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >
|
| +CreateFunctor(R (__stdcall *function)(X1, X2, X3, X4, A1, A2, A3, A4, A5),
|
| + const P1& p1, const P2& p2, const P3& p3, const P4& p4) {
|
| + MutantRunner<R, Tuple5<A1, A2, A3, A4, A5> >* t =
|
| + new MutantFunction<R, R (__stdcall *)(X1, X2, X3, X4, A1, A2, A3, A4, A5),
|
| + Tuple4<P1, P2, P3, P4>, Tuple5<A1, A2, A3, A4, A5> >
|
| + (function, MakeTuple(p1, p2, p3, p4));
|
| + return MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >(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,
|
| + typename A4, typename A5, typename X1, typename X2, typename X3,
|
| + typename X4>
|
| +inline MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >
|
| +CreateFunctor(T** obj, R (__stdcall U::*method)(X1, X2, X3, X4, A1, A2, A3, A4,
|
| + A5), const P1& p1, const P2& p2, const P3& p3, const P4& p4) {
|
| + MutantRunner<R, Tuple5<A1, A2, A3, A4, A5> >* t =
|
| + new MutantLateObjectBind<R, T, R (__stdcall U::*)(X1, X2, X3, X4, A1, A2, A3, A4, A5),
|
| + Tuple4<P1, P2, P3, P4>, Tuple5<A1, A2, A3, A4, A5> >
|
| + (obj, method, MakeTuple(p1, p2, p3, p4));
|
| + return MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >(t);
|
| +}
|
| +#endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
|
| +#endif // OS_WIN
|
| +
|
| +// 4 - 6
|
| +template <typename R, typename T, typename U, typename P1, typename P2,
|
| + typename P3, typename P4, typename A1, typename A2, typename A3,
|
| + typename A4, typename A5, typename A6, typename X1, typename X2,
|
| + typename X3, typename X4>
|
| +inline MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >
|
| +CreateFunctor(T* obj, R (U::*method)(X1, X2, X3, X4, A1, A2, A3, A4, A5, A6),
|
| + const P1& p1, const P2& p2, const P3& p3, const P4& p4) {
|
| + MutantRunner<R, Tuple6<A1, A2, A3, A4, A5, A6> >* t =
|
| + new Mutant<R, T, R (U::*)(X1, X2, X3, X4, A1, A2, A3, A4, A5, A6),
|
| + Tuple4<P1, P2, P3, P4>, Tuple6<A1, A2, A3, A4, A5, A6> >
|
| + (obj, method, MakeTuple(p1, p2, p3, p4));
|
| + return MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >(t);
|
| +}
|
| +
|
| +template <typename R, typename P1, typename P2, typename P3, typename P4,
|
| + typename A1, typename A2, typename A3, typename A4, typename A5,
|
| + typename A6, typename X1, typename X2, typename X3, typename X4>
|
| +inline MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >
|
| +CreateFunctor(R (*function)(X1, X2, X3, X4, A1, A2, A3, A4, A5, A6),
|
| + const P1& p1, const P2& p2, const P3& p3, const P4& p4) {
|
| + MutantRunner<R, Tuple6<A1, A2, A3, A4, A5, A6> >* t =
|
| + new MutantFunction<R, R (*)(X1, X2, X3, X4, A1, A2, A3, A4, A5, A6),
|
| + Tuple4<P1, P2, P3, P4>, Tuple6<A1, A2, A3, A4, A5, A6> >
|
| + (function, MakeTuple(p1, p2, p3, p4));
|
| + return MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >(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,
|
| + typename A4, typename A5, typename A6, typename X1, typename X2,
|
| + typename X3, typename X4>
|
| +inline MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >
|
| +CreateFunctor(T** obj, R (U::*method)(X1, X2, X3, X4, A1, A2, A3, A4, A5, A6),
|
| + const P1& p1, const P2& p2, const P3& p3, const P4& p4) {
|
| + MutantRunner<R, Tuple6<A1, A2, A3, A4, A5, A6> >* t =
|
| + new MutantLateObjectBind<R, T, R (U::*)(X1, X2, X3, X4, A1, A2, A3, A4, A5, A6),
|
| + Tuple4<P1, P2, P3, P4>, Tuple6<A1, A2, A3, A4, A5, A6> >
|
| + (obj, method, MakeTuple(p1, p2, p3, p4));
|
| + return MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >(t);
|
| +}
|
| +#endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
|
| +
|
| +#if defined (OS_WIN)
|
| +template <typename R, typename T, typename U, typename P1, typename P2,
|
| + typename P3, typename P4, typename A1, typename A2, typename A3,
|
| + typename A4, typename A5, typename A6, typename X1, typename X2,
|
| + typename X3, typename X4>
|
| +inline MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >
|
| +CreateFunctor(T* obj, R (__stdcall U::*method)(X1, X2, X3, X4, A1, A2, A3, A4,
|
| + A5, A6), const P1& p1, const P2& p2, const P3& p3, const P4& p4) {
|
| + MutantRunner<R, Tuple6<A1, A2, A3, A4, A5, A6> >* t =
|
| + new Mutant<R, T, R (__stdcall U::*)(X1, X2, X3, X4, A1, A2, A3, A4, A5, A6),
|
| + Tuple4<P1, P2, P3, P4>, Tuple6<A1, A2, A3, A4, A5, A6> >
|
| + (obj, method, MakeTuple(p1, p2, p3, p4));
|
| + return MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >(t);
|
| +}
|
| +
|
| +template <typename R, typename P1, typename P2, typename P3, typename P4,
|
| + typename A1, typename A2, typename A3, typename A4, typename A5,
|
| + typename A6, typename X1, typename X2, typename X3, typename X4>
|
| +inline MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >
|
| +CreateFunctor(R (__stdcall *function)(X1, X2, X3, X4, A1, A2, A3, A4, A5, A6),
|
| + const P1& p1, const P2& p2, const P3& p3, const P4& p4) {
|
| + MutantRunner<R, Tuple6<A1, A2, A3, A4, A5, A6> >* t =
|
| + new MutantFunction<R, R (__stdcall *)(X1, X2, X3, X4, A1, A2, A3, A4, A5, A6),
|
| + Tuple4<P1, P2, P3, P4>, Tuple6<A1, A2, A3, A4, A5, A6> >
|
| + (function, MakeTuple(p1, p2, p3, p4));
|
| + return MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >(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,
|
| + typename A4, typename A5, typename A6, typename X1, typename X2,
|
| + typename X3, typename X4>
|
| +inline MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >
|
| +CreateFunctor(T** obj, R (__stdcall U::*method)(X1, X2, X3, X4, A1, A2, A3, A4,
|
| + A5, A6), const P1& p1, const P2& p2, const P3& p3, const P4& p4) {
|
| + MutantRunner<R, Tuple6<A1, A2, A3, A4, A5, A6> >* t =
|
| + new MutantLateObjectBind<R, T, R (__stdcall U::*)(X1, X2, X3, X4, A1, A2, A3, A4, A5, A6),
|
| + Tuple4<P1, P2, P3, P4>, Tuple6<A1, A2, A3, A4, A5, A6> >
|
| + (obj, method, MakeTuple(p1, p2, p3, p4));
|
| + return MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >(t);
|
| +}
|
| +#endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
|
| +#endif // OS_WIN
|
| +
|
| +// 5 - 0
|
| +template <typename R, typename T, typename U, typename P1, typename P2,
|
| + typename P3, typename P4, typename P5, typename X1, typename X2,
|
| + typename X3, typename X4, typename X5>
|
| +inline MutantFunctor<R, Tuple0>
|
| +CreateFunctor(T* obj, R (U::*method)(X1, X2, X3, X4, X5), const P1& p1,
|
| + const P2& p2, const P3& p3, const P4& p4, const P5& p5) {
|
| + MutantRunner<R, Tuple0>* t =
|
| + new Mutant<R, T, R (U::*)(X1, X2, X3, X4, X5),
|
| + Tuple5<P1, P2, P3, P4, P5>, Tuple0>
|
| + (obj, method, MakeTuple(p1, p2, p3, p4, p5));
|
| + return MutantFunctor<R, Tuple0>(t);
|
| +}
|
| +
|
| +template <typename R, typename P1, typename P2, typename P3, typename P4,
|
| + typename P5, typename X1, typename X2, typename X3, typename X4,
|
| + typename X5>
|
| +inline MutantFunctor<R, Tuple0>
|
| +CreateFunctor(R (*function)(X1, X2, X3, X4, X5), const P1& p1, const P2& p2,
|
| + const P3& p3, const P4& p4, const P5& p5) {
|
| + MutantRunner<R, Tuple0>* t =
|
| + new MutantFunction<R, R (*)(X1, X2, X3, X4, X5),
|
| + Tuple5<P1, P2, P3, P4, P5>, Tuple0>
|
| + (function, MakeTuple(p1, p2, p3, p4, p5));
|
| + 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 P5, typename X1, typename X2,
|
| + typename X3, typename X4, typename X5>
|
| +inline MutantFunctor<R, Tuple0>
|
| +CreateFunctor(T** obj, R (U::*method)(X1, X2, X3, X4, X5), const P1& p1,
|
| + const P2& p2, const P3& p3, const P4& p4, const P5& p5) {
|
| + MutantRunner<R, Tuple0>* t =
|
| + new MutantLateObjectBind<R, T, R (U::*)(X1, X2, X3, X4, X5),
|
| + Tuple5<P1, P2, P3, P4, P5>, Tuple0>
|
| + (obj, method, MakeTuple(p1, p2, p3, p4, p5));
|
| + return MutantFunctor<R, Tuple0>(t);
|
| +}
|
| +#endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
|
| +
|
| +#if defined (OS_WIN)
|
| +template <typename R, typename T, typename U, typename P1, typename P2,
|
| + typename P3, typename P4, typename P5, typename X1, typename X2,
|
| + typename X3, typename X4, typename X5>
|
| +inline MutantFunctor<R, Tuple0>
|
| +CreateFunctor(T* obj, R (__stdcall U::*method)(X1, X2, X3, X4, X5),
|
| + const P1& p1, const P2& p2, const P3& p3, const P4& p4, const P5& p5) {
|
| + MutantRunner<R, Tuple0>* t =
|
| + new Mutant<R, T, R (__stdcall U::*)(X1, X2, X3, X4, X5),
|
| + Tuple5<P1, P2, P3, P4, P5>, Tuple0>
|
| + (obj, method, MakeTuple(p1, p2, p3, p4, p5));
|
| + return MutantFunctor<R, Tuple0>(t);
|
| +}
|
| +
|
| +template <typename R, typename P1, typename P2, typename P3, typename P4,
|
| + typename P5, typename X1, typename X2, typename X3, typename X4,
|
| + typename X5>
|
| +inline MutantFunctor<R, Tuple0>
|
| +CreateFunctor(R (__stdcall *function)(X1, X2, X3, X4, X5), const P1& p1,
|
| + const P2& p2, const P3& p3, const P4& p4, const P5& p5) {
|
| + MutantRunner<R, Tuple0>* t =
|
| + new MutantFunction<R, R (__stdcall *)(X1, X2, X3, X4, X5),
|
| + Tuple5<P1, P2, P3, P4, P5>, Tuple0>
|
| + (function, MakeTuple(p1, p2, p3, p4, p5));
|
| + 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 P5, typename X1, typename X2,
|
| + typename X3, typename X4, typename X5>
|
| +inline MutantFunctor<R, Tuple0>
|
| +CreateFunctor(T** obj, R (__stdcall U::*method)(X1, X2, X3, X4, X5),
|
| + const P1& p1, const P2& p2, const P3& p3, const P4& p4, const P5& p5) {
|
| + MutantRunner<R, Tuple0>* t =
|
| + new MutantLateObjectBind<R, T, R (__stdcall U::*)(X1, X2, X3, X4, X5),
|
| + Tuple5<P1, P2, P3, P4, P5>, Tuple0>
|
| + (obj, method, MakeTuple(p1, p2, p3, p4, p5));
|
| + return MutantFunctor<R, Tuple0>(t);
|
| +}
|
| +#endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
|
| +#endif // OS_WIN
|
| +
|
| +// 5 - 1
|
| +template <typename R, typename T, typename U, typename P1, typename P2,
|
| + typename P3, typename P4, typename P5, typename A1, typename X1,
|
| + typename X2, typename X3, typename X4, typename X5>
|
| +inline MutantFunctor<R, Tuple1<A1> >
|
| +CreateFunctor(T* obj, R (U::*method)(X1, X2, X3, X4, X5, A1), const P1& p1,
|
| + const P2& p2, const P3& p3, const P4& p4, const P5& p5) {
|
| + MutantRunner<R, Tuple1<A1> >* t =
|
| + new Mutant<R, T, R (U::*)(X1, X2, X3, X4, X5, A1),
|
| + Tuple5<P1, P2, P3, P4, P5>, Tuple1<A1> >
|
| + (obj, method, MakeTuple(p1, p2, p3, p4, p5));
|
| + return MutantFunctor<R, Tuple1<A1> >(t);
|
| +}
|
| +
|
| +template <typename R, typename P1, typename P2, typename P3, typename P4,
|
| + typename P5, typename A1, typename X1, typename X2, typename X3,
|
| + typename X4, typename X5>
|
| +inline MutantFunctor<R, Tuple1<A1> >
|
| +CreateFunctor(R (*function)(X1, X2, X3, X4, X5, A1), const P1& p1, const P2& p2,
|
| + const P3& p3, const P4& p4, const P5& p5) {
|
| + MutantRunner<R, Tuple1<A1> >* t =
|
| + new MutantFunction<R, R (*)(X1, X2, X3, X4, X5, A1),
|
| + Tuple5<P1, P2, P3, P4, P5>, Tuple1<A1> >
|
| + (function, MakeTuple(p1, p2, p3, p4, p5));
|
| + 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 P5, typename A1, typename X1,
|
| + typename X2, typename X3, typename X4, typename X5>
|
| +inline MutantFunctor<R, Tuple1<A1> >
|
| +CreateFunctor(T** obj, R (U::*method)(X1, X2, X3, X4, X5, A1), const P1& p1,
|
| + const P2& p2, const P3& p3, const P4& p4, const P5& p5) {
|
| + MutantRunner<R, Tuple1<A1> >* t =
|
| + new MutantLateObjectBind<R, T, R (U::*)(X1, X2, X3, X4, X5, A1),
|
| + Tuple5<P1, P2, P3, P4, P5>, Tuple1<A1> >
|
| + (obj, method, MakeTuple(p1, p2, p3, p4, p5));
|
| + return MutantFunctor<R, Tuple1<A1> >(t);
|
| +}
|
| +#endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
|
| +
|
| +#if defined (OS_WIN)
|
| +template <typename R, typename T, typename U, typename P1, typename P2,
|
| + typename P3, typename P4, typename P5, typename A1, typename X1,
|
| + typename X2, typename X3, typename X4, typename X5>
|
| +inline MutantFunctor<R, Tuple1<A1> >
|
| +CreateFunctor(T* obj, R (__stdcall U::*method)(X1, X2, X3, X4, X5, A1),
|
| + const P1& p1, const P2& p2, const P3& p3, const P4& p4, const P5& p5) {
|
| + MutantRunner<R, Tuple1<A1> >* t =
|
| + new Mutant<R, T, R (__stdcall U::*)(X1, X2, X3, X4, X5, A1),
|
| + Tuple5<P1, P2, P3, P4, P5>, Tuple1<A1> >
|
| + (obj, method, MakeTuple(p1, p2, p3, p4, p5));
|
| + return MutantFunctor<R, Tuple1<A1> >(t);
|
| +}
|
| +
|
| +template <typename R, typename P1, typename P2, typename P3, typename P4,
|
| + typename P5, typename A1, typename X1, typename X2, typename X3,
|
| + typename X4, typename X5>
|
| +inline MutantFunctor<R, Tuple1<A1> >
|
| +CreateFunctor(R (__stdcall *function)(X1, X2, X3, X4, X5, A1), const P1& p1,
|
| + const P2& p2, const P3& p3, const P4& p4, const P5& p5) {
|
| + MutantRunner<R, Tuple1<A1> >* t =
|
| + new MutantFunction<R, R (__stdcall *)(X1, X2, X3, X4, X5, A1),
|
| + Tuple5<P1, P2, P3, P4, P5>, Tuple1<A1> >
|
| + (function, MakeTuple(p1, p2, p3, p4, p5));
|
| + 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 P5, typename A1, typename X1,
|
| + typename X2, typename X3, typename X4, typename X5>
|
| +inline MutantFunctor<R, Tuple1<A1> >
|
| +CreateFunctor(T** obj, R (__stdcall U::*method)(X1, X2, X3, X4, X5, A1),
|
| + const P1& p1, const P2& p2, const P3& p3, const P4& p4, const P5& p5) {
|
| + MutantRunner<R, Tuple1<A1> >* t =
|
| + new MutantLateObjectBind<R, T, R (__stdcall U::*)(X1, X2, X3, X4, X5, A1),
|
| + Tuple5<P1, P2, P3, P4, P5>, Tuple1<A1> >
|
| + (obj, method, MakeTuple(p1, p2, p3, p4, p5));
|
| + return MutantFunctor<R, Tuple1<A1> >(t);
|
| +}
|
| +#endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
|
| +#endif // OS_WIN
|
| +
|
| +// 5 - 2
|
| +template <typename R, typename T, typename U, typename P1, typename P2,
|
| + typename P3, typename P4, typename P5, typename A1, typename A2,
|
| + typename X1, typename X2, typename X3, typename X4, typename X5>
|
| +inline MutantFunctor<R, Tuple2<A1, A2> >
|
| +CreateFunctor(T* obj, R (U::*method)(X1, X2, X3, X4, X5, A1, A2), const P1& p1,
|
| + const P2& p2, const P3& p3, const P4& p4, const P5& p5) {
|
| + MutantRunner<R, Tuple2<A1, A2> >* t =
|
| + new Mutant<R, T, R (U::*)(X1, X2, X3, X4, X5, A1, A2),
|
| + Tuple5<P1, P2, P3, P4, P5>, Tuple2<A1, A2> >
|
| + (obj, method, MakeTuple(p1, p2, p3, p4, p5));
|
| + return MutantFunctor<R, Tuple2<A1, A2> >(t);
|
| +}
|
| +
|
| +template <typename R, typename P1, typename P2, typename P3, typename P4,
|
| + typename P5, typename A1, typename A2, typename X1, typename X2,
|
| + typename X3, typename X4, typename X5>
|
| +inline MutantFunctor<R, Tuple2<A1, A2> >
|
| +CreateFunctor(R (*function)(X1, X2, X3, X4, X5, A1, A2), const P1& p1,
|
| + const P2& p2, const P3& p3, const P4& p4, const P5& p5) {
|
| + MutantRunner<R, Tuple2<A1, A2> >* t =
|
| + new MutantFunction<R, R (*)(X1, X2, X3, X4, X5, A1, A2),
|
| + Tuple5<P1, P2, P3, P4, P5>, Tuple2<A1, A2> >
|
| + (function, MakeTuple(p1, p2, p3, p4, p5));
|
| + 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 P5, typename A1, typename A2,
|
| + typename X1, typename X2, typename X3, typename X4, typename X5>
|
| +inline MutantFunctor<R, Tuple2<A1, A2> >
|
| +CreateFunctor(T** obj, R (U::*method)(X1, X2, X3, X4, X5, A1, A2), const P1& p1,
|
| + const P2& p2, const P3& p3, const P4& p4, const P5& p5) {
|
| + MutantRunner<R, Tuple2<A1, A2> >* t =
|
| + new MutantLateObjectBind<R, T, R (U::*)(X1, X2, X3, X4, X5, A1, A2),
|
| + Tuple5<P1, P2, P3, P4, P5>, Tuple2<A1, A2> >
|
| + (obj, method, MakeTuple(p1, p2, p3, p4, p5));
|
| + return MutantFunctor<R, Tuple2<A1, A2> >(t);
|
| +}
|
| +#endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
|
| +
|
| +#if defined (OS_WIN)
|
| +template <typename R, typename T, typename U, typename P1, typename P2,
|
| + typename P3, typename P4, typename P5, typename A1, typename A2,
|
| + typename X1, typename X2, typename X3, typename X4, typename X5>
|
| +inline MutantFunctor<R, Tuple2<A1, A2> >
|
| +CreateFunctor(T* obj, R (__stdcall U::*method)(X1, X2, X3, X4, X5, A1, A2),
|
| + const P1& p1, const P2& p2, const P3& p3, const P4& p4, const P5& p5) {
|
| + MutantRunner<R, Tuple2<A1, A2> >* t =
|
| + new Mutant<R, T, R (__stdcall U::*)(X1, X2, X3, X4, X5, A1, A2),
|
| + Tuple5<P1, P2, P3, P4, P5>, Tuple2<A1, A2> >
|
| + (obj, method, MakeTuple(p1, p2, p3, p4, p5));
|
| + return MutantFunctor<R, Tuple2<A1, A2> >(t);
|
| +}
|
| +
|
| +template <typename R, typename P1, typename P2, typename P3, typename P4,
|
| + typename P5, typename A1, typename A2, typename X1, typename X2,
|
| + typename X3, typename X4, typename X5>
|
| +inline MutantFunctor<R, Tuple2<A1, A2> >
|
| +CreateFunctor(R (__stdcall *function)(X1, X2, X3, X4, X5, A1, A2), const P1& p1,
|
| + const P2& p2, const P3& p3, const P4& p4, const P5& p5) {
|
| + MutantRunner<R, Tuple2<A1, A2> >* t =
|
| + new MutantFunction<R, R (__stdcall *)(X1, X2, X3, X4, X5, A1, A2),
|
| + Tuple5<P1, P2, P3, P4, P5>, Tuple2<A1, A2> >
|
| + (function, MakeTuple(p1, p2, p3, p4, p5));
|
| + 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 P5, typename A1, typename A2,
|
| + typename X1, typename X2, typename X3, typename X4, typename X5>
|
| +inline MutantFunctor<R, Tuple2<A1, A2> >
|
| +CreateFunctor(T** obj, R (__stdcall U::*method)(X1, X2, X3, X4, X5, A1, A2),
|
| + const P1& p1, const P2& p2, const P3& p3, const P4& p4, const P5& p5) {
|
| + MutantRunner<R, Tuple2<A1, A2> >* t =
|
| + new MutantLateObjectBind<R, T, R (__stdcall U::*)(X1, X2, X3, X4, X5, A1, A2),
|
| + Tuple5<P1, P2, P3, P4, P5>, Tuple2<A1, A2> >
|
| + (obj, method, MakeTuple(p1, p2, p3, p4, p5));
|
| + return MutantFunctor<R, Tuple2<A1, A2> >(t);
|
| +}
|
| +#endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
|
| +#endif // OS_WIN
|
| +
|
| +// 5 - 3
|
| +template <typename R, typename T, typename U, typename P1, typename P2,
|
| + typename P3, typename P4, typename P5, typename A1, typename A2,
|
| + typename A3, typename X1, typename X2, typename X3, typename X4,
|
| + typename X5>
|
| +inline MutantFunctor<R, Tuple3<A1, A2, A3> >
|
| +CreateFunctor(T* obj, R (U::*method)(X1, X2, X3, X4, X5, A1, A2, A3),
|
| + const P1& p1, const P2& p2, const P3& p3, const P4& p4, const P5& p5) {
|
| + MutantRunner<R, Tuple3<A1, A2, A3> >* t =
|
| + new Mutant<R, T, R (U::*)(X1, X2, X3, X4, X5, A1, A2, A3),
|
| + Tuple5<P1, P2, P3, P4, P5>, Tuple3<A1, A2, A3> >
|
| + (obj, method, MakeTuple(p1, p2, p3, p4, p5));
|
| + return MutantFunctor<R, Tuple3<A1, A2, A3> >(t);
|
| +}
|
| +
|
| +template <typename R, typename P1, typename P2, typename P3, typename P4,
|
| + typename P5, typename A1, typename A2, typename A3, typename X1,
|
| + typename X2, typename X3, typename X4, typename X5>
|
| +inline MutantFunctor<R, Tuple3<A1, A2, A3> >
|
| +CreateFunctor(R (*function)(X1, X2, X3, X4, X5, A1, A2, A3), const P1& p1,
|
| + const P2& p2, const P3& p3, const P4& p4, const P5& p5) {
|
| + MutantRunner<R, Tuple3<A1, A2, A3> >* t =
|
| + new MutantFunction<R, R (*)(X1, X2, X3, X4, X5, A1, A2, A3),
|
| + Tuple5<P1, P2, P3, P4, P5>, Tuple3<A1, A2, A3> >
|
| + (function, MakeTuple(p1, p2, p3, p4, p5));
|
| + 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 P5, typename A1, typename A2,
|
| + typename A3, typename X1, typename X2, typename X3, typename X4,
|
| + typename X5>
|
| +inline MutantFunctor<R, Tuple3<A1, A2, A3> >
|
| +CreateFunctor(T** obj, R (U::*method)(X1, X2, X3, X4, X5, A1, A2, A3),
|
| + const P1& p1, const P2& p2, const P3& p3, const P4& p4, const P5& p5) {
|
| + MutantRunner<R, Tuple3<A1, A2, A3> >* t =
|
| + new MutantLateObjectBind<R, T, R (U::*)(X1, X2, X3, X4, X5, A1, A2, A3),
|
| + Tuple5<P1, P2, P3, P4, P5>, Tuple3<A1, A2, A3> >
|
| + (obj, method, MakeTuple(p1, p2, p3, p4, p5));
|
| + return MutantFunctor<R, Tuple3<A1, A2, A3> >(t);
|
| +}
|
| +#endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
|
| +
|
| +#if defined (OS_WIN)
|
| +template <typename R, typename T, typename U, typename P1, typename P2,
|
| + typename P3, typename P4, typename P5, typename A1, typename A2,
|
| + typename A3, typename X1, typename X2, typename X3, typename X4,
|
| + typename X5>
|
| +inline MutantFunctor<R, Tuple3<A1, A2, A3> >
|
| +CreateFunctor(T* obj, R (__stdcall U::*method)(X1, X2, X3, X4, X5, A1, A2, A3),
|
| + const P1& p1, const P2& p2, const P3& p3, const P4& p4, const P5& p5) {
|
| + MutantRunner<R, Tuple3<A1, A2, A3> >* t =
|
| + new Mutant<R, T, R (__stdcall U::*)(X1, X2, X3, X4, X5, A1, A2, A3),
|
| + Tuple5<P1, P2, P3, P4, P5>, Tuple3<A1, A2, A3> >
|
| + (obj, method, MakeTuple(p1, p2, p3, p4, p5));
|
| + return MutantFunctor<R, Tuple3<A1, A2, A3> >(t);
|
| +}
|
| +
|
| +template <typename R, typename P1, typename P2, typename P3, typename P4,
|
| + typename P5, typename A1, typename A2, typename A3, typename X1,
|
| + typename X2, typename X3, typename X4, typename X5>
|
| +inline MutantFunctor<R, Tuple3<A1, A2, A3> >
|
| +CreateFunctor(R (__stdcall *function)(X1, X2, X3, X4, X5, A1, A2, A3),
|
| + const P1& p1, const P2& p2, const P3& p3, const P4& p4, const P5& p5) {
|
| + MutantRunner<R, Tuple3<A1, A2, A3> >* t =
|
| + new MutantFunction<R, R (__stdcall *)(X1, X2, X3, X4, X5, A1, A2, A3),
|
| + Tuple5<P1, P2, P3, P4, P5>, Tuple3<A1, A2, A3> >
|
| + (function, MakeTuple(p1, p2, p3, p4, p5));
|
| + 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 P5, typename A1, typename A2,
|
| + typename A3, typename X1, typename X2, typename X3, typename X4,
|
| + typename X5>
|
| +inline MutantFunctor<R, Tuple3<A1, A2, A3> >
|
| +CreateFunctor(T** obj, R (__stdcall U::*method)(X1, X2, X3, X4, X5, A1, A2, A3),
|
| + const P1& p1, const P2& p2, const P3& p3, const P4& p4, const P5& p5) {
|
| + MutantRunner<R, Tuple3<A1, A2, A3> >* t =
|
| + new MutantLateObjectBind<R, T, R (__stdcall U::*)(X1, X2, X3, X4, X5, A1, A2, A3),
|
| + Tuple5<P1, P2, P3, P4, P5>, Tuple3<A1, A2, A3> >
|
| + (obj, method, MakeTuple(p1, p2, p3, p4, p5));
|
| + return MutantFunctor<R, Tuple3<A1, A2, A3> >(t);
|
| +}
|
| +#endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
|
| +#endif // OS_WIN
|
| +
|
| +// 5 - 4
|
| +template <typename R, typename T, typename U, typename P1, typename P2,
|
| + typename P3, typename P4, typename P5, typename A1, typename A2,
|
| + typename A3, typename A4, typename X1, typename X2, typename X3,
|
| + typename X4, typename X5>
|
| +inline MutantFunctor<R, Tuple4<A1, A2, A3, A4> >
|
| +CreateFunctor(T* obj, R (U::*method)(X1, X2, X3, X4, X5, A1, A2, A3, A4),
|
| + const P1& p1, const P2& p2, const P3& p3, const P4& p4, const P5& p5) {
|
| + MutantRunner<R, Tuple4<A1, A2, A3, A4> >* t =
|
| + new Mutant<R, T, R (U::*)(X1, X2, X3, X4, X5, A1, A2, A3, A4),
|
| + Tuple5<P1, P2, P3, P4, P5>, Tuple4<A1, A2, A3, A4> >
|
| + (obj, method, MakeTuple(p1, p2, p3, p4, p5));
|
| + return MutantFunctor<R, Tuple4<A1, A2, A3, A4> >(t);
|
| +}
|
| +
|
| +template <typename R, typename P1, typename P2, typename P3, typename P4,
|
| + typename P5, typename A1, typename A2, typename A3, typename A4,
|
| + typename X1, typename X2, typename X3, typename X4, typename X5>
|
| +inline MutantFunctor<R, Tuple4<A1, A2, A3, A4> >
|
| +CreateFunctor(R (*function)(X1, X2, X3, X4, X5, A1, A2, A3, A4), const P1& p1,
|
| + const P2& p2, const P3& p3, const P4& p4, const P5& p5) {
|
| + MutantRunner<R, Tuple4<A1, A2, A3, A4> >* t =
|
| + new MutantFunction<R, R (*)(X1, X2, X3, X4, X5, A1, A2, A3, A4),
|
| + Tuple5<P1, P2, P3, P4, P5>, Tuple4<A1, A2, A3, A4> >
|
| + (function, MakeTuple(p1, p2, p3, p4, p5));
|
| + 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 P5, typename A1, typename A2,
|
| + typename A3, typename A4, typename X1, typename X2, typename X3,
|
| + typename X4, typename X5>
|
| +inline MutantFunctor<R, Tuple4<A1, A2, A3, A4> >
|
| +CreateFunctor(T** obj, R (U::*method)(X1, X2, X3, X4, X5, A1, A2, A3, A4),
|
| + const P1& p1, const P2& p2, const P3& p3, const P4& p4, const P5& p5) {
|
| + MutantRunner<R, Tuple4<A1, A2, A3, A4> >* t =
|
| + new MutantLateObjectBind<R, T, R (U::*)(X1, X2, X3, X4, X5, A1, A2, A3, A4),
|
| + Tuple5<P1, P2, P3, P4, P5>, Tuple4<A1, A2, A3, A4> >
|
| + (obj, method, MakeTuple(p1, p2, p3, p4, p5));
|
| + return MutantFunctor<R, Tuple4<A1, A2, A3, A4> >(t);
|
| +}
|
| +#endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
|
| +
|
| +#if defined (OS_WIN)
|
| +template <typename R, typename T, typename U, typename P1, typename P2,
|
| + typename P3, typename P4, typename P5, typename A1, typename A2,
|
| + typename A3, typename A4, typename X1, typename X2, typename X3,
|
| + typename X4, typename X5>
|
| +inline MutantFunctor<R, Tuple4<A1, A2, A3, A4> >
|
| +CreateFunctor(T* obj, R (__stdcall U::*method)(X1, X2, X3, X4, X5, A1, A2, A3,
|
| + A4), const P1& p1, const P2& p2, const P3& p3, const P4& p4,
|
| + const P5& p5) {
|
| + MutantRunner<R, Tuple4<A1, A2, A3, A4> >* t =
|
| + new Mutant<R, T, R (__stdcall U::*)(X1, X2, X3, X4, X5, A1, A2, A3, A4),
|
| + Tuple5<P1, P2, P3, P4, P5>, Tuple4<A1, A2, A3, A4> >
|
| + (obj, method, MakeTuple(p1, p2, p3, p4, p5));
|
| + return MutantFunctor<R, Tuple4<A1, A2, A3, A4> >(t);
|
| +}
|
| +
|
| +template <typename R, typename P1, typename P2, typename P3, typename P4,
|
| + typename P5, typename A1, typename A2, typename A3, typename A4,
|
| + typename X1, typename X2, typename X3, typename X4, typename X5>
|
| +inline MutantFunctor<R, Tuple4<A1, A2, A3, A4> >
|
| +CreateFunctor(R (__stdcall *function)(X1, X2, X3, X4, X5, A1, A2, A3, A4),
|
| + const P1& p1, const P2& p2, const P3& p3, const P4& p4, const P5& p5) {
|
| + MutantRunner<R, Tuple4<A1, A2, A3, A4> >* t =
|
| + new MutantFunction<R, R (__stdcall *)(X1, X2, X3, X4, X5, A1, A2, A3, A4),
|
| + Tuple5<P1, P2, P3, P4, P5>, Tuple4<A1, A2, A3, A4> >
|
| + (function, MakeTuple(p1, p2, p3, p4, p5));
|
| + 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 P5, typename A1, typename A2,
|
| + typename A3, typename A4, typename X1, typename X2, typename X3,
|
| + typename X4, typename X5>
|
| +inline MutantFunctor<R, Tuple4<A1, A2, A3, A4> >
|
| +CreateFunctor(T** obj, R (__stdcall U::*method)(X1, X2, X3, X4, X5, A1, A2, A3,
|
| + A4), const P1& p1, const P2& p2, const P3& p3, const P4& p4,
|
| + const P5& p5) {
|
| + MutantRunner<R, Tuple4<A1, A2, A3, A4> >* t =
|
| + new MutantLateObjectBind<R, T, R (__stdcall U::*)(X1, X2, X3, X4, X5, A1, A2, A3, A4),
|
| + Tuple5<P1, P2, P3, P4, P5>, Tuple4<A1, A2, A3, A4> >
|
| + (obj, method, MakeTuple(p1, p2, p3, p4, p5));
|
| + return MutantFunctor<R, Tuple4<A1, A2, A3, A4> >(t);
|
| +}
|
| +#endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
|
| +#endif // OS_WIN
|
| +
|
| +// 5 - 5
|
| +template <typename R, typename T, typename U, typename P1, typename P2,
|
| + typename P3, typename P4, typename P5, typename A1, typename A2,
|
| + typename A3, typename A4, typename A5, typename X1, typename X2,
|
| + typename X3, typename X4, typename X5>
|
| +inline MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >
|
| +CreateFunctor(T* obj, R (U::*method)(X1, X2, X3, X4, X5, A1, A2, A3, A4, A5),
|
| + const P1& p1, const P2& p2, const P3& p3, const P4& p4, const P5& p5) {
|
| + MutantRunner<R, Tuple5<A1, A2, A3, A4, A5> >* t =
|
| + new Mutant<R, T, R (U::*)(X1, X2, X3, X4, X5, A1, A2, A3, A4, A5),
|
| + Tuple5<P1, P2, P3, P4, P5>, Tuple5<A1, A2, A3, A4, A5> >
|
| + (obj, method, MakeTuple(p1, p2, p3, p4, p5));
|
| + return MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >(t);
|
| +}
|
| +
|
| +template <typename R, typename P1, typename P2, typename P3, typename P4,
|
| + typename P5, typename A1, typename A2, typename A3, typename A4,
|
| + typename A5, typename X1, typename X2, typename X3, typename X4,
|
| + typename X5>
|
| +inline MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >
|
| +CreateFunctor(R (*function)(X1, X2, X3, X4, X5, A1, A2, A3, A4, A5),
|
| + const P1& p1, const P2& p2, const P3& p3, const P4& p4, const P5& p5) {
|
| + MutantRunner<R, Tuple5<A1, A2, A3, A4, A5> >* t =
|
| + new MutantFunction<R, R (*)(X1, X2, X3, X4, X5, A1, A2, A3, A4, A5),
|
| + Tuple5<P1, P2, P3, P4, P5>, Tuple5<A1, A2, A3, A4, A5> >
|
| + (function, MakeTuple(p1, p2, p3, p4, p5));
|
| + return MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >(t);
|
| +}
|
| +
|
| +#ifdef GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
|
| +template <typename R, typename T, typename U, typename P1, typename P2,
|
| + typename P3, typename P4, typename P5, typename A1, typename A2,
|
| + typename A3, typename A4, typename A5, typename X1, typename X2,
|
| + typename X3, typename X4, typename X5>
|
| +inline MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >
|
| +CreateFunctor(T** obj, R (U::*method)(X1, X2, X3, X4, X5, A1, A2, A3, A4, A5),
|
| + const P1& p1, const P2& p2, const P3& p3, const P4& p4, const P5& p5) {
|
| + MutantRunner<R, Tuple5<A1, A2, A3, A4, A5> >* t =
|
| + new MutantLateObjectBind<R, T, R (U::*)(X1, X2, X3, X4, X5, A1, A2, A3, A4, A5),
|
| + Tuple5<P1, P2, P3, P4, P5>, Tuple5<A1, A2, A3, A4, A5> >
|
| + (obj, method, MakeTuple(p1, p2, p3, p4, p5));
|
| + return MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >(t);
|
| +}
|
| +#endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
|
| +
|
| +#if defined (OS_WIN)
|
| +template <typename R, typename T, typename U, typename P1, typename P2,
|
| + typename P3, typename P4, typename P5, typename A1, typename A2,
|
| + typename A3, typename A4, typename A5, typename X1, typename X2,
|
| + typename X3, typename X4, typename X5>
|
| +inline MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >
|
| +CreateFunctor(T* obj, R (__stdcall U::*method)(X1, X2, X3, X4, X5, A1, A2, A3,
|
| + A4, A5), const P1& p1, const P2& p2, const P3& p3, const P4& p4,
|
| + const P5& p5) {
|
| + MutantRunner<R, Tuple5<A1, A2, A3, A4, A5> >* t =
|
| + new Mutant<R, T, R (__stdcall U::*)(X1, X2, X3, X4, X5, A1, A2, A3, A4, A5),
|
| + Tuple5<P1, P2, P3, P4, P5>, Tuple5<A1, A2, A3, A4, A5> >
|
| + (obj, method, MakeTuple(p1, p2, p3, p4, p5));
|
| + return MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >(t);
|
| +}
|
| +
|
| +template <typename R, typename P1, typename P2, typename P3, typename P4,
|
| + typename P5, typename A1, typename A2, typename A3, typename A4,
|
| + typename A5, typename X1, typename X2, typename X3, typename X4,
|
| + typename X5>
|
| +inline MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >
|
| +CreateFunctor(R (__stdcall *function)(X1, X2, X3, X4, X5, A1, A2, A3, A4, A5),
|
| + const P1& p1, const P2& p2, const P3& p3, const P4& p4, const P5& p5) {
|
| + MutantRunner<R, Tuple5<A1, A2, A3, A4, A5> >* t =
|
| + new MutantFunction<R, R (__stdcall *)(X1, X2, X3, X4, X5, A1, A2, A3, A4, A5),
|
| + Tuple5<P1, P2, P3, P4, P5>, Tuple5<A1, A2, A3, A4, A5> >
|
| + (function, MakeTuple(p1, p2, p3, p4, p5));
|
| + return MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >(t);
|
| +}
|
| +#ifdef GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
|
| +template <typename R, typename T, typename U, typename P1, typename P2,
|
| + typename P3, typename P4, typename P5, typename A1, typename A2,
|
| + typename A3, typename A4, typename A5, typename X1, typename X2,
|
| + typename X3, typename X4, typename X5>
|
| +inline MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >
|
| +CreateFunctor(T** obj, R (__stdcall U::*method)(X1, X2, X3, X4, X5, A1, A2, A3,
|
| + A4, A5), const P1& p1, const P2& p2, const P3& p3, const P4& p4,
|
| + const P5& p5) {
|
| + MutantRunner<R, Tuple5<A1, A2, A3, A4, A5> >* t =
|
| + new MutantLateObjectBind<R, T, R (__stdcall U::*)(X1, X2, X3, X4, X5, A1, A2, A3, A4, A5),
|
| + Tuple5<P1, P2, P3, P4, P5>, Tuple5<A1, A2, A3, A4, A5> >
|
| + (obj, method, MakeTuple(p1, p2, p3, p4, p5));
|
| + return MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >(t);
|
| +}
|
| +#endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
|
| +#endif // OS_WIN
|
| +
|
| +// 5 - 6
|
| +template <typename R, typename T, typename U, typename P1, typename P2,
|
| + typename P3, typename P4, typename P5, typename A1, typename A2,
|
| + typename A3, typename A4, typename A5, typename A6, typename X1,
|
| + typename X2, typename X3, typename X4, typename X5>
|
| +inline MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >
|
| +CreateFunctor(T* obj, R (U::*method)(X1, X2, X3, X4, X5, A1, A2, A3, A4, A5,
|
| + A6), const P1& p1, const P2& p2, const P3& p3, const P4& p4,
|
| + const P5& p5) {
|
| + MutantRunner<R, Tuple6<A1, A2, A3, A4, A5, A6> >* t =
|
| + new Mutant<R, T, R (U::*)(X1, X2, X3, X4, X5, A1, A2, A3, A4, A5, A6),
|
| + Tuple5<P1, P2, P3, P4, P5>, Tuple6<A1, A2, A3, A4, A5, A6> >
|
| + (obj, method, MakeTuple(p1, p2, p3, p4, p5));
|
| + return MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >(t);
|
| +}
|
| +
|
| +template <typename R, typename P1, typename P2, typename P3, typename P4,
|
| + typename P5, typename A1, typename A2, typename A3, typename A4,
|
| + typename A5, typename A6, typename X1, typename X2, typename X3,
|
| + typename X4, typename X5>
|
| +inline MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >
|
| +CreateFunctor(R (*function)(X1, X2, X3, X4, X5, A1, A2, A3, A4, A5, A6),
|
| + const P1& p1, const P2& p2, const P3& p3, const P4& p4, const P5& p5) {
|
| + MutantRunner<R, Tuple6<A1, A2, A3, A4, A5, A6> >* t =
|
| + new MutantFunction<R, R (*)(X1, X2, X3, X4, X5, A1, A2, A3, A4, A5, A6),
|
| + Tuple5<P1, P2, P3, P4, P5>, Tuple6<A1, A2, A3, A4, A5, A6> >
|
| + (function, MakeTuple(p1, p2, p3, p4, p5));
|
| + return MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >(t);
|
| +}
|
| +
|
| +#ifdef GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
|
| +template <typename R, typename T, typename U, typename P1, typename P2,
|
| + typename P3, typename P4, typename P5, typename A1, typename A2,
|
| + typename A3, typename A4, typename A5, typename A6, typename X1,
|
| + typename X2, typename X3, typename X4, typename X5>
|
| +inline MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >
|
| +CreateFunctor(T** obj, R (U::*method)(X1, X2, X3, X4, X5, A1, A2, A3, A4, A5,
|
| + A6), const P1& p1, const P2& p2, const P3& p3, const P4& p4,
|
| + const P5& p5) {
|
| + MutantRunner<R, Tuple6<A1, A2, A3, A4, A5, A6> >* t =
|
| + new MutantLateObjectBind<R, T, R (U::*)(X1, X2, X3, X4, X5, A1, A2, A3, A4, A5, A6),
|
| + Tuple5<P1, P2, P3, P4, P5>, Tuple6<A1, A2, A3, A4, A5, A6> >
|
| + (obj, method, MakeTuple(p1, p2, p3, p4, p5));
|
| + return MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >(t);
|
| +}
|
| +#endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
|
| +
|
| +#if defined (OS_WIN)
|
| +template <typename R, typename T, typename U, typename P1, typename P2,
|
| + typename P3, typename P4, typename P5, typename A1, typename A2,
|
| + typename A3, typename A4, typename A5, typename A6, typename X1,
|
| + typename X2, typename X3, typename X4, typename X5>
|
| +inline MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >
|
| +CreateFunctor(T* obj, R (__stdcall U::*method)(X1, X2, X3, X4, X5, A1, A2, A3,
|
| + A4, A5, A6), const P1& p1, const P2& p2, const P3& p3, const P4& p4,
|
| + const P5& p5) {
|
| + MutantRunner<R, Tuple6<A1, A2, A3, A4, A5, A6> >* t =
|
| + new Mutant<R, T, R (__stdcall U::*)(X1, X2, X3, X4, X5, A1, A2, A3, A4, A5, A6),
|
| + Tuple5<P1, P2, P3, P4, P5>, Tuple6<A1, A2, A3, A4, A5, A6> >
|
| + (obj, method, MakeTuple(p1, p2, p3, p4, p5));
|
| + return MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >(t);
|
| +}
|
| +
|
| +template <typename R, typename P1, typename P2, typename P3, typename P4,
|
| + typename P5, typename A1, typename A2, typename A3, typename A4,
|
| + typename A5, typename A6, typename X1, typename X2, typename X3,
|
| + typename X4, typename X5>
|
| +inline MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >
|
| +CreateFunctor(R (__stdcall *function)(X1, X2, X3, X4, X5, A1, A2, A3, A4, A5,
|
| + A6), const P1& p1, const P2& p2, const P3& p3, const P4& p4,
|
| + const P5& p5) {
|
| + MutantRunner<R, Tuple6<A1, A2, A3, A4, A5, A6> >* t =
|
| + new MutantFunction<R, R (__stdcall *)(X1, X2, X3, X4, X5, A1, A2, A3, A4, A5, A6),
|
| + Tuple5<P1, P2, P3, P4, P5>, Tuple6<A1, A2, A3, A4, A5, A6> >
|
| + (function, MakeTuple(p1, p2, p3, p4, p5));
|
| + return MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >(t);
|
| +}
|
| +#ifdef GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
|
| +template <typename R, typename T, typename U, typename P1, typename P2,
|
| + typename P3, typename P4, typename P5, typename A1, typename A2,
|
| + typename A3, typename A4, typename A5, typename A6, typename X1,
|
| + typename X2, typename X3, typename X4, typename X5>
|
| +inline MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >
|
| +CreateFunctor(T** obj, R (__stdcall U::*method)(X1, X2, X3, X4, X5, A1, A2, A3,
|
| + A4, A5, A6), const P1& p1, const P2& p2, const P3& p3, const P4& p4,
|
| + const P5& p5) {
|
| + MutantRunner<R, Tuple6<A1, A2, A3, A4, A5, A6> >* t =
|
| + new MutantLateObjectBind<R, T, R (__stdcall U::*)(X1, X2, X3, X4, X5, A1, A2, A3, A4, A5, A6),
|
| + Tuple5<P1, P2, P3, P4, P5>, Tuple6<A1, A2, A3, A4, A5, A6> >
|
| + (obj, method, MakeTuple(p1, p2, p3, p4, p5));
|
| + return MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >(t);
|
| +}
|
| +#endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
|
| +#endif // OS_WIN
|
| +
|
| +// 6 - 0
|
| +template <typename R, typename T, typename U, typename P1, typename P2,
|
| + typename P3, typename P4, typename P5, typename P6, typename X1,
|
| + typename X2, typename X3, typename X4, typename X5, typename X6>
|
| +inline MutantFunctor<R, Tuple0>
|
| +CreateFunctor(T* obj, R (U::*method)(X1, X2, X3, X4, X5, X6), const P1& p1,
|
| + const P2& p2, const P3& p3, const P4& p4, const P5& p5, const P6& p6) {
|
| + MutantRunner<R, Tuple0>* t =
|
| + new Mutant<R, T, R (U::*)(X1, X2, X3, X4, X5, X6),
|
| + Tuple6<P1, P2, P3, P4, P5, P6>, Tuple0>
|
| + (obj, method, MakeTuple(p1, p2, p3, p4, p5, p6));
|
| + return MutantFunctor<R, Tuple0>(t);
|
| +}
|
| +
|
| +template <typename R, typename P1, typename P2, typename P3, typename P4,
|
| + typename P5, typename P6, typename X1, typename X2, typename X3,
|
| + typename X4, typename X5, typename X6>
|
| +inline MutantFunctor<R, Tuple0>
|
| +CreateFunctor(R (*function)(X1, X2, X3, X4, X5, X6), const P1& p1, const P2& p2,
|
| + const P3& p3, const P4& p4, const P5& p5, const P6& p6) {
|
| + MutantRunner<R, Tuple0>* t =
|
| + new MutantFunction<R, R (*)(X1, X2, X3, X4, X5, X6),
|
| + Tuple6<P1, P2, P3, P4, P5, P6>, Tuple0>
|
| + (function, MakeTuple(p1, p2, p3, p4, p5, p6));
|
| + 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 P5, typename P6, typename X1,
|
| + typename X2, typename X3, typename X4, typename X5, typename X6>
|
| +inline MutantFunctor<R, Tuple0>
|
| +CreateFunctor(T** obj, R (U::*method)(X1, X2, X3, X4, X5, X6), const P1& p1,
|
| + const P2& p2, const P3& p3, const P4& p4, const P5& p5, const P6& p6) {
|
| + MutantRunner<R, Tuple0>* t =
|
| + new MutantLateObjectBind<R, T, R (U::*)(X1, X2, X3, X4, X5, X6),
|
| + Tuple6<P1, P2, P3, P4, P5, P6>, Tuple0>
|
| + (obj, method, MakeTuple(p1, p2, p3, p4, p5, p6));
|
| + return MutantFunctor<R, Tuple0>(t);
|
| +}
|
| +#endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
|
| +
|
| +#if defined (OS_WIN)
|
| +template <typename R, typename T, typename U, typename P1, typename P2,
|
| + typename P3, typename P4, typename P5, typename P6, typename X1,
|
| + typename X2, typename X3, typename X4, typename X5, typename X6>
|
| +inline MutantFunctor<R, Tuple0>
|
| +CreateFunctor(T* obj, R (__stdcall U::*method)(X1, X2, X3, X4, X5, X6),
|
| + const P1& p1, const P2& p2, const P3& p3, const P4& p4, const P5& p5,
|
| + const P6& p6) {
|
| + MutantRunner<R, Tuple0>* t =
|
| + new Mutant<R, T, R (__stdcall U::*)(X1, X2, X3, X4, X5, X6),
|
| + Tuple6<P1, P2, P3, P4, P5, P6>, Tuple0>
|
| + (obj, method, MakeTuple(p1, p2, p3, p4, p5, p6));
|
| + return MutantFunctor<R, Tuple0>(t);
|
| +}
|
| +
|
| +template <typename R, typename P1, typename P2, typename P3, typename P4,
|
| + typename P5, typename P6, typename X1, typename X2, typename X3,
|
| + typename X4, typename X5, typename X6>
|
| +inline MutantFunctor<R, Tuple0>
|
| +CreateFunctor(R (__stdcall *function)(X1, X2, X3, X4, X5, X6), const P1& p1,
|
| + const P2& p2, const P3& p3, const P4& p4, const P5& p5, const P6& p6) {
|
| + MutantRunner<R, Tuple0>* t =
|
| + new MutantFunction<R, R (__stdcall *)(X1, X2, X3, X4, X5, X6),
|
| + Tuple6<P1, P2, P3, P4, P5, P6>, Tuple0>
|
| + (function, MakeTuple(p1, p2, p3, p4, p5, p6));
|
| + 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 P5, typename P6, typename X1,
|
| + typename X2, typename X3, typename X4, typename X5, typename X6>
|
| +inline MutantFunctor<R, Tuple0>
|
| +CreateFunctor(T** obj, R (__stdcall U::*method)(X1, X2, X3, X4, X5, X6),
|
| + const P1& p1, const P2& p2, const P3& p3, const P4& p4, const P5& p5,
|
| + const P6& p6) {
|
| + MutantRunner<R, Tuple0>* t =
|
| + new MutantLateObjectBind<R, T, R (__stdcall U::*)(X1, X2, X3, X4, X5, X6),
|
| + Tuple6<P1, P2, P3, P4, P5, P6>, Tuple0>
|
| + (obj, method, MakeTuple(p1, p2, p3, p4, p5, p6));
|
| + return MutantFunctor<R, Tuple0>(t);
|
| +}
|
| +#endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
|
| +#endif // OS_WIN
|
| +
|
| +// 6 - 1
|
| +template <typename R, typename T, typename U, typename P1, typename P2,
|
| + typename P3, typename P4, typename P5, typename P6, typename A1,
|
| + typename X1, typename X2, typename X3, typename X4, typename X5,
|
| + typename X6>
|
| +inline MutantFunctor<R, Tuple1<A1> >
|
| +CreateFunctor(T* obj, R (U::*method)(X1, X2, X3, X4, X5, X6, A1), const P1& p1,
|
| + const P2& p2, const P3& p3, const P4& p4, const P5& p5, const P6& p6) {
|
| + MutantRunner<R, Tuple1<A1> >* t =
|
| + new Mutant<R, T, R (U::*)(X1, X2, X3, X4, X5, X6, A1),
|
| + Tuple6<P1, P2, P3, P4, P5, P6>, Tuple1<A1> >
|
| + (obj, method, MakeTuple(p1, p2, p3, p4, p5, p6));
|
| + return MutantFunctor<R, Tuple1<A1> >(t);
|
| +}
|
| +
|
| +template <typename R, typename P1, typename P2, typename P3, typename P4,
|
| + typename P5, typename P6, typename A1, typename X1, typename X2,
|
| + typename X3, typename X4, typename X5, typename X6>
|
| +inline MutantFunctor<R, Tuple1<A1> >
|
| +CreateFunctor(R (*function)(X1, X2, X3, X4, X5, X6, A1), const P1& p1,
|
| + const P2& p2, const P3& p3, const P4& p4, const P5& p5, const P6& p6) {
|
| + MutantRunner<R, Tuple1<A1> >* t =
|
| + new MutantFunction<R, R (*)(X1, X2, X3, X4, X5, X6, A1),
|
| + Tuple6<P1, P2, P3, P4, P5, P6>, Tuple1<A1> >
|
| + (function, MakeTuple(p1, p2, p3, p4, p5, p6));
|
| + 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 P5, typename P6, typename A1,
|
| + typename X1, typename X2, typename X3, typename X4, typename X5,
|
| + typename X6>
|
| +inline MutantFunctor<R, Tuple1<A1> >
|
| +CreateFunctor(T** obj, R (U::*method)(X1, X2, X3, X4, X5, X6, A1), const P1& p1,
|
| + const P2& p2, const P3& p3, const P4& p4, const P5& p5, const P6& p6) {
|
| + MutantRunner<R, Tuple1<A1> >* t =
|
| + new MutantLateObjectBind<R, T, R (U::*)(X1, X2, X3, X4, X5, X6, A1),
|
| + Tuple6<P1, P2, P3, P4, P5, P6>, Tuple1<A1> >
|
| + (obj, method, MakeTuple(p1, p2, p3, p4, p5, p6));
|
| + return MutantFunctor<R, Tuple1<A1> >(t);
|
| +}
|
| +#endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
|
| +
|
| +#if defined (OS_WIN)
|
| +template <typename R, typename T, typename U, typename P1, typename P2,
|
| + typename P3, typename P4, typename P5, typename P6, typename A1,
|
| + typename X1, typename X2, typename X3, typename X4, typename X5,
|
| + typename X6>
|
| +inline MutantFunctor<R, Tuple1<A1> >
|
| +CreateFunctor(T* obj, R (__stdcall U::*method)(X1, X2, X3, X4, X5, X6, A1),
|
| + const P1& p1, const P2& p2, const P3& p3, const P4& p4, const P5& p5,
|
| + const P6& p6) {
|
| + MutantRunner<R, Tuple1<A1> >* t =
|
| + new Mutant<R, T, R (__stdcall U::*)(X1, X2, X3, X4, X5, X6, A1),
|
| + Tuple6<P1, P2, P3, P4, P5, P6>, Tuple1<A1> >
|
| + (obj, method, MakeTuple(p1, p2, p3, p4, p5, p6));
|
| + return MutantFunctor<R, Tuple1<A1> >(t);
|
| +}
|
| +
|
| +template <typename R, typename P1, typename P2, typename P3, typename P4,
|
| + typename P5, typename P6, typename A1, typename X1, typename X2,
|
| + typename X3, typename X4, typename X5, typename X6>
|
| +inline MutantFunctor<R, Tuple1<A1> >
|
| +CreateFunctor(R (__stdcall *function)(X1, X2, X3, X4, X5, X6, A1), const P1& p1,
|
| + const P2& p2, const P3& p3, const P4& p4, const P5& p5, const P6& p6) {
|
| + MutantRunner<R, Tuple1<A1> >* t =
|
| + new MutantFunction<R, R (__stdcall *)(X1, X2, X3, X4, X5, X6, A1),
|
| + Tuple6<P1, P2, P3, P4, P5, P6>, Tuple1<A1> >
|
| + (function, MakeTuple(p1, p2, p3, p4, p5, p6));
|
| + 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 P5, typename P6, typename A1,
|
| + typename X1, typename X2, typename X3, typename X4, typename X5,
|
| + typename X6>
|
| +inline MutantFunctor<R, Tuple1<A1> >
|
| +CreateFunctor(T** obj, R (__stdcall U::*method)(X1, X2, X3, X4, X5, X6, A1),
|
| + const P1& p1, const P2& p2, const P3& p3, const P4& p4, const P5& p5,
|
| + const P6& p6) {
|
| + MutantRunner<R, Tuple1<A1> >* t =
|
| + new MutantLateObjectBind<R, T, R (__stdcall U::*)(X1, X2, X3, X4, X5, X6, A1),
|
| + Tuple6<P1, P2, P3, P4, P5, P6>, Tuple1<A1> >
|
| + (obj, method, MakeTuple(p1, p2, p3, p4, p5, p6));
|
| + return MutantFunctor<R, Tuple1<A1> >(t);
|
| +}
|
| +#endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
|
| +#endif // OS_WIN
|
| +
|
| +// 6 - 2
|
| +template <typename R, typename T, typename U, typename P1, typename P2,
|
| + typename P3, typename P4, typename P5, typename P6, typename A1,
|
| + typename A2, typename X1, typename X2, typename X3, typename X4,
|
| + typename X5, typename X6>
|
| +inline MutantFunctor<R, Tuple2<A1, A2> >
|
| +CreateFunctor(T* obj, R (U::*method)(X1, X2, X3, X4, X5, X6, A1, A2),
|
| + const P1& p1, const P2& p2, const P3& p3, const P4& p4, const P5& p5,
|
| + const P6& p6) {
|
| + MutantRunner<R, Tuple2<A1, A2> >* t =
|
| + new Mutant<R, T, R (U::*)(X1, X2, X3, X4, X5, X6, A1, A2),
|
| + Tuple6<P1, P2, P3, P4, P5, P6>, Tuple2<A1, A2> >
|
| + (obj, method, MakeTuple(p1, p2, p3, p4, p5, p6));
|
| + return MutantFunctor<R, Tuple2<A1, A2> >(t);
|
| +}
|
| +
|
| +template <typename R, typename P1, typename P2, typename P3, typename P4,
|
| + typename P5, typename P6, typename A1, typename A2, typename X1,
|
| + typename X2, typename X3, typename X4, typename X5, typename X6>
|
| +inline MutantFunctor<R, Tuple2<A1, A2> >
|
| +CreateFunctor(R (*function)(X1, X2, X3, X4, X5, X6, A1, A2), const P1& p1,
|
| + const P2& p2, const P3& p3, const P4& p4, const P5& p5, const P6& p6) {
|
| + MutantRunner<R, Tuple2<A1, A2> >* t =
|
| + new MutantFunction<R, R (*)(X1, X2, X3, X4, X5, X6, A1, A2),
|
| + Tuple6<P1, P2, P3, P4, P5, P6>, Tuple2<A1, A2> >
|
| + (function, MakeTuple(p1, p2, p3, p4, p5, p6));
|
| + 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 P5, typename P6, typename A1,
|
| + typename A2, typename X1, typename X2, typename X3, typename X4,
|
| + typename X5, typename X6>
|
| +inline MutantFunctor<R, Tuple2<A1, A2> >
|
| +CreateFunctor(T** obj, R (U::*method)(X1, X2, X3, X4, X5, X6, A1, A2),
|
| + const P1& p1, const P2& p2, const P3& p3, const P4& p4, const P5& p5,
|
| + const P6& p6) {
|
| + MutantRunner<R, Tuple2<A1, A2> >* t =
|
| + new MutantLateObjectBind<R, T, R (U::*)(X1, X2, X3, X4, X5, X6, A1, A2),
|
| + Tuple6<P1, P2, P3, P4, P5, P6>, Tuple2<A1, A2> >
|
| + (obj, method, MakeTuple(p1, p2, p3, p4, p5, p6));
|
| + return MutantFunctor<R, Tuple2<A1, A2> >(t);
|
| +}
|
| +#endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
|
| +
|
| +#if defined (OS_WIN)
|
| +template <typename R, typename T, typename U, typename P1, typename P2,
|
| + typename P3, typename P4, typename P5, typename P6, typename A1,
|
| + typename A2, typename X1, typename X2, typename X3, typename X4,
|
| + typename X5, typename X6>
|
| +inline MutantFunctor<R, Tuple2<A1, A2> >
|
| +CreateFunctor(T* obj, R (__stdcall U::*method)(X1, X2, X3, X4, X5, X6, A1, A2),
|
| + const P1& p1, const P2& p2, const P3& p3, const P4& p4, const P5& p5,
|
| + const P6& p6) {
|
| + MutantRunner<R, Tuple2<A1, A2> >* t =
|
| + new Mutant<R, T, R (__stdcall U::*)(X1, X2, X3, X4, X5, X6, A1, A2),
|
| + Tuple6<P1, P2, P3, P4, P5, P6>, Tuple2<A1, A2> >
|
| + (obj, method, MakeTuple(p1, p2, p3, p4, p5, p6));
|
| + return MutantFunctor<R, Tuple2<A1, A2> >(t);
|
| +}
|
| +
|
| +template <typename R, typename P1, typename P2, typename P3, typename P4,
|
| + typename P5, typename P6, typename A1, typename A2, typename X1,
|
| + typename X2, typename X3, typename X4, typename X5, typename X6>
|
| +inline MutantFunctor<R, Tuple2<A1, A2> >
|
| +CreateFunctor(R (__stdcall *function)(X1, X2, X3, X4, X5, X6, A1, A2),
|
| + const P1& p1, const P2& p2, const P3& p3, const P4& p4, const P5& p5,
|
| + const P6& p6) {
|
| + MutantRunner<R, Tuple2<A1, A2> >* t =
|
| + new MutantFunction<R, R (__stdcall *)(X1, X2, X3, X4, X5, X6, A1, A2),
|
| + Tuple6<P1, P2, P3, P4, P5, P6>, Tuple2<A1, A2> >
|
| + (function, MakeTuple(p1, p2, p3, p4, p5, p6));
|
| + 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 P5, typename P6, typename A1,
|
| + typename A2, typename X1, typename X2, typename X3, typename X4,
|
| + typename X5, typename X6>
|
| +inline MutantFunctor<R, Tuple2<A1, A2> >
|
| +CreateFunctor(T** obj, R (__stdcall U::*method)(X1, X2, X3, X4, X5, X6, A1, A2),
|
| + const P1& p1, const P2& p2, const P3& p3, const P4& p4, const P5& p5,
|
| + const P6& p6) {
|
| + MutantRunner<R, Tuple2<A1, A2> >* t =
|
| + new MutantLateObjectBind<R, T, R (__stdcall U::*)(X1, X2, X3, X4, X5, X6, A1, A2),
|
| + Tuple6<P1, P2, P3, P4, P5, P6>, Tuple2<A1, A2> >
|
| + (obj, method, MakeTuple(p1, p2, p3, p4, p5, p6));
|
| + return MutantFunctor<R, Tuple2<A1, A2> >(t);
|
| +}
|
| +#endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
|
| +#endif // OS_WIN
|
| +
|
| +// 6 - 3
|
| +template <typename R, typename T, typename U, typename P1, typename P2,
|
| + typename P3, typename P4, typename P5, typename P6, typename A1,
|
| + typename A2, typename A3, typename X1, typename X2, typename X3,
|
| + typename X4, typename X5, typename X6>
|
| +inline MutantFunctor<R, Tuple3<A1, A2, A3> >
|
| +CreateFunctor(T* obj, R (U::*method)(X1, X2, X3, X4, X5, X6, A1, A2, A3),
|
| + const P1& p1, const P2& p2, const P3& p3, const P4& p4, const P5& p5,
|
| + const P6& p6) {
|
| + MutantRunner<R, Tuple3<A1, A2, A3> >* t =
|
| + new Mutant<R, T, R (U::*)(X1, X2, X3, X4, X5, X6, A1, A2, A3),
|
| + Tuple6<P1, P2, P3, P4, P5, P6>, Tuple3<A1, A2, A3> >
|
| + (obj, method, MakeTuple(p1, p2, p3, p4, p5, p6));
|
| + return MutantFunctor<R, Tuple3<A1, A2, A3> >(t);
|
| +}
|
| +
|
| +template <typename R, typename P1, typename P2, typename P3, typename P4,
|
| + typename P5, typename P6, typename A1, typename A2, typename A3,
|
| + typename X1, typename X2, typename X3, typename X4, typename X5,
|
| + typename X6>
|
| +inline MutantFunctor<R, Tuple3<A1, A2, A3> >
|
| +CreateFunctor(R (*function)(X1, X2, X3, X4, X5, X6, A1, A2, A3), const P1& p1,
|
| + const P2& p2, const P3& p3, const P4& p4, const P5& p5, const P6& p6) {
|
| + MutantRunner<R, Tuple3<A1, A2, A3> >* t =
|
| + new MutantFunction<R, R (*)(X1, X2, X3, X4, X5, X6, A1, A2, A3),
|
| + Tuple6<P1, P2, P3, P4, P5, P6>, Tuple3<A1, A2, A3> >
|
| + (function, MakeTuple(p1, p2, p3, p4, p5, p6));
|
| + 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 P5, typename P6, typename A1,
|
| + typename A2, typename A3, typename X1, typename X2, typename X3,
|
| + typename X4, typename X5, typename X6>
|
| +inline MutantFunctor<R, Tuple3<A1, A2, A3> >
|
| +CreateFunctor(T** obj, R (U::*method)(X1, X2, X3, X4, X5, X6, A1, A2, A3),
|
| + const P1& p1, const P2& p2, const P3& p3, const P4& p4, const P5& p5,
|
| + const P6& p6) {
|
| + MutantRunner<R, Tuple3<A1, A2, A3> >* t =
|
| + new MutantLateObjectBind<R, T, R (U::*)(X1, X2, X3, X4, X5, X6, A1, A2, A3),
|
| + Tuple6<P1, P2, P3, P4, P5, P6>, Tuple3<A1, A2, A3> >
|
| + (obj, method, MakeTuple(p1, p2, p3, p4, p5, p6));
|
| + return MutantFunctor<R, Tuple3<A1, A2, A3> >(t);
|
| +}
|
| +#endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
|
| +
|
| +#if defined (OS_WIN)
|
| +template <typename R, typename T, typename U, typename P1, typename P2,
|
| + typename P3, typename P4, typename P5, typename P6, typename A1,
|
| + typename A2, typename A3, typename X1, typename X2, typename X3,
|
| + typename X4, typename X5, typename X6>
|
| +inline MutantFunctor<R, Tuple3<A1, A2, A3> >
|
| +CreateFunctor(T* obj, R (__stdcall U::*method)(X1, X2, X3, X4, X5, X6, A1, A2,
|
| + A3), const P1& p1, const P2& p2, const P3& p3, const P4& p4, const P5& p5,
|
| + const P6& p6) {
|
| + MutantRunner<R, Tuple3<A1, A2, A3> >* t =
|
| + new Mutant<R, T, R (__stdcall U::*)(X1, X2, X3, X4, X5, X6, A1, A2, A3),
|
| + Tuple6<P1, P2, P3, P4, P5, P6>, Tuple3<A1, A2, A3> >
|
| + (obj, method, MakeTuple(p1, p2, p3, p4, p5, p6));
|
| + return MutantFunctor<R, Tuple3<A1, A2, A3> >(t);
|
| +}
|
| +
|
| +template <typename R, typename P1, typename P2, typename P3, typename P4,
|
| + typename P5, typename P6, typename A1, typename A2, typename A3,
|
| + typename X1, typename X2, typename X3, typename X4, typename X5,
|
| + typename X6>
|
| +inline MutantFunctor<R, Tuple3<A1, A2, A3> >
|
| +CreateFunctor(R (__stdcall *function)(X1, X2, X3, X4, X5, X6, A1, A2, A3),
|
| + const P1& p1, const P2& p2, const P3& p3, const P4& p4, const P5& p5,
|
| + const P6& p6) {
|
| + MutantRunner<R, Tuple3<A1, A2, A3> >* t =
|
| + new MutantFunction<R, R (__stdcall *)(X1, X2, X3, X4, X5, X6, A1, A2, A3),
|
| + Tuple6<P1, P2, P3, P4, P5, P6>, Tuple3<A1, A2, A3> >
|
| + (function, MakeTuple(p1, p2, p3, p4, p5, p6));
|
| + 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 P5, typename P6, typename A1,
|
| + typename A2, typename A3, typename X1, typename X2, typename X3,
|
| + typename X4, typename X5, typename X6>
|
| +inline MutantFunctor<R, Tuple3<A1, A2, A3> >
|
| +CreateFunctor(T** obj, R (__stdcall U::*method)(X1, X2, X3, X4, X5, X6, A1, A2,
|
| + A3), const P1& p1, const P2& p2, const P3& p3, const P4& p4, const P5& p5,
|
| + const P6& p6) {
|
| + MutantRunner<R, Tuple3<A1, A2, A3> >* t =
|
| + new MutantLateObjectBind<R, T, R (__stdcall U::*)(X1, X2, X3, X4, X5, X6, A1, A2, A3),
|
| + Tuple6<P1, P2, P3, P4, P5, P6>, Tuple3<A1, A2, A3> >
|
| + (obj, method, MakeTuple(p1, p2, p3, p4, p5, p6));
|
| + return MutantFunctor<R, Tuple3<A1, A2, A3> >(t);
|
| +}
|
| +#endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
|
| +#endif // OS_WIN
|
| +
|
| +// 6 - 4
|
| +template <typename R, typename T, typename U, typename P1, typename P2,
|
| + typename P3, typename P4, typename P5, typename P6, typename A1,
|
| + typename A2, typename A3, typename A4, typename X1, typename X2,
|
| + typename X3, typename X4, typename X5, typename X6>
|
| +inline MutantFunctor<R, Tuple4<A1, A2, A3, A4> >
|
| +CreateFunctor(T* obj, R (U::*method)(X1, X2, X3, X4, X5, X6, A1, A2, A3, A4),
|
| + const P1& p1, const P2& p2, const P3& p3, const P4& p4, const P5& p5,
|
| + const P6& p6) {
|
| + MutantRunner<R, Tuple4<A1, A2, A3, A4> >* t =
|
| + new Mutant<R, T, R (U::*)(X1, X2, X3, X4, X5, X6, A1, A2, A3, A4),
|
| + Tuple6<P1, P2, P3, P4, P5, P6>, Tuple4<A1, A2, A3, A4> >
|
| + (obj, method, MakeTuple(p1, p2, p3, p4, p5, p6));
|
| + return MutantFunctor<R, Tuple4<A1, A2, A3, A4> >(t);
|
| +}
|
| +
|
| +template <typename R, typename P1, typename P2, typename P3, typename P4,
|
| + typename P5, typename P6, typename A1, typename A2, typename A3,
|
| + typename A4, typename X1, typename X2, typename X3, typename X4,
|
| + typename X5, typename X6>
|
| +inline MutantFunctor<R, Tuple4<A1, A2, A3, A4> >
|
| +CreateFunctor(R (*function)(X1, X2, X3, X4, X5, X6, A1, A2, A3, A4),
|
| + const P1& p1, const P2& p2, const P3& p3, const P4& p4, const P5& p5,
|
| + const P6& p6) {
|
| + MutantRunner<R, Tuple4<A1, A2, A3, A4> >* t =
|
| + new MutantFunction<R, R (*)(X1, X2, X3, X4, X5, X6, A1, A2, A3, A4),
|
| + Tuple6<P1, P2, P3, P4, P5, P6>, Tuple4<A1, A2, A3, A4> >
|
| + (function, MakeTuple(p1, p2, p3, p4, p5, p6));
|
| + 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 P5, typename P6, typename A1,
|
| + typename A2, typename A3, typename A4, typename X1, typename X2,
|
| + typename X3, typename X4, typename X5, typename X6>
|
| +inline MutantFunctor<R, Tuple4<A1, A2, A3, A4> >
|
| +CreateFunctor(T** obj, R (U::*method)(X1, X2, X3, X4, X5, X6, A1, A2, A3, A4),
|
| + const P1& p1, const P2& p2, const P3& p3, const P4& p4, const P5& p5,
|
| + const P6& p6) {
|
| + MutantRunner<R, Tuple4<A1, A2, A3, A4> >* t =
|
| + new MutantLateObjectBind<R, T, R (U::*)(X1, X2, X3, X4, X5, X6, A1, A2, A3, A4),
|
| + Tuple6<P1, P2, P3, P4, P5, P6>, Tuple4<A1, A2, A3, A4> >
|
| + (obj, method, MakeTuple(p1, p2, p3, p4, p5, p6));
|
| + return MutantFunctor<R, Tuple4<A1, A2, A3, A4> >(t);
|
| +}
|
| +#endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
|
| +
|
| +#if defined (OS_WIN)
|
| +template <typename R, typename T, typename U, typename P1, typename P2,
|
| + typename P3, typename P4, typename P5, typename P6, typename A1,
|
| + typename A2, typename A3, typename A4, typename X1, typename X2,
|
| + typename X3, typename X4, typename X5, typename X6>
|
| +inline MutantFunctor<R, Tuple4<A1, A2, A3, A4> >
|
| +CreateFunctor(T* obj, R (__stdcall U::*method)(X1, X2, X3, X4, X5, X6, A1, A2,
|
| + A3, A4), const P1& p1, const P2& p2, const P3& p3, const P4& p4,
|
| + const P5& p5, const P6& p6) {
|
| + MutantRunner<R, Tuple4<A1, A2, A3, A4> >* t =
|
| + new Mutant<R, T, R (__stdcall U::*)(X1, X2, X3, X4, X5, X6, A1, A2, A3, A4),
|
| + Tuple6<P1, P2, P3, P4, P5, P6>, Tuple4<A1, A2, A3, A4> >
|
| + (obj, method, MakeTuple(p1, p2, p3, p4, p5, p6));
|
| + return MutantFunctor<R, Tuple4<A1, A2, A3, A4> >(t);
|
| +}
|
| +
|
| +template <typename R, typename P1, typename P2, typename P3, typename P4,
|
| + typename P5, typename P6, typename A1, typename A2, typename A3,
|
| + typename A4, typename X1, typename X2, typename X3, typename X4,
|
| + typename X5, typename X6>
|
| +inline MutantFunctor<R, Tuple4<A1, A2, A3, A4> >
|
| +CreateFunctor(R (__stdcall *function)(X1, X2, X3, X4, X5, X6, A1, A2, A3, A4),
|
| + const P1& p1, const P2& p2, const P3& p3, const P4& p4, const P5& p5,
|
| + const P6& p6) {
|
| + MutantRunner<R, Tuple4<A1, A2, A3, A4> >* t =
|
| + new MutantFunction<R, R (__stdcall *)(X1, X2, X3, X4, X5, X6, A1, A2, A3, A4),
|
| + Tuple6<P1, P2, P3, P4, P5, P6>, Tuple4<A1, A2, A3, A4> >
|
| + (function, MakeTuple(p1, p2, p3, p4, p5, p6));
|
| + 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 P5, typename P6, typename A1,
|
| + typename A2, typename A3, typename A4, typename X1, typename X2,
|
| + typename X3, typename X4, typename X5, typename X6>
|
| +inline MutantFunctor<R, Tuple4<A1, A2, A3, A4> >
|
| +CreateFunctor(T** obj, R (__stdcall U::*method)(X1, X2, X3, X4, X5, X6, A1, A2,
|
| + A3, A4), const P1& p1, const P2& p2, const P3& p3, const P4& p4,
|
| + const P5& p5, const P6& p6) {
|
| + MutantRunner<R, Tuple4<A1, A2, A3, A4> >* t =
|
| + new MutantLateObjectBind<R, T, R (__stdcall U::*)(X1, X2, X3, X4, X5, X6, A1, A2, A3, A4),
|
| + Tuple6<P1, P2, P3, P4, P5, P6>, Tuple4<A1, A2, A3, A4> >
|
| + (obj, method, MakeTuple(p1, p2, p3, p4, p5, p6));
|
| + return MutantFunctor<R, Tuple4<A1, A2, A3, A4> >(t);
|
| +}
|
| +#endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
|
| +#endif // OS_WIN
|
| +
|
| +// 6 - 5
|
| +template <typename R, typename T, typename U, typename P1, typename P2,
|
| + typename P3, typename P4, typename P5, typename P6, typename A1,
|
| + typename A2, typename A3, typename A4, typename A5, typename X1,
|
| + typename X2, typename X3, typename X4, typename X5, typename X6>
|
| +inline MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >
|
| +CreateFunctor(T* obj, R (U::*method)(X1, X2, X3, X4, X5, X6, A1, A2, A3, A4,
|
| + A5), const P1& p1, const P2& p2, const P3& p3, const P4& p4, const P5& p5,
|
| + const P6& p6) {
|
| + MutantRunner<R, Tuple5<A1, A2, A3, A4, A5> >* t =
|
| + new Mutant<R, T, R (U::*)(X1, X2, X3, X4, X5, X6, A1, A2, A3, A4, A5),
|
| + Tuple6<P1, P2, P3, P4, P5, P6>, Tuple5<A1, A2, A3, A4, A5> >
|
| + (obj, method, MakeTuple(p1, p2, p3, p4, p5, p6));
|
| + return MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >(t);
|
| +}
|
| +
|
| +template <typename R, typename P1, typename P2, typename P3, typename P4,
|
| + typename P5, typename P6, typename A1, typename A2, typename A3,
|
| + typename A4, typename A5, typename X1, typename X2, typename X3,
|
| + typename X4, typename X5, typename X6>
|
| +inline MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >
|
| +CreateFunctor(R (*function)(X1, X2, X3, X4, X5, X6, A1, A2, A3, A4, A5),
|
| + const P1& p1, const P2& p2, const P3& p3, const P4& p4, const P5& p5,
|
| + const P6& p6) {
|
| + MutantRunner<R, Tuple5<A1, A2, A3, A4, A5> >* t =
|
| + new MutantFunction<R, R (*)(X1, X2, X3, X4, X5, X6, A1, A2, A3, A4, A5),
|
| + Tuple6<P1, P2, P3, P4, P5, P6>, Tuple5<A1, A2, A3, A4, A5> >
|
| + (function, MakeTuple(p1, p2, p3, p4, p5, p6));
|
| + return MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >(t);
|
| +}
|
| +
|
| +#ifdef GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
|
| +template <typename R, typename T, typename U, typename P1, typename P2,
|
| + typename P3, typename P4, typename P5, typename P6, typename A1,
|
| + typename A2, typename A3, typename A4, typename A5, typename X1,
|
| + typename X2, typename X3, typename X4, typename X5, typename X6>
|
| +inline MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >
|
| +CreateFunctor(T** obj, R (U::*method)(X1, X2, X3, X4, X5, X6, A1, A2, A3, A4,
|
| + A5), const P1& p1, const P2& p2, const P3& p3, const P4& p4, const P5& p5,
|
| + const P6& p6) {
|
| + MutantRunner<R, Tuple5<A1, A2, A3, A4, A5> >* t =
|
| + new MutantLateObjectBind<R, T, R (U::*)(X1, X2, X3, X4, X5, X6, A1, A2, A3, A4, A5),
|
| + Tuple6<P1, P2, P3, P4, P5, P6>, Tuple5<A1, A2, A3, A4, A5> >
|
| + (obj, method, MakeTuple(p1, p2, p3, p4, p5, p6));
|
| + return MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >(t);
|
| +}
|
| +#endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
|
| +
|
| +#if defined (OS_WIN)
|
| +template <typename R, typename T, typename U, typename P1, typename P2,
|
| + typename P3, typename P4, typename P5, typename P6, typename A1,
|
| + typename A2, typename A3, typename A4, typename A5, typename X1,
|
| + typename X2, typename X3, typename X4, typename X5, typename X6>
|
| +inline MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >
|
| +CreateFunctor(T* obj, R (__stdcall U::*method)(X1, X2, X3, X4, X5, X6, A1, A2,
|
| + A3, A4, A5), const P1& p1, const P2& p2, const P3& p3, const P4& p4,
|
| + const P5& p5, const P6& p6) {
|
| + MutantRunner<R, Tuple5<A1, A2, A3, A4, A5> >* t =
|
| + new Mutant<R, T, R (__stdcall U::*)(X1, X2, X3, X4, X5, X6, A1, A2, A3, A4, A5),
|
| + Tuple6<P1, P2, P3, P4, P5, P6>, Tuple5<A1, A2, A3, A4, A5> >
|
| + (obj, method, MakeTuple(p1, p2, p3, p4, p5, p6));
|
| + return MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >(t);
|
| +}
|
| +
|
| +template <typename R, typename P1, typename P2, typename P3, typename P4,
|
| + typename P5, typename P6, typename A1, typename A2, typename A3,
|
| + typename A4, typename A5, typename X1, typename X2, typename X3,
|
| + typename X4, typename X5, typename X6>
|
| +inline MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >
|
| +CreateFunctor(R (__stdcall *function)(X1, X2, X3, X4, X5, X6, A1, A2, A3, A4,
|
| + A5), const P1& p1, const P2& p2, const P3& p3, const P4& p4, const P5& p5,
|
| + const P6& p6) {
|
| + MutantRunner<R, Tuple5<A1, A2, A3, A4, A5> >* t =
|
| + new MutantFunction<R, R (__stdcall *)(X1, X2, X3, X4, X5, X6, A1, A2, A3, A4, A5),
|
| + Tuple6<P1, P2, P3, P4, P5, P6>, Tuple5<A1, A2, A3, A4, A5> >
|
| + (function, MakeTuple(p1, p2, p3, p4, p5, p6));
|
| + return MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >(t);
|
| +}
|
| +#ifdef GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
|
| +template <typename R, typename T, typename U, typename P1, typename P2,
|
| + typename P3, typename P4, typename P5, typename P6, typename A1,
|
| + typename A2, typename A3, typename A4, typename A5, typename X1,
|
| + typename X2, typename X3, typename X4, typename X5, typename X6>
|
| +inline MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >
|
| +CreateFunctor(T** obj, R (__stdcall U::*method)(X1, X2, X3, X4, X5, X6, A1, A2,
|
| + A3, A4, A5), const P1& p1, const P2& p2, const P3& p3, const P4& p4,
|
| + const P5& p5, const P6& p6) {
|
| + MutantRunner<R, Tuple5<A1, A2, A3, A4, A5> >* t =
|
| + new MutantLateObjectBind<R, T, R (__stdcall U::*)(X1, X2, X3, X4, X5, X6, A1, A2, A3, A4, A5),
|
| + Tuple6<P1, P2, P3, P4, P5, P6>, Tuple5<A1, A2, A3, A4, A5> >
|
| + (obj, method, MakeTuple(p1, p2, p3, p4, p5, p6));
|
| + return MutantFunctor<R, Tuple5<A1, A2, A3, A4, A5> >(t);
|
| +}
|
| +#endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
|
| +#endif // OS_WIN
|
| +
|
| +// 6 - 6
|
| +template <typename R, typename T, typename U, typename P1, typename P2,
|
| + typename P3, typename P4, typename P5, typename P6, typename A1,
|
| + typename A2, typename A3, typename A4, typename A5, typename A6,
|
| + typename X1, typename X2, typename X3, typename X4, typename X5,
|
| + typename X6>
|
| +inline MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >
|
| +CreateFunctor(T* obj, R (U::*method)(X1, X2, X3, X4, X5, X6, A1, A2, A3, A4, A5,
|
| + A6), const P1& p1, const P2& p2, const P3& p3, const P4& p4, const P5& p5,
|
| + const P6& p6) {
|
| + MutantRunner<R, Tuple6<A1, A2, A3, A4, A5, A6> >* t =
|
| + new Mutant<R, T, R (U::*)(X1, X2, X3, X4, X5, X6, A1, A2, A3, A4, A5, A6),
|
| + Tuple6<P1, P2, P3, P4, P5, P6>, Tuple6<A1, A2, A3, A4, A5, A6> >
|
| + (obj, method, MakeTuple(p1, p2, p3, p4, p5, p6));
|
| + return MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >(t);
|
| +}
|
| +
|
| +template <typename R, typename P1, typename P2, typename P3, typename P4,
|
| + typename P5, typename P6, typename A1, typename A2, typename A3,
|
| + typename A4, typename A5, typename A6, typename X1, typename X2,
|
| + typename X3, typename X4, typename X5, typename X6>
|
| +inline MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >
|
| +CreateFunctor(R (*function)(X1, X2, X3, X4, X5, X6, A1, A2, A3, A4, A5, A6),
|
| + const P1& p1, const P2& p2, const P3& p3, const P4& p4, const P5& p5,
|
| + const P6& p6) {
|
| + MutantRunner<R, Tuple6<A1, A2, A3, A4, A5, A6> >* t =
|
| + new MutantFunction<R, R (*)(X1, X2, X3, X4, X5, X6, A1, A2, A3, A4, A5, A6),
|
| + Tuple6<P1, P2, P3, P4, P5, P6>, Tuple6<A1, A2, A3, A4, A5, A6> >
|
| + (function, MakeTuple(p1, p2, p3, p4, p5, p6));
|
| + return MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >(t);
|
| +}
|
| +
|
| +#ifdef GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
|
| +template <typename R, typename T, typename U, typename P1, typename P2,
|
| + typename P3, typename P4, typename P5, typename P6, typename A1,
|
| + typename A2, typename A3, typename A4, typename A5, typename A6,
|
| + typename X1, typename X2, typename X3, typename X4, typename X5,
|
| + typename X6>
|
| +inline MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >
|
| +CreateFunctor(T** obj, R (U::*method)(X1, X2, X3, X4, X5, X6, A1, A2, A3, A4, A5,
|
| + A6), const P1& p1, const P2& p2, const P3& p3, const P4& p4, const P5& p5,
|
| + const P6& p6) {
|
| + MutantRunner<R, Tuple6<A1, A2, A3, A4, A5, A6> >* t =
|
| + new MutantLateObjectBind<R, T, R (U::*)(X1, X2, X3, X4, X5, X6, A1, A2, A3, A4, A5, A6),
|
| + Tuple6<P1, P2, P3, P4, P5, P6>, Tuple6<A1, A2, A3, A4, A5, A6> >
|
| + (obj, method, MakeTuple(p1, p2, p3, p4, p5, p6));
|
| + return MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >(t);
|
| +}
|
| +#endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
|
| +
|
| +#if defined (OS_WIN)
|
| +template <typename R, typename T, typename U, typename P1, typename P2,
|
| + typename P3, typename P4, typename P5, typename P6, typename A1,
|
| + typename A2, typename A3, typename A4, typename A5, typename A6,
|
| + typename X1, typename X2, typename X3, typename X4, typename X5,
|
| + typename X6>
|
| +inline MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >
|
| +CreateFunctor(T* obj, R (__stdcall U::*method)(X1, X2, X3, X4, X5, X6, A1, A2,
|
| + A3, A4, A5, A6), const P1& p1, const P2& p2, const P3& p3, const P4& p4,
|
| + const P5& p5, const P6& p6) {
|
| + MutantRunner<R, Tuple6<A1, A2, A3, A4, A5, A6> >* t =
|
| + new Mutant<R, T, R (__stdcall U::*)(X1, X2, X3, X4, X5, X6, A1, A2, A3, A4, A5, A6),
|
| + Tuple6<P1, P2, P3, P4, P5, P6>, Tuple6<A1, A2, A3, A4, A5, A6> >
|
| + (obj, method, MakeTuple(p1, p2, p3, p4, p5, p6));
|
| + return MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >(t);
|
| +}
|
| +
|
| +template <typename R, typename P1, typename P2, typename P3, typename P4,
|
| + typename P5, typename P6, typename A1, typename A2, typename A3,
|
| + typename A4, typename A5, typename A6, typename X1, typename X2,
|
| + typename X3, typename X4, typename X5, typename X6>
|
| +inline MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >
|
| +CreateFunctor(R (__stdcall *function)(X1, X2, X3, X4, X5, X6, A1, A2, A3, A4,
|
| + A5, A6), const P1& p1, const P2& p2, const P3& p3, const P4& p4,
|
| + const P5& p5, const P6& p6) {
|
| + MutantRunner<R, Tuple6<A1, A2, A3, A4, A5, A6> >* t =
|
| + new MutantFunction<R, R (__stdcall *)(X1, X2, X3, X4, X5, X6, A1, A2, A3, A4, A5, A6),
|
| + Tuple6<P1, P2, P3, P4, P5, P6>, Tuple6<A1, A2, A3, A4, A5, A6> >
|
| + (function, MakeTuple(p1, p2, p3, p4, p5, p6));
|
| + return MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >(t);
|
| +}
|
| +#ifdef GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
|
| +template <typename R, typename T, typename U, typename P1, typename P2,
|
| + typename P3, typename P4, typename P5, typename P6, typename A1,
|
| + typename A2, typename A3, typename A4, typename A5, typename A6,
|
| + typename X1, typename X2, typename X3, typename X4, typename X5,
|
| + typename X6>
|
| +inline MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >
|
| +CreateFunctor(T** obj, R (__stdcall U::*method)(X1, X2, X3, X4, X5, X6, A1, A2,
|
| + A3, A4, A5, A6), const P1& p1, const P2& p2, const P3& p3, const P4& p4,
|
| + const P5& p5, const P6& p6) {
|
| + MutantRunner<R, Tuple6<A1, A2, A3, A4, A5, A6> >* t =
|
| + new MutantLateObjectBind<R, T, R (__stdcall U::*)(X1, X2, X3, X4, X5, X6, A1, A2, A3, A4, A5, A6),
|
| + Tuple6<P1, P2, P3, P4, P5, P6>, Tuple6<A1, A2, A3, A4, A5, A6> >
|
| + (obj, method, MakeTuple(p1, p2, p3, p4, p5, p6));
|
| + return MutantFunctor<R, Tuple6<A1, A2, A3, A4, A5, A6> >(t);
|
| +}
|
| +#endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
|
| +#endif // OS_WIN
|
| +
|
| } // namespace testing
|
|
|
| #endif // TESTING_GMOCK_MUTANT_H_
|
|
|