Lines Matching refs:weak_ptr
590 typedef weak_ptr<T> weak_type; // C++17
604 template<class Y> explicit shared_ptr(const weak_ptr<Y>& r);
635 template<class U> bool owner_before(weak_ptr<U> const& b) const noexcept;
639 shared_ptr(weak_ptr<T>) -> shared_ptr<T>;
740 class weak_ptr
747 constexpr weak_ptr() noexcept;
748 template<class Y> weak_ptr(shared_ptr<Y> const& r) noexcept;
749 weak_ptr(weak_ptr const& r) noexcept;
750 template<class Y> weak_ptr(weak_ptr<Y> const& r) noexcept;
751 weak_ptr(weak_ptr&& r) noexcept; // C++14
752 template<class Y> weak_ptr(weak_ptr<Y>&& r) noexcept; // C++14
755 ~weak_ptr();
758 weak_ptr& operator=(weak_ptr const& r) noexcept;
759 template<class Y> weak_ptr& operator=(weak_ptr<Y> const& r) noexcept;
760 template<class Y> weak_ptr& operator=(shared_ptr<Y> const& r) noexcept;
761 weak_ptr& operator=(weak_ptr&& r) noexcept; // C++14
762 template<class Y> weak_ptr& operator=(weak_ptr<Y>&& r) noexcept; // C++14
765 void swap(weak_ptr& r) noexcept;
773 template<class U> bool owner_before(weak_ptr<U> const& b) const noexcept;
777 weak_ptr(shared_ptr<T>) -> weak_ptr<T>;
779 // weak_ptr specialized algorithms:
780 template<class T> void swap(weak_ptr<T>& a, weak_ptr<T>& b) noexcept;
791 bool operator()(shared_ptr<T> const&, weak_ptr<T> const&) const noexcept;
792 bool operator()(weak_ptr<T> const&, shared_ptr<T> const&) const noexcept;
796 struct owner_less<weak_ptr<T> >
797 : binary_function<weak_ptr<T>, weak_ptr<T>, bool>
800 bool operator()(weak_ptr<T> const&, weak_ptr<T> const&) const noexcept;
801 bool operator()(shared_ptr<T> const&, weak_ptr<T> const&) const noexcept;
802 bool operator()(weak_ptr<T> const&, shared_ptr<T> const&) const noexcept;
811 bool operator()( shared_ptr<_Tp> const& __x, weak_ptr<_Up> const& __y) const noexcept;
813 bool operator()( weak_ptr<_Tp> const& __x, shared_ptr<_Up> const& __y) const noexcept;
815 bool operator()( weak_ptr<_Tp> const& __x, weak_ptr<_Up> const& __y) const noexcept;