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

Side by Side Diff: testing/gmock_mutant.h

Issue 402086: Functor for functions with STDCALL calling conventions. Allows invoking Windo... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 11 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « testing/generate_gmock_mutant.py ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2009 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 // This file automatically generated by testing/generate_gmock_mutant.py. 5 // This file automatically generated by testing/generate_gmock_mutant.py.
6 // DO NOT EDIT. 6 // DO NOT EDIT.
7 7
8 #ifndef TESTING_GMOCK_MUTANT_H_ 8 #ifndef TESTING_GMOCK_MUTANT_H_
9 #define TESTING_GMOCK_MUTANT_H_ 9 #define TESTING_GMOCK_MUTANT_H_
10 10
(...skipping 632 matching lines...) Expand 10 before | Expand all | Expand 10 after
643 #if defined (OS_WIN) 643 #if defined (OS_WIN)
644 template <typename R, typename T, typename U> 644 template <typename R, typename T, typename U>
645 inline MutantFunctor<R, Tuple0> 645 inline MutantFunctor<R, Tuple0>
646 CreateFunctor(T* obj, R (__stdcall U::*method)()) { 646 CreateFunctor(T* obj, R (__stdcall U::*method)()) {
647 MutantRunner<R, Tuple0>* t = 647 MutantRunner<R, Tuple0>* t =
648 new Mutant<R, T, R (__stdcall U::*)(), 648 new Mutant<R, T, R (__stdcall U::*)(),
649 Tuple0, Tuple0> 649 Tuple0, Tuple0>
650 (obj, method, MakeTuple()); 650 (obj, method, MakeTuple());
651 return MutantFunctor<R, Tuple0>(t); 651 return MutantFunctor<R, Tuple0>(t);
652 } 652 }
653
654 template <typename R>
655 inline MutantFunctor<R, Tuple0>
656 CreateFunctor(R (__stdcall *function)()) {
657 MutantRunner<R, Tuple0>* t =
658 new MutantFunction<R, R (__stdcall *)(),
659 Tuple0, Tuple0>
660 (function, MakeTuple());
661 return MutantFunctor<R, Tuple0>(t);
662 }
653 #ifdef GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING 663 #ifdef GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
654 template <typename R, typename T, typename U> 664 template <typename R, typename T, typename U>
655 inline MutantFunctor<R, Tuple0> 665 inline MutantFunctor<R, Tuple0>
656 CreateFunctor(T** obj, R (__stdcall U::*method)()) { 666 CreateFunctor(T** obj, R (__stdcall U::*method)()) {
657 MutantRunner<R, Tuple0>* t = 667 MutantRunner<R, Tuple0>* t =
658 new MutantLateObjectBind<R, T, R (__stdcall U::*)(), 668 new MutantLateObjectBind<R, T, R (__stdcall U::*)(),
659 Tuple0, Tuple0> 669 Tuple0, Tuple0>
660 (obj, method, MakeTuple()); 670 (obj, method, MakeTuple());
661 return MutantFunctor<R, Tuple0>(t); 671 return MutantFunctor<R, Tuple0>(t);
662 } 672 }
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
699 #if defined (OS_WIN) 709 #if defined (OS_WIN)
700 template <typename R, typename T, typename U, typename A1> 710 template <typename R, typename T, typename U, typename A1>
701 inline MutantFunctor<R, Tuple1<A1> > 711 inline MutantFunctor<R, Tuple1<A1> >
702 CreateFunctor(T* obj, R (__stdcall U::*method)(A1)) { 712 CreateFunctor(T* obj, R (__stdcall U::*method)(A1)) {
703 MutantRunner<R, Tuple1<A1> >* t = 713 MutantRunner<R, Tuple1<A1> >* t =
704 new Mutant<R, T, R (__stdcall U::*)(A1), 714 new Mutant<R, T, R (__stdcall U::*)(A1),
705 Tuple0, Tuple1<A1> > 715 Tuple0, Tuple1<A1> >
706 (obj, method, MakeTuple()); 716 (obj, method, MakeTuple());
707 return MutantFunctor<R, Tuple1<A1> >(t); 717 return MutantFunctor<R, Tuple1<A1> >(t);
708 } 718 }
719
720 template <typename R, typename A1>
721 inline MutantFunctor<R, Tuple1<A1> >
722 CreateFunctor(R (__stdcall *function)(A1)) {
723 MutantRunner<R, Tuple1<A1> >* t =
724 new MutantFunction<R, R (__stdcall *)(A1),
725 Tuple0, Tuple1<A1> >
726 (function, MakeTuple());
727 return MutantFunctor<R, Tuple1<A1> >(t);
728 }
709 #ifdef GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING 729 #ifdef GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
710 template <typename R, typename T, typename U, typename A1> 730 template <typename R, typename T, typename U, typename A1>
711 inline MutantFunctor<R, Tuple1<A1> > 731 inline MutantFunctor<R, Tuple1<A1> >
712 CreateFunctor(T** obj, R (__stdcall U::*method)(A1)) { 732 CreateFunctor(T** obj, R (__stdcall U::*method)(A1)) {
713 MutantRunner<R, Tuple1<A1> >* t = 733 MutantRunner<R, Tuple1<A1> >* t =
714 new MutantLateObjectBind<R, T, R (__stdcall U::*)(A1), 734 new MutantLateObjectBind<R, T, R (__stdcall U::*)(A1),
715 Tuple0, Tuple1<A1> > 735 Tuple0, Tuple1<A1> >
716 (obj, method, MakeTuple()); 736 (obj, method, MakeTuple());
717 return MutantFunctor<R, Tuple1<A1> >(t); 737 return MutantFunctor<R, Tuple1<A1> >(t);
718 } 738 }
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
755 #if defined (OS_WIN) 775 #if defined (OS_WIN)
756 template <typename R, typename T, typename U, typename A1, typename A2> 776 template <typename R, typename T, typename U, typename A1, typename A2>
757 inline MutantFunctor<R, Tuple2<A1, A2> > 777 inline MutantFunctor<R, Tuple2<A1, A2> >
758 CreateFunctor(T* obj, R (__stdcall U::*method)(A1, A2)) { 778 CreateFunctor(T* obj, R (__stdcall U::*method)(A1, A2)) {
759 MutantRunner<R, Tuple2<A1, A2> >* t = 779 MutantRunner<R, Tuple2<A1, A2> >* t =
760 new Mutant<R, T, R (__stdcall U::*)(A1, A2), 780 new Mutant<R, T, R (__stdcall U::*)(A1, A2),
761 Tuple0, Tuple2<A1, A2> > 781 Tuple0, Tuple2<A1, A2> >
762 (obj, method, MakeTuple()); 782 (obj, method, MakeTuple());
763 return MutantFunctor<R, Tuple2<A1, A2> >(t); 783 return MutantFunctor<R, Tuple2<A1, A2> >(t);
764 } 784 }
785
786 template <typename R, typename A1, typename A2>
787 inline MutantFunctor<R, Tuple2<A1, A2> >
788 CreateFunctor(R (__stdcall *function)(A1, A2)) {
789 MutantRunner<R, Tuple2<A1, A2> >* t =
790 new MutantFunction<R, R (__stdcall *)(A1, A2),
791 Tuple0, Tuple2<A1, A2> >
792 (function, MakeTuple());
793 return MutantFunctor<R, Tuple2<A1, A2> >(t);
794 }
765 #ifdef GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING 795 #ifdef GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
766 template <typename R, typename T, typename U, typename A1, typename A2> 796 template <typename R, typename T, typename U, typename A1, typename A2>
767 inline MutantFunctor<R, Tuple2<A1, A2> > 797 inline MutantFunctor<R, Tuple2<A1, A2> >
768 CreateFunctor(T** obj, R (__stdcall U::*method)(A1, A2)) { 798 CreateFunctor(T** obj, R (__stdcall U::*method)(A1, A2)) {
769 MutantRunner<R, Tuple2<A1, A2> >* t = 799 MutantRunner<R, Tuple2<A1, A2> >* t =
770 new MutantLateObjectBind<R, T, R (__stdcall U::*)(A1, A2), 800 new MutantLateObjectBind<R, T, R (__stdcall U::*)(A1, A2),
771 Tuple0, Tuple2<A1, A2> > 801 Tuple0, Tuple2<A1, A2> >
772 (obj, method, MakeTuple()); 802 (obj, method, MakeTuple());
773 return MutantFunctor<R, Tuple2<A1, A2> >(t); 803 return MutantFunctor<R, Tuple2<A1, A2> >(t);
774 } 804 }
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
814 template <typename R, typename T, typename U, typename A1, typename A2, 844 template <typename R, typename T, typename U, typename A1, typename A2,
815 typename A3> 845 typename A3>
816 inline MutantFunctor<R, Tuple3<A1, A2, A3> > 846 inline MutantFunctor<R, Tuple3<A1, A2, A3> >
817 CreateFunctor(T* obj, R (__stdcall U::*method)(A1, A2, A3)) { 847 CreateFunctor(T* obj, R (__stdcall U::*method)(A1, A2, A3)) {
818 MutantRunner<R, Tuple3<A1, A2, A3> >* t = 848 MutantRunner<R, Tuple3<A1, A2, A3> >* t =
819 new Mutant<R, T, R (__stdcall U::*)(A1, A2, A3), 849 new Mutant<R, T, R (__stdcall U::*)(A1, A2, A3),
820 Tuple0, Tuple3<A1, A2, A3> > 850 Tuple0, Tuple3<A1, A2, A3> >
821 (obj, method, MakeTuple()); 851 (obj, method, MakeTuple());
822 return MutantFunctor<R, Tuple3<A1, A2, A3> >(t); 852 return MutantFunctor<R, Tuple3<A1, A2, A3> >(t);
823 } 853 }
854
855 template <typename R, typename A1, typename A2, typename A3>
856 inline MutantFunctor<R, Tuple3<A1, A2, A3> >
857 CreateFunctor(R (__stdcall *function)(A1, A2, A3)) {
858 MutantRunner<R, Tuple3<A1, A2, A3> >* t =
859 new MutantFunction<R, R (__stdcall *)(A1, A2, A3),
860 Tuple0, Tuple3<A1, A2, A3> >
861 (function, MakeTuple());
862 return MutantFunctor<R, Tuple3<A1, A2, A3> >(t);
863 }
824 #ifdef GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING 864 #ifdef GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
825 template <typename R, typename T, typename U, typename A1, typename A2, 865 template <typename R, typename T, typename U, typename A1, typename A2,
826 typename A3> 866 typename A3>
827 inline MutantFunctor<R, Tuple3<A1, A2, A3> > 867 inline MutantFunctor<R, Tuple3<A1, A2, A3> >
828 CreateFunctor(T** obj, R (__stdcall U::*method)(A1, A2, A3)) { 868 CreateFunctor(T** obj, R (__stdcall U::*method)(A1, A2, A3)) {
829 MutantRunner<R, Tuple3<A1, A2, A3> >* t = 869 MutantRunner<R, Tuple3<A1, A2, A3> >* t =
830 new MutantLateObjectBind<R, T, R (__stdcall U::*)(A1, A2, A3), 870 new MutantLateObjectBind<R, T, R (__stdcall U::*)(A1, A2, A3),
831 Tuple0, Tuple3<A1, A2, A3> > 871 Tuple0, Tuple3<A1, A2, A3> >
832 (obj, method, MakeTuple()); 872 (obj, method, MakeTuple());
833 return MutantFunctor<R, Tuple3<A1, A2, A3> >(t); 873 return MutantFunctor<R, Tuple3<A1, A2, A3> >(t);
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
874 template <typename R, typename T, typename U, typename A1, typename A2, 914 template <typename R, typename T, typename U, typename A1, typename A2,
875 typename A3, typename A4> 915 typename A3, typename A4>
876 inline MutantFunctor<R, Tuple4<A1, A2, A3, A4> > 916 inline MutantFunctor<R, Tuple4<A1, A2, A3, A4> >
877 CreateFunctor(T* obj, R (__stdcall U::*method)(A1, A2, A3, A4)) { 917 CreateFunctor(T* obj, R (__stdcall U::*method)(A1, A2, A3, A4)) {
878 MutantRunner<R, Tuple4<A1, A2, A3, A4> >* t = 918 MutantRunner<R, Tuple4<A1, A2, A3, A4> >* t =
879 new Mutant<R, T, R (__stdcall U::*)(A1, A2, A3, A4), 919 new Mutant<R, T, R (__stdcall U::*)(A1, A2, A3, A4),
880 Tuple0, Tuple4<A1, A2, A3, A4> > 920 Tuple0, Tuple4<A1, A2, A3, A4> >
881 (obj, method, MakeTuple()); 921 (obj, method, MakeTuple());
882 return MutantFunctor<R, Tuple4<A1, A2, A3, A4> >(t); 922 return MutantFunctor<R, Tuple4<A1, A2, A3, A4> >(t);
883 } 923 }
924
925 template <typename R, typename A1, typename A2, typename A3, typename A4>
926 inline MutantFunctor<R, Tuple4<A1, A2, A3, A4> >
927 CreateFunctor(R (__stdcall *function)(A1, A2, A3, A4)) {
928 MutantRunner<R, Tuple4<A1, A2, A3, A4> >* t =
929 new MutantFunction<R, R (__stdcall *)(A1, A2, A3, A4),
930 Tuple0, Tuple4<A1, A2, A3, A4> >
931 (function, MakeTuple());
932 return MutantFunctor<R, Tuple4<A1, A2, A3, A4> >(t);
933 }
884 #ifdef GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING 934 #ifdef GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
885 template <typename R, typename T, typename U, typename A1, typename A2, 935 template <typename R, typename T, typename U, typename A1, typename A2,
886 typename A3, typename A4> 936 typename A3, typename A4>
887 inline MutantFunctor<R, Tuple4<A1, A2, A3, A4> > 937 inline MutantFunctor<R, Tuple4<A1, A2, A3, A4> >
888 CreateFunctor(T** obj, R (__stdcall U::*method)(A1, A2, A3, A4)) { 938 CreateFunctor(T** obj, R (__stdcall U::*method)(A1, A2, A3, A4)) {
889 MutantRunner<R, Tuple4<A1, A2, A3, A4> >* t = 939 MutantRunner<R, Tuple4<A1, A2, A3, A4> >* t =
890 new MutantLateObjectBind<R, T, R (__stdcall U::*)(A1, A2, A3, A4), 940 new MutantLateObjectBind<R, T, R (__stdcall U::*)(A1, A2, A3, A4),
891 Tuple0, Tuple4<A1, A2, A3, A4> > 941 Tuple0, Tuple4<A1, A2, A3, A4> >
892 (obj, method, MakeTuple()); 942 (obj, method, MakeTuple());
893 return MutantFunctor<R, Tuple4<A1, A2, A3, A4> >(t); 943 return MutantFunctor<R, Tuple4<A1, A2, A3, A4> >(t);
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
931 #if defined (OS_WIN) 981 #if defined (OS_WIN)
932 template <typename R, typename T, typename U, typename P1, typename X1> 982 template <typename R, typename T, typename U, typename P1, typename X1>
933 inline MutantFunctor<R, Tuple0> 983 inline MutantFunctor<R, Tuple0>
934 CreateFunctor(T* obj, R (__stdcall U::*method)(X1), const P1& p1) { 984 CreateFunctor(T* obj, R (__stdcall U::*method)(X1), const P1& p1) {
935 MutantRunner<R, Tuple0>* t = 985 MutantRunner<R, Tuple0>* t =
936 new Mutant<R, T, R (__stdcall U::*)(X1), 986 new Mutant<R, T, R (__stdcall U::*)(X1),
937 Tuple1<P1>, Tuple0> 987 Tuple1<P1>, Tuple0>
938 (obj, method, MakeTuple(p1)); 988 (obj, method, MakeTuple(p1));
939 return MutantFunctor<R, Tuple0>(t); 989 return MutantFunctor<R, Tuple0>(t);
940 } 990 }
991
992 template <typename R, typename P1, typename X1>
993 inline MutantFunctor<R, Tuple0>
994 CreateFunctor(R (__stdcall *function)(X1), const P1& p1) {
995 MutantRunner<R, Tuple0>* t =
996 new MutantFunction<R, R (__stdcall *)(X1),
997 Tuple1<P1>, Tuple0>
998 (function, MakeTuple(p1));
999 return MutantFunctor<R, Tuple0>(t);
1000 }
941 #ifdef GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING 1001 #ifdef GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
942 template <typename R, typename T, typename U, typename P1, typename X1> 1002 template <typename R, typename T, typename U, typename P1, typename X1>
943 inline MutantFunctor<R, Tuple0> 1003 inline MutantFunctor<R, Tuple0>
944 CreateFunctor(T** obj, R (__stdcall U::*method)(X1), const P1& p1) { 1004 CreateFunctor(T** obj, R (__stdcall U::*method)(X1), const P1& p1) {
945 MutantRunner<R, Tuple0>* t = 1005 MutantRunner<R, Tuple0>* t =
946 new MutantLateObjectBind<R, T, R (__stdcall U::*)(X1), 1006 new MutantLateObjectBind<R, T, R (__stdcall U::*)(X1),
947 Tuple1<P1>, Tuple0> 1007 Tuple1<P1>, Tuple0>
948 (obj, method, MakeTuple(p1)); 1008 (obj, method, MakeTuple(p1));
949 return MutantFunctor<R, Tuple0>(t); 1009 return MutantFunctor<R, Tuple0>(t);
950 } 1010 }
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
990 template <typename R, typename T, typename U, typename P1, typename A1, 1050 template <typename R, typename T, typename U, typename P1, typename A1,
991 typename X1> 1051 typename X1>
992 inline MutantFunctor<R, Tuple1<A1> > 1052 inline MutantFunctor<R, Tuple1<A1> >
993 CreateFunctor(T* obj, R (__stdcall U::*method)(X1, A1), const P1& p1) { 1053 CreateFunctor(T* obj, R (__stdcall U::*method)(X1, A1), const P1& p1) {
994 MutantRunner<R, Tuple1<A1> >* t = 1054 MutantRunner<R, Tuple1<A1> >* t =
995 new Mutant<R, T, R (__stdcall U::*)(X1, A1), 1055 new Mutant<R, T, R (__stdcall U::*)(X1, A1),
996 Tuple1<P1>, Tuple1<A1> > 1056 Tuple1<P1>, Tuple1<A1> >
997 (obj, method, MakeTuple(p1)); 1057 (obj, method, MakeTuple(p1));
998 return MutantFunctor<R, Tuple1<A1> >(t); 1058 return MutantFunctor<R, Tuple1<A1> >(t);
999 } 1059 }
1060
1061 template <typename R, typename P1, typename A1, typename X1>
1062 inline MutantFunctor<R, Tuple1<A1> >
1063 CreateFunctor(R (__stdcall *function)(X1, A1), const P1& p1) {
1064 MutantRunner<R, Tuple1<A1> >* t =
1065 new MutantFunction<R, R (__stdcall *)(X1, A1),
1066 Tuple1<P1>, Tuple1<A1> >
1067 (function, MakeTuple(p1));
1068 return MutantFunctor<R, Tuple1<A1> >(t);
1069 }
1000 #ifdef GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING 1070 #ifdef GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
1001 template <typename R, typename T, typename U, typename P1, typename A1, 1071 template <typename R, typename T, typename U, typename P1, typename A1,
1002 typename X1> 1072 typename X1>
1003 inline MutantFunctor<R, Tuple1<A1> > 1073 inline MutantFunctor<R, Tuple1<A1> >
1004 CreateFunctor(T** obj, R (__stdcall U::*method)(X1, A1), const P1& p1) { 1074 CreateFunctor(T** obj, R (__stdcall U::*method)(X1, A1), const P1& p1) {
1005 MutantRunner<R, Tuple1<A1> >* t = 1075 MutantRunner<R, Tuple1<A1> >* t =
1006 new MutantLateObjectBind<R, T, R (__stdcall U::*)(X1, A1), 1076 new MutantLateObjectBind<R, T, R (__stdcall U::*)(X1, A1),
1007 Tuple1<P1>, Tuple1<A1> > 1077 Tuple1<P1>, Tuple1<A1> >
1008 (obj, method, MakeTuple(p1)); 1078 (obj, method, MakeTuple(p1));
1009 return MutantFunctor<R, Tuple1<A1> >(t); 1079 return MutantFunctor<R, Tuple1<A1> >(t);
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
1050 template <typename R, typename T, typename U, typename P1, typename A1, 1120 template <typename R, typename T, typename U, typename P1, typename A1,
1051 typename A2, typename X1> 1121 typename A2, typename X1>
1052 inline MutantFunctor<R, Tuple2<A1, A2> > 1122 inline MutantFunctor<R, Tuple2<A1, A2> >
1053 CreateFunctor(T* obj, R (__stdcall U::*method)(X1, A1, A2), const P1& p1) { 1123 CreateFunctor(T* obj, R (__stdcall U::*method)(X1, A1, A2), const P1& p1) {
1054 MutantRunner<R, Tuple2<A1, A2> >* t = 1124 MutantRunner<R, Tuple2<A1, A2> >* t =
1055 new Mutant<R, T, R (__stdcall U::*)(X1, A1, A2), 1125 new Mutant<R, T, R (__stdcall U::*)(X1, A1, A2),
1056 Tuple1<P1>, Tuple2<A1, A2> > 1126 Tuple1<P1>, Tuple2<A1, A2> >
1057 (obj, method, MakeTuple(p1)); 1127 (obj, method, MakeTuple(p1));
1058 return MutantFunctor<R, Tuple2<A1, A2> >(t); 1128 return MutantFunctor<R, Tuple2<A1, A2> >(t);
1059 } 1129 }
1130
1131 template <typename R, typename P1, typename A1, typename A2, typename X1>
1132 inline MutantFunctor<R, Tuple2<A1, A2> >
1133 CreateFunctor(R (__stdcall *function)(X1, A1, A2), const P1& p1) {
1134 MutantRunner<R, Tuple2<A1, A2> >* t =
1135 new MutantFunction<R, R (__stdcall *)(X1, A1, A2),
1136 Tuple1<P1>, Tuple2<A1, A2> >
1137 (function, MakeTuple(p1));
1138 return MutantFunctor<R, Tuple2<A1, A2> >(t);
1139 }
1060 #ifdef GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING 1140 #ifdef GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
1061 template <typename R, typename T, typename U, typename P1, typename A1, 1141 template <typename R, typename T, typename U, typename P1, typename A1,
1062 typename A2, typename X1> 1142 typename A2, typename X1>
1063 inline MutantFunctor<R, Tuple2<A1, A2> > 1143 inline MutantFunctor<R, Tuple2<A1, A2> >
1064 CreateFunctor(T** obj, R (__stdcall U::*method)(X1, A1, A2), const P1& p1) { 1144 CreateFunctor(T** obj, R (__stdcall U::*method)(X1, A1, A2), const P1& p1) {
1065 MutantRunner<R, Tuple2<A1, A2> >* t = 1145 MutantRunner<R, Tuple2<A1, A2> >* t =
1066 new MutantLateObjectBind<R, T, R (__stdcall U::*)(X1, A1, A2), 1146 new MutantLateObjectBind<R, T, R (__stdcall U::*)(X1, A1, A2),
1067 Tuple1<P1>, Tuple2<A1, A2> > 1147 Tuple1<P1>, Tuple2<A1, A2> >
1068 (obj, method, MakeTuple(p1)); 1148 (obj, method, MakeTuple(p1));
1069 return MutantFunctor<R, Tuple2<A1, A2> >(t); 1149 return MutantFunctor<R, Tuple2<A1, A2> >(t);
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
1111 template <typename R, typename T, typename U, typename P1, typename A1, 1191 template <typename R, typename T, typename U, typename P1, typename A1,
1112 typename A2, typename A3, typename X1> 1192 typename A2, typename A3, typename X1>
1113 inline MutantFunctor<R, Tuple3<A1, A2, A3> > 1193 inline MutantFunctor<R, Tuple3<A1, A2, A3> >
1114 CreateFunctor(T* obj, R (__stdcall U::*method)(X1, A1, A2, A3), const P1& p1) { 1194 CreateFunctor(T* obj, R (__stdcall U::*method)(X1, A1, A2, A3), const P1& p1) {
1115 MutantRunner<R, Tuple3<A1, A2, A3> >* t = 1195 MutantRunner<R, Tuple3<A1, A2, A3> >* t =
1116 new Mutant<R, T, R (__stdcall U::*)(X1, A1, A2, A3), 1196 new Mutant<R, T, R (__stdcall U::*)(X1, A1, A2, A3),
1117 Tuple1<P1>, Tuple3<A1, A2, A3> > 1197 Tuple1<P1>, Tuple3<A1, A2, A3> >
1118 (obj, method, MakeTuple(p1)); 1198 (obj, method, MakeTuple(p1));
1119 return MutantFunctor<R, Tuple3<A1, A2, A3> >(t); 1199 return MutantFunctor<R, Tuple3<A1, A2, A3> >(t);
1120 } 1200 }
1201
1202 template <typename R, typename P1, typename A1, typename A2, typename A3,
1203 typename X1>
1204 inline MutantFunctor<R, Tuple3<A1, A2, A3> >
1205 CreateFunctor(R (__stdcall *function)(X1, A1, A2, A3), const P1& p1) {
1206 MutantRunner<R, Tuple3<A1, A2, A3> >* t =
1207 new MutantFunction<R, R (__stdcall *)(X1, A1, A2, A3),
1208 Tuple1<P1>, Tuple3<A1, A2, A3> >
1209 (function, MakeTuple(p1));
1210 return MutantFunctor<R, Tuple3<A1, A2, A3> >(t);
1211 }
1121 #ifdef GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING 1212 #ifdef GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
1122 template <typename R, typename T, typename U, typename P1, typename A1, 1213 template <typename R, typename T, typename U, typename P1, typename A1,
1123 typename A2, typename A3, typename X1> 1214 typename A2, typename A3, typename X1>
1124 inline MutantFunctor<R, Tuple3<A1, A2, A3> > 1215 inline MutantFunctor<R, Tuple3<A1, A2, A3> >
1125 CreateFunctor(T** obj, R (__stdcall U::*method)(X1, A1, A2, A3), const P1& p1) { 1216 CreateFunctor(T** obj, R (__stdcall U::*method)(X1, A1, A2, A3), const P1& p1) {
1126 MutantRunner<R, Tuple3<A1, A2, A3> >* t = 1217 MutantRunner<R, Tuple3<A1, A2, A3> >* t =
1127 new MutantLateObjectBind<R, T, R (__stdcall U::*)(X1, A1, A2, A3), 1218 new MutantLateObjectBind<R, T, R (__stdcall U::*)(X1, A1, A2, A3),
1128 Tuple1<P1>, Tuple3<A1, A2, A3> > 1219 Tuple1<P1>, Tuple3<A1, A2, A3> >
1129 (obj, method, MakeTuple(p1)); 1220 (obj, method, MakeTuple(p1));
1130 return MutantFunctor<R, Tuple3<A1, A2, A3> >(t); 1221 return MutantFunctor<R, Tuple3<A1, A2, A3> >(t);
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
1173 typename A2, typename A3, typename A4, typename X1> 1264 typename A2, typename A3, typename A4, typename X1>
1174 inline MutantFunctor<R, Tuple4<A1, A2, A3, A4> > 1265 inline MutantFunctor<R, Tuple4<A1, A2, A3, A4> >
1175 CreateFunctor(T* obj, R (__stdcall U::*method)(X1, A1, A2, A3, A4), 1266 CreateFunctor(T* obj, R (__stdcall U::*method)(X1, A1, A2, A3, A4),
1176 const P1& p1) { 1267 const P1& p1) {
1177 MutantRunner<R, Tuple4<A1, A2, A3, A4> >* t = 1268 MutantRunner<R, Tuple4<A1, A2, A3, A4> >* t =
1178 new Mutant<R, T, R (__stdcall U::*)(X1, A1, A2, A3, A4), 1269 new Mutant<R, T, R (__stdcall U::*)(X1, A1, A2, A3, A4),
1179 Tuple1<P1>, Tuple4<A1, A2, A3, A4> > 1270 Tuple1<P1>, Tuple4<A1, A2, A3, A4> >
1180 (obj, method, MakeTuple(p1)); 1271 (obj, method, MakeTuple(p1));
1181 return MutantFunctor<R, Tuple4<A1, A2, A3, A4> >(t); 1272 return MutantFunctor<R, Tuple4<A1, A2, A3, A4> >(t);
1182 } 1273 }
1274
1275 template <typename R, typename P1, typename A1, typename A2, typename A3,
1276 typename A4, typename X1>
1277 inline MutantFunctor<R, Tuple4<A1, A2, A3, A4> >
1278 CreateFunctor(R (__stdcall *function)(X1, A1, A2, A3, A4), const P1& p1) {
1279 MutantRunner<R, Tuple4<A1, A2, A3, A4> >* t =
1280 new MutantFunction<R, R (__stdcall *)(X1, A1, A2, A3, A4),
1281 Tuple1<P1>, Tuple4<A1, A2, A3, A4> >
1282 (function, MakeTuple(p1));
1283 return MutantFunctor<R, Tuple4<A1, A2, A3, A4> >(t);
1284 }
1183 #ifdef GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING 1285 #ifdef GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
1184 template <typename R, typename T, typename U, typename P1, typename A1, 1286 template <typename R, typename T, typename U, typename P1, typename A1,
1185 typename A2, typename A3, typename A4, typename X1> 1287 typename A2, typename A3, typename A4, typename X1>
1186 inline MutantFunctor<R, Tuple4<A1, A2, A3, A4> > 1288 inline MutantFunctor<R, Tuple4<A1, A2, A3, A4> >
1187 CreateFunctor(T** obj, R (__stdcall U::*method)(X1, A1, A2, A3, A4), 1289 CreateFunctor(T** obj, R (__stdcall U::*method)(X1, A1, A2, A3, A4),
1188 const P1& p1) { 1290 const P1& p1) {
1189 MutantRunner<R, Tuple4<A1, A2, A3, A4> >* t = 1291 MutantRunner<R, Tuple4<A1, A2, A3, A4> >* t =
1190 new MutantLateObjectBind<R, T, R (__stdcall U::*)(X1, A1, A2, A3, A4), 1292 new MutantLateObjectBind<R, T, R (__stdcall U::*)(X1, A1, A2, A3, A4),
1191 Tuple1<P1>, Tuple4<A1, A2, A3, A4> > 1293 Tuple1<P1>, Tuple4<A1, A2, A3, A4> >
1192 (obj, method, MakeTuple(p1)); 1294 (obj, method, MakeTuple(p1));
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
1235 typename X1, typename X2> 1337 typename X1, typename X2>
1236 inline MutantFunctor<R, Tuple0> 1338 inline MutantFunctor<R, Tuple0>
1237 CreateFunctor(T* obj, R (__stdcall U::*method)(X1, X2), const P1& p1, 1339 CreateFunctor(T* obj, R (__stdcall U::*method)(X1, X2), const P1& p1,
1238 const P2& p2) { 1340 const P2& p2) {
1239 MutantRunner<R, Tuple0>* t = 1341 MutantRunner<R, Tuple0>* t =
1240 new Mutant<R, T, R (__stdcall U::*)(X1, X2), 1342 new Mutant<R, T, R (__stdcall U::*)(X1, X2),
1241 Tuple2<P1, P2>, Tuple0> 1343 Tuple2<P1, P2>, Tuple0>
1242 (obj, method, MakeTuple(p1, p2)); 1344 (obj, method, MakeTuple(p1, p2));
1243 return MutantFunctor<R, Tuple0>(t); 1345 return MutantFunctor<R, Tuple0>(t);
1244 } 1346 }
1347
1348 template <typename R, typename P1, typename P2, typename X1, typename X2>
1349 inline MutantFunctor<R, Tuple0>
1350 CreateFunctor(R (__stdcall *function)(X1, X2), const P1& p1, const P2& p2) {
1351 MutantRunner<R, Tuple0>* t =
1352 new MutantFunction<R, R (__stdcall *)(X1, X2),
1353 Tuple2<P1, P2>, Tuple0>
1354 (function, MakeTuple(p1, p2));
1355 return MutantFunctor<R, Tuple0>(t);
1356 }
1245 #ifdef GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING 1357 #ifdef GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
1246 template <typename R, typename T, typename U, typename P1, typename P2, 1358 template <typename R, typename T, typename U, typename P1, typename P2,
1247 typename X1, typename X2> 1359 typename X1, typename X2>
1248 inline MutantFunctor<R, Tuple0> 1360 inline MutantFunctor<R, Tuple0>
1249 CreateFunctor(T** obj, R (__stdcall U::*method)(X1, X2), const P1& p1, 1361 CreateFunctor(T** obj, R (__stdcall U::*method)(X1, X2), const P1& p1,
1250 const P2& p2) { 1362 const P2& p2) {
1251 MutantRunner<R, Tuple0>* t = 1363 MutantRunner<R, Tuple0>* t =
1252 new MutantLateObjectBind<R, T, R (__stdcall U::*)(X1, X2), 1364 new MutantLateObjectBind<R, T, R (__stdcall U::*)(X1, X2),
1253 Tuple2<P1, P2>, Tuple0> 1365 Tuple2<P1, P2>, Tuple0>
1254 (obj, method, MakeTuple(p1, p2)); 1366 (obj, method, MakeTuple(p1, p2));
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
1298 typename A1, typename X1, typename X2> 1410 typename A1, typename X1, typename X2>
1299 inline MutantFunctor<R, Tuple1<A1> > 1411 inline MutantFunctor<R, Tuple1<A1> >
1300 CreateFunctor(T* obj, R (__stdcall U::*method)(X1, X2, A1), const P1& p1, 1412 CreateFunctor(T* obj, R (__stdcall U::*method)(X1, X2, A1), const P1& p1,
1301 const P2& p2) { 1413 const P2& p2) {
1302 MutantRunner<R, Tuple1<A1> >* t = 1414 MutantRunner<R, Tuple1<A1> >* t =
1303 new Mutant<R, T, R (__stdcall U::*)(X1, X2, A1), 1415 new Mutant<R, T, R (__stdcall U::*)(X1, X2, A1),
1304 Tuple2<P1, P2>, Tuple1<A1> > 1416 Tuple2<P1, P2>, Tuple1<A1> >
1305 (obj, method, MakeTuple(p1, p2)); 1417 (obj, method, MakeTuple(p1, p2));
1306 return MutantFunctor<R, Tuple1<A1> >(t); 1418 return MutantFunctor<R, Tuple1<A1> >(t);
1307 } 1419 }
1420
1421 template <typename R, typename P1, typename P2, typename A1, typename X1,
1422 typename X2>
1423 inline MutantFunctor<R, Tuple1<A1> >
1424 CreateFunctor(R (__stdcall *function)(X1, X2, A1), const P1& p1,
1425 const P2& p2) {
1426 MutantRunner<R, Tuple1<A1> >* t =
1427 new MutantFunction<R, R (__stdcall *)(X1, X2, A1),
1428 Tuple2<P1, P2>, Tuple1<A1> >
1429 (function, MakeTuple(p1, p2));
1430 return MutantFunctor<R, Tuple1<A1> >(t);
1431 }
1308 #ifdef GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING 1432 #ifdef GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
1309 template <typename R, typename T, typename U, typename P1, typename P2, 1433 template <typename R, typename T, typename U, typename P1, typename P2,
1310 typename A1, typename X1, typename X2> 1434 typename A1, typename X1, typename X2>
1311 inline MutantFunctor<R, Tuple1<A1> > 1435 inline MutantFunctor<R, Tuple1<A1> >
1312 CreateFunctor(T** obj, R (__stdcall U::*method)(X1, X2, A1), const P1& p1, 1436 CreateFunctor(T** obj, R (__stdcall U::*method)(X1, X2, A1), const P1& p1,
1313 const P2& p2) { 1437 const P2& p2) {
1314 MutantRunner<R, Tuple1<A1> >* t = 1438 MutantRunner<R, Tuple1<A1> >* t =
1315 new MutantLateObjectBind<R, T, R (__stdcall U::*)(X1, X2, A1), 1439 new MutantLateObjectBind<R, T, R (__stdcall U::*)(X1, X2, A1),
1316 Tuple2<P1, P2>, Tuple1<A1> > 1440 Tuple2<P1, P2>, Tuple1<A1> >
1317 (obj, method, MakeTuple(p1, p2)); 1441 (obj, method, MakeTuple(p1, p2));
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
1363 typename A1, typename A2, typename X1, typename X2> 1487 typename A1, typename A2, typename X1, typename X2>
1364 inline MutantFunctor<R, Tuple2<A1, A2> > 1488 inline MutantFunctor<R, Tuple2<A1, A2> >
1365 CreateFunctor(T* obj, R (__stdcall U::*method)(X1, X2, A1, A2), const P1& p1, 1489 CreateFunctor(T* obj, R (__stdcall U::*method)(X1, X2, A1, A2), const P1& p1,
1366 const P2& p2) { 1490 const P2& p2) {
1367 MutantRunner<R, Tuple2<A1, A2> >* t = 1491 MutantRunner<R, Tuple2<A1, A2> >* t =
1368 new Mutant<R, T, R (__stdcall U::*)(X1, X2, A1, A2), 1492 new Mutant<R, T, R (__stdcall U::*)(X1, X2, A1, A2),
1369 Tuple2<P1, P2>, Tuple2<A1, A2> > 1493 Tuple2<P1, P2>, Tuple2<A1, A2> >
1370 (obj, method, MakeTuple(p1, p2)); 1494 (obj, method, MakeTuple(p1, p2));
1371 return MutantFunctor<R, Tuple2<A1, A2> >(t); 1495 return MutantFunctor<R, Tuple2<A1, A2> >(t);
1372 } 1496 }
1497
1498 template <typename R, typename P1, typename P2, typename A1, typename A2,
1499 typename X1, typename X2>
1500 inline MutantFunctor<R, Tuple2<A1, A2> >
1501 CreateFunctor(R (__stdcall *function)(X1, X2, A1, A2), const P1& p1,
1502 const P2& p2) {
1503 MutantRunner<R, Tuple2<A1, A2> >* t =
1504 new MutantFunction<R, R (__stdcall *)(X1, X2, A1, A2),
1505 Tuple2<P1, P2>, Tuple2<A1, A2> >
1506 (function, MakeTuple(p1, p2));
1507 return MutantFunctor<R, Tuple2<A1, A2> >(t);
1508 }
1373 #ifdef GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING 1509 #ifdef GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
1374 template <typename R, typename T, typename U, typename P1, typename P2, 1510 template <typename R, typename T, typename U, typename P1, typename P2,
1375 typename A1, typename A2, typename X1, typename X2> 1511 typename A1, typename A2, typename X1, typename X2>
1376 inline MutantFunctor<R, Tuple2<A1, A2> > 1512 inline MutantFunctor<R, Tuple2<A1, A2> >
1377 CreateFunctor(T** obj, R (__stdcall U::*method)(X1, X2, A1, A2), const P1& p1, 1513 CreateFunctor(T** obj, R (__stdcall U::*method)(X1, X2, A1, A2), const P1& p1,
1378 const P2& p2) { 1514 const P2& p2) {
1379 MutantRunner<R, Tuple2<A1, A2> >* t = 1515 MutantRunner<R, Tuple2<A1, A2> >* t =
1380 new MutantLateObjectBind<R, T, R (__stdcall U::*)(X1, X2, A1, A2), 1516 new MutantLateObjectBind<R, T, R (__stdcall U::*)(X1, X2, A1, A2),
1381 Tuple2<P1, P2>, Tuple2<A1, A2> > 1517 Tuple2<P1, P2>, Tuple2<A1, A2> >
1382 (obj, method, MakeTuple(p1, p2)); 1518 (obj, method, MakeTuple(p1, p2));
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
1428 typename A1, typename A2, typename A3, typename X1, typename X2> 1564 typename A1, typename A2, typename A3, typename X1, typename X2>
1429 inline MutantFunctor<R, Tuple3<A1, A2, A3> > 1565 inline MutantFunctor<R, Tuple3<A1, A2, A3> >
1430 CreateFunctor(T* obj, R (__stdcall U::*method)(X1, X2, A1, A2, A3), 1566 CreateFunctor(T* obj, R (__stdcall U::*method)(X1, X2, A1, A2, A3),
1431 const P1& p1, const P2& p2) { 1567 const P1& p1, const P2& p2) {
1432 MutantRunner<R, Tuple3<A1, A2, A3> >* t = 1568 MutantRunner<R, Tuple3<A1, A2, A3> >* t =
1433 new Mutant<R, T, R (__stdcall U::*)(X1, X2, A1, A2, A3), 1569 new Mutant<R, T, R (__stdcall U::*)(X1, X2, A1, A2, A3),
1434 Tuple2<P1, P2>, Tuple3<A1, A2, A3> > 1570 Tuple2<P1, P2>, Tuple3<A1, A2, A3> >
1435 (obj, method, MakeTuple(p1, p2)); 1571 (obj, method, MakeTuple(p1, p2));
1436 return MutantFunctor<R, Tuple3<A1, A2, A3> >(t); 1572 return MutantFunctor<R, Tuple3<A1, A2, A3> >(t);
1437 } 1573 }
1574
1575 template <typename R, typename P1, typename P2, typename A1, typename A2,
1576 typename A3, typename X1, typename X2>
1577 inline MutantFunctor<R, Tuple3<A1, A2, A3> >
1578 CreateFunctor(R (__stdcall *function)(X1, X2, A1, A2, A3), const P1& p1,
1579 const P2& p2) {
1580 MutantRunner<R, Tuple3<A1, A2, A3> >* t =
1581 new MutantFunction<R, R (__stdcall *)(X1, X2, A1, A2, A3),
1582 Tuple2<P1, P2>, Tuple3<A1, A2, A3> >
1583 (function, MakeTuple(p1, p2));
1584 return MutantFunctor<R, Tuple3<A1, A2, A3> >(t);
1585 }
1438 #ifdef GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING 1586 #ifdef GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
1439 template <typename R, typename T, typename U, typename P1, typename P2, 1587 template <typename R, typename T, typename U, typename P1, typename P2,
1440 typename A1, typename A2, typename A3, typename X1, typename X2> 1588 typename A1, typename A2, typename A3, typename X1, typename X2>
1441 inline MutantFunctor<R, Tuple3<A1, A2, A3> > 1589 inline MutantFunctor<R, Tuple3<A1, A2, A3> >
1442 CreateFunctor(T** obj, R (__stdcall U::*method)(X1, X2, A1, A2, A3), 1590 CreateFunctor(T** obj, R (__stdcall U::*method)(X1, X2, A1, A2, A3),
1443 const P1& p1, const P2& p2) { 1591 const P1& p1, const P2& p2) {
1444 MutantRunner<R, Tuple3<A1, A2, A3> >* t = 1592 MutantRunner<R, Tuple3<A1, A2, A3> >* t =
1445 new MutantLateObjectBind<R, T, R (__stdcall U::*)(X1, X2, A1, A2, A3), 1593 new MutantLateObjectBind<R, T, R (__stdcall U::*)(X1, X2, A1, A2, A3),
1446 Tuple2<P1, P2>, Tuple3<A1, A2, A3> > 1594 Tuple2<P1, P2>, Tuple3<A1, A2, A3> >
1447 (obj, method, MakeTuple(p1, p2)); 1595 (obj, method, MakeTuple(p1, p2));
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
1497 typename X2> 1645 typename X2>
1498 inline MutantFunctor<R, Tuple4<A1, A2, A3, A4> > 1646 inline MutantFunctor<R, Tuple4<A1, A2, A3, A4> >
1499 CreateFunctor(T* obj, R (__stdcall U::*method)(X1, X2, A1, A2, A3, A4), 1647 CreateFunctor(T* obj, R (__stdcall U::*method)(X1, X2, A1, A2, A3, A4),
1500 const P1& p1, const P2& p2) { 1648 const P1& p1, const P2& p2) {
1501 MutantRunner<R, Tuple4<A1, A2, A3, A4> >* t = 1649 MutantRunner<R, Tuple4<A1, A2, A3, A4> >* t =
1502 new Mutant<R, T, R (__stdcall U::*)(X1, X2, A1, A2, A3, A4), 1650 new Mutant<R, T, R (__stdcall U::*)(X1, X2, A1, A2, A3, A4),
1503 Tuple2<P1, P2>, Tuple4<A1, A2, A3, A4> > 1651 Tuple2<P1, P2>, Tuple4<A1, A2, A3, A4> >
1504 (obj, method, MakeTuple(p1, p2)); 1652 (obj, method, MakeTuple(p1, p2));
1505 return MutantFunctor<R, Tuple4<A1, A2, A3, A4> >(t); 1653 return MutantFunctor<R, Tuple4<A1, A2, A3, A4> >(t);
1506 } 1654 }
1655
1656 template <typename R, typename P1, typename P2, typename A1, typename A2,
1657 typename A3, typename A4, typename X1, typename X2>
1658 inline MutantFunctor<R, Tuple4<A1, A2, A3, A4> >
1659 CreateFunctor(R (__stdcall *function)(X1, X2, A1, A2, A3, A4), const P1& p1,
1660 const P2& p2) {
1661 MutantRunner<R, Tuple4<A1, A2, A3, A4> >* t =
1662 new MutantFunction<R, R (__stdcall *)(X1, X2, A1, A2, A3, A4),
1663 Tuple2<P1, P2>, Tuple4<A1, A2, A3, A4> >
1664 (function, MakeTuple(p1, p2));
1665 return MutantFunctor<R, Tuple4<A1, A2, A3, A4> >(t);
1666 }
1507 #ifdef GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING 1667 #ifdef GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
1508 template <typename R, typename T, typename U, typename P1, typename P2, 1668 template <typename R, typename T, typename U, typename P1, typename P2,
1509 typename A1, typename A2, typename A3, typename A4, typename X1, 1669 typename A1, typename A2, typename A3, typename A4, typename X1,
1510 typename X2> 1670 typename X2>
1511 inline MutantFunctor<R, Tuple4<A1, A2, A3, A4> > 1671 inline MutantFunctor<R, Tuple4<A1, A2, A3, A4> >
1512 CreateFunctor(T** obj, R (__stdcall U::*method)(X1, X2, A1, A2, A3, A4), 1672 CreateFunctor(T** obj, R (__stdcall U::*method)(X1, X2, A1, A2, A3, A4),
1513 const P1& p1, const P2& p2) { 1673 const P1& p1, const P2& p2) {
1514 MutantRunner<R, Tuple4<A1, A2, A3, A4> >* t = 1674 MutantRunner<R, Tuple4<A1, A2, A3, A4> >* t =
1515 new MutantLateObjectBind<R, T, R (__stdcall U::*)(X1, X2, A1, A2, A3, A4), 1675 new MutantLateObjectBind<R, T, R (__stdcall U::*)(X1, X2, A1, A2, A3, A4),
1516 Tuple2<P1, P2>, Tuple4<A1, A2, A3, A4> > 1676 Tuple2<P1, P2>, Tuple4<A1, A2, A3, A4> >
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
1564 typename P3, typename X1, typename X2, typename X3> 1724 typename P3, typename X1, typename X2, typename X3>
1565 inline MutantFunctor<R, Tuple0> 1725 inline MutantFunctor<R, Tuple0>
1566 CreateFunctor(T* obj, R (__stdcall U::*method)(X1, X2, X3), const P1& p1, 1726 CreateFunctor(T* obj, R (__stdcall U::*method)(X1, X2, X3), const P1& p1,
1567 const P2& p2, const P3& p3) { 1727 const P2& p2, const P3& p3) {
1568 MutantRunner<R, Tuple0>* t = 1728 MutantRunner<R, Tuple0>* t =
1569 new Mutant<R, T, R (__stdcall U::*)(X1, X2, X3), 1729 new Mutant<R, T, R (__stdcall U::*)(X1, X2, X3),
1570 Tuple3<P1, P2, P3>, Tuple0> 1730 Tuple3<P1, P2, P3>, Tuple0>
1571 (obj, method, MakeTuple(p1, p2, p3)); 1731 (obj, method, MakeTuple(p1, p2, p3));
1572 return MutantFunctor<R, Tuple0>(t); 1732 return MutantFunctor<R, Tuple0>(t);
1573 } 1733 }
1734
1735 template <typename R, typename P1, typename P2, typename P3, typename X1,
1736 typename X2, typename X3>
1737 inline MutantFunctor<R, Tuple0>
1738 CreateFunctor(R (__stdcall *function)(X1, X2, X3), const P1& p1, const P2& p2,
1739 const P3& p3) {
1740 MutantRunner<R, Tuple0>* t =
1741 new MutantFunction<R, R (__stdcall *)(X1, X2, X3),
1742 Tuple3<P1, P2, P3>, Tuple0>
1743 (function, MakeTuple(p1, p2, p3));
1744 return MutantFunctor<R, Tuple0>(t);
1745 }
1574 #ifdef GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING 1746 #ifdef GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
1575 template <typename R, typename T, typename U, typename P1, typename P2, 1747 template <typename R, typename T, typename U, typename P1, typename P2,
1576 typename P3, typename X1, typename X2, typename X3> 1748 typename P3, typename X1, typename X2, typename X3>
1577 inline MutantFunctor<R, Tuple0> 1749 inline MutantFunctor<R, Tuple0>
1578 CreateFunctor(T** obj, R (__stdcall U::*method)(X1, X2, X3), const P1& p1, 1750 CreateFunctor(T** obj, R (__stdcall U::*method)(X1, X2, X3), const P1& p1,
1579 const P2& p2, const P3& p3) { 1751 const P2& p2, const P3& p3) {
1580 MutantRunner<R, Tuple0>* t = 1752 MutantRunner<R, Tuple0>* t =
1581 new MutantLateObjectBind<R, T, R (__stdcall U::*)(X1, X2, X3), 1753 new MutantLateObjectBind<R, T, R (__stdcall U::*)(X1, X2, X3),
1582 Tuple3<P1, P2, P3>, Tuple0> 1754 Tuple3<P1, P2, P3>, Tuple0>
1583 (obj, method, MakeTuple(p1, p2, p3)); 1755 (obj, method, MakeTuple(p1, p2, p3));
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
1630 typename P3, typename A1, typename X1, typename X2, typename X3> 1802 typename P3, typename A1, typename X1, typename X2, typename X3>
1631 inline MutantFunctor<R, Tuple1<A1> > 1803 inline MutantFunctor<R, Tuple1<A1> >
1632 CreateFunctor(T* obj, R (__stdcall U::*method)(X1, X2, X3, A1), const P1& p1, 1804 CreateFunctor(T* obj, R (__stdcall U::*method)(X1, X2, X3, A1), const P1& p1,
1633 const P2& p2, const P3& p3) { 1805 const P2& p2, const P3& p3) {
1634 MutantRunner<R, Tuple1<A1> >* t = 1806 MutantRunner<R, Tuple1<A1> >* t =
1635 new Mutant<R, T, R (__stdcall U::*)(X1, X2, X3, A1), 1807 new Mutant<R, T, R (__stdcall U::*)(X1, X2, X3, A1),
1636 Tuple3<P1, P2, P3>, Tuple1<A1> > 1808 Tuple3<P1, P2, P3>, Tuple1<A1> >
1637 (obj, method, MakeTuple(p1, p2, p3)); 1809 (obj, method, MakeTuple(p1, p2, p3));
1638 return MutantFunctor<R, Tuple1<A1> >(t); 1810 return MutantFunctor<R, Tuple1<A1> >(t);
1639 } 1811 }
1812
1813 template <typename R, typename P1, typename P2, typename P3, typename A1,
1814 typename X1, typename X2, typename X3>
1815 inline MutantFunctor<R, Tuple1<A1> >
1816 CreateFunctor(R (__stdcall *function)(X1, X2, X3, A1), const P1& p1,
1817 const P2& p2, const P3& p3) {
1818 MutantRunner<R, Tuple1<A1> >* t =
1819 new MutantFunction<R, R (__stdcall *)(X1, X2, X3, A1),
1820 Tuple3<P1, P2, P3>, Tuple1<A1> >
1821 (function, MakeTuple(p1, p2, p3));
1822 return MutantFunctor<R, Tuple1<A1> >(t);
1823 }
1640 #ifdef GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING 1824 #ifdef GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
1641 template <typename R, typename T, typename U, typename P1, typename P2, 1825 template <typename R, typename T, typename U, typename P1, typename P2,
1642 typename P3, typename A1, typename X1, typename X2, typename X3> 1826 typename P3, typename A1, typename X1, typename X2, typename X3>
1643 inline MutantFunctor<R, Tuple1<A1> > 1827 inline MutantFunctor<R, Tuple1<A1> >
1644 CreateFunctor(T** obj, R (__stdcall U::*method)(X1, X2, X3, A1), const P1& p1, 1828 CreateFunctor(T** obj, R (__stdcall U::*method)(X1, X2, X3, A1), const P1& p1,
1645 const P2& p2, const P3& p3) { 1829 const P2& p2, const P3& p3) {
1646 MutantRunner<R, Tuple1<A1> >* t = 1830 MutantRunner<R, Tuple1<A1> >* t =
1647 new MutantLateObjectBind<R, T, R (__stdcall U::*)(X1, X2, X3, A1), 1831 new MutantLateObjectBind<R, T, R (__stdcall U::*)(X1, X2, X3, A1),
1648 Tuple3<P1, P2, P3>, Tuple1<A1> > 1832 Tuple3<P1, P2, P3>, Tuple1<A1> >
1649 (obj, method, MakeTuple(p1, p2, p3)); 1833 (obj, method, MakeTuple(p1, p2, p3));
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
1699 typename X3> 1883 typename X3>
1700 inline MutantFunctor<R, Tuple2<A1, A2> > 1884 inline MutantFunctor<R, Tuple2<A1, A2> >
1701 CreateFunctor(T* obj, R (__stdcall U::*method)(X1, X2, X3, A1, A2), 1885 CreateFunctor(T* obj, R (__stdcall U::*method)(X1, X2, X3, A1, A2),
1702 const P1& p1, const P2& p2, const P3& p3) { 1886 const P1& p1, const P2& p2, const P3& p3) {
1703 MutantRunner<R, Tuple2<A1, A2> >* t = 1887 MutantRunner<R, Tuple2<A1, A2> >* t =
1704 new Mutant<R, T, R (__stdcall U::*)(X1, X2, X3, A1, A2), 1888 new Mutant<R, T, R (__stdcall U::*)(X1, X2, X3, A1, A2),
1705 Tuple3<P1, P2, P3>, Tuple2<A1, A2> > 1889 Tuple3<P1, P2, P3>, Tuple2<A1, A2> >
1706 (obj, method, MakeTuple(p1, p2, p3)); 1890 (obj, method, MakeTuple(p1, p2, p3));
1707 return MutantFunctor<R, Tuple2<A1, A2> >(t); 1891 return MutantFunctor<R, Tuple2<A1, A2> >(t);
1708 } 1892 }
1893
1894 template <typename R, typename P1, typename P2, typename P3, typename A1,
1895 typename A2, typename X1, typename X2, typename X3>
1896 inline MutantFunctor<R, Tuple2<A1, A2> >
1897 CreateFunctor(R (__stdcall *function)(X1, X2, X3, A1, A2), const P1& p1,
1898 const P2& p2, const P3& p3) {
1899 MutantRunner<R, Tuple2<A1, A2> >* t =
1900 new MutantFunction<R, R (__stdcall *)(X1, X2, X3, A1, A2),
1901 Tuple3<P1, P2, P3>, Tuple2<A1, A2> >
1902 (function, MakeTuple(p1, p2, p3));
1903 return MutantFunctor<R, Tuple2<A1, A2> >(t);
1904 }
1709 #ifdef GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING 1905 #ifdef GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
1710 template <typename R, typename T, typename U, typename P1, typename P2, 1906 template <typename R, typename T, typename U, typename P1, typename P2,
1711 typename P3, typename A1, typename A2, typename X1, typename X2, 1907 typename P3, typename A1, typename A2, typename X1, typename X2,
1712 typename X3> 1908 typename X3>
1713 inline MutantFunctor<R, Tuple2<A1, A2> > 1909 inline MutantFunctor<R, Tuple2<A1, A2> >
1714 CreateFunctor(T** obj, R (__stdcall U::*method)(X1, X2, X3, A1, A2), 1910 CreateFunctor(T** obj, R (__stdcall U::*method)(X1, X2, X3, A1, A2),
1715 const P1& p1, const P2& p2, const P3& p3) { 1911 const P1& p1, const P2& p2, const P3& p3) {
1716 MutantRunner<R, Tuple2<A1, A2> >* t = 1912 MutantRunner<R, Tuple2<A1, A2> >* t =
1717 new MutantLateObjectBind<R, T, R (__stdcall U::*)(X1, X2, X3, A1, A2), 1913 new MutantLateObjectBind<R, T, R (__stdcall U::*)(X1, X2, X3, A1, A2),
1718 Tuple3<P1, P2, P3>, Tuple2<A1, A2> > 1914 Tuple3<P1, P2, P3>, Tuple2<A1, A2> >
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
1769 typename X2, typename X3> 1965 typename X2, typename X3>
1770 inline MutantFunctor<R, Tuple3<A1, A2, A3> > 1966 inline MutantFunctor<R, Tuple3<A1, A2, A3> >
1771 CreateFunctor(T* obj, R (__stdcall U::*method)(X1, X2, X3, A1, A2, A3), 1967 CreateFunctor(T* obj, R (__stdcall U::*method)(X1, X2, X3, A1, A2, A3),
1772 const P1& p1, const P2& p2, const P3& p3) { 1968 const P1& p1, const P2& p2, const P3& p3) {
1773 MutantRunner<R, Tuple3<A1, A2, A3> >* t = 1969 MutantRunner<R, Tuple3<A1, A2, A3> >* t =
1774 new Mutant<R, T, R (__stdcall U::*)(X1, X2, X3, A1, A2, A3), 1970 new Mutant<R, T, R (__stdcall U::*)(X1, X2, X3, A1, A2, A3),
1775 Tuple3<P1, P2, P3>, Tuple3<A1, A2, A3> > 1971 Tuple3<P1, P2, P3>, Tuple3<A1, A2, A3> >
1776 (obj, method, MakeTuple(p1, p2, p3)); 1972 (obj, method, MakeTuple(p1, p2, p3));
1777 return MutantFunctor<R, Tuple3<A1, A2, A3> >(t); 1973 return MutantFunctor<R, Tuple3<A1, A2, A3> >(t);
1778 } 1974 }
1975
1976 template <typename R, typename P1, typename P2, typename P3, typename A1,
1977 typename A2, typename A3, typename X1, typename X2, typename X3>
1978 inline MutantFunctor<R, Tuple3<A1, A2, A3> >
1979 CreateFunctor(R (__stdcall *function)(X1, X2, X3, A1, A2, A3), const P1& p1,
1980 const P2& p2, const P3& p3) {
1981 MutantRunner<R, Tuple3<A1, A2, A3> >* t =
1982 new MutantFunction<R, R (__stdcall *)(X1, X2, X3, A1, A2, A3),
1983 Tuple3<P1, P2, P3>, Tuple3<A1, A2, A3> >
1984 (function, MakeTuple(p1, p2, p3));
1985 return MutantFunctor<R, Tuple3<A1, A2, A3> >(t);
1986 }
1779 #ifdef GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING 1987 #ifdef GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
1780 template <typename R, typename T, typename U, typename P1, typename P2, 1988 template <typename R, typename T, typename U, typename P1, typename P2,
1781 typename P3, typename A1, typename A2, typename A3, typename X1, 1989 typename P3, typename A1, typename A2, typename A3, typename X1,
1782 typename X2, typename X3> 1990 typename X2, typename X3>
1783 inline MutantFunctor<R, Tuple3<A1, A2, A3> > 1991 inline MutantFunctor<R, Tuple3<A1, A2, A3> >
1784 CreateFunctor(T** obj, R (__stdcall U::*method)(X1, X2, X3, A1, A2, A3), 1992 CreateFunctor(T** obj, R (__stdcall U::*method)(X1, X2, X3, A1, A2, A3),
1785 const P1& p1, const P2& p2, const P3& p3) { 1993 const P1& p1, const P2& p2, const P3& p3) {
1786 MutantRunner<R, Tuple3<A1, A2, A3> >* t = 1994 MutantRunner<R, Tuple3<A1, A2, A3> >* t =
1787 new MutantLateObjectBind<R, T, R (__stdcall U::*)(X1, X2, X3, A1, A2, A3), 1995 new MutantLateObjectBind<R, T, R (__stdcall U::*)(X1, X2, X3, A1, A2, A3),
1788 Tuple3<P1, P2, P3>, Tuple3<A1, A2, A3> > 1996 Tuple3<P1, P2, P3>, Tuple3<A1, A2, A3> >
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
1840 typename X1, typename X2, typename X3> 2048 typename X1, typename X2, typename X3>
1841 inline MutantFunctor<R, Tuple4<A1, A2, A3, A4> > 2049 inline MutantFunctor<R, Tuple4<A1, A2, A3, A4> >
1842 CreateFunctor(T* obj, R (__stdcall U::*method)(X1, X2, X3, A1, A2, A3, A4), 2050 CreateFunctor(T* obj, R (__stdcall U::*method)(X1, X2, X3, A1, A2, A3, A4),
1843 const P1& p1, const P2& p2, const P3& p3) { 2051 const P1& p1, const P2& p2, const P3& p3) {
1844 MutantRunner<R, Tuple4<A1, A2, A3, A4> >* t = 2052 MutantRunner<R, Tuple4<A1, A2, A3, A4> >* t =
1845 new Mutant<R, T, R (__stdcall U::*)(X1, X2, X3, A1, A2, A3, A4), 2053 new Mutant<R, T, R (__stdcall U::*)(X1, X2, X3, A1, A2, A3, A4),
1846 Tuple3<P1, P2, P3>, Tuple4<A1, A2, A3, A4> > 2054 Tuple3<P1, P2, P3>, Tuple4<A1, A2, A3, A4> >
1847 (obj, method, MakeTuple(p1, p2, p3)); 2055 (obj, method, MakeTuple(p1, p2, p3));
1848 return MutantFunctor<R, Tuple4<A1, A2, A3, A4> >(t); 2056 return MutantFunctor<R, Tuple4<A1, A2, A3, A4> >(t);
1849 } 2057 }
2058
2059 template <typename R, typename P1, typename P2, typename P3, typename A1,
2060 typename A2, typename A3, typename A4, typename X1, typename X2,
2061 typename X3>
2062 inline MutantFunctor<R, Tuple4<A1, A2, A3, A4> >
2063 CreateFunctor(R (__stdcall *function)(X1, X2, X3, A1, A2, A3, A4), const P1& p1,
2064 const P2& p2, const P3& p3) {
2065 MutantRunner<R, Tuple4<A1, A2, A3, A4> >* t =
2066 new MutantFunction<R, R (__stdcall *)(X1, X2, X3, A1, A2, A3, A4),
2067 Tuple3<P1, P2, P3>, Tuple4<A1, A2, A3, A4> >
2068 (function, MakeTuple(p1, p2, p3));
2069 return MutantFunctor<R, Tuple4<A1, A2, A3, A4> >(t);
2070 }
1850 #ifdef GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING 2071 #ifdef GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
1851 template <typename R, typename T, typename U, typename P1, typename P2, 2072 template <typename R, typename T, typename U, typename P1, typename P2,
1852 typename P3, typename A1, typename A2, typename A3, typename A4, 2073 typename P3, typename A1, typename A2, typename A3, typename A4,
1853 typename X1, typename X2, typename X3> 2074 typename X1, typename X2, typename X3>
1854 inline MutantFunctor<R, Tuple4<A1, A2, A3, A4> > 2075 inline MutantFunctor<R, Tuple4<A1, A2, A3, A4> >
1855 CreateFunctor(T** obj, R (__stdcall U::*method)(X1, X2, X3, A1, A2, A3, A4), 2076 CreateFunctor(T** obj, R (__stdcall U::*method)(X1, X2, X3, A1, A2, A3, A4),
1856 const P1& p1, const P2& p2, const P3& p3) { 2077 const P1& p1, const P2& p2, const P3& p3) {
1857 MutantRunner<R, Tuple4<A1, A2, A3, A4> >* t = 2078 MutantRunner<R, Tuple4<A1, A2, A3, A4> >* t =
1858 new MutantLateObjectBind<R, T, R (__stdcall U::*)(X1, X2, X3, A1, A2, A3, A4), 2079 new MutantLateObjectBind<R, T, R (__stdcall U::*)(X1, X2, X3, A1, A2, A3, A4),
1859 Tuple3<P1, P2, P3>, Tuple4<A1, A2, A3, A4> > 2080 Tuple3<P1, P2, P3>, Tuple4<A1, A2, A3, A4> >
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
1910 typename X4> 2131 typename X4>
1911 inline MutantFunctor<R, Tuple0> 2132 inline MutantFunctor<R, Tuple0>
1912 CreateFunctor(T* obj, R (__stdcall U::*method)(X1, X2, X3, X4), const P1& p1, 2133 CreateFunctor(T* obj, R (__stdcall U::*method)(X1, X2, X3, X4), const P1& p1,
1913 const P2& p2, const P3& p3, const P4& p4) { 2134 const P2& p2, const P3& p3, const P4& p4) {
1914 MutantRunner<R, Tuple0>* t = 2135 MutantRunner<R, Tuple0>* t =
1915 new Mutant<R, T, R (__stdcall U::*)(X1, X2, X3, X4), 2136 new Mutant<R, T, R (__stdcall U::*)(X1, X2, X3, X4),
1916 Tuple4<P1, P2, P3, P4>, Tuple0> 2137 Tuple4<P1, P2, P3, P4>, Tuple0>
1917 (obj, method, MakeTuple(p1, p2, p3, p4)); 2138 (obj, method, MakeTuple(p1, p2, p3, p4));
1918 return MutantFunctor<R, Tuple0>(t); 2139 return MutantFunctor<R, Tuple0>(t);
1919 } 2140 }
2141
2142 template <typename R, typename P1, typename P2, typename P3, typename P4,
2143 typename X1, typename X2, typename X3, typename X4>
2144 inline MutantFunctor<R, Tuple0>
2145 CreateFunctor(R (__stdcall *function)(X1, X2, X3, X4), const P1& p1,
2146 const P2& p2, const P3& p3, const P4& p4) {
2147 MutantRunner<R, Tuple0>* t =
2148 new MutantFunction<R, R (__stdcall *)(X1, X2, X3, X4),
2149 Tuple4<P1, P2, P3, P4>, Tuple0>
2150 (function, MakeTuple(p1, p2, p3, p4));
2151 return MutantFunctor<R, Tuple0>(t);
2152 }
1920 #ifdef GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING 2153 #ifdef GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
1921 template <typename R, typename T, typename U, typename P1, typename P2, 2154 template <typename R, typename T, typename U, typename P1, typename P2,
1922 typename P3, typename P4, typename X1, typename X2, typename X3, 2155 typename P3, typename P4, typename X1, typename X2, typename X3,
1923 typename X4> 2156 typename X4>
1924 inline MutantFunctor<R, Tuple0> 2157 inline MutantFunctor<R, Tuple0>
1925 CreateFunctor(T** obj, R (__stdcall U::*method)(X1, X2, X3, X4), const P1& p1, 2158 CreateFunctor(T** obj, R (__stdcall U::*method)(X1, X2, X3, X4), const P1& p1,
1926 const P2& p2, const P3& p3, const P4& p4) { 2159 const P2& p2, const P3& p3, const P4& p4) {
1927 MutantRunner<R, Tuple0>* t = 2160 MutantRunner<R, Tuple0>* t =
1928 new MutantLateObjectBind<R, T, R (__stdcall U::*)(X1, X2, X3, X4), 2161 new MutantLateObjectBind<R, T, R (__stdcall U::*)(X1, X2, X3, X4),
1929 Tuple4<P1, P2, P3, P4>, Tuple0> 2162 Tuple4<P1, P2, P3, P4>, Tuple0>
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
1980 typename X3, typename X4> 2213 typename X3, typename X4>
1981 inline MutantFunctor<R, Tuple1<A1> > 2214 inline MutantFunctor<R, Tuple1<A1> >
1982 CreateFunctor(T* obj, R (__stdcall U::*method)(X1, X2, X3, X4, A1), 2215 CreateFunctor(T* obj, R (__stdcall U::*method)(X1, X2, X3, X4, A1),
1983 const P1& p1, const P2& p2, const P3& p3, const P4& p4) { 2216 const P1& p1, const P2& p2, const P3& p3, const P4& p4) {
1984 MutantRunner<R, Tuple1<A1> >* t = 2217 MutantRunner<R, Tuple1<A1> >* t =
1985 new Mutant<R, T, R (__stdcall U::*)(X1, X2, X3, X4, A1), 2218 new Mutant<R, T, R (__stdcall U::*)(X1, X2, X3, X4, A1),
1986 Tuple4<P1, P2, P3, P4>, Tuple1<A1> > 2219 Tuple4<P1, P2, P3, P4>, Tuple1<A1> >
1987 (obj, method, MakeTuple(p1, p2, p3, p4)); 2220 (obj, method, MakeTuple(p1, p2, p3, p4));
1988 return MutantFunctor<R, Tuple1<A1> >(t); 2221 return MutantFunctor<R, Tuple1<A1> >(t);
1989 } 2222 }
2223
2224 template <typename R, typename P1, typename P2, typename P3, typename P4,
2225 typename A1, typename X1, typename X2, typename X3, typename X4>
2226 inline MutantFunctor<R, Tuple1<A1> >
2227 CreateFunctor(R (__stdcall *function)(X1, X2, X3, X4, A1), const P1& p1,
2228 const P2& p2, const P3& p3, const P4& p4) {
2229 MutantRunner<R, Tuple1<A1> >* t =
2230 new MutantFunction<R, R (__stdcall *)(X1, X2, X3, X4, A1),
2231 Tuple4<P1, P2, P3, P4>, Tuple1<A1> >
2232 (function, MakeTuple(p1, p2, p3, p4));
2233 return MutantFunctor<R, Tuple1<A1> >(t);
2234 }
1990 #ifdef GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING 2235 #ifdef GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
1991 template <typename R, typename T, typename U, typename P1, typename P2, 2236 template <typename R, typename T, typename U, typename P1, typename P2,
1992 typename P3, typename P4, typename A1, typename X1, typename X2, 2237 typename P3, typename P4, typename A1, typename X1, typename X2,
1993 typename X3, typename X4> 2238 typename X3, typename X4>
1994 inline MutantFunctor<R, Tuple1<A1> > 2239 inline MutantFunctor<R, Tuple1<A1> >
1995 CreateFunctor(T** obj, R (__stdcall U::*method)(X1, X2, X3, X4, A1), 2240 CreateFunctor(T** obj, R (__stdcall U::*method)(X1, X2, X3, X4, A1),
1996 const P1& p1, const P2& p2, const P3& p3, const P4& p4) { 2241 const P1& p1, const P2& p2, const P3& p3, const P4& p4) {
1997 MutantRunner<R, Tuple1<A1> >* t = 2242 MutantRunner<R, Tuple1<A1> >* t =
1998 new MutantLateObjectBind<R, T, R (__stdcall U::*)(X1, X2, X3, X4, A1), 2243 new MutantLateObjectBind<R, T, R (__stdcall U::*)(X1, X2, X3, X4, A1),
1999 Tuple4<P1, P2, P3, P4>, Tuple1<A1> > 2244 Tuple4<P1, P2, P3, P4>, Tuple1<A1> >
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
2051 typename X2, typename X3, typename X4> 2296 typename X2, typename X3, typename X4>
2052 inline MutantFunctor<R, Tuple2<A1, A2> > 2297 inline MutantFunctor<R, Tuple2<A1, A2> >
2053 CreateFunctor(T* obj, R (__stdcall U::*method)(X1, X2, X3, X4, A1, A2), 2298 CreateFunctor(T* obj, R (__stdcall U::*method)(X1, X2, X3, X4, A1, A2),
2054 const P1& p1, const P2& p2, const P3& p3, const P4& p4) { 2299 const P1& p1, const P2& p2, const P3& p3, const P4& p4) {
2055 MutantRunner<R, Tuple2<A1, A2> >* t = 2300 MutantRunner<R, Tuple2<A1, A2> >* t =
2056 new Mutant<R, T, R (__stdcall U::*)(X1, X2, X3, X4, A1, A2), 2301 new Mutant<R, T, R (__stdcall U::*)(X1, X2, X3, X4, A1, A2),
2057 Tuple4<P1, P2, P3, P4>, Tuple2<A1, A2> > 2302 Tuple4<P1, P2, P3, P4>, Tuple2<A1, A2> >
2058 (obj, method, MakeTuple(p1, p2, p3, p4)); 2303 (obj, method, MakeTuple(p1, p2, p3, p4));
2059 return MutantFunctor<R, Tuple2<A1, A2> >(t); 2304 return MutantFunctor<R, Tuple2<A1, A2> >(t);
2060 } 2305 }
2306
2307 template <typename R, typename P1, typename P2, typename P3, typename P4,
2308 typename A1, typename A2, typename X1, typename X2, typename X3,
2309 typename X4>
2310 inline MutantFunctor<R, Tuple2<A1, A2> >
2311 CreateFunctor(R (__stdcall *function)(X1, X2, X3, X4, A1, A2), const P1& p1,
2312 const P2& p2, const P3& p3, const P4& p4) {
2313 MutantRunner<R, Tuple2<A1, A2> >* t =
2314 new MutantFunction<R, R (__stdcall *)(X1, X2, X3, X4, A1, A2),
2315 Tuple4<P1, P2, P3, P4>, Tuple2<A1, A2> >
2316 (function, MakeTuple(p1, p2, p3, p4));
2317 return MutantFunctor<R, Tuple2<A1, A2> >(t);
2318 }
2061 #ifdef GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING 2319 #ifdef GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
2062 template <typename R, typename T, typename U, typename P1, typename P2, 2320 template <typename R, typename T, typename U, typename P1, typename P2,
2063 typename P3, typename P4, typename A1, typename A2, typename X1, 2321 typename P3, typename P4, typename A1, typename A2, typename X1,
2064 typename X2, typename X3, typename X4> 2322 typename X2, typename X3, typename X4>
2065 inline MutantFunctor<R, Tuple2<A1, A2> > 2323 inline MutantFunctor<R, Tuple2<A1, A2> >
2066 CreateFunctor(T** obj, R (__stdcall U::*method)(X1, X2, X3, X4, A1, A2), 2324 CreateFunctor(T** obj, R (__stdcall U::*method)(X1, X2, X3, X4, A1, A2),
2067 const P1& p1, const P2& p2, const P3& p3, const P4& p4) { 2325 const P1& p1, const P2& p2, const P3& p3, const P4& p4) {
2068 MutantRunner<R, Tuple2<A1, A2> >* t = 2326 MutantRunner<R, Tuple2<A1, A2> >* t =
2069 new MutantLateObjectBind<R, T, R (__stdcall U::*)(X1, X2, X3, X4, A1, A2), 2327 new MutantLateObjectBind<R, T, R (__stdcall U::*)(X1, X2, X3, X4, A1, A2),
2070 Tuple4<P1, P2, P3, P4>, Tuple2<A1, A2> > 2328 Tuple4<P1, P2, P3, P4>, Tuple2<A1, A2> >
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
2122 typename X1, typename X2, typename X3, typename X4> 2380 typename X1, typename X2, typename X3, typename X4>
2123 inline MutantFunctor<R, Tuple3<A1, A2, A3> > 2381 inline MutantFunctor<R, Tuple3<A1, A2, A3> >
2124 CreateFunctor(T* obj, R (__stdcall U::*method)(X1, X2, X3, X4, A1, A2, A3), 2382 CreateFunctor(T* obj, R (__stdcall U::*method)(X1, X2, X3, X4, A1, A2, A3),
2125 const P1& p1, const P2& p2, const P3& p3, const P4& p4) { 2383 const P1& p1, const P2& p2, const P3& p3, const P4& p4) {
2126 MutantRunner<R, Tuple3<A1, A2, A3> >* t = 2384 MutantRunner<R, Tuple3<A1, A2, A3> >* t =
2127 new Mutant<R, T, R (__stdcall U::*)(X1, X2, X3, X4, A1, A2, A3), 2385 new Mutant<R, T, R (__stdcall U::*)(X1, X2, X3, X4, A1, A2, A3),
2128 Tuple4<P1, P2, P3, P4>, Tuple3<A1, A2, A3> > 2386 Tuple4<P1, P2, P3, P4>, Tuple3<A1, A2, A3> >
2129 (obj, method, MakeTuple(p1, p2, p3, p4)); 2387 (obj, method, MakeTuple(p1, p2, p3, p4));
2130 return MutantFunctor<R, Tuple3<A1, A2, A3> >(t); 2388 return MutantFunctor<R, Tuple3<A1, A2, A3> >(t);
2131 } 2389 }
2390
2391 template <typename R, typename P1, typename P2, typename P3, typename P4,
2392 typename A1, typename A2, typename A3, typename X1, typename X2,
2393 typename X3, typename X4>
2394 inline MutantFunctor<R, Tuple3<A1, A2, A3> >
2395 CreateFunctor(R (__stdcall *function)(X1, X2, X3, X4, A1, A2, A3), const P1& p1,
2396 const P2& p2, const P3& p3, const P4& p4) {
2397 MutantRunner<R, Tuple3<A1, A2, A3> >* t =
2398 new MutantFunction<R, R (__stdcall *)(X1, X2, X3, X4, A1, A2, A3),
2399 Tuple4<P1, P2, P3, P4>, Tuple3<A1, A2, A3> >
2400 (function, MakeTuple(p1, p2, p3, p4));
2401 return MutantFunctor<R, Tuple3<A1, A2, A3> >(t);
2402 }
2132 #ifdef GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING 2403 #ifdef GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
2133 template <typename R, typename T, typename U, typename P1, typename P2, 2404 template <typename R, typename T, typename U, typename P1, typename P2,
2134 typename P3, typename P4, typename A1, typename A2, typename A3, 2405 typename P3, typename P4, typename A1, typename A2, typename A3,
2135 typename X1, typename X2, typename X3, typename X4> 2406 typename X1, typename X2, typename X3, typename X4>
2136 inline MutantFunctor<R, Tuple3<A1, A2, A3> > 2407 inline MutantFunctor<R, Tuple3<A1, A2, A3> >
2137 CreateFunctor(T** obj, R (__stdcall U::*method)(X1, X2, X3, X4, A1, A2, A3), 2408 CreateFunctor(T** obj, R (__stdcall U::*method)(X1, X2, X3, X4, A1, A2, A3),
2138 const P1& p1, const P2& p2, const P3& p3, const P4& p4) { 2409 const P1& p1, const P2& p2, const P3& p3, const P4& p4) {
2139 MutantRunner<R, Tuple3<A1, A2, A3> >* t = 2410 MutantRunner<R, Tuple3<A1, A2, A3> >* t =
2140 new MutantLateObjectBind<R, T, R (__stdcall U::*)(X1, X2, X3, X4, A1, A2, A3), 2411 new MutantLateObjectBind<R, T, R (__stdcall U::*)(X1, X2, X3, X4, A1, A2, A3),
2141 Tuple4<P1, P2, P3, P4>, Tuple3<A1, A2, A3> > 2412 Tuple4<P1, P2, P3, P4>, Tuple3<A1, A2, A3> >
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
2193 typename A4, typename X1, typename X2, typename X3, typename X4> 2464 typename A4, typename X1, typename X2, typename X3, typename X4>
2194 inline MutantFunctor<R, Tuple4<A1, A2, A3, A4> > 2465 inline MutantFunctor<R, Tuple4<A1, A2, A3, A4> >
2195 CreateFunctor(T* obj, R (__stdcall U::*method)(X1, X2, X3, X4, A1, A2, A3, A4), 2466 CreateFunctor(T* obj, R (__stdcall U::*method)(X1, X2, X3, X4, A1, A2, A3, A4),
2196 const P1& p1, const P2& p2, const P3& p3, const P4& p4) { 2467 const P1& p1, const P2& p2, const P3& p3, const P4& p4) {
2197 MutantRunner<R, Tuple4<A1, A2, A3, A4> >* t = 2468 MutantRunner<R, Tuple4<A1, A2, A3, A4> >* t =
2198 new Mutant<R, T, R (__stdcall U::*)(X1, X2, X3, X4, A1, A2, A3, A4), 2469 new Mutant<R, T, R (__stdcall U::*)(X1, X2, X3, X4, A1, A2, A3, A4),
2199 Tuple4<P1, P2, P3, P4>, Tuple4<A1, A2, A3, A4> > 2470 Tuple4<P1, P2, P3, P4>, Tuple4<A1, A2, A3, A4> >
2200 (obj, method, MakeTuple(p1, p2, p3, p4)); 2471 (obj, method, MakeTuple(p1, p2, p3, p4));
2201 return MutantFunctor<R, Tuple4<A1, A2, A3, A4> >(t); 2472 return MutantFunctor<R, Tuple4<A1, A2, A3, A4> >(t);
2202 } 2473 }
2474
2475 template <typename R, typename P1, typename P2, typename P3, typename P4,
2476 typename A1, typename A2, typename A3, typename A4, typename X1,
2477 typename X2, typename X3, typename X4>
2478 inline MutantFunctor<R, Tuple4<A1, A2, A3, A4> >
2479 CreateFunctor(R (__stdcall *function)(X1, X2, X3, X4, A1, A2, A3, A4),
2480 const P1& p1, const P2& p2, const P3& p3, const P4& p4) {
2481 MutantRunner<R, Tuple4<A1, A2, A3, A4> >* t =
2482 new MutantFunction<R, R (__stdcall *)(X1, X2, X3, X4, A1, A2, A3, A4),
2483 Tuple4<P1, P2, P3, P4>, Tuple4<A1, A2, A3, A4> >
2484 (function, MakeTuple(p1, p2, p3, p4));
2485 return MutantFunctor<R, Tuple4<A1, A2, A3, A4> >(t);
2486 }
2203 #ifdef GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING 2487 #ifdef GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
2204 template <typename R, typename T, typename U, typename P1, typename P2, 2488 template <typename R, typename T, typename U, typename P1, typename P2,
2205 typename P3, typename P4, typename A1, typename A2, typename A3, 2489 typename P3, typename P4, typename A1, typename A2, typename A3,
2206 typename A4, typename X1, typename X2, typename X3, typename X4> 2490 typename A4, typename X1, typename X2, typename X3, typename X4>
2207 inline MutantFunctor<R, Tuple4<A1, A2, A3, A4> > 2491 inline MutantFunctor<R, Tuple4<A1, A2, A3, A4> >
2208 CreateFunctor(T** obj, R (__stdcall U::*method)(X1, X2, X3, X4, A1, A2, A3, A4), 2492 CreateFunctor(T** obj, R (__stdcall U::*method)(X1, X2, X3, X4, A1, A2, A3, A4),
2209 const P1& p1, const P2& p2, const P3& p3, const P4& p4) { 2493 const P1& p1, const P2& p2, const P3& p3, const P4& p4) {
2210 MutantRunner<R, Tuple4<A1, A2, A3, A4> >* t = 2494 MutantRunner<R, Tuple4<A1, A2, A3, A4> >* t =
2211 new MutantLateObjectBind<R, T, R (__stdcall U::*)(X1, X2, X3, X4, A1, A2, A3, A4), 2495 new MutantLateObjectBind<R, T, R (__stdcall U::*)(X1, X2, X3, X4, A1, A2, A3, A4),
2212 Tuple4<P1, P2, P3, P4>, Tuple4<A1, A2, A3, A4> > 2496 Tuple4<P1, P2, P3, P4>, Tuple4<A1, A2, A3, A4> >
2213 (obj, method, MakeTuple(p1, p2, p3, p4)); 2497 (obj, method, MakeTuple(p1, p2, p3, p4));
2214 return MutantFunctor<R, Tuple4<A1, A2, A3, A4> >(t); 2498 return MutantFunctor<R, Tuple4<A1, A2, A3, A4> >(t);
2215 } 2499 }
2216 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING 2500 #endif // GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
2217 #endif // OS_WIN 2501 #endif // OS_WIN
2218 2502
2219 } // namespace testing 2503 } // namespace testing
2220 2504
2221 #endif // TESTING_GMOCK_MUTANT_H_ 2505 #endif // TESTING_GMOCK_MUTANT_H_
OLDNEW
« no previous file with comments | « testing/generate_gmock_mutant.py ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698