Lines Matching refs:weak_ptr

409     typedef weak_ptr<T> weak_type; // C++17
423 template<class Y> explicit shared_ptr(const weak_ptr<Y>& r);
454 template<class U> bool owner_before(weak_ptr<U> const& b) const noexcept;
458 shared_ptr(weak_ptr<T>) -> shared_ptr<T>;
525 class weak_ptr
531 constexpr weak_ptr() noexcept;
532 template<class Y> weak_ptr(shared_ptr<Y> const& r) noexcept;
533 weak_ptr(weak_ptr const& r) noexcept;
534 template<class Y> weak_ptr(weak_ptr<Y> const& r) noexcept;
535 weak_ptr(weak_ptr&& r) noexcept; // C++14
536 template<class Y> weak_ptr(weak_ptr<Y>&& r) noexcept; // C++14
539 ~weak_ptr();
542 weak_ptr& operator=(weak_ptr const& r) noexcept;
543 template<class Y> weak_ptr& operator=(weak_ptr<Y> const& r) noexcept;
544 template<class Y> weak_ptr& operator=(shared_ptr<Y> const& r) noexcept;
545 weak_ptr& operator=(weak_ptr&& r) noexcept; // C++14
546 template<class Y> weak_ptr& operator=(weak_ptr<Y>&& r) noexcept; // C++14
549 void swap(weak_ptr& r) noexcept;
557 template<class U> bool owner_before(weak_ptr<U> const& b) const noexcept;
561 weak_ptr(shared_ptr<T>) -> weak_ptr<T>;
563 // weak_ptr specialized algorithms:
564 template<class T> void swap(weak_ptr<T>& a, weak_ptr<T>& b) noexcept;
575 bool operator()(shared_ptr<T> const&, weak_ptr<T> const&) const noexcept;
576 bool operator()(weak_ptr<T> const&, shared_ptr<T> const&) const noexcept;
580 struct owner_less<weak_ptr<T> >
581 : binary_function<weak_ptr<T>, weak_ptr<T>, bool>
584 bool operator()(weak_ptr<T> const&, weak_ptr<T> const&) const noexcept;
585 bool operator()(shared_ptr<T> const&, weak_ptr<T> const&) const noexcept;
586 bool operator()(weak_ptr<T> const&, shared_ptr<T> const&) const noexcept;
595 bool operator()( shared_ptr<_Tp> const& __x, weak_ptr<_Up> const& __y) const noexcept;
597 bool operator()( weak_ptr<_Tp> const& __x, shared_ptr<_Up> const& __y) const noexcept;
599 bool operator()( weak_ptr<_Tp> const& __x, weak_ptr<_Up> const& __y) const noexcept;