libstdc++
|
Classes | |
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 > |
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 _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 > | |
void | swap (weak_ptr< _Tp > &__a, weak_ptr< _Tp > &__b) 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 , 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 _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 |
std::make_unique for single objects
Definition at line 940 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 858 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.
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 176 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 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.
References std::shared_ptr< _Tp >::swap().
|
related |
Convert type of shared_ptr
, via const_cast
Definition at line 591 of file bits/shared_ptr.h.
|
related |
Convert type of shared_ptr
, via dynamic_cast
Definition at line 600 of file bits/shared_ptr.h.
|
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 875 of file bits/shared_ptr.h.
|
related |
std::make_unique for single objects
Definition at line 961 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 967 of file unique_ptr.h.
|
related |
Inequality operator for shared_ptr objects, compares the stored pointers.
Definition at line 470 of file bits/shared_ptr.h.
|
related |
shared_ptr comparison with nullptr
Definition at line 476 of file bits/shared_ptr.h.
|
related |
Inequality operator for unique_ptr objects, compares the owned pointers.
Definition at line 774 of file unique_ptr.h.
References std::unique_ptr< _Tp, _Dp >::get().
|
related |
unique_ptr comparison with nullptr
Definition at line 781 of file unique_ptr.h.
|
related |
shared_ptr comparison with nullptr
Definition at line 482 of file bits/shared_ptr.h.
|
related |
unique_ptr comparison with nullptr
Definition at line 787 of file unique_ptr.h.
|
related |
Relational operator for shared_ptr objects, compares the stored pointers.
Definition at line 487 of file bits/shared_ptr.h.
|
related |
shared_ptr comparison with nullptr
Definition at line 498 of file bits/shared_ptr.h.
|
related |
Relational operator for unique_ptr objects, compares the owned pointers.
Definition at line 794 of file unique_ptr.h.
References std::unique_ptr< _Tp, _Dp >::get().
|
related |
unique_ptr comparison with nullptr
Definition at line 806 of file unique_ptr.h.
References std::unique_ptr< _Tp, _Dp >::get().
|
related |
shared_ptr comparison with nullptr
Definition at line 507 of file bits/shared_ptr.h.
|
related |
unique_ptr comparison with nullptr
Definition at line 815 of file unique_ptr.h.
References std::unique_ptr< _Tp, _Dp >::get().
|
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 516 of file bits/shared_ptr.h.
|
related |
shared_ptr comparison with nullptr
Definition at line 522 of file bits/shared_ptr.h.
|
related |
Relational operator for unique_ptr objects, compares the owned pointers.
Definition at line 825 of file unique_ptr.h.
|
related |
unique_ptr comparison with nullptr
Definition at line 832 of file unique_ptr.h.
|
related |
shared_ptr comparison with nullptr
Definition at line 528 of file bits/shared_ptr.h.
|
related |
unique_ptr comparison with nullptr
Definition at line 838 of file unique_ptr.h.
|
related |
Equality operator for shared_ptr objects, compares the stored pointers
Definition at line 437 of file bits/shared_ptr.h.
|
related |
shared_ptr comparison with nullptr
Definition at line 443 of file bits/shared_ptr.h.
|
related |
Equality operator for unique_ptr objects, compares the owned pointers.
Definition at line 753 of file unique_ptr.h.
References std::unique_ptr< _Tp, _Dp >::get().
|
related |
unique_ptr comparison with nullptr
Definition at line 760 of file unique_ptr.h.
|
related |
shared_ptr comparison with nullptr
Definition at line 464 of file bits/shared_ptr.h.
|
related |
unique_ptr comparison with nullptr
Definition at line 767 of file unique_ptr.h.
|
related |
Relational operator for shared_ptr objects, compares the stored pointers.
Definition at line 535 of file bits/shared_ptr.h.
|
related |
shared_ptr comparison with nullptr
Definition at line 541 of file bits/shared_ptr.h.
|
related |
Relational operator for unique_ptr objects, compares the owned pointers.
Definition at line 846 of file unique_ptr.h.
|
related |
unique_ptr comparison with nullptr
Definition at line 853 of file unique_ptr.h.
References std::unique_ptr< _Tp, _Dp >::get().
|
related |
shared_ptr comparison with nullptr
Definition at line 547 of file bits/shared_ptr.h.
|
related |
unique_ptr comparison with nullptr
Definition at line 862 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 553 of file bits/shared_ptr.h.
|
related |
shared_ptr comparison with nullptr
Definition at line 559 of file bits/shared_ptr.h.
|
related |
Relational operator for unique_ptr objects, compares the owned pointers.
Definition at line 872 of file unique_ptr.h.
|
related |
unique_ptr comparison with nullptr
Definition at line 879 of file unique_ptr.h.
|
related |
shared_ptr comparison with nullptr
Definition at line 565 of file bits/shared_ptr.h.
|
related |
unique_ptr comparison with nullptr
Definition at line 885 of file unique_ptr.h.
|
related |
Convert type of shared_ptr
, via reinterpret_cast
Definition at line 612 of file bits/shared_ptr.h.
|
related |
Convert type of shared_ptr
, via static_cast
Definition at line 582 of file bits/shared_ptr.h.
|
related |
Swap overload for shared_ptr.
Definition at line 574 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 738 of file unique_ptr.h.
Swap overload for weak_ptr.
Definition at line 763 of file bits/shared_ptr.h.