Lines Matching refs:Impl
550 template <typename Impl>
553 explicit PolymorphicAction(const Impl& impl) : impl_(impl) {}
567 explicit MonomorphicImpl(const Impl& impl) : impl_(impl) {}
574 Impl impl_;
577 Impl impl_;
594 template <typename Impl>
595 inline PolymorphicAction<Impl> MakePolymorphicAction(const Impl& impl) {
596 return PolymorphicAction<Impl>(impl);
662 return Action<F>(new Impl<R, F>(value_));
668 class Impl : public ActionInterface<F> {
680 explicit Impl(const std::shared_ptr<R>& value)
694 GTEST_DISALLOW_COPY_AND_ASSIGN_(Impl);
700 class Impl<ByMoveWrapper<R_>, F> : public ActionInterface<F> {
705 explicit Impl(const std::shared_ptr<R>& wrapper)
764 return Action<F>(new Impl<F>(ref_));
770 class Impl : public ActionInterface<F> {
775 explicit Impl(T& ref) : ref_(ref) {} // NOLINT
807 return Action<F>(new Impl<F>(value_));
813 class Impl : public ActionInterface<F> {
818 explicit Impl(const T& value) : value_(value) {} // NOLINT
985 return Action<F>(new Impl<F>(action_));
990 class Impl : public ActionInterface<F> {
995 explicit Impl(const A& action) : action_(action) {}
1485 template <typename F, typename Impl> struct ActionImpl;
1487 template <typename Impl>
1491 explicit operator const Impl&() const { return *ptr; }
1492 std::shared_ptr<Impl> ptr;
1494 using type = typename std::conditional<std::is_constructible<Impl>::value,
1495 Impl, Holder>::type;
1498 template <typename R, typename... Args, typename Impl>
1499 struct ActionImpl<R(Args...), Impl> : ImplBase<Impl>::type {
1500 using Base = typename ImplBase<Impl>::type;
1505 explicit ActionImpl(std::shared_ptr<Impl> impl) : Base{std::move(impl)} { }
1524 return static_cast<const Impl&>(*this).template gmock_PerformImpl<
1535 template <typename F, typename Impl>
1537 return ::testing::Action<F>(ActionImpl<F, Impl>());
1541 template <typename F, typename Impl>
1542 ::testing::Action<F> MakeAction(std::shared_ptr<Impl> impl) {
1543 return ::testing::Action<F>(ActionImpl<F, Impl>(std::move(impl)));