Lines Matching refs:weak_ptr
563 typedef weak_ptr<T> weak_type; // C++17
577 template<class Y> explicit shared_ptr(const weak_ptr<Y>& r);
608 template<class U> bool owner_before(weak_ptr<U> const& b) const noexcept;
612 shared_ptr(weak_ptr<T>) -> shared_ptr<T>;
699 class weak_ptr
706 constexpr weak_ptr() noexcept;
707 template<class Y> weak_ptr(shared_ptr<Y> const& r) noexcept;
708 weak_ptr(weak_ptr const& r) noexcept;
709 template<class Y> weak_ptr(weak_ptr<Y> const& r) noexcept;
710 weak_ptr(weak_ptr&& r) noexcept; // C++14
711 template<class Y> weak_ptr(weak_ptr<Y>&& r) noexcept; // C++14
714 ~weak_ptr();
717 weak_ptr& operator=(weak_ptr const& r) noexcept;
718 template<class Y> weak_ptr& operator=(weak_ptr<Y> const& r) noexcept;
719 template<class Y> weak_ptr& operator=(shared_ptr<Y> const& r) noexcept;
720 weak_ptr& operator=(weak_ptr&& r) noexcept; // C++14
721 template<class Y> weak_ptr& operator=(weak_ptr<Y>&& r) noexcept; // C++14
724 void swap(weak_ptr& r) noexcept;
732 template<class U> bool owner_before(weak_ptr<U> const& b) const noexcept;
736 weak_ptr(shared_ptr<T>) -> weak_ptr<T>;
738 // weak_ptr specialized algorithms:
739 template<class T> void swap(weak_ptr<T>& a, weak_ptr<T>& b) noexcept;
750 bool operator()(shared_ptr<T> const&, weak_ptr<T> const&) const noexcept;
751 bool operator()(weak_ptr<T> const&, shared_ptr<T> const&) const noexcept;
755 struct owner_less<weak_ptr<T> >
756 : binary_function<weak_ptr<T>, weak_ptr<T>, bool>
759 bool operator()(weak_ptr<T> const&, weak_ptr<T> const&) const noexcept;
760 bool operator()(shared_ptr<T> const&, weak_ptr<T> const&) const noexcept;
761 bool operator()(weak_ptr<T> const&, shared_ptr<T> const&) const noexcept;
770 bool operator()( shared_ptr<_Tp> const& __x, weak_ptr<_Up> const& __y) const noexcept;
772 bool operator()( weak_ptr<_Tp> const& __x, shared_ptr<_Up> const& __y) const noexcept;
774 bool operator()( weak_ptr<_Tp> const& __x, weak_ptr<_Up> const& __y) const noexcept;