libstdc++
|
Classes | |
struct | std::hash< unique_ptr< _Tp, _Dp > > |
struct | std::owner_less< _Tp > |
struct | std::owner_less< shared_ptr< _Tp > > |
struct | std::owner_less< void > |
struct | std::owner_less< weak_ptr< _Tp > > |
Macros | |
#define | __cpp_lib_enable_shared_from_this |
Typedefs | |
template<typename _Up > | |
using | std::unique_ptr< _Tp[], _Dp >::__safe_conversion_raw = __and_< __or_< __or_< is_same< _Up, pointer >, is_same< _Up, nullptr_t > >, __and_< is_pointer< _Up >, is_same< pointer, element_type * >, is_convertible< typename remove_pointer< _Up >::type(*)[], element_type(*)[]> > > > |
template<typename _Up , typename _Ep , typename _UPtr = unique_ptr<_Up, _Ep>, typename _UP_pointer = typename _UPtr::pointer, typename _UP_element_type = typename _UPtr::element_type> | |
using | std::unique_ptr< _Tp[], _Dp >::__safe_conversion_up = __and_< is_array< _Up >, is_same< pointer, element_type * >, is_same< _UP_pointer, _UP_element_type * >, is_convertible< _UP_element_type(*)[], element_type(*)[]> > |
using | std::unique_ptr< _Tp, _Dp >::deleter_type = _Dp |
using | std::unique_ptr< _Tp[], _Dp >::deleter_type = _Dp |
using | std::shared_ptr< _Tp >::element_type = typename __shared_ptr< _Tp >::element_type |
using | std::unique_ptr< _Tp, _Dp >::element_type = _Tp |
using | std::unique_ptr< _Tp[], _Dp >::element_type = _Tp |
using | std::unique_ptr< _Tp, _Dp >::pointer = typename __uniq_ptr_impl< _Tp, _Dp >::pointer |
using | std::unique_ptr< _Tp[], _Dp >::pointer = typename __uniq_ptr_impl< _Tp, _Dp >::pointer |
Functions | |
constexpr | std::default_delete< _Tp >::default_delete () noexcept=default |
constexpr | std::default_delete< _Tp[]>::default_delete () noexcept=default |
template<typename _Up , typename = _Require<is_convertible<_Up*, _Tp*>>> | |
std::default_delete< _Tp >::default_delete (const default_delete< _Up > &) noexcept | |
template<typename _Up , typename = _Require<is_convertible<_Up(*)[], _Tp(*)[]>>> | |
std::default_delete< _Tp[]>::default_delete (const default_delete< _Up[]> &) noexcept | |
std::enable_shared_from_this< _Tp >::enable_shared_from_this (const enable_shared_from_this &) noexcept | |
constexpr | std::shared_ptr< _Tp >::shared_ptr () noexcept |
template<typename _Yp , typename = _Constructible<_Yp*>> | |
std::shared_ptr< _Tp >::shared_ptr (_Yp *__p) | |
template<typename _Yp , typename _Deleter , typename = _Constructible<_Yp*, _Deleter>> | |
std::shared_ptr< _Tp >::shared_ptr (_Yp *__p, _Deleter __d) | |
template<typename _Yp , typename _Deleter , typename _Alloc , typename = _Constructible<_Yp*, _Deleter, _Alloc>> | |
std::shared_ptr< _Tp >::shared_ptr (_Yp *__p, _Deleter __d, _Alloc __a) | |
std::shared_ptr< _Tp >::shared_ptr (const shared_ptr &) noexcept=default | |
template<typename _Yp , typename = _Constructible<const shared_ptr<_Yp>&>> | |
std::shared_ptr< _Tp >::shared_ptr (const shared_ptr< _Yp > &__r) noexcept | |
template<typename _Yp > | |
std::shared_ptr< _Tp >::shared_ptr (const shared_ptr< _Yp > &__r, element_type *__p) noexcept | |
template<typename _Yp , typename = _Constructible<const weak_ptr<_Yp>&>> | |
std::shared_ptr< _Tp >::shared_ptr (const weak_ptr< _Yp > &__r) | |
template<typename _Deleter > | |
std::shared_ptr< _Tp >::shared_ptr (nullptr_t __p, _Deleter __d) | |
template<typename _Deleter , typename _Alloc > | |
std::shared_ptr< _Tp >::shared_ptr (nullptr_t __p, _Deleter __d, _Alloc __a) | |
constexpr | std::shared_ptr< _Tp >::shared_ptr (nullptr_t) noexcept |
std::shared_ptr< _Tp >::shared_ptr (shared_ptr &&__r) noexcept | |
template<typename _Yp , typename = _Constructible<shared_ptr<_Yp>>> | |
std::shared_ptr< _Tp >::shared_ptr (shared_ptr< _Yp > &&__r) noexcept | |
template<typename _Yp , typename _Del , typename = _Constructible<unique_ptr<_Yp, _Del>>> | |
std::shared_ptr< _Tp >::shared_ptr (unique_ptr< _Yp, _Del > &&__r) | |
template<typename _Del = _Dp, typename = _DeleterConstraint<_Del>> | |
constexpr | std::unique_ptr< _Tp, _Dp >::unique_ptr () noexcept |
template<typename _Del = _Dp, typename = _DeleterConstraint<_Del>> | |
constexpr | std::unique_ptr< _Tp[], _Dp >::unique_ptr () noexcept |
template<typename _Up , typename _Vp = _Dp, typename = _DeleterConstraint<_Vp>, typename = typename enable_if< __safe_conversion_raw<_Up>::value, bool>::type> | |
std::unique_ptr< _Tp[], _Dp >::unique_ptr (_Up __p) noexcept | |
template<typename _Up , typename _Del = deleter_type, typename = _Require<__safe_conversion_raw<_Up>, is_move_constructible<_Del>>> | |
std::unique_ptr< _Tp[], _Dp >::unique_ptr (_Up __p, __enable_if_t<!is_lvalue_reference< _Del >::value, _Del && > __d) noexcept | |
template<typename _Up , typename _Del = deleter_type, typename = _Require<__safe_conversion_raw<_Up>, is_copy_constructible<_Del>>> | |
std::unique_ptr< _Tp[], _Dp >::unique_ptr (_Up __p, const deleter_type &__d) noexcept | |
template<typename _Up , typename _Del = deleter_type, typename _DelUnref = typename remove_reference<_Del>::type, typename = _Require<__safe_conversion_raw<_Up>>> | |
std::unique_ptr< _Tp[], _Dp >::unique_ptr (_Up, __enable_if_t< is_lvalue_reference< _Del >::value, _DelUnref && >)=delete | |
std::unique_ptr< _Tp, _Dp >::unique_ptr (const unique_ptr &)=delete | |
std::unique_ptr< _Tp[], _Dp >::unique_ptr (const unique_ptr &)=delete | |
template<typename _Del = _Dp, typename = _DeleterConstraint<_Del>> | |
constexpr | std::unique_ptr< _Tp, _Dp >::unique_ptr (nullptr_t) noexcept |
template<typename _Del = _Dp, typename = _DeleterConstraint<_Del>> | |
constexpr | std::unique_ptr< _Tp[], _Dp >::unique_ptr (nullptr_t) noexcept |
template<typename _Del = _Dp, typename = _DeleterConstraint<_Del>> | |
std::unique_ptr< _Tp, _Dp >::unique_ptr (pointer __p) noexcept | |
template<typename _Del = deleter_type, typename = _Require<is_move_constructible<_Del>>> | |
std::unique_ptr< _Tp, _Dp >::unique_ptr (pointer __p, __enable_if_t<!is_lvalue_reference< _Del >::value, _Del && > __d) noexcept | |
template<typename _Del = deleter_type, typename = _Require<is_copy_constructible<_Del>>> | |
std::unique_ptr< _Tp, _Dp >::unique_ptr (pointer __p, const deleter_type &__d) noexcept | |
template<typename _Del = deleter_type, typename _DelUnref = typename remove_reference<_Del>::type> | |
std::unique_ptr< _Tp, _Dp >::unique_ptr (pointer, __enable_if_t< is_lvalue_reference< _Del >::value, _DelUnref && >)=delete | |
std::unique_ptr< _Tp, _Dp >::unique_ptr (unique_ptr &&)=default | |
std::unique_ptr< _Tp[], _Dp >::unique_ptr (unique_ptr &&)=default | |
template<typename _Up , typename _Ep , typename = _Require< __safe_conversion_up<_Up, _Ep>, typename conditional<is_reference<_Dp>::value, is_same<_Ep, _Dp>, is_convertible<_Ep, _Dp>>::type>> | |
std::unique_ptr< _Tp, _Dp >::unique_ptr (unique_ptr< _Up, _Ep > &&__u) noexcept | |
template<typename _Up , typename _Ep , typename = _Require< __safe_conversion_up<_Up, _Ep>, typename conditional<is_reference<_Dp>::value, is_same<_Ep, _Dp>, is_convertible<_Ep, _Dp>>::type>> | |
std::unique_ptr< _Tp[], _Dp >::unique_ptr (unique_ptr< _Up, _Ep > &&__u) noexcept | |
template<typename _Yp , typename = _Constructible<const shared_ptr<_Yp>&>> | |
std::weak_ptr< _Tp >::weak_ptr (const shared_ptr< _Yp > &__r) noexcept | |
std::weak_ptr< _Tp >::weak_ptr (const weak_ptr &) noexcept=default | |
template<typename _Yp , typename = _Constructible<const weak_ptr<_Yp>&>> | |
std::weak_ptr< _Tp >::weak_ptr (const weak_ptr< _Yp > &__r) noexcept | |
std::weak_ptr< _Tp >::weak_ptr (weak_ptr &&) noexcept=default | |
template<typename _Yp , typename = _Constructible<weak_ptr<_Yp>>> | |
std::weak_ptr< _Tp >::weak_ptr (weak_ptr< _Yp > &&__r) noexcept | |
std::unique_ptr< _Tp[], _Dp >::~unique_ptr () | |
std::unique_ptr< _Tp, _Dp >::~unique_ptr () noexcept | |
pointer | std::unique_ptr< _Tp, _Dp >::get () const noexcept |
pointer | std::unique_ptr< _Tp[], _Dp >::get () const noexcept |
const deleter_type & | std::unique_ptr< _Tp, _Dp >::get_deleter () const noexcept |
const deleter_type & | std::unique_ptr< _Tp[], _Dp >::get_deleter () const noexcept |
deleter_type & | std::unique_ptr< _Tp, _Dp >::get_deleter () noexcept |
deleter_type & | std::unique_ptr< _Tp[], _Dp >::get_deleter () noexcept |
template<typename _Del , typename _Tp , _Lock_policy _Lp> | |
_Del * | std::get_deleter (const __shared_ptr< _Tp, _Lp > &__p) noexcept |
template<typename _Del , typename _Tp > | |
_Del * | get_deleter (const shared_ptr< _Tp > &__p) noexcept |
shared_ptr< _Tp > | std::weak_ptr< _Tp >::lock () const noexcept |
std::unique_ptr< _Tp, _Dp >::operator bool () const noexcept | |
std::unique_ptr< _Tp[], _Dp >::operator bool () const noexcept | |
void | std::default_delete< _Tp >::operator() (_Tp *__ptr) const |
template<typename _Up > | |
enable_if< is_convertible< _Up(*)[], _Tp(*)[]>::value >::type | std::default_delete< _Tp[]>::operator() (_Up *__ptr) const |
size_t | std::hash< shared_ptr< _Tp > >::operator() (const shared_ptr< _Tp > &__s) const noexcept |
add_lvalue_reference< element_type >::type | std::unique_ptr< _Tp, _Dp >::operator* () const |
pointer | std::unique_ptr< _Tp, _Dp >::operator-> () const noexcept |
template<typename _Ch , typename _Tr , typename _Tp , _Lock_policy _Lp> | |
std::basic_ostream< _Ch, _Tr > & | operator<< (std::basic_ostream< _Ch, _Tr > &__os, const __shared_ptr< _Tp, _Lp > &__p) |
enable_shared_from_this & | std::enable_shared_from_this< _Tp >::operator= (const enable_shared_from_this &) noexcept |
shared_ptr & | std::shared_ptr< _Tp >::operator= (const shared_ptr &) noexcept=default |
template<typename _Yp > | |
_Assignable< const shared_ptr< _Yp > & > | std::shared_ptr< _Tp >::operator= (const shared_ptr< _Yp > &__r) noexcept |
template<typename _Yp > | |
_Assignable< const shared_ptr< _Yp > & > | std::weak_ptr< _Tp >::operator= (const shared_ptr< _Yp > &__r) noexcept |
unique_ptr & | std::unique_ptr< _Tp, _Dp >::operator= (const unique_ptr &)=delete |
unique_ptr & | std::unique_ptr< _Tp[], _Dp >::operator= (const unique_ptr &)=delete |
weak_ptr & | std::weak_ptr< _Tp >::operator= (const weak_ptr &__r) noexcept=default |
template<typename _Yp > | |
_Assignable< const weak_ptr< _Yp > & > | std::weak_ptr< _Tp >::operator= (const weak_ptr< _Yp > &__r) noexcept |
unique_ptr & | std::unique_ptr< _Tp, _Dp >::operator= (nullptr_t) noexcept |
unique_ptr & | std::unique_ptr< _Tp[], _Dp >::operator= (nullptr_t) noexcept |
shared_ptr & | std::shared_ptr< _Tp >::operator= (shared_ptr &&__r) noexcept |
template<class _Yp > | |
_Assignable< shared_ptr< _Yp > > | std::shared_ptr< _Tp >::operator= (shared_ptr< _Yp > &&__r) noexcept |
unique_ptr & | std::unique_ptr< _Tp, _Dp >::operator= (unique_ptr &&)=default |
unique_ptr & | std::unique_ptr< _Tp[], _Dp >::operator= (unique_ptr &&)=default |
template<typename _Up , typename _Ep > | |
enable_if< __and_< __safe_conversion_up< _Up, _Ep >, is_assignable< deleter_type &, _Ep && > >::value, unique_ptr & >::type | std::unique_ptr< _Tp, _Dp >::operator= (unique_ptr< _Up, _Ep > &&__u) noexcept |
template<typename _Up , typename _Ep > | |
enable_if< __and_< __safe_conversion_up< _Up, _Ep >, is_assignable< deleter_type &, _Ep && > >::value, unique_ptr & >::type | std::unique_ptr< _Tp[], _Dp >::operator= (unique_ptr< _Up, _Ep > &&__u) noexcept |
template<typename _Yp , typename _Del > | |
_Assignable< unique_ptr< _Yp, _Del > > | std::shared_ptr< _Tp >::operator= (unique_ptr< _Yp, _Del > &&__r) |
weak_ptr & | std::weak_ptr< _Tp >::operator= (weak_ptr &&__r) noexcept=default |
template<typename _Yp > | |
_Assignable< weak_ptr< _Yp > > | std::weak_ptr< _Tp >::operator= (weak_ptr< _Yp > &&__r) noexcept |
std::add_lvalue_reference< element_type >::type | std::unique_ptr< _Tp[], _Dp >::operator[] (size_t __i) const |
pointer | std::unique_ptr< _Tp, _Dp >::release () noexcept |
pointer | std::unique_ptr< _Tp[], _Dp >::release () noexcept |
template<typename _Up , typename = _Require< __or_<is_same<_Up, pointer>, __and_<is_same<pointer, element_type*>, is_pointer<_Up>, is_convertible< typename remove_pointer<_Up>::type(*)[], element_type(*)[] > > > >> | |
void | std::unique_ptr< _Tp[], _Dp >::reset (_Up __p) noexcept |
void | std::unique_ptr< _Tp[], _Dp >::reset (nullptr_t=nullptr) noexcept |
void | std::unique_ptr< _Tp, _Dp >::reset (pointer __p=pointer()) noexcept |
shared_ptr< _Tp > | std::enable_shared_from_this< _Tp >::shared_from_this () |
shared_ptr< const _Tp > | std::enable_shared_from_this< _Tp >::shared_from_this () const |
void | std::unique_ptr< _Tp, _Dp >::swap (unique_ptr &__u) noexcept |
void | std::unique_ptr< _Tp[], _Dp >::swap (unique_ptr &__u) noexcept |
weak_ptr< const _Tp > | std::enable_shared_from_this< _Tp >::weak_from_this () const noexcept |
weak_ptr< _Tp > | std::enable_shared_from_this< _Tp >::weak_from_this () noexcept |
Friends | |
const friend enable_shared_from_this * | std::enable_shared_from_this< _Tp >::__enable_shared_from_this_base (const __shared_count<> &, const enable_shared_from_this *__p) |
template<typename , _Lock_policy > | |
class | std::enable_shared_from_this< _Tp >::__shared_ptr |
template<typename _Yp , typename _Alloc , typename... _Args> | |
shared_ptr< _Yp > | std::shared_ptr< _Tp >::allocate_shared (const _Alloc &__a, _Args &&... __args) |
class | std::shared_ptr< _Tp >::weak_ptr< _Tp > |
template<typename _Tp , typename _Up > | |
bool | operator== (const shared_ptr< _Tp > &__a, const shared_ptr< _Up > &__b) noexcept |
template<typename _Tp > | |
bool | operator== (const shared_ptr< _Tp > &__a, nullptr_t) noexcept |
template<typename _Tp > | |
bool | operator== (nullptr_t, const shared_ptr< _Tp > &__a) noexcept |
template<typename _Tp , typename _Up > | |
bool | operator!= (const shared_ptr< _Tp > &__a, const shared_ptr< _Up > &__b) noexcept |
template<typename _Tp > | |
bool | operator!= (const shared_ptr< _Tp > &__a, nullptr_t) noexcept |
template<typename _Tp > | |
bool | operator!= (nullptr_t, const shared_ptr< _Tp > &__a) noexcept |
template<typename _Tp , typename _Up > | |
bool | operator< (const shared_ptr< _Tp > &__a, const shared_ptr< _Up > &__b) noexcept |
template<typename _Tp > | |
bool | operator< (const shared_ptr< _Tp > &__a, nullptr_t) noexcept |
template<typename _Tp > | |
bool | operator< (nullptr_t, const shared_ptr< _Tp > &__a) noexcept |
template<typename _Tp , typename _Up > | |
bool | operator<= (const shared_ptr< _Tp > &__a, const shared_ptr< _Up > &__b) noexcept |
template<typename _Tp > | |
bool | operator<= (const shared_ptr< _Tp > &__a, nullptr_t) noexcept |
template<typename _Tp > | |
bool | operator<= (nullptr_t, const shared_ptr< _Tp > &__a) noexcept |
template<typename _Tp , typename _Up > | |
bool | operator> (const shared_ptr< _Tp > &__a, const shared_ptr< _Up > &__b) noexcept |
template<typename _Tp > | |
bool | operator> (const shared_ptr< _Tp > &__a, nullptr_t) noexcept |
template<typename _Tp > | |
bool | operator> (nullptr_t, const shared_ptr< _Tp > &__a) noexcept |
template<typename _Tp , typename _Up > | |
bool | operator>= (const shared_ptr< _Tp > &__a, const shared_ptr< _Up > &__b) noexcept |
template<typename _Tp > | |
bool | operator>= (const shared_ptr< _Tp > &__a, nullptr_t) noexcept |
template<typename _Tp > | |
bool | operator>= (nullptr_t, const shared_ptr< _Tp > &__a) noexcept |
template<typename _Tp > | |
void | swap (shared_ptr< _Tp > &__a, shared_ptr< _Tp > &__b) noexcept |
template<typename _Tp , typename _Up > | |
shared_ptr< _Tp > | static_pointer_cast (const shared_ptr< _Up > &__r) noexcept |
template<typename _Tp , typename _Up > | |
shared_ptr< _Tp > | const_pointer_cast (const shared_ptr< _Up > &__r) noexcept |
template<typename _Tp , typename _Up > | |
shared_ptr< _Tp > | dynamic_pointer_cast (const shared_ptr< _Up > &__r) noexcept |
template<typename _Tp > | |
void | swap (weak_ptr< _Tp > &__a, weak_ptr< _Tp > &__b) noexcept |
template<typename _Tp , typename _Alloc , typename... _Args> | |
shared_ptr< _Tp > | allocate_shared (const _Alloc &__a, _Args &&... __args) |
template<typename _Tp , typename... _Args> | |
shared_ptr< _Tp > | make_shared (_Args &&... __args) |
template<typename _Tp , _Lock_policy _Lp> | |
bool | atomic_is_lock_free (const __shared_ptr< _Tp, _Lp > *__p) |
template<typename _Tp > | |
shared_ptr< _Tp > | atomic_load_explicit (const shared_ptr< _Tp > *__p, memory_order) |
template<typename _Tp > | |
void | atomic_store_explicit (shared_ptr< _Tp > *__p, shared_ptr< _Tp > __r, memory_order) |
template<typename _Tp > | |
shared_ptr< _Tp > | atomic_exchange_explicit (shared_ptr< _Tp > *__p, shared_ptr< _Tp > __r, memory_order) |
template<typename _Tp > | |
bool | atomic_compare_exchange_strong_explicit (shared_ptr< _Tp > *__p, shared_ptr< _Tp > *__v, shared_ptr< _Tp > __w, memory_order, memory_order) |
template<typename _Tp , typename _Dp > | |
enable_if< __is_swappable< _Dp >::value >::type | swap (unique_ptr< _Tp, _Dp > &__x, unique_ptr< _Tp, _Dp > &__y) noexcept |
template<typename _Tp , typename _Dp , typename _Up , typename _Ep > | |
bool | operator== (const unique_ptr< _Tp, _Dp > &__x, const unique_ptr< _Up, _Ep > &__y) |
template<typename _Tp , typename _Dp > | |
bool | operator== (const unique_ptr< _Tp, _Dp > &__x, nullptr_t) noexcept |
template<typename _Tp , typename _Dp > | |
bool | operator== (nullptr_t, const unique_ptr< _Tp, _Dp > &__x) noexcept |
template<typename _Tp , typename _Dp , typename _Up , typename _Ep > | |
bool | operator!= (const unique_ptr< _Tp, _Dp > &__x, const unique_ptr< _Up, _Ep > &__y) |
template<typename _Tp , typename _Dp > | |
bool | operator!= (const unique_ptr< _Tp, _Dp > &__x, nullptr_t) noexcept |
template<typename _Tp , typename _Dp > | |
bool | operator!= (nullptr_t, const unique_ptr< _Tp, _Dp > &__x) noexcept |
template<typename _Tp , typename _Dp , typename _Up , typename _Ep > | |
bool | operator< (const unique_ptr< _Tp, _Dp > &__x, const unique_ptr< _Up, _Ep > &__y) |
template<typename _Tp , typename _Dp > | |
bool | operator< (const unique_ptr< _Tp, _Dp > &__x, nullptr_t) |
template<typename _Tp , typename _Dp > | |
bool | operator< (nullptr_t, const unique_ptr< _Tp, _Dp > &__x) |
template<typename _Tp , typename _Dp , typename _Up , typename _Ep > | |
bool | operator<= (const unique_ptr< _Tp, _Dp > &__x, const unique_ptr< _Up, _Ep > &__y) |
template<typename _Tp , typename _Dp > | |
bool | operator<= (const unique_ptr< _Tp, _Dp > &__x, nullptr_t) |
template<typename _Tp , typename _Dp > | |
bool | operator<= (nullptr_t, const unique_ptr< _Tp, _Dp > &__x) |
template<typename _Tp , typename _Dp , typename _Up , typename _Ep > | |
bool | operator> (const unique_ptr< _Tp, _Dp > &__x, const unique_ptr< _Up, _Ep > &__y) |
template<typename _Tp , typename _Dp > | |
bool | operator> (const unique_ptr< _Tp, _Dp > &__x, nullptr_t) |
template<typename _Tp , typename _Dp > | |
bool | operator> (nullptr_t, const unique_ptr< _Tp, _Dp > &__x) |
template<typename _Tp , typename _Dp , typename _Up , typename _Ep > | |
bool | operator>= (const unique_ptr< _Tp, _Dp > &__x, const unique_ptr< _Up, _Ep > &__y) |
template<typename _Tp , typename _Dp > | |
bool | operator>= (const unique_ptr< _Tp, _Dp > &__x, nullptr_t) |
template<typename _Tp , typename _Dp > | |
bool | operator>= (nullptr_t, const unique_ptr< _Tp, _Dp > &__x) |
template<typename _Tp , typename... _Args> | |
_MakeUniq< _Tp >::__single_object | make_unique (_Args &&... __args) |
template<typename _Tp > | |
_MakeUniq< _Tp >::__array | make_unique (size_t __num) |
template<typename _Tp , typename... _Args> | |
_MakeUniq< _Tp >::__invalid_type | make_unique (_Args &&...)=delete |
#define | __cpp_lib_make_unique |
Smart pointers, etc.
#define __cpp_lib_make_unique |
Swap overload for unique_ptr.
Definition at line 912 of file unique_ptr.h.
using std::shared_ptr< _Tp >::element_type = typename __shared_ptr<_Tp>::element_type |
The type pointed to by the stored pointer, remove_extent_t<_Tp>
Definition at line 136 of file bits/shared_ptr.h.
|
constexprdefaultnoexcept |
Default constructor.
|
constexprdefaultnoexcept |
Default constructor.
|
inlinenoexcept |
Converting constructor.
Allows conversion from a deleter for objects of another type, _Up
, only if _Up*
is convertible to _Tp*
.
Definition at line 71 of file unique_ptr.h.
|
inlinenoexcept |
Converting constructor.
Allows conversion from a deleter for arrays of another type, such as a const-qualified version of _Tp
.
Conversions from types derived from _Tp
are not allowed because it is undefined to delete[]
an array of derived types through a pointer to the base type.
Definition at line 107 of file unique_ptr.h.
|
inlineconstexprnoexcept |
Construct an empty shared_ptr.
Definition at line 147 of file bits/shared_ptr.h.
|
inlineexplicit |
Construct a shared_ptr that owns the pointer __p.
__p | A pointer that is convertible to element_type*. |
std::bad_alloc,in | which case delete __p is called. |
Definition at line 159 of file bits/shared_ptr.h.
|
inline |
Construct a shared_ptr that owns the pointer __p and the deleter __d.
__p | A pointer. |
__d | A deleter. |
std::bad_alloc,in | which case __d(__p) is called. |
Requirements: _Deleter's copy constructor and destructor must not throw
__shared_ptr will release __p by calling __d(__p)
Definition at line 176 of file bits/shared_ptr.h.
|
inline |
Construct a shared_ptr that owns the pointer __p and the deleter __d.
__p | A pointer. |
__d | A deleter. |
__a | An allocator. |
std::bad_alloc,in | which case __d(__p) is called. |
Requirements: _Deleter's copy constructor and destructor must not throw _Alloc's copy constructor and destructor must not throw.
__shared_ptr will release __p by calling __d(__p)
Definition at line 213 of file bits/shared_ptr.h.
|
defaultnoexcept |
Copy constructor.
|
inlinenoexcept |
If __r is empty, constructs an empty shared_ptr; otherwise construct a shared_ptr that shares ownership with __r.
__r | A shared_ptr. |
Definition at line 295 of file bits/shared_ptr.h.
|
inlinenoexcept |
Constructs a shared_ptr
instance that stores __p
and shares ownership with __r
.
__r | A shared_ptr . |
__p | A pointer that will remain valid while *__r is valid. |
get() == __p && use_count() == __r.use_count()
This can be used to construct a shared_ptr
to a sub-object of an object managed by an existing shared_ptr
. The complete object will remain valid while any shared_ptr
owns it, even if they don't store a pointer to the complete object.
Definition at line 256 of file bits/shared_ptr.h.
|
inlineexplicit |
Constructs a shared_ptr that shares ownership with __r and stores a copy of the pointer stored in __r.
__r | A weak_ptr. |
bad_weak_ptr | when __r.expired(), in which case the constructor has no effect. |
Definition at line 324 of file bits/shared_ptr.h.
|
inline |
Construct a shared_ptr that owns a null pointer and the deleter __d.
__p | A null pointer constant. |
__d | A deleter. |
std::bad_alloc,in | which case __d(__p) is called. |
Requirements: _Deleter's copy constructor and destructor must not throw
The last owner will call __d(__p)
Definition at line 193 of file bits/shared_ptr.h.
|
inline |
Construct a shared_ptr that owns a null pointer and the deleter __d.
__p | A null pointer constant. |
__d | A deleter. |
__a | An allocator. |
std::bad_alloc,in | which case __d(__p) is called. |
Requirements: _Deleter's copy constructor and destructor must not throw _Alloc's copy constructor and destructor must not throw.
The last owner will call __d(__p)
Definition at line 232 of file bits/shared_ptr.h.
|
inlineconstexprnoexcept |
Construct an empty shared_ptr.
Definition at line 356 of file bits/shared_ptr.h.
|
inlinenoexcept |
Move-constructs a shared_ptr instance from __r.
__r | A shared_ptr rvalue. |
Definition at line 303 of file bits/shared_ptr.h.
|
inlinenoexcept |
Move-constructs a shared_ptr instance from __r.
__r | A shared_ptr rvalue. |
Definition at line 312 of file bits/shared_ptr.h.
|
inlineconstexprnoexcept |
Default constructor, creates a unique_ptr that owns nothing.
Definition at line 265 of file unique_ptr.h.
|
inlineconstexprnoexcept |
Default constructor, creates a unique_ptr that owns nothing.
Definition at line 526 of file unique_ptr.h.
|
inlineexplicitnoexcept |
Takes ownership of a pointer.
__p | A pointer to an array of a type safely convertible to an array of element_type |
The deleter will be value-initialized.
Definition at line 543 of file unique_ptr.h.
|
inlinenoexcept |
Takes ownership of a pointer.
__p | A pointer to an array of a type safely convertible to an array of element_type |
__d | A reference to a deleter. |
The deleter will be initialized with std::move(__d)
Definition at line 572 of file unique_ptr.h.
|
inlinenoexcept |
Takes ownership of a pointer.
__p | A pointer to an array of a type safely convertible to an array of element_type |
__d | A reference to a deleter. |
The deleter will be initialized with __d
Definition at line 558 of file unique_ptr.h.
|
inlineconstexprnoexcept |
Creates a unique_ptr that owns nothing.
Definition at line 316 of file unique_ptr.h.
|
inlineconstexprnoexcept |
Creates a unique_ptr that owns nothing.
Definition at line 590 of file unique_ptr.h.
|
inlineexplicitnoexcept |
Takes ownership of a pointer.
__p | A pointer to an object of element_type |
The deleter will be value-initialized.
Definition at line 277 of file unique_ptr.h.
|
inlinenoexcept |
Takes ownership of a pointer.
__p | A pointer to an object of element_type |
__d | An rvalue reference to a (non-reference) deleter. |
The deleter will be initialized with std::move(__d)
Definition at line 302 of file unique_ptr.h.
|
inlinenoexcept |
Takes ownership of a pointer.
__p | A pointer to an object of element_type |
__d | A reference to a deleter. |
The deleter will be initialized with __d
Definition at line 290 of file unique_ptr.h.
|
default |
Move constructor.
|
default |
Move constructor.
|
inlinenoexcept |
Converting constructor from another type.
Requires that the pointer owned by __u
is convertible to the type of pointer owned by this object, __u
does not own an array, and __u
has a compatible deleter type.
Definition at line 336 of file unique_ptr.h.
|
inline |
Destructor, invokes the deleter if the stored pointer is not null.
Definition at line 604 of file unique_ptr.h.
References std::unique_ptr< _Tp, _Dp >::get_deleter().
|
inlinenoexcept |
Destructor, invokes the deleter if the stored pointer is not null.
Definition at line 351 of file unique_ptr.h.
|
related |
Create an object that is owned by a shared_ptr.
__a | An allocator. |
__args | Arguments for the _Tp object's constructor. |
An | exception thrown from _Alloc::allocate or from the constructor of _Tp. |
A copy of __a will be used to allocate memory for the shared_ptr and the new object.
Definition at line 841 of file bits/shared_ptr.h.
|
related |
Atomic compare-and-swap for shared_ptr objects.
__p | A non-null pointer to a shared_ptr object. |
__v | A non-null pointer to a shared_ptr object. |
__w | A non-null pointer to a shared_ptr object. |
*__p
was equivalent to *__v
, false otherwise.The memory order for failure shall not be memory_order_release
or memory_order_acq_rel
, or stronger than the memory order for success.
Definition at line 225 of file shared_ptr_atomic.h.
|
related |
Atomic exchange for shared_ptr objects.
__p | A non-null pointer to a shared_ptr object. |
__r | New value to store in *__p . |
*__p
Definition at line 176 of file shared_ptr_atomic.h.
|
related |
Report whether shared_ptr atomic operations are lock-free.
__p | A non-null pointer to a shared_ptr object. |
*__p
is lock-free, false otherwise. Definition at line 76 of file shared_ptr_atomic.h.
|
related |
Atomic load for shared_ptr objects.
__p | A non-null pointer to a shared_ptr object. |
*__p
The memory order shall not be memory_order_release
or memory_order_acq_rel
.
Definition at line 103 of file shared_ptr_atomic.h.
|
related |
Atomic store for shared_ptr objects.
__p | A non-null pointer to a shared_ptr object. |
__r | The value to store. |
The memory order shall not be memory_order_acquire
or memory_order_acq_rel
.
Definition at line 139 of file shared_ptr_atomic.h.
|
related |
Convert type of shared_ptr
, via const_cast
Definition at line 574 of file bits/shared_ptr.h.
|
related |
Convert type of shared_ptr
, via dynamic_cast
Definition at line 583 of file bits/shared_ptr.h.
|
inlinenoexcept |
Return the stored pointer.
Definition at line 417 of file unique_ptr.h.
Referenced by std::unique_ptr< _Result< _Res > >::operator bool(), std::unique_ptr< _Tp[], _Dp >::operator bool(), std::unique_ptr< _Result< _Res > >::operator!=(), std::unique_ptr< _Result< _Res > >::operator<(), std::unique_ptr< _Result< _Res > >::operator==(), and std::unique_ptr< _Result< _Res > >::operator>().
|
inlinenoexcept |
Return the stored pointer.
Definition at line 661 of file unique_ptr.h.
|
inlinenoexcept |
Return a reference to the stored deleter.
Definition at line 427 of file unique_ptr.h.
|
inlinenoexcept |
Return a reference to the stored deleter.
Definition at line 671 of file unique_ptr.h.
|
inlinenoexcept |
Return a reference to the stored deleter.
Definition at line 422 of file unique_ptr.h.
Referenced by std::unique_ptr< _Result< _Res > >::operator=(), std::unique_ptr< _Tp[], _Dp >::operator=(), std::unique_ptr< _Result< _Res > >::~unique_ptr(), and std::unique_ptr< _Tp[], _Dp >::~unique_ptr().
|
inlinenoexcept |
Return a reference to the stored deleter.
Definition at line 666 of file unique_ptr.h.
|
related |
20.7.2.2.10 shared_ptr get_deleter
If __p
has a deleter of type _Del
, return a pointer to it.
Definition at line 93 of file bits/shared_ptr.h.
|
related |
Create an object that is owned by a shared_ptr.
__args | Arguments for the _Tp object's constructor. |
std::bad_alloc,or | an exception thrown from the constructor of _Tp. |
Definition at line 856 of file bits/shared_ptr.h.
|
related |
std::make_unique for single objects
Definition at line 933 of file unique_ptr.h.
|
related |
Disable std::make_unique for arrays of known bound.
|
related |
std::make_unique for arrays of unknown bound
Definition at line 939 of file unique_ptr.h.
|
inlineexplicitnoexcept |
Return true
if the stored pointer is not null.
Definition at line 431 of file unique_ptr.h.
|
inlineexplicitnoexcept |
Return true
if the stored pointer is not null.
Definition at line 675 of file unique_ptr.h.
References std::unique_ptr< _Tp, _Dp >::get().
|
related |
Inequality operator for shared_ptr objects, compares the stored pointers.
Definition at line 454 of file bits/shared_ptr.h.
|
related |
shared_ptr comparison with nullptr
Definition at line 460 of file bits/shared_ptr.h.
|
related |
Inequality operator for unique_ptr objects, compares the owned pointers.
Definition at line 769 of file unique_ptr.h.
|
related |
unique_ptr comparison with nullptr
Definition at line 776 of file unique_ptr.h.
|
related |
shared_ptr comparison with nullptr
Definition at line 466 of file bits/shared_ptr.h.
|
related |
unique_ptr comparison with nullptr
Definition at line 782 of file unique_ptr.h.
|
inline |
Calls delete __ptr
Definition at line 75 of file unique_ptr.h.
|
inline |
Calls delete[] __ptr
Definition at line 112 of file unique_ptr.h.
|
inline |
Dereference the stored pointer.
Definition at line 401 of file unique_ptr.h.
|
inlinenoexcept |
Return the stored pointer.
Definition at line 409 of file unique_ptr.h.
|
related |
Relational operator for shared_ptr objects, compares the stored pointers.
Definition at line 472 of file bits/shared_ptr.h.
|
related |
shared_ptr comparison with nullptr
Definition at line 483 of file bits/shared_ptr.h.
|
related |
Relational operator for unique_ptr objects, compares the owned pointers.
Definition at line 789 of file unique_ptr.h.
|
related |
unique_ptr comparison with nullptr
Definition at line 801 of file unique_ptr.h.
|
related |
shared_ptr comparison with nullptr
Definition at line 492 of file bits/shared_ptr.h.
|
related |
unique_ptr comparison with nullptr
Definition at line 810 of file unique_ptr.h.
|
related |
Write the stored pointer to an ostream.
Definition at line 69 of file bits/shared_ptr.h.
|
related |
Relational operator for shared_ptr objects, compares the stored pointers.
Definition at line 501 of file bits/shared_ptr.h.
|
related |
shared_ptr comparison with nullptr
Definition at line 507 of file bits/shared_ptr.h.
|
related |
Relational operator for unique_ptr objects, compares the owned pointers.
Definition at line 820 of file unique_ptr.h.
|
related |
unique_ptr comparison with nullptr
Definition at line 827 of file unique_ptr.h.
|
related |
shared_ptr comparison with nullptr
Definition at line 513 of file bits/shared_ptr.h.
|
related |
unique_ptr comparison with nullptr
Definition at line 833 of file unique_ptr.h.
|
inlinenoexcept |
Reset the unique_ptr to empty, invoking the deleter if necessary.
Definition at line 391 of file unique_ptr.h.
|
inlinenoexcept |
Reset the unique_ptr to empty, invoking the deleter if necessary.
Definition at line 643 of file unique_ptr.h.
References std::unique_ptr< _Tp, _Dp >::reset().
|
default |
Move assignment operator.
Invokes the deleter if this object owns a pointer.
|
default |
Move assignment operator.
Invokes the deleter if this object owns a pointer.
|
inlinenoexcept |
Assignment from another type.
__u | The object to transfer ownership from, which owns a convertible pointer to a non-array object. |
Invokes the deleter if this object owns a pointer.
Definition at line 382 of file unique_ptr.h.
|
inlinenoexcept |
Assignment from another type.
__u | The object to transfer ownership from, which owns a convertible pointer to an array object. |
Invokes the deleter if this object owns a pointer.
Definition at line 634 of file unique_ptr.h.
References std::unique_ptr< _Tp, _Dp >::get_deleter(), and std::unique_ptr< _Tp, _Dp >::reset().
|
related |
Equality operator for shared_ptr objects, compares the stored pointers.
Definition at line 436 of file bits/shared_ptr.h.
|
related |
shared_ptr comparison with nullptr
Definition at line 442 of file bits/shared_ptr.h.
|
related |
Equality operator for unique_ptr objects, compares the owned pointers.
Definition at line 749 of file unique_ptr.h.
|
related |
unique_ptr comparison with nullptr
Definition at line 756 of file unique_ptr.h.
|
related |
shared_ptr comparison with nullptr
Definition at line 448 of file bits/shared_ptr.h.
|
related |
unique_ptr comparison with nullptr
Definition at line 762 of file unique_ptr.h.
|
related |
Relational operator for shared_ptr objects, compares the stored pointers.
Definition at line 519 of file bits/shared_ptr.h.
|
related |
shared_ptr comparison with nullptr
Definition at line 525 of file bits/shared_ptr.h.
|
related |
Relational operator for unique_ptr objects, compares the owned pointers.
Definition at line 840 of file unique_ptr.h.
|
related |
unique_ptr comparison with nullptr
Definition at line 847 of file unique_ptr.h.
|
related |
shared_ptr comparison with nullptr
Definition at line 531 of file bits/shared_ptr.h.
|
related |
unique_ptr comparison with nullptr
Definition at line 856 of file unique_ptr.h.
|
related |
Relational operator for shared_ptr objects, compares the stored pointers.
Definition at line 537 of file bits/shared_ptr.h.
|
related |
shared_ptr comparison with nullptr
Definition at line 543 of file bits/shared_ptr.h.
|
related |
Relational operator for unique_ptr objects, compares the owned pointers.
Definition at line 866 of file unique_ptr.h.
|
related |
unique_ptr comparison with nullptr
Definition at line 873 of file unique_ptr.h.
|
related |
shared_ptr comparison with nullptr
Definition at line 549 of file bits/shared_ptr.h.
|
related |
unique_ptr comparison with nullptr
Definition at line 879 of file unique_ptr.h.
|
inline |
Access an element of owned array.
Definition at line 653 of file unique_ptr.h.
|
inlinenoexcept |
Release ownership of any stored pointer.
Definition at line 438 of file unique_ptr.h.
|
inlinenoexcept |
Release ownership of any stored pointer.
Definition at line 682 of file unique_ptr.h.
|
inlinenoexcept |
Replace the stored pointer.
__p | The new pointer to store. |
The deleter will be invoked if a pointer is already owned.
Definition at line 704 of file unique_ptr.h.
References std::move().
|
inlinenoexcept |
Replace the stored pointer.
__p | The new pointer to store. |
The deleter will be invoked if a pointer is already owned.
Definition at line 448 of file unique_ptr.h.
Referenced by std::unique_ptr< _Result< _Res > >::operator=(), and std::unique_ptr< _Tp[], _Dp >::operator=().
|
related |
Convert type of shared_ptr
, via static_cast
Definition at line 565 of file bits/shared_ptr.h.
|
related |
Swap overload for shared_ptr.
Definition at line 557 of file bits/shared_ptr.h.
Referenced by std::shared_ptr< _State >::atomic_exchange_explicit(), std::shared_ptr< _State >::atomic_store_explicit(), std::shared_ptr< _State >::swap(), and std::weak_ptr< _State_baseV2 >::swap().
|
inlinenoexcept |
Exchange the pointer and deleter with another object.
Definition at line 457 of file unique_ptr.h.
|
inlinenoexcept |
Exchange the pointer and deleter with another object.
Definition at line 712 of file unique_ptr.h.
|
related |
Swap overload for unique_ptr.
Definition at line 734 of file unique_ptr.h.
Swap overload for weak_ptr.
Definition at line 746 of file bits/shared_ptr.h.