Lines Matching defs:Impl

421 // To define a polymorphic matcher, a user should provide an Impl
429 template <class Impl>
432 explicit PolymorphicMatcher(const Impl& an_impl) : impl_(an_impl) {}
436 Impl& mutable_impl() { return impl_; }
440 const Impl& impl() const { return impl_; }
451 explicit MonomorphicImpl(const Impl& impl) : impl_(impl) {}
466 const Impl impl_;
471 Impl impl_;
489 // easier to use than the PolymorphicMatcher<Impl> constructor as it
495 template <class Impl>
496 inline PolymorphicMatcher<Impl> MakePolymorphicMatcher(const Impl& impl) {
497 return PolymorphicMatcher<Impl>(impl);
566 return Matcher<T>(new Impl(source_matcher));
570 class Impl : public MatcherInterface<T> {
572 explicit Impl(const Matcher<U>& source_matcher)
591 GTEST_DISALLOW_ASSIGN_(Impl);
898 return MakeMatcher(new Impl<Lhs>(rhs_));
903 class Impl : public MatcherInterface<Lhs> {
905 explicit Impl(const Rhs& rhs) : rhs_(rhs) {}
920 GTEST_DISALLOW_ASSIGN_(Impl);
1046 // By passing object_ (type T&) to Impl(), which expects a Super&,
1051 return MakeMatcher(new Impl<Super>(object_));
1056 class Impl : public MatcherInterface<Super&> {
1058 explicit Impl(Super& x) : object_(x) {} // NOLINT
1081 GTEST_DISALLOW_ASSIGN_(Impl);
1385 return MakeMatcher(new Impl< ::testing::tuple<T1, T2> >);
1389 return MakeMatcher(new Impl<const ::testing::tuple<T1, T2>&>);
1398 class Impl : public MatcherInterface<Tuple> {
1914 class Impl : public MatcherInterface<T> {
1916 Impl(FloatType expected, bool nan_eq_nan, FloatType max_abs_error)
2007 GTEST_DISALLOW_ASSIGN_(Impl);
2018 new Impl<FloatType>(expected_, nan_eq_nan_, max_abs_error_));
2023 new Impl<const FloatType&>(expected_, nan_eq_nan_, max_abs_error_));
2028 new Impl<FloatType&>(expected_, nan_eq_nan_, max_abs_error_));
2057 return MakeMatcher(new Impl<Pointer>(matcher_));
2063 class Impl : public MatcherInterface<Pointer> {
2068 explicit Impl(const InnerMatcher& matcher)
2093 GTEST_DISALLOW_ASSIGN_(Impl);
2348 return Matcher<T>(new Impl<T>(callable_, matcher_));
2355 class Impl : public MatcherInterface<T> {
2357 Impl(CallableStorageType callable, const Matcher<ResultType>& matcher)
2388 GTEST_DISALLOW_ASSIGN_(Impl);
2389 }; // class Impl
2407 return MakeMatcher(new Impl<Container>(size_matcher_));
2411 class Impl : public MatcherInterface<Container> {
2416 explicit Impl(const SizeMatcher& size_matcher)
2441 GTEST_DISALLOW_ASSIGN_(Impl);
2459 return MakeMatcher(new Impl<Container>(distance_matcher_));
2463 class Impl : public MatcherInterface<Container> {
2470 explicit Impl(const DistanceMatcher& distance_matcher)
2502 GTEST_DISALLOW_ASSIGN_(Impl);
2621 return MakeMatcher(new Impl<LhsContainer>(comparator_, matcher_));
2625 class Impl : public MatcherInterface<LhsContainer> {
2636 Impl(const Comparator& comparator, const ContainerMatcher& matcher)
2678 GTEST_DISALLOW_COPY_AND_ASSIGN_(Impl);
2711 return MakeMatcher(new Impl<LhsContainer>(tuple_matcher_, rhs_));
2715 class Impl : public MatcherInterface<LhsContainer> {
2728 Impl(const TupleMatcher& tuple_matcher, const RhsStlContainer& rhs)
2788 GTEST_DISALLOW_ASSIGN_(Impl);
3559 return MakeMatcher(new Impl<T>(tuple2_matcher_, second_value_));
3576 class Impl : public MatcherInterface<T> {
3580 Impl(const Tuple2Matcher& tm, const Second& second)
3600 GTEST_DISALLOW_ASSIGN_(Impl);