Lines Matching refs:Impl
223 explicit MatcherBase(const MatcherInterface<T>* impl)
224 : impl_(impl) {}
259 explicit Matcher(const MatcherInterface<T>* impl)
260 : internal::MatcherBase<T>(impl) {}
276 explicit Matcher(const MatcherInterface<const internal::string&>* impl)
277 : internal::MatcherBase<const internal::string&>(impl) {}
293 explicit Matcher(const MatcherInterface<internal::string>* impl)
294 : internal::MatcherBase<internal::string>(impl) {}
308 // To define a polymorphic matcher, a user should provide an Impl
316 template <class Impl>
319 explicit PolymorphicMatcher(const Impl& an_impl) : impl_(an_impl) {}
323 Impl& mutable_impl() { return impl_; }
327 const Impl& impl() const { return impl_; }
338 explicit MonomorphicImpl(const Impl& impl) : impl_(impl) {}
353 const Impl impl_;
358 Impl impl_;
371 inline Matcher<T> MakeMatcher(const MatcherInterface<T>* impl) {
372 return Matcher<T>(impl);
376 // easier to use than the PolymorphicMatcher<Impl> constructor as it
382 template <class Impl>
383 inline PolymorphicMatcher<Impl> MakePolymorphicMatcher(const Impl& impl) {
384 return PolymorphicMatcher<Impl>(impl);
453 return Matcher<T>(new Impl(source_matcher));
457 class Impl : public MatcherInterface<T> {
459 explicit Impl(const Matcher<U>& source_matcher)
478 GTEST_DISALLOW_ASSIGN_(Impl);
755 return MakeMatcher(new Impl<Lhs>(rhs_)); \
759 class Impl : public MatcherInterface<Lhs> { \
761 explicit Impl(const Rhs& rhs) : rhs_(rhs) {} \
776 GTEST_DISALLOW_ASSIGN_(Impl); \
856 // By passing object_ (type T&) to Impl(), which expects a Super&,
861 return MakeMatcher(new Impl<Super>(object_));
866 class Impl : public MatcherInterface<Super&> {
868 explicit Impl(Super& x) : object_(x) {} // NOLINT
891 GTEST_DISALLOW_ASSIGN_(Impl);
1166 return MakeMatcher(new Impl< ::std::tr1::tuple<T1, T2> >); \
1170 return MakeMatcher(new Impl<const ::std::tr1::tuple<T1, T2>&>); \
1174 class Impl : public MatcherInterface<Tuple> { \
1569 class Impl : public MatcherInterface<T> {
1571 Impl(FloatType rhs, bool nan_eq_nan) :
1625 GTEST_DISALLOW_ASSIGN_(Impl);
1635 return MakeMatcher(new Impl<FloatType>(rhs_, nan_eq_nan_));
1639 return MakeMatcher(new Impl<const FloatType&>(rhs_, nan_eq_nan_));
1643 return MakeMatcher(new Impl<FloatType&>(rhs_, nan_eq_nan_));
1670 return MakeMatcher(new Impl<Pointer>(matcher_));
1676 class Impl : public MatcherInterface<Pointer> {
1681 explicit Impl(const InnerMatcher& matcher)
1706 GTEST_DISALLOW_ASSIGN_(Impl);
1877 return Matcher<T>(new Impl<T>(callable_, matcher_));
1884 class Impl : public MatcherInterface<T> {
1886 Impl(CallableStorageType callable, const Matcher<ResultType>& matcher)
1917 GTEST_DISALLOW_ASSIGN_(Impl);
1918 }; // class Impl
2036 return MakeMatcher(new Impl<LhsContainer>(comparator_, matcher_));
2040 class Impl : public MatcherInterface<LhsContainer> {
2048 Impl(const Comparator& comparator, const ContainerMatcher& matcher)
2089 GTEST_DISALLOW_COPY_AND_ASSIGN_(Impl);
2122 return MakeMatcher(new Impl<LhsContainer>(tuple_matcher_, rhs_));
2126 class Impl : public MatcherInterface<LhsContainer> {
2139 Impl(const TupleMatcher& tuple_matcher, const RhsStlContainer& rhs)
2199 GTEST_DISALLOW_ASSIGN_(Impl);