|
libstdc++
|
Classes | |
| class | std::atomic< _Tp > |
| class | std::auto_ptr< _Tp > |
| struct | std::default_delete< _Tp > |
| struct | std::default_delete< _Tp[]> |
| class | std::enable_shared_from_this< _Tp > |
| struct | std::hash< shared_ptr< _Tp > > |
| 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 > > |
| struct | std::pointer_traits< _Ptr > |
| struct | std::pointer_traits< _Tp * > |
| class | std::shared_ptr< _Tp > |
| class | std::unique_ptr< _Tp, _Dp > |
| class | std::unique_ptr< _Tp[], _Dp > |
| class | std::weak_ptr< _Tp > |
Macros | |
| #define | __cpp_lib_atomic_shared_ptr |
| #define | __cpp_lib_make_unique |
Functions | |
| 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 |
| template<typename _Tp , typename... _Args> | |
| _GLIBCXX23_CONSTEXPR __detail::__unique_ptr_t< _Tp > | make_unique (_Args &&... __args) |
| template<typename _Tp , typename... _Args> | |
| __detail::__invalid_make_unique_t< _Tp > | make_unique (_Args &&...)=delete |
| template<typename _Tp > | |
| _GLIBCXX23_CONSTEXPR __detail::__unique_ptr_array_t< _Tp > | make_unique (size_t __num) |
| template<typename _Tp > | |
| _GLIBCXX23_CONSTEXPR __detail::__unique_ptr_t< _Tp > | make_unique_for_overwrite () |
| template<typename _Tp , typename... _Args> | |
| __detail::__invalid_make_unique_t< _Tp > | make_unique_for_overwrite (_Args &&...)=delete |
| template<typename _Tp > | |
| _GLIBCXX23_CONSTEXPR __detail::__unique_ptr_array_t< _Tp > | make_unique_for_overwrite (size_t __num) |
| template<typename _Tp , typename _Dp , typename _Up , typename _Ep > | |
| bool | std::operator!= (const unique_ptr< _Tp, _Dp > &__x, const unique_ptr< _Up, _Ep > &__y) |
| template<typename _Tp , typename _Dp > | |
| bool | std::operator!= (const unique_ptr< _Tp, _Dp > &__x, nullptr_t) noexcept |
| template<typename _Tp , typename _Dp > | |
| bool | std::operator!= (nullptr_t, const unique_ptr< _Tp, _Dp > &__x) noexcept |
| template<typename _Tp , typename _Dp , typename _Up , typename _Ep > | |
| _GLIBCXX23_CONSTEXPR bool | std::operator< (const unique_ptr< _Tp, _Dp > &__x, const unique_ptr< _Up, _Ep > &__y) |
| template<typename _Tp , typename _Dp > | |
| _GLIBCXX23_CONSTEXPR bool | std::operator< (const unique_ptr< _Tp, _Dp > &__x, nullptr_t) |
| template<typename _Tp , typename _Dp > | |
| _GLIBCXX23_CONSTEXPR bool | std::operator< (nullptr_t, const unique_ptr< _Tp, _Dp > &__x) |
| template<typename _CharT , typename _Traits , typename _Tp , typename _Dp > | |
| basic_ostream< _CharT, _Traits > & | operator<< (basic_ostream< _CharT, _Traits > &__os, const unique_ptr< _Tp, _Dp > &__p) |
| 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) |
| template<typename _Tp , typename _Dp , typename _Up , typename _Ep > | |
| _GLIBCXX23_CONSTEXPR bool | std::operator<= (const unique_ptr< _Tp, _Dp > &__x, const unique_ptr< _Up, _Ep > &__y) |
| template<typename _Tp , typename _Dp > | |
| _GLIBCXX23_CONSTEXPR bool | std::operator<= (const unique_ptr< _Tp, _Dp > &__x, nullptr_t) |
| template<typename _Tp , typename _Dp > | |
| _GLIBCXX23_CONSTEXPR bool | std::operator<= (nullptr_t, const unique_ptr< _Tp, _Dp > &__x) |
| template<typename _Tp , typename _Dp , typename _Up , typename _Ep > | |
| _GLIBCXX23_CONSTEXPR bool | std::operator== (const unique_ptr< _Tp, _Dp > &__x, const unique_ptr< _Up, _Ep > &__y) |
| template<typename _Tp , typename _Dp > | |
| _GLIBCXX23_CONSTEXPR bool | std::operator== (const unique_ptr< _Tp, _Dp > &__x, nullptr_t) noexcept |
| template<typename _Tp , typename _Dp > | |
| bool | std::operator== (nullptr_t, const unique_ptr< _Tp, _Dp > &__x) noexcept |
| template<typename _Tp , typename _Dp , typename _Up , typename _Ep > | |
| _GLIBCXX23_CONSTEXPR bool | std::operator> (const unique_ptr< _Tp, _Dp > &__x, const unique_ptr< _Up, _Ep > &__y) |
| template<typename _Tp , typename _Dp > | |
| _GLIBCXX23_CONSTEXPR bool | std::operator> (const unique_ptr< _Tp, _Dp > &__x, nullptr_t) |
| template<typename _Tp , typename _Dp > | |
| _GLIBCXX23_CONSTEXPR bool | std::operator> (nullptr_t, const unique_ptr< _Tp, _Dp > &__x) |
| template<typename _Tp , typename _Dp , typename _Up , typename _Ep > | |
| _GLIBCXX23_CONSTEXPR bool | std::operator>= (const unique_ptr< _Tp, _Dp > &__x, const unique_ptr< _Up, _Ep > &__y) |
| template<typename _Tp , typename _Dp > | |
| _GLIBCXX23_CONSTEXPR bool | std::operator>= (const unique_ptr< _Tp, _Dp > &__x, nullptr_t) |
| template<typename _Tp , typename _Dp > | |
| bool | std::operator>= (nullptr_t, const unique_ptr< _Tp, _Dp > &__x) |
| template<typename _Tp , typename _Del > | |
| std::shared_ptr (unique_ptr< _Tp, _Del >) -> shared_ptr< _Tp > | |
| template<typename _Tp > | |
| std::shared_ptr (weak_ptr< _Tp >) -> shared_ptr< _Tp > | |
| template<typename _Tp , typename _Dp > | |
| enable_if<!__is_swappable< _Dp >::value >::type | std::swap (unique_ptr< _Tp, _Dp > &, unique_ptr< _Tp, _Dp > &)=delete |
| template<typename _Tp , typename _Dp > | |
| _GLIBCXX23_CONSTEXPR enable_if< __is_swappable< _Dp >::value >::type | swap (unique_ptr< _Tp, _Dp > &__x, unique_ptr< _Tp, _Dp > &__y) noexcept |
| template<typename _Tp > | |
| void | swap (weak_ptr< _Tp > &__a, weak_ptr< _Tp > &__b) noexcept |
| template<typename _Tp > | |
| constexpr _Tp * | std::to_address (_Tp *__ptr) noexcept |
| template<typename _Ptr > | |
| constexpr auto | std::to_address (const _Ptr &__ptr) noexcept |
| template<typename _Tp > | |
| std::weak_ptr (shared_ptr< _Tp >) -> weak_ptr< _Tp > | |
Variables | |
| template<typename _Up > | |
| static constexpr bool | std::__is_shared_ptr |
| template<typename _Up > | |
| static constexpr bool | std::__is_shared_ptr< shared_ptr< _Up > > |
| 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 , typename _Up > | |
| shared_ptr< _Tp > | reinterpret_pointer_cast (const shared_ptr< _Up > &__r) noexcept |
| template<typename _Tp , typename _Up > | |
| shared_ptr< _Tp > | static_pointer_cast (shared_ptr< _Up > &&__r) noexcept |
| template<typename _Tp , typename _Up > | |
| shared_ptr< _Tp > | const_pointer_cast (shared_ptr< _Up > &&__r) noexcept |
| template<typename _Tp , typename _Up > | |
| shared_ptr< _Tp > | dynamic_pointer_cast (shared_ptr< _Up > &&__r) noexcept |
| template<typename _Tp , typename _Up > | |
| shared_ptr< _Tp > | reinterpret_pointer_cast (shared_ptr< _Up > &&__r) noexcept |
| template<typename _Tp , typename _Alloc , typename... _Args> | |
| shared_ptr< _NonArray< _Tp > > | allocate_shared (const _Alloc &__a, _Args &&... __args) |
| template<typename _Tp , typename... _Args> | |
| shared_ptr< _NonArray< _Tp > > | make_shared (_Args &&... __args) |
| template<typename _Tp , typename _Alloc > | |
| shared_ptr< _UnboundedArray< _Tp > > | allocate_shared (const _Alloc &__a, size_t __n) |
| template<typename _Tp , typename _Alloc > | |
| shared_ptr< _BoundedArray< _Tp > > | allocate_shared (const _Alloc &__a) |
| 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) |
Smart pointers, etc.
| #define __cpp_lib_atomic_shared_ptr |
Definition at line 357 of file shared_ptr_atomic.h.
| #define __cpp_lib_make_unique |
Definition at line 1028 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 1073 of file bits/shared_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 990 of file bits/shared_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 1030 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 251 of file shared_ptr_atomic.h.
References std::move().
|
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 202 of file shared_ptr_atomic.h.
References std::shared_ptr< _Tp >::swap().
|
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 102 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 129 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 165 of file shared_ptr_atomic.h.
References std::shared_ptr< _Tp >::swap().
|
related |
Convert type of shared_ptr, via const_cast
Definition at line 709 of file bits/shared_ptr.h.
|
related |
Convert type of shared_ptr rvalue, via const_cast
Definition at line 756 of file bits/shared_ptr.h.
References std::move().
|
related |
Convert type of shared_ptr, via dynamic_cast
Definition at line 718 of file bits/shared_ptr.h.
|
related |
Convert type of shared_ptr rvalue, via dynamic_cast
Definition at line 767 of file bits/shared_ptr.h.
References std::move().
|
inlinenoexcept |
Definition at line 79 of file bits/shared_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 94 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 1005 of file bits/shared_ptr.h.
|
related |
Create an object owned by a unique_ptr.
| _Tp | A non-array object type. |
| __args | Constructor arguments for the new object. |
unique_ptr<_Tp> that owns the new object. Definition at line 1064 of file unique_ptr.h.
|
related |
Disable std::make_unique for arrays of known bound.
| _Tp | An array type of known bound, such as U[N]. |
|
related |
Create an array owned by a unique_ptr.
| _Tp | An array type of unknown bound, such as U[]. |
| __num | The number of elements of type U in the new array. |
unique_ptr<U[]> that owns the new array. The array elements are value-initialized.
Definition at line 1079 of file unique_ptr.h.
|
related |
Create a default-initialied object owned by a unique_ptr.
| _Tp | A non-array object type. |
unique_ptr<_Tp> that owns the new object. Definition at line 1101 of file unique_ptr.h.
|
related |
Disable std::make_unique_for_overwrite for arrays of known bound.
| _Tp | An array type of known bound, such as U[N]. |
References std::unique_ptr< _Tp, _Dp >::get().
|
related |
Create a default-initialized array owned by a unique_ptr.
| _Tp | An array type of unknown bound, such as U[]. |
| __num | The number of elements of type U in the new array. |
unique_ptr<U[]> that owns the new array. Definition at line 1114 of file unique_ptr.h.
|
related |
Inequality operator for shared_ptr objects, compares the stored pointers.
Definition at line 588 of file bits/shared_ptr.h.
|
related |
shared_ptr comparison with nullptr
Definition at line 594 of file bits/shared_ptr.h.
|
inline |
Inequality operator for unique_ptr objects, compares the owned pointers.
Definition at line 848 of file unique_ptr.h.
References std::unique_ptr< _Tp, _Dp >::get().
|
inlinenoexcept |
unique_ptr comparison with nullptr
Definition at line 856 of file unique_ptr.h.
|
related |
shared_ptr comparison with nullptr
Definition at line 600 of file bits/shared_ptr.h.
|
inlinenoexcept |
unique_ptr comparison with nullptr
Definition at line 863 of file unique_ptr.h.
|
related |
Relational operator for shared_ptr objects, compares the stored pointers.
Definition at line 605 of file bits/shared_ptr.h.
|
related |
shared_ptr comparison with nullptr
Definition at line 616 of file bits/shared_ptr.h.
|
inline |
Relational operator for unique_ptr objects, compares the owned pointers.
Definition at line 871 of file unique_ptr.h.
References std::unique_ptr< _Tp, _Dp >::get().
|
inline |
unique_ptr comparison with nullptr
Definition at line 884 of file unique_ptr.h.
References std::unique_ptr< _Tp, _Dp >::get().
|
related |
shared_ptr comparison with nullptr
Definition at line 625 of file bits/shared_ptr.h.
|
inline |
unique_ptr comparison with nullptr
Definition at line 894 of file unique_ptr.h.
References std::unique_ptr< _Tp, _Dp >::get().
|
related |
|
related |
Write the stored pointer to an ostream.
Definition at line 1 of file bits/shared_ptr.h.
References std::operator<<().
|
related |
Relational operator for shared_ptr objects, compares the stored pointers.
Definition at line 634 of file bits/shared_ptr.h.
|
related |
shared_ptr comparison with nullptr
Definition at line 640 of file bits/shared_ptr.h.
|
inline |
Relational operator for unique_ptr objects, compares the owned pointers.
Definition at line 905 of file unique_ptr.h.
|
inline |
unique_ptr comparison with nullptr
Definition at line 913 of file unique_ptr.h.
|
related |
shared_ptr comparison with nullptr
Definition at line 646 of file bits/shared_ptr.h.
|
inline |
unique_ptr comparison with nullptr
Definition at line 920 of file unique_ptr.h.
|
related |
Equality operator for shared_ptr objects, compares the stored pointers
Definition at line 555 of file bits/shared_ptr.h.
|
related |
shared_ptr comparison with nullptr
Definition at line 561 of file bits/shared_ptr.h.
|
inline |
Equality operator for unique_ptr objects, compares the owned pointers.
Definition at line 824 of file unique_ptr.h.
References std::unique_ptr< _Tp, _Dp >::get().
|
inlinenoexcept |
unique_ptr comparison with nullptr
Definition at line 832 of file unique_ptr.h.
|
related |
shared_ptr comparison with nullptr
Definition at line 582 of file bits/shared_ptr.h.
|
inlinenoexcept |
unique_ptr comparison with nullptr
Definition at line 840 of file unique_ptr.h.
|
related |
Relational operator for shared_ptr objects, compares the stored pointers.
Definition at line 653 of file bits/shared_ptr.h.
|
related |
shared_ptr comparison with nullptr
Definition at line 659 of file bits/shared_ptr.h.
|
inline |
Relational operator for unique_ptr objects, compares the owned pointers.
Definition at line 929 of file unique_ptr.h.
|
inline |
unique_ptr comparison with nullptr
Definition at line 937 of file unique_ptr.h.
References std::unique_ptr< _Tp, _Dp >::get().
|
related |
shared_ptr comparison with nullptr
Definition at line 665 of file bits/shared_ptr.h.
|
inline |
unique_ptr comparison with nullptr
Definition at line 947 of file unique_ptr.h.
References std::unique_ptr< _Tp, _Dp >::get().
|
related |
Relational operator for shared_ptr objects, compares the stored pointers.
Definition at line 671 of file bits/shared_ptr.h.
|
related |
shared_ptr comparison with nullptr
Definition at line 677 of file bits/shared_ptr.h.
|
inline |
Relational operator for unique_ptr objects, compares the owned pointers.
Definition at line 958 of file unique_ptr.h.
|
inline |
unique_ptr comparison with nullptr
Definition at line 966 of file unique_ptr.h.
|
related |
shared_ptr comparison with nullptr
Definition at line 683 of file bits/shared_ptr.h.
|
inline |
unique_ptr comparison with nullptr
Definition at line 972 of file unique_ptr.h.
|
related |
Convert type of shared_ptr, via reinterpret_cast
Definition at line 731 of file bits/shared_ptr.h.
|
related |
Convert type of shared_ptr rvalue, via reinterpret_cast
Definition at line 779 of file bits/shared_ptr.h.
References std::move().
|
related |
Convert type of shared_ptr, via static_cast
Definition at line 700 of file bits/shared_ptr.h.
|
related |
Convert type of shared_ptr rvalue, via static_cast
Definition at line 745 of file bits/shared_ptr.h.
References std::move().
|
related |
Swap overload for shared_ptr.
Definition at line 692 of file bits/shared_ptr.h.
Referenced by std::shared_ptr< _Tp >::atomic_exchange_explicit(), and std::shared_ptr< _Tp >::atomic_store_explicit().
|
related |
Swap overload for unique_ptr
Definition at line 808 of file unique_ptr.h.
Swap overload for weak_ptr.
Definition at line 888 of file bits/shared_ptr.h.
|
constexprnoexcept |
Obtain address referenced by a pointer to an object.
| __ptr | A pointer to an object |
__ptr Definition at line 266 of file ptr_traits.h.
|
constexprnoexcept |
Obtain address referenced by a pointer to an object.
| __ptr | A pointer to an object |
pointer_traits<_Ptr>::to_address(__ptr) if that expression is well-formed, otherwise to_address(__ptr.operator->()) Definition at line 278 of file ptr_traits.h.
|
staticconstexpr |
Definition at line 362 of file shared_ptr_atomic.h.
|
staticconstexpr |
Definition at line 364 of file shared_ptr_atomic.h.