38 #ifndef GMOCK_INCLUDE_GMOCK_GMOCK_GENERATED_MATCHERS_H_ 39 #define GMOCK_INCLUDE_GMOCK_GMOCK_GENERATED_MATCHERS_H_ 50 #define GMOCK_FIELD_TYPE_(Tuple, i) \ 51 typename ::std::tr1::tuple_element<i, Tuple>::type 64 template <
class Tuple,
int k0 = -1,
int k1 = -1,
int k2 = -1,
int k3 = -1,
65 int k4 = -1,
int k5 = -1,
int k6 = -1,
int k7 = -1,
int k8 = -1,
70 template <
class Tuple,
int k0,
int k1,
int k2,
int k3,
int k4,
int k5,
int k6,
71 int k7,
int k8,
int k9>
81 using ::std::tr1::get;
82 return type(get<k0>(t), get<k1>(t), get<k2>(t), get<k3>(t), get<k4>(t),
83 get<k5>(t), get<k6>(t), get<k7>(t), get<k8>(t), get<k9>(t));
89 template <
class Tuple>
90 class TupleFields<Tuple, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1> {
92 typedef ::std::tr1::tuple<>
type;
94 using ::std::tr1::get;
99 template <
class Tuple,
int k0>
100 class TupleFields<Tuple, k0, -1, -1, -1, -1, -1, -1, -1, -1, -1> {
102 typedef ::std::tr1::tuple<GMOCK_FIELD_TYPE_(Tuple, k0)>
type;
104 using ::std::tr1::get;
105 return type(get<k0>(t));
109 template <
class Tuple,
int k0,
int k1>
110 class TupleFields<Tuple, k0, k1, -1, -1, -1, -1, -1, -1, -1, -1> {
115 using ::std::tr1::get;
116 return type(get<k0>(t), get<k1>(t));
120 template <
class Tuple,
int k0,
int k1,
int k2>
121 class TupleFields<Tuple, k0, k1, k2, -1, -1, -1, -1, -1, -1, -1> {
126 using ::std::tr1::get;
127 return type(get<k0>(t), get<k1>(t), get<k2>(t));
131 template <
class Tuple,
int k0,
int k1,
int k2,
int k3>
132 class TupleFields<Tuple, k0, k1, k2, k3, -1, -1, -1, -1, -1, -1> {
138 using ::std::tr1::get;
139 return type(get<k0>(t), get<k1>(t), get<k2>(t), get<k3>(t));
143 template <
class Tuple,
int k0,
int k1,
int k2,
int k3,
int k4>
144 class TupleFields<Tuple, k0, k1, k2, k3, k4, -1, -1, -1, -1, -1> {
150 using ::std::tr1::get;
151 return type(get<k0>(t), get<k1>(t), get<k2>(t), get<k3>(t), get<k4>(t));
155 template <
class Tuple,
int k0,
int k1,
int k2,
int k3,
int k4,
int k5>
156 class TupleFields<Tuple, k0, k1, k2, k3, k4, k5, -1, -1, -1, -1> {
163 using ::std::tr1::get;
164 return type(get<k0>(t), get<k1>(t), get<k2>(t), get<k3>(t), get<k4>(t),
169 template <
class Tuple,
int k0,
int k1,
int k2,
int k3,
int k4,
int k5,
int k6>
170 class TupleFields<Tuple, k0, k1, k2, k3, k4, k5, k6, -1, -1, -1> {
177 using ::std::tr1::get;
178 return type(get<k0>(t), get<k1>(t), get<k2>(t), get<k3>(t), get<k4>(t),
179 get<k5>(t), get<k6>(t));
183 template <
class Tuple,
int k0,
int k1,
int k2,
int k3,
int k4,
int k5,
int k6,
185 class TupleFields<Tuple, k0, k1, k2, k3, k4, k5, k6, k7, -1, -1> {
193 using ::std::tr1::get;
194 return type(get<k0>(t), get<k1>(t), get<k2>(t), get<k3>(t), get<k4>(t),
195 get<k5>(t), get<k6>(t), get<k7>(t));
199 template <
class Tuple,
int k0,
int k1,
int k2,
int k3,
int k4,
int k5,
int k6,
201 class TupleFields<Tuple, k0, k1, k2, k3, k4, k5, k6, k7, k8, -1> {
209 using ::std::tr1::get;
210 return type(get<k0>(t), get<k1>(t), get<k2>(t), get<k3>(t), get<k4>(t),
211 get<k5>(t), get<k6>(t), get<k7>(t), get<k8>(t));
215 #undef GMOCK_FIELD_TYPE_ 218 template <
class ArgsTuple,
int k0 = -1,
int k1 = -1,
int k2 = -1,
int k3 = -1,
219 int k4 = -1,
int k5 = -1,
int k6 = -1,
int k7 = -1,
int k8 = -1,
229 template <
typename InnerMatcher>
231 : inner_matcher_(
SafeMatcherCast<const SelectedArgs&>(inner_matcher)) {}
235 const SelectedArgs& selected_args = GetSelectedArgs(args);
237 return inner_matcher_.Matches(selected_args);
239 PrintIndices(listener->
stream());
243 const bool match = inner_matcher_.MatchAndExplain(selected_args,
250 *os <<
"are a tuple ";
252 inner_matcher_.DescribeTo(os);
256 *os <<
"are a tuple ";
258 inner_matcher_.DescribeNegationTo(os);
263 return TupleFields<RawArgsTuple, k0, k1, k2, k3, k4, k5, k6, k7, k8,
269 *os <<
"whose fields (";
270 const int indices[10] = { k0, k1, k2, k3, k4, k5, k6, k7, k8, k9 };
271 for (
int i = 0; i < 10; i++) {
278 *os <<
"#" << indices[i];
288 template <
class InnerMatcher,
int k0 = -1,
int k1 = -1,
int k2 = -1,
289 int k3 = -1,
int k4 = -1,
int k5 = -1,
int k6 = -1,
int k7 = -1,
290 int k8 = -1,
int k9 = -1>
294 : inner_matcher_(inner_matcher) {}
296 template <
typename ArgsTuple>
299 k6, k7, k8, k9>(inner_matcher_));
310 template <
typename T1>
315 template <
typename Container>
328 MatcherCast<const Element&>(e1_);
338 template <
typename T1,
typename T2>
343 template <
typename Container>
350 MatcherCast<const Element&>(e1_),
351 MatcherCast<const Element&>(e2_),
364 template <
typename T1,
typename T2,
typename T3>
370 template <
typename Container>
377 MatcherCast<const Element&>(e1_),
378 MatcherCast<const Element&>(e2_),
379 MatcherCast<const Element&>(e3_),
393 template <
typename T1,
typename T2,
typename T3,
typename T4>
397 const T4& e4) : e1_(e1), e2_(e2), e3_(e3), e4_(e4) {}
399 template <
typename Container>
406 MatcherCast<const Element&>(e1_),
407 MatcherCast<const Element&>(e2_),
408 MatcherCast<const Element&>(e3_),
409 MatcherCast<const Element&>(e4_),
424 template <
typename T1,
typename T2,
typename T3,
typename T4,
typename T5>
428 const T5& e5) : e1_(e1), e2_(e2), e3_(e3), e4_(e4), e5_(e5) {}
430 template <
typename Container>
437 MatcherCast<const Element&>(e1_),
438 MatcherCast<const Element&>(e2_),
439 MatcherCast<const Element&>(e3_),
440 MatcherCast<const Element&>(e4_),
441 MatcherCast<const Element&>(e5_),
457 template <
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
462 const T5& e5,
const T6& e6) : e1_(e1), e2_(e2), e3_(e3), e4_(e4),
465 template <
typename Container>
472 MatcherCast<const Element&>(e1_),
473 MatcherCast<const Element&>(e2_),
474 MatcherCast<const Element&>(e3_),
475 MatcherCast<const Element&>(e4_),
476 MatcherCast<const Element&>(e5_),
477 MatcherCast<const Element&>(e6_),
494 template <
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
495 typename T6,
typename T7>
499 const T5& e5,
const T6& e6,
const T7& e7) : e1_(e1), e2_(e2), e3_(e3),
500 e4_(e4), e5_(e5), e6_(e6), e7_(e7) {}
502 template <
typename Container>
509 MatcherCast<const Element&>(e1_),
510 MatcherCast<const Element&>(e2_),
511 MatcherCast<const Element&>(e3_),
512 MatcherCast<const Element&>(e4_),
513 MatcherCast<const Element&>(e5_),
514 MatcherCast<const Element&>(e6_),
515 MatcherCast<const Element&>(e7_),
533 template <
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
534 typename T6,
typename T7,
typename T8>
538 const T5& e5,
const T6& e6,
const T7& e7,
const T8& e8) : e1_(e1),
539 e2_(e2), e3_(e3), e4_(e4), e5_(e5), e6_(e6), e7_(e7), e8_(e8) {}
541 template <
typename Container>
548 MatcherCast<const Element&>(e1_),
549 MatcherCast<const Element&>(e2_),
550 MatcherCast<const Element&>(e3_),
551 MatcherCast<const Element&>(e4_),
552 MatcherCast<const Element&>(e5_),
553 MatcherCast<const Element&>(e6_),
554 MatcherCast<const Element&>(e7_),
555 MatcherCast<const Element&>(e8_),
574 template <
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
575 typename T6,
typename T7,
typename T8,
typename T9>
579 const T5& e5,
const T6& e6,
const T7& e7,
const T8& e8,
580 const T9& e9) : e1_(e1), e2_(e2), e3_(e3), e4_(e4), e5_(e5), e6_(e6),
581 e7_(e7), e8_(e8), e9_(e9) {}
583 template <
typename Container>
590 MatcherCast<const Element&>(e1_),
591 MatcherCast<const Element&>(e2_),
592 MatcherCast<const Element&>(e3_),
593 MatcherCast<const Element&>(e4_),
594 MatcherCast<const Element&>(e5_),
595 MatcherCast<const Element&>(e6_),
596 MatcherCast<const Element&>(e7_),
597 MatcherCast<const Element&>(e8_),
598 MatcherCast<const Element&>(e9_),
618 template <
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
619 typename T6,
typename T7,
typename T8,
typename T9,
typename T10>
623 const T5& e5,
const T6& e6,
const T7& e7,
const T8& e8,
const T9& e9,
624 const T10& e10) : e1_(e1), e2_(e2), e3_(e3), e4_(e4), e5_(e5), e6_(e6),
625 e7_(e7), e8_(e8), e9_(e9), e10_(e10) {}
627 template <
typename Container>
634 MatcherCast<const Element&>(e1_),
635 MatcherCast<const Element&>(e2_),
636 MatcherCast<const Element&>(e3_),
637 MatcherCast<const Element&>(e4_),
638 MatcherCast<const Element&>(e5_),
639 MatcherCast<const Element&>(e6_),
640 MatcherCast<const Element&>(e7_),
641 MatcherCast<const Element&>(e8_),
642 MatcherCast<const Element&>(e9_),
643 MatcherCast<const Element&>(e10_),
669 template <
typename InnerMatcher>
671 Args(
const InnerMatcher& matcher) {
675 template <
int k1,
typename InnerMatcher>
677 Args(
const InnerMatcher& matcher) {
681 template <
int k1,
int k2,
typename InnerMatcher>
683 Args(
const InnerMatcher& matcher) {
687 template <
int k1,
int k2,
int k3,
typename InnerMatcher>
689 Args(
const InnerMatcher& matcher) {
693 template <
int k1,
int k2,
int k3,
int k4,
typename InnerMatcher>
695 Args(
const InnerMatcher& matcher) {
699 template <
int k1,
int k2,
int k3,
int k4,
int k5,
typename InnerMatcher>
701 Args(
const InnerMatcher& matcher) {
705 template <
int k1,
int k2,
int k3,
int k4,
int k5,
int k6,
typename InnerMatcher>
707 Args(
const InnerMatcher& matcher) {
711 template <
int k1,
int k2,
int k3,
int k4,
int k5,
int k6,
int k7,
712 typename InnerMatcher>
714 Args(
const InnerMatcher& matcher) {
719 template <
int k1,
int k2,
int k3,
int k4,
int k5,
int k6,
int k7,
int k8,
720 typename InnerMatcher>
722 Args(
const InnerMatcher& matcher) {
727 template <
int k1,
int k2,
int k3,
int k4,
int k5,
int k6,
int k7,
int k8,
728 int k9,
typename InnerMatcher>
730 Args(
const InnerMatcher& matcher) {
735 template <
int k1,
int k2,
int k3,
int k4,
int k5,
int k6,
int k7,
int k8,
736 int k9,
int k10,
typename InnerMatcher>
737 inline internal::ArgsMatcher<InnerMatcher, k1, k2, k3, k4, k5, k6, k7, k8, k9,
739 Args(
const InnerMatcher& matcher) {
758 template <
typename T1>
763 template <
typename T1,
typename T2>
769 template <
typename T1,
typename T2,
typename T3>
771 const T2& e2,
const T3& e3) {
775 template <
typename T1,
typename T2,
typename T3,
typename T4>
777 const T2& e2,
const T3& e3,
const T4& e4) {
781 template <
typename T1,
typename T2,
typename T3,
typename T4,
typename T5>
783 T5>
ElementsAre(
const T1& e1,
const T2& e2,
const T3& e3,
const T4& e4,
788 template <
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
791 T6>
ElementsAre(
const T1& e1,
const T2& e2,
const T3& e3,
const T4& e4,
792 const T5& e5,
const T6& e6) {
797 template <
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
798 typename T6,
typename T7>
800 T7>
ElementsAre(
const T1& e1,
const T2& e2,
const T3& e3,
const T4& e4,
801 const T5& e5,
const T6& e6,
const T7& e7) {
806 template <
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
807 typename T6,
typename T7,
typename T8>
809 T8>
ElementsAre(
const T1& e1,
const T2& e2,
const T3& e3,
const T4& e4,
810 const T5& e5,
const T6& e6,
const T7& e7,
const T8& e8) {
812 e3, e4, e5, e6, e7, e8);
815 template <
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
816 typename T6,
typename T7,
typename T8,
typename T9>
818 T9>
ElementsAre(
const T1& e1,
const T2& e2,
const T3& e3,
const T4& e4,
819 const T5& e5,
const T6& e6,
const T7& e7,
const T8& e8,
const T9& e9) {
821 e2, e3, e4, e5, e6, e7, e8, e9);
824 template <
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
825 typename T6,
typename T7,
typename T8,
typename T9,
typename T10>
827 T10>
ElementsAre(
const T1& e1,
const T2& e2,
const T3& e3,
const T4& e4,
828 const T5& e5,
const T6& e6,
const T7& e7,
const T8& e8,
const T9& e9,
831 T10>(e1, e2, e3, e4, e5, e6, e7, e8, e9, e10);
840 template <
typename T>
842 const T* first,
size_t count) {
846 template <
typename T,
size_t N>
855 template <
typename Matcher1,
typename Matcher2>
861 template <
typename Matcher1,
typename Matcher2,
typename Matcher3>
864 AllOf(Matcher1 m1, Matcher2 m2, Matcher3 m3) {
868 template <
typename Matcher1,
typename Matcher2,
typename Matcher3,
872 AllOf(Matcher1 m1, Matcher2 m2, Matcher3 m3, Matcher4 m4) {
876 template <
typename Matcher1,
typename Matcher2,
typename Matcher3,
877 typename Matcher4,
typename Matcher5>
881 AllOf(Matcher1 m1, Matcher2 m2, Matcher3 m3, Matcher4 m4, Matcher5 m5) {
885 template <
typename Matcher1,
typename Matcher2,
typename Matcher3,
886 typename Matcher4,
typename Matcher5,
typename Matcher6>
890 AllOf(Matcher1 m1, Matcher2 m2, Matcher3 m3, Matcher4 m4, Matcher5 m5,
895 template <
typename Matcher1,
typename Matcher2,
typename Matcher3,
896 typename Matcher4,
typename Matcher5,
typename Matcher6,
typename Matcher7>
901 AllOf(Matcher1 m1, Matcher2 m2, Matcher3 m3, Matcher4 m4, Matcher5 m5,
902 Matcher6 m6, Matcher7 m7) {
906 template <
typename Matcher1,
typename Matcher2,
typename Matcher3,
907 typename Matcher4,
typename Matcher5,
typename Matcher6,
typename Matcher7,
913 AllOf(Matcher1 m1, Matcher2 m2, Matcher3 m3, Matcher4 m4, Matcher5 m5,
914 Matcher6 m6, Matcher7 m7, Matcher8 m8) {
918 template <
typename Matcher1,
typename Matcher2,
typename Matcher3,
919 typename Matcher4,
typename Matcher5,
typename Matcher6,
typename Matcher7,
920 typename Matcher8,
typename Matcher9>
925 Matcher9> > > > > > > >
926 AllOf(Matcher1 m1, Matcher2 m2, Matcher3 m3, Matcher4 m4, Matcher5 m5,
927 Matcher6 m6, Matcher7 m7, Matcher8 m8, Matcher9 m9) {
931 template <
typename Matcher1,
typename Matcher2,
typename Matcher3,
932 typename Matcher4,
typename Matcher5,
typename Matcher6,
typename Matcher7,
933 typename Matcher8,
typename Matcher9,
typename Matcher10>
939 AllOf(Matcher1 m1, Matcher2 m2, Matcher3 m3, Matcher4 m4, Matcher5 m5,
940 Matcher6 m6, Matcher7 m7, Matcher8 m8, Matcher9 m9, Matcher10 m10) {
948 template <
typename Matcher1,
typename Matcher2>
954 template <
typename Matcher1,
typename Matcher2,
typename Matcher3>
957 AnyOf(Matcher1 m1, Matcher2 m2, Matcher3 m3) {
961 template <
typename Matcher1,
typename Matcher2,
typename Matcher3,
965 AnyOf(Matcher1 m1, Matcher2 m2, Matcher3 m3, Matcher4 m4) {
969 template <
typename Matcher1,
typename Matcher2,
typename Matcher3,
970 typename Matcher4,
typename Matcher5>
974 AnyOf(Matcher1 m1, Matcher2 m2, Matcher3 m3, Matcher4 m4, Matcher5 m5) {
978 template <
typename Matcher1,
typename Matcher2,
typename Matcher3,
979 typename Matcher4,
typename Matcher5,
typename Matcher6>
983 AnyOf(Matcher1 m1, Matcher2 m2, Matcher3 m3, Matcher4 m4, Matcher5 m5,
988 template <
typename Matcher1,
typename Matcher2,
typename Matcher3,
989 typename Matcher4,
typename Matcher5,
typename Matcher6,
typename Matcher7>
994 AnyOf(Matcher1 m1, Matcher2 m2, Matcher3 m3, Matcher4 m4, Matcher5 m5,
995 Matcher6 m6, Matcher7 m7) {
999 template <
typename Matcher1,
typename Matcher2,
typename Matcher3,
1000 typename Matcher4,
typename Matcher5,
typename Matcher6,
typename Matcher7,
1006 AnyOf(Matcher1 m1, Matcher2 m2, Matcher3 m3, Matcher4 m4, Matcher5 m5,
1007 Matcher6 m6, Matcher7 m7, Matcher8 m8) {
1011 template <
typename Matcher1,
typename Matcher2,
typename Matcher3,
1012 typename Matcher4,
typename Matcher5,
typename Matcher6,
typename Matcher7,
1013 typename Matcher8,
typename Matcher9>
1018 Matcher9> > > > > > > >
1019 AnyOf(Matcher1 m1, Matcher2 m2, Matcher3 m3, Matcher4 m4, Matcher5 m5,
1020 Matcher6 m6, Matcher7 m7, Matcher8 m8, Matcher9 m9) {
1024 template <
typename Matcher1,
typename Matcher2,
typename Matcher3,
1025 typename Matcher4,
typename Matcher5,
typename Matcher6,
typename Matcher7,
1026 typename Matcher8,
typename Matcher9,
typename Matcher10>
1032 AnyOf(Matcher1 m1, Matcher2 m2, Matcher3 m3, Matcher4 m4, Matcher5 m5,
1033 Matcher6 m6, Matcher7 m7, Matcher8 m8, Matcher9 m9, Matcher10 m10) {
1256 #define MATCHER(name, description)\ 1257 class name##Matcher {\ 1259 template <typename arg_type>\ 1260 class gmock_Impl : public ::testing::MatcherInterface<arg_type> {\ 1264 virtual bool MatchAndExplain(\ 1265 arg_type arg, ::testing::MatchResultListener* result_listener) const;\ 1266 virtual void DescribeTo(::std::ostream* gmock_os) const {\ 1267 *gmock_os << FormatDescription(false);\ 1269 virtual void DescribeNegationTo(::std::ostream* gmock_os) const {\ 1270 *gmock_os << FormatDescription(true);\ 1273 ::testing::internal::string FormatDescription(bool negation) const {\ 1274 const ::testing::internal::string gmock_description = (description);\ 1275 if (!gmock_description.empty())\ 1276 return gmock_description;\ 1277 return ::testing::internal::FormatMatcherDescription(\ 1279 ::testing::internal::UniversalTersePrintTupleFieldsToStrings(\ 1280 ::std::tr1::tuple<>()));\ 1282 GTEST_DISALLOW_ASSIGN_(gmock_Impl);\ 1284 template <typename arg_type>\ 1285 operator ::testing::Matcher<arg_type>() const {\ 1286 return ::testing::Matcher<arg_type>(\ 1287 new gmock_Impl<arg_type>());\ 1292 GTEST_DISALLOW_ASSIGN_(name##Matcher);\ 1294 inline name##Matcher name() {\ 1295 return name##Matcher();\ 1297 template <typename arg_type>\ 1298 bool name##Matcher::gmock_Impl<arg_type>::MatchAndExplain(\ 1300 ::testing::MatchResultListener* result_listener GTEST_ATTRIBUTE_UNUSED_)\ 1303 #define MATCHER_P(name, p0, description)\ 1304 template <typename p0##_type>\ 1305 class name##MatcherP {\ 1307 template <typename arg_type>\ 1308 class gmock_Impl : public ::testing::MatcherInterface<arg_type> {\ 1310 explicit gmock_Impl(p0##_type gmock_p0)\ 1312 virtual bool MatchAndExplain(\ 1313 arg_type arg, ::testing::MatchResultListener* result_listener) const;\ 1314 virtual void DescribeTo(::std::ostream* gmock_os) const {\ 1315 *gmock_os << FormatDescription(false);\ 1317 virtual void DescribeNegationTo(::std::ostream* gmock_os) const {\ 1318 *gmock_os << FormatDescription(true);\ 1322 ::testing::internal::string FormatDescription(bool negation) const {\ 1323 const ::testing::internal::string gmock_description = (description);\ 1324 if (!gmock_description.empty())\ 1325 return gmock_description;\ 1326 return ::testing::internal::FormatMatcherDescription(\ 1328 ::testing::internal::UniversalTersePrintTupleFieldsToStrings(\ 1329 ::std::tr1::tuple<p0##_type>(p0)));\ 1331 GTEST_DISALLOW_ASSIGN_(gmock_Impl);\ 1333 template <typename arg_type>\ 1334 operator ::testing::Matcher<arg_type>() const {\ 1335 return ::testing::Matcher<arg_type>(\ 1336 new gmock_Impl<arg_type>(p0));\ 1338 name##MatcherP(p0##_type gmock_p0) : p0(gmock_p0) {\ 1342 GTEST_DISALLOW_ASSIGN_(name##MatcherP);\ 1344 template <typename p0##_type>\ 1345 inline name##MatcherP<p0##_type> name(p0##_type p0) {\ 1346 return name##MatcherP<p0##_type>(p0);\ 1348 template <typename p0##_type>\ 1349 template <typename arg_type>\ 1350 bool name##MatcherP<p0##_type>::gmock_Impl<arg_type>::MatchAndExplain(\ 1352 ::testing::MatchResultListener* result_listener GTEST_ATTRIBUTE_UNUSED_)\ 1355 #define MATCHER_P2(name, p0, p1, description)\ 1356 template <typename p0##_type, typename p1##_type>\ 1357 class name##MatcherP2 {\ 1359 template <typename arg_type>\ 1360 class gmock_Impl : public ::testing::MatcherInterface<arg_type> {\ 1362 gmock_Impl(p0##_type gmock_p0, p1##_type gmock_p1)\ 1363 : p0(gmock_p0), p1(gmock_p1) {}\ 1364 virtual bool MatchAndExplain(\ 1365 arg_type arg, ::testing::MatchResultListener* result_listener) const;\ 1366 virtual void DescribeTo(::std::ostream* gmock_os) const {\ 1367 *gmock_os << FormatDescription(false);\ 1369 virtual void DescribeNegationTo(::std::ostream* gmock_os) const {\ 1370 *gmock_os << FormatDescription(true);\ 1375 ::testing::internal::string FormatDescription(bool negation) const {\ 1376 const ::testing::internal::string gmock_description = (description);\ 1377 if (!gmock_description.empty())\ 1378 return gmock_description;\ 1379 return ::testing::internal::FormatMatcherDescription(\ 1381 ::testing::internal::UniversalTersePrintTupleFieldsToStrings(\ 1382 ::std::tr1::tuple<p0##_type, p1##_type>(p0, p1)));\ 1384 GTEST_DISALLOW_ASSIGN_(gmock_Impl);\ 1386 template <typename arg_type>\ 1387 operator ::testing::Matcher<arg_type>() const {\ 1388 return ::testing::Matcher<arg_type>(\ 1389 new gmock_Impl<arg_type>(p0, p1));\ 1391 name##MatcherP2(p0##_type gmock_p0, p1##_type gmock_p1) : p0(gmock_p0), \ 1397 GTEST_DISALLOW_ASSIGN_(name##MatcherP2);\ 1399 template <typename p0##_type, typename p1##_type>\ 1400 inline name##MatcherP2<p0##_type, p1##_type> name(p0##_type p0, \ 1402 return name##MatcherP2<p0##_type, p1##_type>(p0, p1);\ 1404 template <typename p0##_type, typename p1##_type>\ 1405 template <typename arg_type>\ 1406 bool name##MatcherP2<p0##_type, \ 1407 p1##_type>::gmock_Impl<arg_type>::MatchAndExplain(\ 1409 ::testing::MatchResultListener* result_listener GTEST_ATTRIBUTE_UNUSED_)\ 1412 #define MATCHER_P3(name, p0, p1, p2, description)\ 1413 template <typename p0##_type, typename p1##_type, typename p2##_type>\ 1414 class name##MatcherP3 {\ 1416 template <typename arg_type>\ 1417 class gmock_Impl : public ::testing::MatcherInterface<arg_type> {\ 1419 gmock_Impl(p0##_type gmock_p0, p1##_type gmock_p1, p2##_type gmock_p2)\ 1420 : p0(gmock_p0), p1(gmock_p1), p2(gmock_p2) {}\ 1421 virtual bool MatchAndExplain(\ 1422 arg_type arg, ::testing::MatchResultListener* result_listener) const;\ 1423 virtual void DescribeTo(::std::ostream* gmock_os) const {\ 1424 *gmock_os << FormatDescription(false);\ 1426 virtual void DescribeNegationTo(::std::ostream* gmock_os) const {\ 1427 *gmock_os << FormatDescription(true);\ 1433 ::testing::internal::string FormatDescription(bool negation) const {\ 1434 const ::testing::internal::string gmock_description = (description);\ 1435 if (!gmock_description.empty())\ 1436 return gmock_description;\ 1437 return ::testing::internal::FormatMatcherDescription(\ 1439 ::testing::internal::UniversalTersePrintTupleFieldsToStrings(\ 1440 ::std::tr1::tuple<p0##_type, p1##_type, p2##_type>(p0, p1, \ 1443 GTEST_DISALLOW_ASSIGN_(gmock_Impl);\ 1445 template <typename arg_type>\ 1446 operator ::testing::Matcher<arg_type>() const {\ 1447 return ::testing::Matcher<arg_type>(\ 1448 new gmock_Impl<arg_type>(p0, p1, p2));\ 1450 name##MatcherP3(p0##_type gmock_p0, p1##_type gmock_p1, \ 1451 p2##_type gmock_p2) : p0(gmock_p0), p1(gmock_p1), p2(gmock_p2) {\ 1457 GTEST_DISALLOW_ASSIGN_(name##MatcherP3);\ 1459 template <typename p0##_type, typename p1##_type, typename p2##_type>\ 1460 inline name##MatcherP3<p0##_type, p1##_type, p2##_type> name(p0##_type p0, \ 1461 p1##_type p1, p2##_type p2) {\ 1462 return name##MatcherP3<p0##_type, p1##_type, p2##_type>(p0, p1, p2);\ 1464 template <typename p0##_type, typename p1##_type, typename p2##_type>\ 1465 template <typename arg_type>\ 1466 bool name##MatcherP3<p0##_type, p1##_type, \ 1467 p2##_type>::gmock_Impl<arg_type>::MatchAndExplain(\ 1469 ::testing::MatchResultListener* result_listener GTEST_ATTRIBUTE_UNUSED_)\ 1472 #define MATCHER_P4(name, p0, p1, p2, p3, description)\ 1473 template <typename p0##_type, typename p1##_type, typename p2##_type, \ 1474 typename p3##_type>\ 1475 class name##MatcherP4 {\ 1477 template <typename arg_type>\ 1478 class gmock_Impl : public ::testing::MatcherInterface<arg_type> {\ 1480 gmock_Impl(p0##_type gmock_p0, p1##_type gmock_p1, p2##_type gmock_p2, \ 1481 p3##_type gmock_p3)\ 1482 : p0(gmock_p0), p1(gmock_p1), p2(gmock_p2), p3(gmock_p3) {}\ 1483 virtual bool MatchAndExplain(\ 1484 arg_type arg, ::testing::MatchResultListener* result_listener) const;\ 1485 virtual void DescribeTo(::std::ostream* gmock_os) const {\ 1486 *gmock_os << FormatDescription(false);\ 1488 virtual void DescribeNegationTo(::std::ostream* gmock_os) const {\ 1489 *gmock_os << FormatDescription(true);\ 1496 ::testing::internal::string FormatDescription(bool negation) const {\ 1497 const ::testing::internal::string gmock_description = (description);\ 1498 if (!gmock_description.empty())\ 1499 return gmock_description;\ 1500 return ::testing::internal::FormatMatcherDescription(\ 1502 ::testing::internal::UniversalTersePrintTupleFieldsToStrings(\ 1503 ::std::tr1::tuple<p0##_type, p1##_type, p2##_type, \ 1504 p3##_type>(p0, p1, p2, p3)));\ 1506 GTEST_DISALLOW_ASSIGN_(gmock_Impl);\ 1508 template <typename arg_type>\ 1509 operator ::testing::Matcher<arg_type>() const {\ 1510 return ::testing::Matcher<arg_type>(\ 1511 new gmock_Impl<arg_type>(p0, p1, p2, p3));\ 1513 name##MatcherP4(p0##_type gmock_p0, p1##_type gmock_p1, \ 1514 p2##_type gmock_p2, p3##_type gmock_p3) : p0(gmock_p0), p1(gmock_p1), \ 1515 p2(gmock_p2), p3(gmock_p3) {\ 1522 GTEST_DISALLOW_ASSIGN_(name##MatcherP4);\ 1524 template <typename p0##_type, typename p1##_type, typename p2##_type, \ 1525 typename p3##_type>\ 1526 inline name##MatcherP4<p0##_type, p1##_type, p2##_type, \ 1527 p3##_type> name(p0##_type p0, p1##_type p1, p2##_type p2, \ 1529 return name##MatcherP4<p0##_type, p1##_type, p2##_type, p3##_type>(p0, \ 1532 template <typename p0##_type, typename p1##_type, typename p2##_type, \ 1533 typename p3##_type>\ 1534 template <typename arg_type>\ 1535 bool name##MatcherP4<p0##_type, p1##_type, p2##_type, \ 1536 p3##_type>::gmock_Impl<arg_type>::MatchAndExplain(\ 1538 ::testing::MatchResultListener* result_listener GTEST_ATTRIBUTE_UNUSED_)\ 1541 #define MATCHER_P5(name, p0, p1, p2, p3, p4, description)\ 1542 template <typename p0##_type, typename p1##_type, typename p2##_type, \ 1543 typename p3##_type, typename p4##_type>\ 1544 class name##MatcherP5 {\ 1546 template <typename arg_type>\ 1547 class gmock_Impl : public ::testing::MatcherInterface<arg_type> {\ 1549 gmock_Impl(p0##_type gmock_p0, p1##_type gmock_p1, p2##_type gmock_p2, \ 1550 p3##_type gmock_p3, p4##_type gmock_p4)\ 1551 : p0(gmock_p0), p1(gmock_p1), p2(gmock_p2), p3(gmock_p3), \ 1553 virtual bool MatchAndExplain(\ 1554 arg_type arg, ::testing::MatchResultListener* result_listener) const;\ 1555 virtual void DescribeTo(::std::ostream* gmock_os) const {\ 1556 *gmock_os << FormatDescription(false);\ 1558 virtual void DescribeNegationTo(::std::ostream* gmock_os) const {\ 1559 *gmock_os << FormatDescription(true);\ 1567 ::testing::internal::string FormatDescription(bool negation) const {\ 1568 const ::testing::internal::string gmock_description = (description);\ 1569 if (!gmock_description.empty())\ 1570 return gmock_description;\ 1571 return ::testing::internal::FormatMatcherDescription(\ 1573 ::testing::internal::UniversalTersePrintTupleFieldsToStrings(\ 1574 ::std::tr1::tuple<p0##_type, p1##_type, p2##_type, p3##_type, \ 1575 p4##_type>(p0, p1, p2, p3, p4)));\ 1577 GTEST_DISALLOW_ASSIGN_(gmock_Impl);\ 1579 template <typename arg_type>\ 1580 operator ::testing::Matcher<arg_type>() const {\ 1581 return ::testing::Matcher<arg_type>(\ 1582 new gmock_Impl<arg_type>(p0, p1, p2, p3, p4));\ 1584 name##MatcherP5(p0##_type gmock_p0, p1##_type gmock_p1, \ 1585 p2##_type gmock_p2, p3##_type gmock_p3, \ 1586 p4##_type gmock_p4) : p0(gmock_p0), p1(gmock_p1), p2(gmock_p2), \ 1587 p3(gmock_p3), p4(gmock_p4) {\ 1595 GTEST_DISALLOW_ASSIGN_(name##MatcherP5);\ 1597 template <typename p0##_type, typename p1##_type, typename p2##_type, \ 1598 typename p3##_type, typename p4##_type>\ 1599 inline name##MatcherP5<p0##_type, p1##_type, p2##_type, p3##_type, \ 1600 p4##_type> name(p0##_type p0, p1##_type p1, p2##_type p2, p3##_type p3, \ 1602 return name##MatcherP5<p0##_type, p1##_type, p2##_type, p3##_type, \ 1603 p4##_type>(p0, p1, p2, p3, p4);\ 1605 template <typename p0##_type, typename p1##_type, typename p2##_type, \ 1606 typename p3##_type, typename p4##_type>\ 1607 template <typename arg_type>\ 1608 bool name##MatcherP5<p0##_type, p1##_type, p2##_type, p3##_type, \ 1609 p4##_type>::gmock_Impl<arg_type>::MatchAndExplain(\ 1611 ::testing::MatchResultListener* result_listener GTEST_ATTRIBUTE_UNUSED_)\ 1614 #define MATCHER_P6(name, p0, p1, p2, p3, p4, p5, description)\ 1615 template <typename p0##_type, typename p1##_type, typename p2##_type, \ 1616 typename p3##_type, typename p4##_type, typename p5##_type>\ 1617 class name##MatcherP6 {\ 1619 template <typename arg_type>\ 1620 class gmock_Impl : public ::testing::MatcherInterface<arg_type> {\ 1622 gmock_Impl(p0##_type gmock_p0, p1##_type gmock_p1, p2##_type gmock_p2, \ 1623 p3##_type gmock_p3, p4##_type gmock_p4, p5##_type gmock_p5)\ 1624 : p0(gmock_p0), p1(gmock_p1), p2(gmock_p2), p3(gmock_p3), \ 1625 p4(gmock_p4), p5(gmock_p5) {}\ 1626 virtual bool MatchAndExplain(\ 1627 arg_type arg, ::testing::MatchResultListener* result_listener) const;\ 1628 virtual void DescribeTo(::std::ostream* gmock_os) const {\ 1629 *gmock_os << FormatDescription(false);\ 1631 virtual void DescribeNegationTo(::std::ostream* gmock_os) const {\ 1632 *gmock_os << FormatDescription(true);\ 1641 ::testing::internal::string FormatDescription(bool negation) const {\ 1642 const ::testing::internal::string gmock_description = (description);\ 1643 if (!gmock_description.empty())\ 1644 return gmock_description;\ 1645 return ::testing::internal::FormatMatcherDescription(\ 1647 ::testing::internal::UniversalTersePrintTupleFieldsToStrings(\ 1648 ::std::tr1::tuple<p0##_type, p1##_type, p2##_type, p3##_type, \ 1649 p4##_type, p5##_type>(p0, p1, p2, p3, p4, p5)));\ 1651 GTEST_DISALLOW_ASSIGN_(gmock_Impl);\ 1653 template <typename arg_type>\ 1654 operator ::testing::Matcher<arg_type>() const {\ 1655 return ::testing::Matcher<arg_type>(\ 1656 new gmock_Impl<arg_type>(p0, p1, p2, p3, p4, p5));\ 1658 name##MatcherP6(p0##_type gmock_p0, p1##_type gmock_p1, \ 1659 p2##_type gmock_p2, p3##_type gmock_p3, p4##_type gmock_p4, \ 1660 p5##_type gmock_p5) : p0(gmock_p0), p1(gmock_p1), p2(gmock_p2), \ 1661 p3(gmock_p3), p4(gmock_p4), p5(gmock_p5) {\ 1670 GTEST_DISALLOW_ASSIGN_(name##MatcherP6);\ 1672 template <typename p0##_type, typename p1##_type, typename p2##_type, \ 1673 typename p3##_type, typename p4##_type, typename p5##_type>\ 1674 inline name##MatcherP6<p0##_type, p1##_type, p2##_type, p3##_type, \ 1675 p4##_type, p5##_type> name(p0##_type p0, p1##_type p1, p2##_type p2, \ 1676 p3##_type p3, p4##_type p4, p5##_type p5) {\ 1677 return name##MatcherP6<p0##_type, p1##_type, p2##_type, p3##_type, \ 1678 p4##_type, p5##_type>(p0, p1, p2, p3, p4, p5);\ 1680 template <typename p0##_type, typename p1##_type, typename p2##_type, \ 1681 typename p3##_type, typename p4##_type, typename p5##_type>\ 1682 template <typename arg_type>\ 1683 bool name##MatcherP6<p0##_type, p1##_type, p2##_type, p3##_type, p4##_type, \ 1684 p5##_type>::gmock_Impl<arg_type>::MatchAndExplain(\ 1686 ::testing::MatchResultListener* result_listener GTEST_ATTRIBUTE_UNUSED_)\ 1689 #define MATCHER_P7(name, p0, p1, p2, p3, p4, p5, p6, description)\ 1690 template <typename p0##_type, typename p1##_type, typename p2##_type, \ 1691 typename p3##_type, typename p4##_type, typename p5##_type, \ 1692 typename p6##_type>\ 1693 class name##MatcherP7 {\ 1695 template <typename arg_type>\ 1696 class gmock_Impl : public ::testing::MatcherInterface<arg_type> {\ 1698 gmock_Impl(p0##_type gmock_p0, p1##_type gmock_p1, p2##_type gmock_p2, \ 1699 p3##_type gmock_p3, p4##_type gmock_p4, p5##_type gmock_p5, \ 1700 p6##_type gmock_p6)\ 1701 : p0(gmock_p0), p1(gmock_p1), p2(gmock_p2), p3(gmock_p3), \ 1702 p4(gmock_p4), p5(gmock_p5), p6(gmock_p6) {}\ 1703 virtual bool MatchAndExplain(\ 1704 arg_type arg, ::testing::MatchResultListener* result_listener) const;\ 1705 virtual void DescribeTo(::std::ostream* gmock_os) const {\ 1706 *gmock_os << FormatDescription(false);\ 1708 virtual void DescribeNegationTo(::std::ostream* gmock_os) const {\ 1709 *gmock_os << FormatDescription(true);\ 1719 ::testing::internal::string FormatDescription(bool negation) const {\ 1720 const ::testing::internal::string gmock_description = (description);\ 1721 if (!gmock_description.empty())\ 1722 return gmock_description;\ 1723 return ::testing::internal::FormatMatcherDescription(\ 1725 ::testing::internal::UniversalTersePrintTupleFieldsToStrings(\ 1726 ::std::tr1::tuple<p0##_type, p1##_type, p2##_type, p3##_type, \ 1727 p4##_type, p5##_type, p6##_type>(p0, p1, p2, p3, p4, p5, \ 1730 GTEST_DISALLOW_ASSIGN_(gmock_Impl);\ 1732 template <typename arg_type>\ 1733 operator ::testing::Matcher<arg_type>() const {\ 1734 return ::testing::Matcher<arg_type>(\ 1735 new gmock_Impl<arg_type>(p0, p1, p2, p3, p4, p5, p6));\ 1737 name##MatcherP7(p0##_type gmock_p0, p1##_type gmock_p1, \ 1738 p2##_type gmock_p2, p3##_type gmock_p3, p4##_type gmock_p4, \ 1739 p5##_type gmock_p5, p6##_type gmock_p6) : p0(gmock_p0), p1(gmock_p1), \ 1740 p2(gmock_p2), p3(gmock_p3), p4(gmock_p4), p5(gmock_p5), \ 1751 GTEST_DISALLOW_ASSIGN_(name##MatcherP7);\ 1753 template <typename p0##_type, typename p1##_type, typename p2##_type, \ 1754 typename p3##_type, typename p4##_type, typename p5##_type, \ 1755 typename p6##_type>\ 1756 inline name##MatcherP7<p0##_type, p1##_type, p2##_type, p3##_type, \ 1757 p4##_type, p5##_type, p6##_type> name(p0##_type p0, p1##_type p1, \ 1758 p2##_type p2, p3##_type p3, p4##_type p4, p5##_type p5, \ 1760 return name##MatcherP7<p0##_type, p1##_type, p2##_type, p3##_type, \ 1761 p4##_type, p5##_type, p6##_type>(p0, p1, p2, p3, p4, p5, p6);\ 1763 template <typename p0##_type, typename p1##_type, typename p2##_type, \ 1764 typename p3##_type, typename p4##_type, typename p5##_type, \ 1765 typename p6##_type>\ 1766 template <typename arg_type>\ 1767 bool name##MatcherP7<p0##_type, p1##_type, p2##_type, p3##_type, p4##_type, \ 1768 p5##_type, p6##_type>::gmock_Impl<arg_type>::MatchAndExplain(\ 1770 ::testing::MatchResultListener* result_listener GTEST_ATTRIBUTE_UNUSED_)\ 1773 #define MATCHER_P8(name, p0, p1, p2, p3, p4, p5, p6, p7, description)\ 1774 template <typename p0##_type, typename p1##_type, typename p2##_type, \ 1775 typename p3##_type, typename p4##_type, typename p5##_type, \ 1776 typename p6##_type, typename p7##_type>\ 1777 class name##MatcherP8 {\ 1779 template <typename arg_type>\ 1780 class gmock_Impl : public ::testing::MatcherInterface<arg_type> {\ 1782 gmock_Impl(p0##_type gmock_p0, p1##_type gmock_p1, p2##_type gmock_p2, \ 1783 p3##_type gmock_p3, p4##_type gmock_p4, p5##_type gmock_p5, \ 1784 p6##_type gmock_p6, p7##_type gmock_p7)\ 1785 : p0(gmock_p0), p1(gmock_p1), p2(gmock_p2), p3(gmock_p3), \ 1786 p4(gmock_p4), p5(gmock_p5), p6(gmock_p6), p7(gmock_p7) {}\ 1787 virtual bool MatchAndExplain(\ 1788 arg_type arg, ::testing::MatchResultListener* result_listener) const;\ 1789 virtual void DescribeTo(::std::ostream* gmock_os) const {\ 1790 *gmock_os << FormatDescription(false);\ 1792 virtual void DescribeNegationTo(::std::ostream* gmock_os) const {\ 1793 *gmock_os << FormatDescription(true);\ 1804 ::testing::internal::string FormatDescription(bool negation) const {\ 1805 const ::testing::internal::string gmock_description = (description);\ 1806 if (!gmock_description.empty())\ 1807 return gmock_description;\ 1808 return ::testing::internal::FormatMatcherDescription(\ 1810 ::testing::internal::UniversalTersePrintTupleFieldsToStrings(\ 1811 ::std::tr1::tuple<p0##_type, p1##_type, p2##_type, p3##_type, \ 1812 p4##_type, p5##_type, p6##_type, p7##_type>(p0, p1, p2, \ 1813 p3, p4, p5, p6, p7)));\ 1815 GTEST_DISALLOW_ASSIGN_(gmock_Impl);\ 1817 template <typename arg_type>\ 1818 operator ::testing::Matcher<arg_type>() const {\ 1819 return ::testing::Matcher<arg_type>(\ 1820 new gmock_Impl<arg_type>(p0, p1, p2, p3, p4, p5, p6, p7));\ 1822 name##MatcherP8(p0##_type gmock_p0, p1##_type gmock_p1, \ 1823 p2##_type gmock_p2, p3##_type gmock_p3, p4##_type gmock_p4, \ 1824 p5##_type gmock_p5, p6##_type gmock_p6, \ 1825 p7##_type gmock_p7) : p0(gmock_p0), p1(gmock_p1), p2(gmock_p2), \ 1826 p3(gmock_p3), p4(gmock_p4), p5(gmock_p5), p6(gmock_p6), \ 1838 GTEST_DISALLOW_ASSIGN_(name##MatcherP8);\ 1840 template <typename p0##_type, typename p1##_type, typename p2##_type, \ 1841 typename p3##_type, typename p4##_type, typename p5##_type, \ 1842 typename p6##_type, typename p7##_type>\ 1843 inline name##MatcherP8<p0##_type, p1##_type, p2##_type, p3##_type, \ 1844 p4##_type, p5##_type, p6##_type, p7##_type> name(p0##_type p0, \ 1845 p1##_type p1, p2##_type p2, p3##_type p3, p4##_type p4, p5##_type p5, \ 1846 p6##_type p6, p7##_type p7) {\ 1847 return name##MatcherP8<p0##_type, p1##_type, p2##_type, p3##_type, \ 1848 p4##_type, p5##_type, p6##_type, p7##_type>(p0, p1, p2, p3, p4, p5, \ 1851 template <typename p0##_type, typename p1##_type, typename p2##_type, \ 1852 typename p3##_type, typename p4##_type, typename p5##_type, \ 1853 typename p6##_type, typename p7##_type>\ 1854 template <typename arg_type>\ 1855 bool name##MatcherP8<p0##_type, p1##_type, p2##_type, p3##_type, p4##_type, \ 1856 p5##_type, p6##_type, \ 1857 p7##_type>::gmock_Impl<arg_type>::MatchAndExplain(\ 1859 ::testing::MatchResultListener* result_listener GTEST_ATTRIBUTE_UNUSED_)\ 1862 #define MATCHER_P9(name, p0, p1, p2, p3, p4, p5, p6, p7, p8, description)\ 1863 template <typename p0##_type, typename p1##_type, typename p2##_type, \ 1864 typename p3##_type, typename p4##_type, typename p5##_type, \ 1865 typename p6##_type, typename p7##_type, typename p8##_type>\ 1866 class name##MatcherP9 {\ 1868 template <typename arg_type>\ 1869 class gmock_Impl : public ::testing::MatcherInterface<arg_type> {\ 1871 gmock_Impl(p0##_type gmock_p0, p1##_type gmock_p1, p2##_type gmock_p2, \ 1872 p3##_type gmock_p3, p4##_type gmock_p4, p5##_type gmock_p5, \ 1873 p6##_type gmock_p6, p7##_type gmock_p7, p8##_type gmock_p8)\ 1874 : p0(gmock_p0), p1(gmock_p1), p2(gmock_p2), p3(gmock_p3), \ 1875 p4(gmock_p4), p5(gmock_p5), p6(gmock_p6), p7(gmock_p7), \ 1877 virtual bool MatchAndExplain(\ 1878 arg_type arg, ::testing::MatchResultListener* result_listener) const;\ 1879 virtual void DescribeTo(::std::ostream* gmock_os) const {\ 1880 *gmock_os << FormatDescription(false);\ 1882 virtual void DescribeNegationTo(::std::ostream* gmock_os) const {\ 1883 *gmock_os << FormatDescription(true);\ 1895 ::testing::internal::string FormatDescription(bool negation) const {\ 1896 const ::testing::internal::string gmock_description = (description);\ 1897 if (!gmock_description.empty())\ 1898 return gmock_description;\ 1899 return ::testing::internal::FormatMatcherDescription(\ 1901 ::testing::internal::UniversalTersePrintTupleFieldsToStrings(\ 1902 ::std::tr1::tuple<p0##_type, p1##_type, p2##_type, p3##_type, \ 1903 p4##_type, p5##_type, p6##_type, p7##_type, \ 1904 p8##_type>(p0, p1, p2, p3, p4, p5, p6, p7, p8)));\ 1906 GTEST_DISALLOW_ASSIGN_(gmock_Impl);\ 1908 template <typename arg_type>\ 1909 operator ::testing::Matcher<arg_type>() const {\ 1910 return ::testing::Matcher<arg_type>(\ 1911 new gmock_Impl<arg_type>(p0, p1, p2, p3, p4, p5, p6, p7, p8));\ 1913 name##MatcherP9(p0##_type gmock_p0, p1##_type gmock_p1, \ 1914 p2##_type gmock_p2, p3##_type gmock_p3, p4##_type gmock_p4, \ 1915 p5##_type gmock_p5, p6##_type gmock_p6, p7##_type gmock_p7, \ 1916 p8##_type gmock_p8) : p0(gmock_p0), p1(gmock_p1), p2(gmock_p2), \ 1917 p3(gmock_p3), p4(gmock_p4), p5(gmock_p5), p6(gmock_p6), p7(gmock_p7), \ 1930 GTEST_DISALLOW_ASSIGN_(name##MatcherP9);\ 1932 template <typename p0##_type, typename p1##_type, typename p2##_type, \ 1933 typename p3##_type, typename p4##_type, typename p5##_type, \ 1934 typename p6##_type, typename p7##_type, typename p8##_type>\ 1935 inline name##MatcherP9<p0##_type, p1##_type, p2##_type, p3##_type, \ 1936 p4##_type, p5##_type, p6##_type, p7##_type, \ 1937 p8##_type> name(p0##_type p0, p1##_type p1, p2##_type p2, p3##_type p3, \ 1938 p4##_type p4, p5##_type p5, p6##_type p6, p7##_type p7, \ 1940 return name##MatcherP9<p0##_type, p1##_type, p2##_type, p3##_type, \ 1941 p4##_type, p5##_type, p6##_type, p7##_type, p8##_type>(p0, p1, p2, \ 1942 p3, p4, p5, p6, p7, p8);\ 1944 template <typename p0##_type, typename p1##_type, typename p2##_type, \ 1945 typename p3##_type, typename p4##_type, typename p5##_type, \ 1946 typename p6##_type, typename p7##_type, typename p8##_type>\ 1947 template <typename arg_type>\ 1948 bool name##MatcherP9<p0##_type, p1##_type, p2##_type, p3##_type, p4##_type, \ 1949 p5##_type, p6##_type, p7##_type, \ 1950 p8##_type>::gmock_Impl<arg_type>::MatchAndExplain(\ 1952 ::testing::MatchResultListener* result_listener GTEST_ATTRIBUTE_UNUSED_)\ 1955 #define MATCHER_P10(name, p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, description)\ 1956 template <typename p0##_type, typename p1##_type, typename p2##_type, \ 1957 typename p3##_type, typename p4##_type, typename p5##_type, \ 1958 typename p6##_type, typename p7##_type, typename p8##_type, \ 1959 typename p9##_type>\ 1960 class name##MatcherP10 {\ 1962 template <typename arg_type>\ 1963 class gmock_Impl : public ::testing::MatcherInterface<arg_type> {\ 1965 gmock_Impl(p0##_type gmock_p0, p1##_type gmock_p1, p2##_type gmock_p2, \ 1966 p3##_type gmock_p3, p4##_type gmock_p4, p5##_type gmock_p5, \ 1967 p6##_type gmock_p6, p7##_type gmock_p7, p8##_type gmock_p8, \ 1968 p9##_type gmock_p9)\ 1969 : p0(gmock_p0), p1(gmock_p1), p2(gmock_p2), p3(gmock_p3), \ 1970 p4(gmock_p4), p5(gmock_p5), p6(gmock_p6), p7(gmock_p7), \ 1971 p8(gmock_p8), p9(gmock_p9) {}\ 1972 virtual bool MatchAndExplain(\ 1973 arg_type arg, ::testing::MatchResultListener* result_listener) const;\ 1974 virtual void DescribeTo(::std::ostream* gmock_os) const {\ 1975 *gmock_os << FormatDescription(false);\ 1977 virtual void DescribeNegationTo(::std::ostream* gmock_os) const {\ 1978 *gmock_os << FormatDescription(true);\ 1991 ::testing::internal::string FormatDescription(bool negation) const {\ 1992 const ::testing::internal::string gmock_description = (description);\ 1993 if (!gmock_description.empty())\ 1994 return gmock_description;\ 1995 return ::testing::internal::FormatMatcherDescription(\ 1997 ::testing::internal::UniversalTersePrintTupleFieldsToStrings(\ 1998 ::std::tr1::tuple<p0##_type, p1##_type, p2##_type, p3##_type, \ 1999 p4##_type, p5##_type, p6##_type, p7##_type, p8##_type, \ 2000 p9##_type>(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9)));\ 2002 GTEST_DISALLOW_ASSIGN_(gmock_Impl);\ 2004 template <typename arg_type>\ 2005 operator ::testing::Matcher<arg_type>() const {\ 2006 return ::testing::Matcher<arg_type>(\ 2007 new gmock_Impl<arg_type>(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9));\ 2009 name##MatcherP10(p0##_type gmock_p0, p1##_type gmock_p1, \ 2010 p2##_type gmock_p2, p3##_type gmock_p3, p4##_type gmock_p4, \ 2011 p5##_type gmock_p5, p6##_type gmock_p6, p7##_type gmock_p7, \ 2012 p8##_type gmock_p8, p9##_type gmock_p9) : p0(gmock_p0), p1(gmock_p1), \ 2013 p2(gmock_p2), p3(gmock_p3), p4(gmock_p4), p5(gmock_p5), p6(gmock_p6), \ 2014 p7(gmock_p7), p8(gmock_p8), p9(gmock_p9) {\ 2027 GTEST_DISALLOW_ASSIGN_(name##MatcherP10);\ 2029 template <typename p0##_type, typename p1##_type, typename p2##_type, \ 2030 typename p3##_type, typename p4##_type, typename p5##_type, \ 2031 typename p6##_type, typename p7##_type, typename p8##_type, \ 2032 typename p9##_type>\ 2033 inline name##MatcherP10<p0##_type, p1##_type, p2##_type, p3##_type, \ 2034 p4##_type, p5##_type, p6##_type, p7##_type, p8##_type, \ 2035 p9##_type> name(p0##_type p0, p1##_type p1, p2##_type p2, p3##_type p3, \ 2036 p4##_type p4, p5##_type p5, p6##_type p6, p7##_type p7, p8##_type p8, \ 2038 return name##MatcherP10<p0##_type, p1##_type, p2##_type, p3##_type, \ 2039 p4##_type, p5##_type, p6##_type, p7##_type, p8##_type, p9##_type>(p0, \ 2040 p1, p2, p3, p4, p5, p6, p7, p8, p9);\ 2042 template <typename p0##_type, typename p1##_type, typename p2##_type, \ 2043 typename p3##_type, typename p4##_type, typename p5##_type, \ 2044 typename p6##_type, typename p7##_type, typename p8##_type, \ 2045 typename p9##_type>\ 2046 template <typename arg_type>\ 2047 bool name##MatcherP10<p0##_type, p1##_type, p2##_type, p3##_type, \ 2048 p4##_type, p5##_type, p6##_type, p7##_type, p8##_type, \ 2049 p9##_type>::gmock_Impl<arg_type>::MatchAndExplain(\ 2051 ::testing::MatchResultListener* result_listener GTEST_ATTRIBUTE_UNUSED_)\ 2054 #endif // GMOCK_INCLUDE_GMOCK_GMOCK_GENERATED_MATCHERS_H_ const T3 & e3_
Definition: gmock-generated-matchers.h:486
ArgsMatcherImpl(const InnerMatcher &inner_matcher)
Definition: gmock-generated-matchers.h:230
const T2 & e2_
Definition: gmock-generated-matchers.h:563
testing::internal::TupleFields< Tuple, k0,-1,-1,-1,-1,-1,-1,-1,-1,-1 >::GetSelectedFields static type GetSelectedFields(const Tuple &t)
Definition: gmock-generated-matchers.h:103
Definition: gmock-generated-matchers.h:535
ElementsAreMatcher1(const T1 &e1)
Definition: gmock-generated-matchers.h:313
ElementsAreMatcher4(const T1 &e1, const T2 &e2, const T3 &e3, const T4 &e4)
Definition: gmock-generated-matchers.h:396
::std::ostream * stream()
Definition: gmock-matchers.h:91
Definition: gmock-actions.h:49
const T4 & e4_
Definition: gmock-generated-matchers.h:487
Matcher< T > SafeMatcherCast(const M &polymorphic_matcher)
Definition: gmock-matchers.h:445
Definition: gmock-matchers.h:110
bool IsInterested() const
Definition: gmock-matchers.h:97
testing::internal::TupleFields< Tuple, k0,-1,-1,-1,-1,-1,-1,-1,-1,-1 >::type ::std::tr1::tuple< GMOCK_FIELD_TYPE_(Tuple, k0)> type
Definition: gmock-generated-matchers.h:102
::std::tr1::tuple< GMOCK_FIELD_TYPE_(Tuple, k0), GMOCK_FIELD_TYPE_(Tuple, k1), GMOCK_FIELD_TYPE_(Tuple, k2), GMOCK_FIELD_TYPE_(Tuple, k3), GMOCK_FIELD_TYPE_(Tuple, k4), GMOCK_FIELD_TYPE_(Tuple, k5), GMOCK_FIELD_TYPE_(Tuple, k6), GMOCK_FIELD_TYPE_(Tuple, k7), GMOCK_FIELD_TYPE_(Tuple, k8), GMOCK_FIELD_TYPE_(Tuple, k9)> type
Definition: gmock-generated-matchers.h:79
const T8 & e8_
Definition: gmock-generated-matchers.h:569
const T8 & e8_
Definition: gmock-generated-matchers.h:612
const T2 & e2_
Definition: gmock-generated-matchers.h:523
Definition: gmock-generated-matchers.h:425
const InnerMatcher inner_matcher_
Definition: gmock-generated-matchers.h:303
const T6 & e6_
Definition: gmock-generated-matchers.h:489
testing::internal::TupleFields< Tuple, k0, k1, k2,-1,-1,-1,-1,-1,-1,-1 >::type ::std::tr1::tuple< GMOCK_FIELD_TYPE_(Tuple, k0), GMOCK_FIELD_TYPE_(Tuple, k1), GMOCK_FIELD_TYPE_(Tuple, k2)> type
Definition: gmock-generated-matchers.h:124
Definition: gmock-matchers.h:2393
::std::string PrintToString(const T &value)
Definition: gtest-printers.h:788
Definition: gmock-matchers.h:2525
const T1 & e1_
Definition: gmock-generated-matchers.h:484
Definition: gmock-matchers.h:1272
Definition: gmock-generated-matchers.h:339
const T1 & e1_
Definition: gmock-generated-matchers.h:333
Definition: gmock-internal-utils.h:377
Matcher< const SelectedArgs & > MonomorphicInnerMatcher
Definition: gmock-generated-matchers.h:227
const MonomorphicInnerMatcher inner_matcher_
Definition: gmock-generated-matchers.h:283
const T5 & e5_
Definition: gmock-generated-matchers.h:488
const T1 & e1_
Definition: gmock-generated-matchers.h:386
Definition: InputPrereqs.h:107
const T1 & e1_
Definition: gmock-generated-matchers.h:358
Definition: gmock-generated-matchers.h:576
ElementsAreMatcher5(const T1 &e1, const T2 &e2, const T3 &e3, const T4 &e4, const T5 &e5)
Definition: gmock-generated-matchers.h:427
const T8 & e8_
Definition: gmock-generated-matchers.h:657
virtual void DescribeTo(::std::ostream *os) const
Definition: gmock-generated-matchers.h:249
const T5 & e5_
Definition: gmock-generated-matchers.h:609
testing::internal::TupleFields< Tuple, k0, k1,-1,-1,-1,-1,-1,-1,-1,-1 >::GetSelectedFields static type GetSelectedFields(const Tuple &t)
Definition: gmock-generated-matchers.h:114
testing::internal::TupleFields< Tuple, k0, k1, k2, k3, k4, k5, k6,-1,-1,-1 >::GetSelectedFields static type GetSelectedFields(const Tuple &t)
Definition: gmock-generated-matchers.h:176
Definition: gtest-tuple.h:109
const T7 & e7_
Definition: gmock-generated-matchers.h:656
const T5 & e5_
Definition: gmock-generated-matchers.h:566
const T4 & e4_
Definition: gmock-generated-matchers.h:419
ElementsAreMatcher6(const T1 &e1, const T2 &e2, const T3 &e3, const T4 &e4, const T5 &e5, const T6 &e6)
Definition: gmock-generated-matchers.h:461
Definition: gmock-generated-matchers.h:459
Definition: gmock-generated-matchers.h:291
const T3 & e3_
Definition: gmock-generated-matchers.h:564
const T1 & e1_
Definition: gmock-generated-matchers.h:416
const T5 & e5_
Definition: gmock-generated-matchers.h:526
const T6 & e6_
Definition: gmock-generated-matchers.h:567
const T1 & e1_
Definition: gmock-generated-matchers.h:650
const T5 & e5_
Definition: gmock-generated-matchers.h:452
const T4 & e4_
Definition: gmock-generated-matchers.h:525
const T3 & e3_
Definition: gmock-generated-matchers.h:388
internal::ArgsMatcher< InnerMatcher > Args(const InnerMatcher &matcher)
Definition: gmock-generated-matchers.h:671
#define GTEST_DISALLOW_ASSIGN_(type)
Definition: gtest-port.h:615
const T1 & e1_
Definition: gmock-generated-matchers.h:448
const T3 & e3_
Definition: gmock-generated-matchers.h:418
Definition: gmock-generated-matchers.h:67
internal::ElementsAreArrayMatcher< T > ElementsAreArray(const T *first, size_t count)
Definition: gmock-generated-matchers.h:841
internal::EitherOfMatcher< Matcher1, internal::EitherOfMatcher< Matcher2, internal::EitherOfMatcher< Matcher3, internal::EitherOfMatcher< Matcher4, internal::EitherOfMatcher< Matcher5, internal::EitherOfMatcher< Matcher6, internal::EitherOfMatcher< Matcher7, internal::EitherOfMatcher< Matcher8, internal::EitherOfMatcher< Matcher9, Matcher10 > > > > > > > > > AnyOf(Matcher1 m1, Matcher2 m2, Matcher3 m3, Matcher4 m4, Matcher5 m5, Matcher6 m6, Matcher7 m7, Matcher8 m8, Matcher9 m9, Matcher10 m10)
Definition: gmock-generated-matchers.h:1032
internal::TupleFields< RawArgsTuple, k0, k1, k2, k3, k4, k5, k6, k7, k8, k9 >::type SelectedArgs
Definition: gmock-generated-matchers.h:226
const T2 & e2_
Definition: gmock-generated-matchers.h:485
testing::internal::TupleFields< Tuple, k0, k1, k2, k3, k4,-1,-1,-1,-1,-1 >::GetSelectedFields static type GetSelectedFields(const Tuple &t)
Definition: gmock-generated-matchers.h:149
const T6 & e6_
Definition: gmock-generated-matchers.h:610
const T2 & e2_
Definition: gmock-generated-matchers.h:651
ElementsAreMatcher8(const T1 &e1, const T2 &e2, const T3 &e3, const T4 &e4, const T5 &e5, const T6 &e6, const T7 &e7, const T8 &e8)
Definition: gmock-generated-matchers.h:537
ElementsAreMatcher2(const T1 &e1, const T2 &e2)
Definition: gmock-generated-matchers.h:341
ElementsAreMatcher3(const T1 &e1, const T2 &e2, const T3 &e3)
Definition: gmock-generated-matchers.h:367
testing::internal::TupleFields< Tuple,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 >::type ::std::tr1::tuple type
Definition: gmock-generated-matchers.h:92
testing::internal::TupleFields< Tuple, k0, k1, k2, k3, k4, k5,-1,-1,-1,-1 >::GetSelectedFields static type GetSelectedFields(const Tuple &t)
Definition: gmock-generated-matchers.h:162
Definition: gmock-matchers.h:74
void PrintIfNotEmpty(const internal::string &explanation, std::ostream *os)
Definition: gmock-matchers.h:458
const T3 & e3_
Definition: gmock-generated-matchers.h:524
const T9 & e9_
Definition: gmock-generated-matchers.h:658
internal::EitherOfMatcher< Matcher1, Matcher2 > AnyOf(Matcher1 m1, Matcher2 m2)
Definition: gmock-generated-matchers.h:950
const T1 & e1_
Definition: gmock-generated-matchers.h:605
testing::internal::TupleFields< Tuple, k0, k1, k2, k3, k4,-1,-1,-1,-1,-1 >::type ::std::tr1::tuple< GMOCK_FIELD_TYPE_(Tuple, k0), GMOCK_FIELD_TYPE_(Tuple, k1), GMOCK_FIELD_TYPE_(Tuple, k2), GMOCK_FIELD_TYPE_(Tuple, k3), GMOCK_FIELD_TYPE_(Tuple, k4)> type
Definition: gmock-generated-matchers.h:148
const T1 & e1_
Definition: gmock-generated-matchers.h:522
static void PrintIndices(::std::ostream *os)
Definition: gmock-generated-matchers.h:268
#define GMOCK_FIELD_TYPE_(Tuple, i)
Definition: gmock-generated-matchers.h:50
ElementsAreMatcher9(const T1 &e1, const T2 &e2, const T3 &e3, const T4 &e4, const T5 &e5, const T6 &e6, const T7 &e7, const T8 &e8, const T9 &e9)
Definition: gmock-generated-matchers.h:578
const T4 & e4_
Definition: gmock-generated-matchers.h:653
internal::ElementsAreMatcher0 ElementsAre()
Definition: gmock-generated-matchers.h:754
const T3 & e3_
Definition: gmock-generated-matchers.h:652
Definition: InputPrereqs.h:78
const T7 & e7_
Definition: gmock-generated-matchers.h:611
const T4 & e4_
Definition: gmock-generated-matchers.h:608
const T3 & e3_
Definition: gmock-generated-matchers.h:607
static SelectedArgs GetSelectedArgs(ArgsTuple args)
Definition: gmock-generated-matchers.h:262
Definition: gmock-generated-matchers.h:365
testing::internal::TupleFields< Tuple, k0, k1, k2, k3, k4, k5, k6, k7, k8,-1 >::GetSelectedFields static type GetSelectedFields(const Tuple &t)
Definition: gmock-generated-matchers.h:208
testing::internal::TupleFields< Tuple, k0, k1, k2, k3, k4, k5, k6, k7,-1,-1 >::GetSelectedFields static type GetSelectedFields(const Tuple &t)
Definition: gmock-generated-matchers.h:192
Definition: gmock-matchers.h:1360
const T2 & e2_
Definition: gmock-generated-matchers.h:359
Definition: gmock-matchers.h:174
testing::internal::TupleFields< Tuple, k0, k1, k2, k3, k4, k5, k6, k7,-1,-1 >::type ::std::tr1::tuple< GMOCK_FIELD_TYPE_(Tuple, k0), GMOCK_FIELD_TYPE_(Tuple, k1), GMOCK_FIELD_TYPE_(Tuple, k2), GMOCK_FIELD_TYPE_(Tuple, k3), GMOCK_FIELD_TYPE_(Tuple, k4), GMOCK_FIELD_TYPE_(Tuple, k5), GMOCK_FIELD_TYPE_(Tuple, k6), GMOCK_FIELD_TYPE_(Tuple, k7)> type
Definition: gmock-generated-matchers.h:191
const T4 & e4_
Definition: gmock-generated-matchers.h:565
const T2 & e2_
Definition: gmock-generated-matchers.h:606
const T6 & e6_
Definition: gmock-generated-matchers.h:527
Matcher< T > MakeMatcher(const MatcherInterface< T > *impl)
Definition: gmock-matchers.h:371
ArgsMatcher(const InnerMatcher &inner_matcher)
Definition: gmock-generated-matchers.h:293
Definition: gmock-matchers.h:2508
internal::BothOfMatcher< Matcher1, Matcher2 > AllOf(Matcher1 m1, Matcher2 m2)
Definition: gmock-generated-matchers.h:857
const T3 & e3_
Definition: gmock-generated-matchers.h:450
ElementsAreMatcher7(const T1 &e1, const T2 &e2, const T3 &e3, const T4 &e4, const T5 &e5, const T6 &e6, const T7 &e7)
Definition: gmock-generated-matchers.h:498
static type GetSelectedFields(const Tuple &t)
Definition: gmock-generated-matchers.h:80
const T5 & e5_
Definition: gmock-generated-matchers.h:654
Definition: gmock-generated-matchers.h:496
const T4 & e4_
Definition: gmock-generated-matchers.h:451
const T1 & e1_
Definition: gmock-generated-matchers.h:562
ElementsAreMatcher10(const T1 &e1, const T2 &e2, const T3 &e3, const T4 &e4, const T5 &e5, const T6 &e6, const T7 &e7, const T8 &e8, const T9 &e9, const T10 &e10)
Definition: gmock-generated-matchers.h:622
testing::internal::TupleFields< Tuple, k0, k1, k2, k3,-1,-1,-1,-1,-1,-1 >::GetSelectedFields static type GetSelectedFields(const Tuple &t)
Definition: gmock-generated-matchers.h:137
const T7 & e7_
Definition: gmock-generated-matchers.h:568
const T10 & e10_
Definition: gmock-generated-matchers.h:659
testing::internal::TupleFields< Tuple, k0, k1, k2, k3,-1,-1,-1,-1,-1,-1 >::type ::std::tr1::tuple< GMOCK_FIELD_TYPE_(Tuple, k0), GMOCK_FIELD_TYPE_(Tuple, k1), GMOCK_FIELD_TYPE_(Tuple, k2), GMOCK_FIELD_TYPE_(Tuple, k3)> type
Definition: gmock-generated-matchers.h:136
testing::internal::TupleFields< Tuple, k0, k1, k2, k3, k4, k5, k6,-1,-1,-1 >::type ::std::tr1::tuple< GMOCK_FIELD_TYPE_(Tuple, k0), GMOCK_FIELD_TYPE_(Tuple, k1), GMOCK_FIELD_TYPE_(Tuple, k2), GMOCK_FIELD_TYPE_(Tuple, k3), GMOCK_FIELD_TYPE_(Tuple, k4), GMOCK_FIELD_TYPE_(Tuple, k5), GMOCK_FIELD_TYPE_(Tuple, k6)> type
Definition: gmock-generated-matchers.h:175
const T7 & e7_
Definition: gmock-generated-matchers.h:528
const T2 & e2_
Definition: gmock-generated-matchers.h:417
Definition: gmock-matchers.h:251
testing::internal::TupleFields< Tuple,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 >::GetSelectedFields static type GetSelectedFields(const Tuple &)
Definition: gmock-generated-matchers.h:93
Definition: gmock-generated-matchers.h:394
testing::internal::TupleFields< Tuple, k0, k1, k2, k3, k4, k5,-1,-1,-1,-1 >::type ::std::tr1::tuple< GMOCK_FIELD_TYPE_(Tuple, k0), GMOCK_FIELD_TYPE_(Tuple, k1), GMOCK_FIELD_TYPE_(Tuple, k2), GMOCK_FIELD_TYPE_(Tuple, k3), GMOCK_FIELD_TYPE_(Tuple, k4), GMOCK_FIELD_TYPE_(Tuple, k5)> type
Definition: gmock-generated-matchers.h:161
virtual bool MatchAndExplain(ArgsTuple args, MatchResultListener *listener) const
Definition: gmock-generated-matchers.h:233
const T6 & e6_
Definition: gmock-generated-matchers.h:655
Definition: gmock-generated-matchers.h:620
testing::internal::TupleFields< Tuple, k0, k1,-1,-1,-1,-1,-1,-1,-1,-1 >::type ::std::tr1::tuple< GMOCK_FIELD_TYPE_(Tuple, k0), GMOCK_FIELD_TYPE_(Tuple, k1)> type
Definition: gmock-generated-matchers.h:113
internal::BothOfMatcher< Matcher1, internal::BothOfMatcher< Matcher2, internal::BothOfMatcher< Matcher3, internal::BothOfMatcher< Matcher4, internal::BothOfMatcher< Matcher5, internal::BothOfMatcher< Matcher6, internal::BothOfMatcher< Matcher7, internal::BothOfMatcher< Matcher8, internal::BothOfMatcher< Matcher9, Matcher10 > > > > > > > > > AllOf(Matcher1 m1, Matcher2 m2, Matcher3 m3, Matcher4 m4, Matcher5 m5, Matcher6 m6, Matcher7 m7, Matcher8 m8, Matcher9 m9, Matcher10 m10)
Definition: gmock-generated-matchers.h:939
virtual void DescribeNegationTo(::std::ostream *os) const
Definition: gmock-generated-matchers.h:255
Definition: gmock-generated-matchers.h:311
#define GTEST_REMOVE_REFERENCE_AND_CONST_(T)
Definition: gtest-internal.h:815
Definition: gmock-generated-matchers.h:221
const T2 & e2_
Definition: gmock-generated-matchers.h:449
testing::internal::TupleFields< Tuple, k0, k1, k2, k3, k4, k5, k6, k7, k8,-1 >::type ::std::tr1::tuple< GMOCK_FIELD_TYPE_(Tuple, k0), GMOCK_FIELD_TYPE_(Tuple, k1), GMOCK_FIELD_TYPE_(Tuple, k2), GMOCK_FIELD_TYPE_(Tuple, k3), GMOCK_FIELD_TYPE_(Tuple, k4), GMOCK_FIELD_TYPE_(Tuple, k5), GMOCK_FIELD_TYPE_(Tuple, k6), GMOCK_FIELD_TYPE_(Tuple, k7), GMOCK_FIELD_TYPE_(Tuple, k8)> type
Definition: gmock-generated-matchers.h:207
internal::string str() const
Definition: gmock-matchers.h:179
const T2 & e2_
Definition: gmock-generated-matchers.h:387
testing::internal::TupleFields< Tuple, k0, k1, k2,-1,-1,-1,-1,-1,-1,-1 >::GetSelectedFields static type GetSelectedFields(const Tuple &t)
Definition: gmock-generated-matchers.h:125
const T9 & e9_
Definition: gmock-generated-matchers.h:613