reference, declarationdefinition
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*>()(