Lines Matching refs:weak_ptr
12 // weak_ptr
14 // template<class Y> weak_ptr(const weak_ptr<Y>& r);
15 // template<class Y> weak_ptr(weak_ptr<Y> &&r);
56 std::weak_ptr<T> source (std::shared_ptr<T> p) { return std::weak_ptr<T>(p); }
59 void sink (std::weak_ptr<T> &&) {}
63 static_assert(( std::is_convertible<std::weak_ptr<A>, std::weak_ptr<B> >::value), "");
64 static_assert((!std::is_convertible<std::weak_ptr<B>, std::weak_ptr<A> >::value), "");
65 static_assert((!std::is_convertible<std::weak_ptr<A>, std::weak_ptr<C> >::value), "");
67 const std::weak_ptr<A> pA(std::shared_ptr<A>(new A));
72 std::weak_ptr<B> pB(pA);
85 std::weak_ptr<A> pA;
90 std::weak_ptr<B> pB(pA);
105 std::weak_ptr<A> pA = source(ps);
106 std::weak_ptr<B> pB(std::move(pA));