|
reference, declaration → definition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced
|
Declarations
usr/include/c++/7.4.0/bits/shared_ptr.h 670 friend class __shared_ptr;
usr/include/c++/7.4.0/bits/shared_ptr_base.h 338 class __shared_ptr;
1395 template<typename _Tp1, _Lock_policy _Lp1> friend class __shared_ptr;
1729 template<typename _Tp1, _Lock_policy _Lp1> friend class __shared_ptr;
1828 friend class __shared_ptr;
References
usr/include/c++/7.4.0/backward/auto_ptr.h 321 : __shared_ptr<_Tp>(std::move(__r)) { }
usr/include/c++/7.4.0/bits/shared_ptr.h 67 const __shared_ptr<_Tp, _Lp>& __p)
76 get_deleter(const __shared_ptr<_Tp, _Lp>& __p) noexcept
93 class shared_ptr : public __shared_ptr<_Tp>
107 using element_type = typename __shared_ptr<_Tp>::element_type;
117 constexpr shared_ptr() noexcept : __shared_ptr<_Tp>() { }
129 shared_ptr(_Yp* __p) : __shared_ptr<_Tp>(__p) { }
147 : __shared_ptr<_Tp>(__p, std::move(__d)) { }
164 : __shared_ptr<_Tp>(__p, std::move(__d)) { }
184 : __shared_ptr<_Tp>(__p, std::move(__d), std::move(__a)) { }
203 : __shared_ptr<_Tp>(__p, std::move(__d), std::move(__a)) { }
225 : __shared_ptr<_Tp>(__r, __p) { }
237 : __shared_ptr<_Tp>(__r) { }
245 : __shared_ptr<_Tp>(std::move(__r)) { }
254 : __shared_ptr<_Tp>(std::move(__r)) { }
266 : __shared_ptr<_Tp>(__r) { }
278 : __shared_ptr<_Tp>(std::move(__r)) { }
287 : __shared_ptr<_Tp>(std::move(__r), __sp_array_delete()) { }
302 this->__shared_ptr<_Tp>::operator=(__r);
311 this->__shared_ptr<_Tp>::operator=(std::move(__r));
319 this->__shared_ptr<_Tp>::operator=(std::move(__r));
327 this->__shared_ptr<_Tp>::operator=(std::move(__r));
335 this->__shared_ptr<_Tp>::operator=(std::move(__r));
344 : __shared_ptr<_Tp>(__tag, __a, std::forward<_Args>(__args)...)
353 : __shared_ptr<_Tp>(__r, std::nothrow) { }
usr/include/c++/7.4.0/bits/shared_ptr_atomic.h 71 atomic_is_lock_free(const __shared_ptr<_Tp, _Lp>* __p)
110 inline __shared_ptr<_Tp, _Lp>
111 atomic_load_explicit(const __shared_ptr<_Tp, _Lp>* __p, memory_order)
118 inline __shared_ptr<_Tp, _Lp>
119 atomic_load(const __shared_ptr<_Tp, _Lp>* __p)
148 atomic_store_explicit(__shared_ptr<_Tp, _Lp>* __p,
149 __shared_ptr<_Tp, _Lp> __r,
158 atomic_store(__shared_ptr<_Tp, _Lp>* __p, __shared_ptr<_Tp, _Lp> __r)
158 atomic_store(__shared_ptr<_Tp, _Lp>* __p, __shared_ptr<_Tp, _Lp> __r)
188 inline __shared_ptr<_Tp, _Lp>
189 atomic_exchange_explicit(__shared_ptr<_Tp, _Lp>* __p,
190 __shared_ptr<_Tp, _Lp> __r,
199 inline __shared_ptr<_Tp, _Lp>
200 atomic_exchange(__shared_ptr<_Tp, _Lp>* __p, __shared_ptr<_Tp, _Lp> __r)
200 atomic_exchange(__shared_ptr<_Tp, _Lp>* __p, __shared_ptr<_Tp, _Lp> __r)
272 atomic_compare_exchange_strong_explicit(__shared_ptr<_Tp, _Lp>* __p,
273 __shared_ptr<_Tp, _Lp>* __v,
274 __shared_ptr<_Tp, _Lp> __w,
278 __shared_ptr<_Tp, _Lp> __x; // goes out of scope after __lock
280 owner_less<__shared_ptr<_Tp, _Lp>> __less;
294 atomic_compare_exchange_strong(__shared_ptr<_Tp, _Lp>* __p,
295 __shared_ptr<_Tp, _Lp>* __v,
296 __shared_ptr<_Tp, _Lp> __w)
304 atomic_compare_exchange_weak_explicit(__shared_ptr<_Tp, _Lp>* __p,
305 __shared_ptr<_Tp, _Lp>* __v,
306 __shared_ptr<_Tp, _Lp> __w,
316 atomic_compare_exchange_weak(__shared_ptr<_Tp, _Lp>* __p,
317 __shared_ptr<_Tp, _Lp>* __v,
318 __shared_ptr<_Tp, _Lp> __w)
usr/include/c++/7.4.0/bits/shared_ptr_base.h 1053 using _Assignable = _Compatible<_Yp, __shared_ptr&>;
1064 using _UniqAssignable = _UniqCompatible<_Yp, _Del, __shared_ptr&>;
1116 __shared_ptr(const __shared_ptr<_Yp, _Lp>& __r,
1121 __shared_ptr(const __shared_ptr&) noexcept = default;
1122 __shared_ptr& operator=(const __shared_ptr&) noexcept = default;
1122 __shared_ptr& operator=(const __shared_ptr&) noexcept = default;
1126 __shared_ptr(const __shared_ptr<_Yp, _Lp>& __r) noexcept
1130 __shared_ptr(__shared_ptr&& __r) noexcept
1138 __shared_ptr(__shared_ptr<_Yp, _Lp>&& __r) noexcept
1189 constexpr __shared_ptr(nullptr_t) noexcept : __shared_ptr() { }
1193 operator=(const __shared_ptr<_Yp, _Lp>& __r) noexcept
1205 __shared_ptr(std::move(__r)).swap(*this);
1210 __shared_ptr&
1211 operator=(__shared_ptr&& __r) noexcept
1213 __shared_ptr(std::move(__r)).swap(*this);
1219 operator=(__shared_ptr<_Yp, _Lp>&& __r) noexcept
1221 __shared_ptr(std::move(__r)).swap(*this);
1229 __shared_ptr(std::move(__r)).swap(*this);
1235 { __shared_ptr().swap(*this); }
1243 __shared_ptr(__p).swap(*this);
1249 { __shared_ptr(__p, std::move(__d)).swap(*this); }
1254 { __shared_ptr(__p, std::move(__d), std::move(__a)).swap(*this); }
1272 swap(__shared_ptr<_Tp, _Lp>& __other) noexcept
1272 swap(__shared_ptr<_Tp, _Lp>& __other) noexcept
1272 swap(__shared_ptr<_Tp, _Lp>& __other) noexcept
1280 owner_before(__shared_ptr<_Tp1, _Lp> const& __rhs) const noexcept
1339 friend __shared_ptr<_Tp1, _Lp1>
1399 friend _Del* get_deleter(const __shared_ptr<_Tp1, _Lp1>&) noexcept;
1409 operator==(const __shared_ptr<_Tp1, _Lp>& __a,
1410 const __shared_ptr<_Tp2, _Lp>& __b) noexcept
1415 operator==(const __shared_ptr<_Tp, _Lp>& __a, nullptr_t) noexcept
1420 operator==(nullptr_t, const __shared_ptr<_Tp, _Lp>& __a) noexcept
1425 operator!=(const __shared_ptr<_Tp1, _Lp>& __a,
1426 const __shared_ptr<_Tp2, _Lp>& __b) noexcept
1431 operator!=(const __shared_ptr<_Tp, _Lp>& __a, nullptr_t) noexcept
1436 operator!=(nullptr_t, const __shared_ptr<_Tp, _Lp>& __a) noexcept
1441 operator<(const __shared_ptr<_Tp, _Lp>& __a,
1442 const __shared_ptr<_Up, _Lp>& __b) noexcept
1444 using _Tp_elt = typename __shared_ptr<_Tp, _Lp>::element_type;
1445 using _Up_elt = typename __shared_ptr<_Up, _Lp>::element_type;
1452 operator<(const __shared_ptr<_Tp, _Lp>& __a, nullptr_t) noexcept
1454 using _Tp_elt = typename __shared_ptr<_Tp, _Lp>::element_type;
1460 operator<(nullptr_t, const __shared_ptr<_Tp, _Lp>& __a) noexcept
1462 using _Tp_elt = typename __shared_ptr<_Tp, _Lp>::element_type;
1468 operator<=(const __shared_ptr<_Tp1, _Lp>& __a,
1469 const __shared_ptr<_Tp2, _Lp>& __b) noexcept
1474 operator<=(const __shared_ptr<_Tp, _Lp>& __a, nullptr_t) noexcept
1479 operator<=(nullptr_t, const __shared_ptr<_Tp, _Lp>& __a) noexcept
1484 operator>(const __shared_ptr<_Tp1, _Lp>& __a,
1485 const __shared_ptr<_Tp2, _Lp>& __b) noexcept
1490 operator>(const __shared_ptr<_Tp, _Lp>& __a, nullptr_t) noexcept
1495 operator>(nullptr_t, const __shared_ptr<_Tp, _Lp>& __a) noexcept
1500 operator>=(const __shared_ptr<_Tp1, _Lp>& __a,
1501 const __shared_ptr<_Tp2, _Lp>& __b) noexcept
1506 operator>=(const __shared_ptr<_Tp, _Lp>& __a, nullptr_t) noexcept
1511 operator>=(nullptr_t, const __shared_ptr<_Tp, _Lp>& __a) noexcept
1526 struct less<__shared_ptr<_Tp, _Lp>>
1527 : public _Sp_less<__shared_ptr<_Tp, _Lp>>
1533 swap(__shared_ptr<_Tp, _Lp>& __a, __shared_ptr<_Tp, _Lp>& __b) noexcept
1533 swap(__shared_ptr<_Tp, _Lp>& __a, __shared_ptr<_Tp, _Lp>& __b) noexcept
1544 inline __shared_ptr<_Tp, _Lp>
1545 static_pointer_cast(const __shared_ptr<_Tp1, _Lp>& __r) noexcept
1547 using _Sp = __shared_ptr<_Tp, _Lp>;
1557 inline __shared_ptr<_Tp, _Lp>
1558 const_pointer_cast(const __shared_ptr<_Tp1, _Lp>& __r) noexcept
1560 using _Sp = __shared_ptr<_Tp, _Lp>;
1570 inline __shared_ptr<_Tp, _Lp>
1571 dynamic_pointer_cast(const __shared_ptr<_Tp1, _Lp>& __r) noexcept
1573 using _Sp = __shared_ptr<_Tp, _Lp>;
1631 __weak_ptr(const __shared_ptr<_Yp, _Lp>& __r) noexcept
1658 operator=(const __shared_ptr<_Yp, _Lp>& __r) noexcept
1684 __shared_ptr<_Tp, _Lp>
1686 { return __shared_ptr<element_type, _Lp>(*this, std::nothrow); }
1698 owner_before(const __shared_ptr<_Tp1, _Lp>& __rhs) const noexcept
1773 struct owner_less<__shared_ptr<_Tp, _Lp>>
1774 : public _Sp_owner_less<__shared_ptr<_Tp, _Lp>, __weak_ptr<_Tp, _Lp>>
1779 : public _Sp_owner_less<__weak_ptr<_Tp, _Lp>, __shared_ptr<_Tp, _Lp>>
1798 __shared_ptr<_Tp, _Lp>
1800 { return __shared_ptr<_Tp, _Lp>(this->_M_weak_this); }
1802 __shared_ptr<const _Tp, _Lp>
1804 { return __shared_ptr<const _Tp, _Lp>(this->_M_weak_this); }
1834 inline __shared_ptr<_Tp, _Lp>
1837 return __shared_ptr<_Tp, _Lp>(_Sp_make_shared_tag(), __a,
1842 inline __shared_ptr<_Tp, _Lp>
1852 struct hash<__shared_ptr<_Tp, _Lp>>
1853 : public __hash_base<size_t, __shared_ptr<_Tp, _Lp>>
1856 operator()(const __shared_ptr<_Tp, _Lp>& __s) const noexcept
1858 return hash<typename __shared_ptr<_Tp, _Lp>::element_type*>()(