Lines Matching refs:shared_ptr
418 class _LIBCPP_SHARED_PTR_TRIVIAL_ABI _LIBCPP_TEMPLATE_VIS shared_ptr
434 _LIBCPP_CONSTEXPR shared_ptr() _NOEXCEPT
440 _LIBCPP_CONSTEXPR shared_ptr(nullptr_t) _NOEXCEPT
456 explicit shared_ptr(_Yp* __p) : __ptr_(__p) {
467 shared_ptr(_Yp* __p, _Dp __d)
494 shared_ptr(_Yp* __p, _Dp __d, _Alloc __a)
526 shared_ptr(nullptr_t __p, _Dp __d)
552 shared_ptr(nullptr_t __p, _Dp __d, _Alloc __a)
583 shared_ptr(const shared_ptr<_Yp>& __r, element_type *__p) _NOEXCEPT
592 shared_ptr(const shared_ptr& __r) _NOEXCEPT
602 shared_ptr(const shared_ptr<_Yp>& __r) _NOEXCEPT
611 shared_ptr(shared_ptr&& __r) _NOEXCEPT
621 shared_ptr(shared_ptr<_Yp>&& __r) _NOEXCEPT
631 explicit shared_ptr(const weak_ptr<_Yp>& __r)
642 shared_ptr(auto_ptr<_Yp>&& __r)
657 shared_ptr(unique_ptr<_Yp, _Dp>&& __r)
679 shared_ptr(unique_ptr<_Yp, _Dp>&& __r)
699 ~shared_ptr()
706 shared_ptr<_Tp>& operator=(const shared_ptr& __r) _NOEXCEPT
708 shared_ptr(__r).swap(*this);
714 shared_ptr<_Tp>& operator=(const shared_ptr<_Yp>& __r) _NOEXCEPT
716 shared_ptr(__r).swap(*this);
721 shared_ptr<_Tp>& operator=(shared_ptr&& __r) _NOEXCEPT
723 shared_ptr(_VSTD::move(__r)).swap(*this);
729 shared_ptr<_Tp>& operator=(shared_ptr<_Yp>&& __r)
731 shared_ptr(_VSTD::move(__r)).swap(*this);
738 is_convertible<_Yp*, typename shared_ptr<_Tp>::element_type*>::value
741 shared_ptr<_Tp>& operator=(auto_ptr<_Yp>&& __r)
743 shared_ptr(_VSTD::move(__r)).swap(*this);
752 shared_ptr<_Tp>& operator=(unique_ptr<_Yp, _Dp>&& __r)
754 shared_ptr(_VSTD::move(__r)).swap(*this);
759 void swap(shared_ptr& __r) _NOEXCEPT
768 shared_ptr().swap(*this);
777 shared_ptr(__p).swap(*this);
786 shared_ptr(__p, __d).swap(*this);
795 shared_ptr(__p, __d, __a).swap(*this);
838 bool owner_before(shared_ptr<_Up> const& __p) const _NOEXCEPT
851 bool __owner_equivalent(const shared_ptr& __p) const
879 static shared_ptr<_Tp> __create_with_control_block(_Yp* __p, _CntrlBlk* __cntrl) _NOEXCEPT
881 shared_ptr<_Tp> __r;
910 __e->__weak_this_ = shared_ptr<_RawYp>(*this,
932 template <class _Up> friend class _LIBCPP_TEMPLATE_VIS shared_ptr;
938 shared_ptr(weak_ptr<_Tp>) -> shared_ptr<_Tp>;
940 shared_ptr(unique_ptr<_Tp, _Dp>) -> shared_ptr<_Tp>;
948 shared_ptr<_Tp> allocate_shared(const _Alloc& __a, _Args&& ...__args)
955 …return shared_ptr<_Tp>::__create_with_control_block((*__control_block).__get_elem(), _VSTD::addres…
960 shared_ptr<_Tp> make_shared(_Args&& ...__args)
1041 shared_ptr<_Array> __allocate_shared_unbounded_array(const _Alloc& __a, size_t __n, _Arg&& ...__arg)
1055 …return shared_ptr<_Array>::__create_with_control_block(__control_block->__get_data(), __control_bl…
1104 shared_ptr<_Array> __allocate_shared_bounded_array(const _Alloc& __a, _Arg&& ...__arg)
1114 …return shared_ptr<_Array>::__create_with_control_block(__control_block->__get_data(), __control_bl…
1123 shared_ptr<_Tp> allocate_shared(const _Alloc& __a)
1130 shared_ptr<_Tp> allocate_shared(const _Alloc& __a, const remove_extent_t<_Tp>& __u)
1137 shared_ptr<_Tp> allocate_shared(const _Alloc& __a, size_t __n)
1144 shared_ptr<_Tp> allocate_shared(const _Alloc& __a, size_t __n, const remove_extent_t<_Tp>& __u)
1151 shared_ptr<_Tp> make_shared()
1158 shared_ptr<_Tp> make_shared(const remove_extent_t<_Tp>& __u)
1165 shared_ptr<_Tp> make_shared(size_t __n)
1172 shared_ptr<_Tp> make_shared(size_t __n, const remove_extent_t<_Tp>& __u)
1182 operator==(const shared_ptr<_Tp>& __x, const shared_ptr<_Up>& __y) _NOEXCEPT
1190 operator!=(const shared_ptr<_Tp>& __x, const shared_ptr<_Up>& __y) _NOEXCEPT
1198 operator<(const shared_ptr<_Tp>& __x, const shared_ptr<_Up>& __y) _NOEXCEPT
1212 operator>(const shared_ptr<_Tp>& __x, const shared_ptr<_Up>& __y) _NOEXCEPT
1220 operator<=(const shared_ptr<_Tp>& __x, const shared_ptr<_Up>& __y) _NOEXCEPT
1228 operator>=(const shared_ptr<_Tp>& __x, const shared_ptr<_Up>& __y) _NOEXCEPT
1236 operator==(const shared_ptr<_Tp>& __x, nullptr_t) _NOEXCEPT
1244 operator==(nullptr_t, const shared_ptr<_Tp>& __x) _NOEXCEPT
1252 operator!=(const shared_ptr<_Tp>& __x, nullptr_t) _NOEXCEPT
1260 operator!=(nullptr_t, const shared_ptr<_Tp>& __x) _NOEXCEPT
1268 operator<(const shared_ptr<_Tp>& __x, nullptr_t) _NOEXCEPT
1276 operator<(nullptr_t, const shared_ptr<_Tp>& __x) _NOEXCEPT
1284 operator>(const shared_ptr<_Tp>& __x, nullptr_t) _NOEXCEPT
1292 operator>(nullptr_t, const shared_ptr<_Tp>& __x) _NOEXCEPT
1300 operator<=(const shared_ptr<_Tp>& __x, nullptr_t) _NOEXCEPT
1308 operator<=(nullptr_t, const shared_ptr<_Tp>& __x) _NOEXCEPT
1316 operator>=(const shared_ptr<_Tp>& __x, nullptr_t) _NOEXCEPT
1324 operator>=(nullptr_t, const shared_ptr<_Tp>& __x) _NOEXCEPT
1332 swap(shared_ptr<_Tp>& __x, shared_ptr<_Tp>& __y) _NOEXCEPT
1339 shared_ptr<_Tp>
1340 static_pointer_cast(const shared_ptr<_Up>& __r) _NOEXCEPT
1342 return shared_ptr<_Tp>(__r,
1344 typename shared_ptr<_Tp>::element_type*>(__r.get()));
1349 shared_ptr<_Tp>
1350 dynamic_pointer_cast(const shared_ptr<_Up>& __r) _NOEXCEPT
1352 typedef typename shared_ptr<_Tp>::element_type _ET;
1354 return __p ? shared_ptr<_Tp>(__r, __p) : shared_ptr<_Tp>();
1358 shared_ptr<_Tp>
1359 const_pointer_cast(const shared_ptr<_Up>& __r) _NOEXCEPT
1361 typedef typename shared_ptr<_Tp>::element_type _RTp;
1362 return shared_ptr<_Tp>(__r, const_cast<_RTp*>(__r.get()));
1366 shared_ptr<_Tp>
1367 reinterpret_pointer_cast(const shared_ptr<_Up>& __r) _NOEXCEPT
1369 return shared_ptr<_Tp>(__r,
1371 typename shared_ptr<_Tp>::element_type*>(__r.get()));
1379 get_deleter(const shared_ptr<_Tp>& __p) _NOEXCEPT
1403 template<class _Yp> _LIBCPP_INLINE_VISIBILITY weak_ptr(shared_ptr<_Yp> const& __r,
1448 operator=(shared_ptr<_Yp> const& __r) _NOEXCEPT;
1461 shared_ptr<_Tp> lock() const _NOEXCEPT;
1464 bool owner_before(const shared_ptr<_Up>& __r) const _NOEXCEPT
1472 template <class _Up> friend class _LIBCPP_TEMPLATE_VIS shared_ptr;
1477 weak_ptr(shared_ptr<_Tp>) -> weak_ptr<_Tp>;
1502 weak_ptr<_Tp>::weak_ptr(shared_ptr<_Yp> const& __r,
1609 weak_ptr<_Tp>::operator=(shared_ptr<_Yp> const& __r) _NOEXCEPT
1641 shared_ptr<_Tp>
1644 shared_ptr<_Tp> __r;
1659 struct _LIBCPP_TEMPLATE_VIS owner_less<shared_ptr<_Tp> >
1660 : __binary_function<shared_ptr<_Tp>, shared_ptr<_Tp>, bool>
1663 bool operator()(shared_ptr<_Tp> const& __x, shared_ptr<_Tp> const& __y) const _NOEXCEPT
1666 bool operator()(shared_ptr<_Tp> const& __x, weak_ptr<_Tp> const& __y) const _NOEXCEPT
1669 bool operator()( weak_ptr<_Tp> const& __x, shared_ptr<_Tp> const& __y) const _NOEXCEPT
1681 bool operator()(shared_ptr<_Tp> const& __x, weak_ptr<_Tp> const& __y) const _NOEXCEPT
1684 bool operator()( weak_ptr<_Tp> const& __x, shared_ptr<_Tp> const& __y) const _NOEXCEPT
1694 bool operator()( shared_ptr<_Tp> const& __x, shared_ptr<_Up> const& __y) const _NOEXCEPT
1698 bool operator()( shared_ptr<_Tp> const& __x, weak_ptr<_Up> const& __y) const _NOEXCEPT
1702 bool operator()( weak_ptr<_Tp> const& __x, shared_ptr<_Up> const& __y) const _NOEXCEPT
1728 shared_ptr<_Tp> shared_from_this()
1729 {return shared_ptr<_Tp>(__weak_this_);}
1731 shared_ptr<_Tp const> shared_from_this() const
1732 {return shared_ptr<const _Tp>(__weak_this_);}
1744 template <class _Up> friend class shared_ptr;
1750 struct _LIBCPP_TEMPLATE_VIS hash<shared_ptr<_Tp> >
1753 _LIBCPP_DEPRECATED_IN_CXX17 typedef shared_ptr<_Tp> argument_type;
1758 size_t operator()(const shared_ptr<_Tp>& __ptr) const _NOEXCEPT
1760 return hash<typename shared_ptr<_Tp>::element_type*>()(__ptr.get());
1767 operator<<(basic_ostream<_CharT, _Traits>& __os, shared_ptr<_Yp> const& __p);
1793 atomic_is_lock_free(const shared_ptr<_Tp>*)
1800 shared_ptr<_Tp>
1801 atomic_load(const shared_ptr<_Tp>* __p)
1805 shared_ptr<_Tp> __q = *__p;
1813 shared_ptr<_Tp>
1814 atomic_load_explicit(const shared_ptr<_Tp>* __p, memory_order)
1822 atomic_store(shared_ptr<_Tp>* __p, shared_ptr<_Tp> __r)
1834 atomic_store_explicit(shared_ptr<_Tp>* __p, shared_ptr<_Tp> __r, memory_order)
1841 shared_ptr<_Tp>
1842 atomic_exchange(shared_ptr<_Tp>* __p, shared_ptr<_Tp> __r)
1854 shared_ptr<_Tp>
1855 atomic_exchange_explicit(shared_ptr<_Tp>* __p, shared_ptr<_Tp> __r, memory_order)
1863 atomic_compare_exchange_strong(shared_ptr<_Tp>* __p, shared_ptr<_Tp>* __v, shared_ptr<_Tp> __w)
1865 shared_ptr<_Tp> __temp;
1885 atomic_compare_exchange_weak(shared_ptr<_Tp>* __p, shared_ptr<_Tp>* __v, shared_ptr<_Tp> __w)
1894 atomic_compare_exchange_strong_explicit(shared_ptr<_Tp>* __p, shared_ptr<_Tp>* __v,
1895 shared_ptr<_Tp> __w, memory_order, memory_order)
1904 atomic_compare_exchange_weak_explicit(shared_ptr<_Tp>* __p, shared_ptr<_Tp>* __v,
1905 shared_ptr<_Tp> __w, memory_order, memory_order)