Lines Matching refs:weak_ptr

588     typedef weak_ptr<T> weak_type; // C++17
602 template<class Y> explicit shared_ptr(const weak_ptr<Y>& r);
633 template<class U> bool owner_before(weak_ptr<U> const& b) const noexcept;
637 shared_ptr(weak_ptr<T>) -> shared_ptr<T>;
738 class weak_ptr
745 constexpr weak_ptr() noexcept;
746 template<class Y> weak_ptr(shared_ptr<Y> const& r) noexcept;
747 weak_ptr(weak_ptr const& r) noexcept;
748 template<class Y> weak_ptr(weak_ptr<Y> const& r) noexcept;
749 weak_ptr(weak_ptr&& r) noexcept; // C++14
750 template<class Y> weak_ptr(weak_ptr<Y>&& r) noexcept; // C++14
753 ~weak_ptr();
756 weak_ptr& operator=(weak_ptr const& r) noexcept;
757 template<class Y> weak_ptr& operator=(weak_ptr<Y> const& r) noexcept;
758 template<class Y> weak_ptr& operator=(shared_ptr<Y> const& r) noexcept;
759 weak_ptr& operator=(weak_ptr&& r) noexcept; // C++14
760 template<class Y> weak_ptr& operator=(weak_ptr<Y>&& r) noexcept; // C++14
763 void swap(weak_ptr& r) noexcept;
771 template<class U> bool owner_before(weak_ptr<U> const& b) const noexcept;
775 weak_ptr(shared_ptr<T>) -> weak_ptr<T>;
777 // weak_ptr specialized algorithms:
778 template<class T> void swap(weak_ptr<T>& a, weak_ptr<T>& b) noexcept;
789 bool operator()(shared_ptr<T> const&, weak_ptr<T> const&) const noexcept;
790 bool operator()(weak_ptr<T> const&, shared_ptr<T> const&) const noexcept;
794 struct owner_less<weak_ptr<T> >
795 : binary_function<weak_ptr<T>, weak_ptr<T>, bool>
798 bool operator()(weak_ptr<T> const&, weak_ptr<T> const&) const noexcept;
799 bool operator()(shared_ptr<T> const&, weak_ptr<T> const&) const noexcept;
800 bool operator()(weak_ptr<T> const&, shared_ptr<T> const&) const noexcept;
809 bool operator()( shared_ptr<_Tp> const& __x, weak_ptr<_Up> const& __y) const noexcept;
811 bool operator()( weak_ptr<_Tp> const& __x, shared_ptr<_Up> const& __y) const noexcept;
813 bool operator()( weak_ptr<_Tp> const& __x, weak_ptr<_Up> const& __y) const noexcept;