Pointer_abstractions(3)

NAME
Pointer_abstractions - Pointer_abstractions

SYNOPSIS

  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< 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 _Tp , typename _Alloc , typename... _Args> shared_ptr< _Tp > std::allocate_shared (const _Alloc &__a, _Args &&...__args)
template<typename _Tp , typename _Tp1 > shared_ptr< _Tp > std::const_pointer_cast (const shared_ptr< _Tp1 > &__r) noexcept
template<typename _Tp , typename _Tp1 > shared_ptr< _Tp > std::dynamic_pointer_cast (const shared_ptr< _Tp1 > &__r) noexcept
template<typename _Del , typename _Tp , _Lock_policy _Lp> _Del * std::get_deleter (const __shared_ptr< _Tp, _Lp > &__p) noexcept
template<typename _Tp , typename... _Args> shared_ptr< _Tp > std::make_shared (_Args &&...__args)
template<typename _Tp1 , typename _Tp2 > bool std::operator!= (const shared_ptr< _Tp1 > &__a, const shared_ptr< _Tp2 > &__b) noexcept
template<typename _Tp > bool std::operator!= (const shared_ptr< _Tp > &__a, nullptr_t) noexcept
template<typename _Tp > bool std::operator!= (nullptr_t, const shared_ptr< _Tp > &__a) noexcept
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 _Tp1 , typename _Tp2 > bool std::operator< (const shared_ptr< _Tp1 > &__a, const shared_ptr< _Tp2 > &__b) noexcept
template<typename _Tp > bool std::operator< (const shared_ptr< _Tp > &__a, nullptr_t) noexcept
template<typename _Tp > bool std::operator< (nullptr_t, const shared_ptr< _Tp > &__a) noexcept
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)
template<typename _Tp , typename _Dp > bool std::operator< (nullptr_t, const unique_ptr< _Tp, _Dp > &__x)
template<typename _Ch , typename _Tr , typename _Tp , _Lock_policy _Lp> std::basic_ostream< _Ch, _Tr > & std::operator<< (std::basic_ostream< _Ch, _Tr > &__os, const __shared_ptr< _Tp, _Lp > &__p)
template<typename _Tp1 , typename _Tp2 > bool std::operator<= (const shared_ptr< _Tp1 > &__a, const shared_ptr< _Tp2 > &__b) noexcept
template<typename _Tp > bool std::operator<= (const shared_ptr< _Tp > &__a, nullptr_t) noexcept
template<typename _Tp > bool std::operator<= (nullptr_t, const shared_ptr< _Tp > &__a) noexcept
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)
template<typename _Tp , typename _Dp > bool std::operator<= (nullptr_t, const unique_ptr< _Tp, _Dp > &__x)
template<typename _Tp1 , typename _Tp2 > bool std::operator== (const shared_ptr< _Tp1 > &__a, const shared_ptr< _Tp2 > &__b) noexcept
template<typename _Tp > bool std::operator== (const shared_ptr< _Tp > &__a, nullptr_t) noexcept
template<typename _Tp > bool std::operator== (nullptr_t, const shared_ptr< _Tp > &__a) noexcept
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 _Tp1 , typename _Tp2 > bool std::operator> (const shared_ptr< _Tp1 > &__a, const shared_ptr< _Tp2 > &__b) noexcept
template<typename _Tp > bool std::operator> (const shared_ptr< _Tp > &__a, nullptr_t) noexcept
template<typename _Tp > bool std::operator> (nullptr_t, const shared_ptr< _Tp > &__a) noexcept
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)
template<typename _Tp , typename _Dp > bool std::operator> (nullptr_t, const unique_ptr< _Tp, _Dp > &__x)
template<typename _Tp1 , typename _Tp2 > bool std::operator>= (const shared_ptr< _Tp1 > &__a, const shared_ptr< _Tp2 > &__b) noexcept
template<typename _Tp > bool std::operator>= (const shared_ptr< _Tp > &__a, nullptr_t) noexcept
template<typename _Tp > bool std::operator>= (nullptr_t, const shared_ptr< _Tp > &__a) noexcept
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)
template<typename _Tp , typename _Dp > bool std::operator>= (nullptr_t, const unique_ptr< _Tp, _Dp > &__x)
template<typename _Tp , typename _Tp1 > shared_ptr< _Tp > std::static_pointer_cast (const shared_ptr< _Tp1 > &__r) noexcept
template<typename _Tp > void std::swap (shared_ptr< _Tp > &__a, shared_ptr< _Tp > &__b) noexcept
template<typename _Tp > void std::swap (weak_ptr< _Tp > &__a, weak_ptr< _Tp > &__b) noexcept
template<typename _Tp , typename _Dp > void std::swap (unique_ptr< _Tp, _Dp > &__x, unique_ptr< _Tp, _Dp > &__y) noexcept
template<typename _Tp , _Lock_policy _Lp> bool std::atomic_is_lock_free (const __shared_ptr< _Tp, _Lp > *__p)
template<typename _Tp > bool std::atomic_is_lock_free (const shared_ptr< _Tp > *__p)
template<typename _Tp > shared_ptr< _Tp > std::atomic_load_explicit (const shared_ptr< _Tp > *__p, memory_order)
template<typename _Tp > shared_ptr< _Tp > std::atomic_load (const shared_ptr< _Tp > *__p)
template<typename _Tp , _Lock_policy _Lp> __shared_ptr< _Tp, _Lp > std::atomic_load_explicit (const __shared_ptr< _Tp, _Lp > *__p, memory_order)
template<typename _Tp , _Lock_policy _Lp> __shared_ptr< _Tp, _Lp > std::atomic_load (const __shared_ptr< _Tp, _Lp > *__p)
template<typename _Tp > void std::atomic_store_explicit (shared_ptr< _Tp > *__p, shared_ptr< _Tp > __r, memory_order)
template<typename _Tp > void std::atomic_store (shared_ptr< _Tp > *__p, shared_ptr< _Tp > __r)
template<typename _Tp , _Lock_policy _Lp> void std::atomic_store_explicit (__shared_ptr< _Tp, _Lp > *__p, __shared_ptr< _Tp, _Lp > __r, memory_order)
template<typename _Tp , _Lock_policy _Lp> void std::atomic_store (__shared_ptr< _Tp, _Lp > *__p, __shared_ptr< _Tp, _Lp > __r)
template<typename _Tp > shared_ptr< _Tp > std::atomic_exchange_explicit (shared_ptr< _Tp > *__p, shared_ptr< _Tp > __r, memory_order)
template<typename _Tp > shared_ptr< _Tp > std::atomic_exchange (shared_ptr< _Tp > *__p, shared_ptr< _Tp > __r)
template<typename _Tp , _Lock_policy _Lp> __shared_ptr< _Tp, _Lp > std::atomic_exchange_explicit (__shared_ptr< _Tp, _Lp > *__p, __shared_ptr< _Tp, _Lp > __r, memory_order)
template<typename _Tp , _Lock_policy _Lp> __shared_ptr< _Tp, _Lp > std::atomic_exchange (__shared_ptr< _Tp, _Lp > *__p, __shared_ptr< _Tp, _Lp > __r)
template<typename _Tp > bool std::atomic_compare_exchange_strong_explicit (shared_ptr< _Tp > *__p, shared_ptr< _Tp > *__v, shared_ptr< _Tp > __w, memory_order, memory_order)
template<typename _Tp > bool std::atomic_compare_exchange_strong (shared_ptr< _Tp > *__p, shared_ptr< _Tp > *__v, shared_ptr< _Tp > __w)
template<typename _Tp > bool std::atomic_compare_exchange_weak_explicit (shared_ptr< _Tp > *__p, shared_ptr< _Tp > *__v, shared_ptr< _Tp > __w, memory_order __success, memory_order __failure)
template<typename _Tp > bool std::atomic_compare_exchange_weak (shared_ptr< _Tp > *__p, shared_ptr< _Tp > *__v, shared_ptr< _Tp > __w)
template<typename _Tp , _Lock_policy _Lp> bool std::atomic_compare_exchange_strong_explicit (__shared_ptr< _Tp, _Lp > *__p, __shared_ptr< _Tp, _Lp > *__v, __shared_ptr< _Tp, _Lp > __w, memory_order, memory_order)
template<typename _Tp , _Lock_policy _Lp> bool std::atomic_compare_exchange_strong (__shared_ptr< _Tp, _Lp > *__p, __shared_ptr< _Tp, _Lp > *__v, __shared_ptr< _Tp, _Lp > __w)
template<typename _Tp , _Lock_policy _Lp> bool std::atomic_compare_exchange_weak_explicit (__shared_ptr< _Tp, _Lp > *__p, __shared_ptr< _Tp, _Lp > *__v, __shared_ptr< _Tp, _Lp > __w, memory_order __success, memory_order __failure)
template<typename _Tp , _Lock_policy _Lp> bool std::atomic_compare_exchange_weak (__shared_ptr< _Tp, _Lp > *__p, __shared_ptr< _Tp, _Lp > *__v, __shared_ptr< _Tp, _Lp > __w)

Detailed Description

Function Documentation

  template<typename _Tp , typename _Alloc , typename... _Args> shared_ptr<_Tp> std::allocate_shared (const _Alloc & __a, _Args &&... __args) [inline]

Create an object that is owned by a shared_ptr.

Parameters:
    __a An allocator.
    __args Arguments for the _Tp object's constructor.

Returns:
    A shared_ptr that owns the newly created object.

Exceptions:
    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 611 of file shared_ptr.h.

  template<typename _Tp > bool std::atomic_compare_exchange_strong (shared_ptr< _Tp > * __p, shared_ptr< _Tp > * __v, shared_ptr< _Tp > __w) [inline]

Atomic compare-and-swap for shared_ptr objects.

Parameters:
    __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.

Returns:
    True if *__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 242 of file shared_ptr_atomic.h.

References std::atomic_compare_exchange_strong_explicit(), and std::move().

  template<typename _Tp , _Lock_policy _Lp> bool std::atomic_compare_exchange_strong (__shared_ptr< _Tp, _Lp > * __p, __shared_ptr< _Tp, _Lp > * __v, __shared_ptr< _Tp, _Lp > __w) [inline]

Atomic compare-and-swap for shared_ptr objects.

Parameters:
    __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.

Returns:
    True if *__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 294 of file shared_ptr_atomic.h.

References std::atomic_compare_exchange_strong_explicit(), and std::move().

  template<typename _Tp > bool std::atomic_compare_exchange_strong_explicit (shared_ptr< _Tp > * __p, shared_ptr< _Tp > * __v, shared_ptr< _Tp > __w, memory_order, memory_order)

Atomic compare-and-swap for shared_ptr objects.

Parameters:
    __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.

Returns:
    True if *__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 220 of file shared_ptr_atomic.h.

References std::move().

Referenced by std::atomic_compare_exchange_strong(), and std::atomic_compare_exchange_weak_explicit().

  template<typename _Tp , _Lock_policy _Lp> bool std::atomic_compare_exchange_strong_explicit (__shared_ptr< _Tp, _Lp > * __p, __shared_ptr< _Tp, _Lp > * __v, __shared_ptr< _Tp, _Lp > __w, memory_order, memory_order)

Atomic compare-and-swap for shared_ptr objects.

Parameters:
    __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.

Returns:
    True if *__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 272 of file shared_ptr_atomic.h.

References std::move().

  template<typename _Tp > bool std::atomic_compare_exchange_weak (shared_ptr< _Tp > * __p, shared_ptr< _Tp > * __v, shared_ptr< _Tp > __w) [inline]

Atomic compare-and-swap for shared_ptr objects.

Parameters:
    __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.

Returns:
    True if *__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 263 of file shared_ptr_atomic.h.

References std::atomic_compare_exchange_weak_explicit(), and std::move().

  template<typename _Tp , _Lock_policy _Lp> bool std::atomic_compare_exchange_weak (__shared_ptr< _Tp, _Lp > * __p, __shared_ptr< _Tp, _Lp > * __v, __shared_ptr< _Tp, _Lp > __w) [inline]

Atomic compare-and-swap for shared_ptr objects.

Parameters:
    __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.

Returns:
    True if *__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 316 of file shared_ptr_atomic.h.

References std::atomic_compare_exchange_weak_explicit(), and std::move().

  template<typename _Tp > bool std::atomic_compare_exchange_weak_explicit (shared_ptr< _Tp > * __p, shared_ptr< _Tp > * __v, shared_ptr< _Tp > __w, memory_order __success, memory_order __failure) [inline]

Atomic compare-and-swap for shared_ptr objects.

Parameters:
    __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.

Returns:
    True if *__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::atomic_compare_exchange_strong_explicit(), and std::move().

Referenced by std::atomic_compare_exchange_weak().

  template<typename _Tp , _Lock_policy _Lp> bool std::atomic_compare_exchange_weak_explicit (__shared_ptr< _Tp, _Lp > * __p, __shared_ptr< _Tp, _Lp > * __v, __shared_ptr< _Tp, _Lp > __w, memory_order __success, memory_order __failure) [inline]

Atomic compare-and-swap for shared_ptr objects.

Parameters:
    __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.

Returns:
    True if *__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 304 of file shared_ptr_atomic.h.

References std::atomic_compare_exchange_strong_explicit(), and std::move().

  template<typename _Tp > shared_ptr<_Tp> std::atomic_exchange (shared_ptr< _Tp > * __p, shared_ptr< _Tp > __r) [inline]

Atomic exchange for shared_ptr objects.

Parameters:
    __p A non-null pointer to a shared_ptr object.
    __r New value to store in *__p.

Returns:
    The original value of *__p

Definition at line 181 of file shared_ptr_atomic.h.

References std::atomic_exchange_explicit(), and std::move().

  template<typename _Tp , _Lock_policy _Lp> __shared_ptr<_Tp, _Lp> std::atomic_exchange (__shared_ptr< _Tp, _Lp > * __p, __shared_ptr< _Tp, _Lp > __r) [inline]

Atomic exchange for shared_ptr objects.

Parameters:
    __p A non-null pointer to a shared_ptr object.
    __r New value to store in *__p.

Returns:
    The original value of *__p

Definition at line 200 of file shared_ptr_atomic.h.

References std::atomic_exchange_explicit(), and std::move().

  template<typename _Tp > shared_ptr<_Tp> std::atomic_exchange_explicit (shared_ptr< _Tp > * __p, shared_ptr< _Tp > __r, memory_order) [inline]

Atomic exchange for shared_ptr objects.

Parameters:
    __p A non-null pointer to a shared_ptr object.
    __r New value to store in *__p.

Returns:
    The original value of *__p

Definition at line 171 of file shared_ptr_atomic.h.

Referenced by std::atomic_exchange().

  template<typename _Tp , _Lock_policy _Lp> __shared_ptr<_Tp, _Lp> std::atomic_exchange_explicit (__shared_ptr< _Tp, _Lp > * __p, __shared_ptr< _Tp, _Lp > __r, memory_order) [inline]

Atomic exchange for shared_ptr objects.

Parameters:
    __p A non-null pointer to a shared_ptr object.
    __r New value to store in *__p.

Returns:
    The original value of *__p

Definition at line 189 of file shared_ptr_atomic.h.

  template<typename _Tp , _Lock_policy _Lp> bool std::atomic_is_lock_free (const __shared_ptr< _Tp, _Lp > * __p) [inline]

Report whether shared_ptr atomic operations are lock-free.

Parameters:
    __p A non-null pointer to a shared_ptr object.

Returns:
    True if atomic access to *__p is lock-free, false otherwise.

Definition at line 71 of file shared_ptr_atomic.h.

  template<typename _Tp > bool std::atomic_is_lock_free (const shared_ptr< _Tp > * __p) [inline]

Report whether shared_ptr atomic operations are lock-free.

Parameters:
    __p A non-null pointer to a shared_ptr object.

Returns:
    True if atomic access to *__p is lock-free, false otherwise.

Definition at line 82 of file shared_ptr_atomic.h.

  template<typename _Tp > shared_ptr<_Tp> std::atomic_load (const shared_ptr< _Tp > * __p) [inline]

Atomic load for shared_ptr objects.

Parameters:
    __p A non-null pointer to a shared_ptr object.

Returns:
    *__p

The memory order shall not be memory_order_release or memory_order_acq_rel.

Definition at line 106 of file shared_ptr_atomic.h.

References std::atomic_load_explicit().

  template<typename _Tp , _Lock_policy _Lp> __shared_ptr<_Tp, _Lp> std::atomic_load (const __shared_ptr< _Tp, _Lp > * __p) [inline]

Atomic load for shared_ptr objects.

Parameters:
    __p A non-null pointer to a shared_ptr object.

Returns:
    *__p

The memory order shall not be memory_order_release or memory_order_acq_rel.

Definition at line 119 of file shared_ptr_atomic.h.

References std::atomic_load_explicit().

  template<typename _Tp > shared_ptr<_Tp> std::atomic_load_explicit (const shared_ptr< _Tp > * __p, memory_order) [inline]

Atomic load for shared_ptr objects.

Parameters:
    __p A non-null pointer to a shared_ptr object.

Returns:
    *__p

The memory order shall not be memory_order_release or memory_order_acq_rel.

Definition at line 98 of file shared_ptr_atomic.h.

Referenced by std::atomic_load().

  template<typename _Tp , _Lock_policy _Lp> __shared_ptr<_Tp, _Lp> std::atomic_load_explicit (const __shared_ptr< _Tp, _Lp > * __p, memory_order) [inline]

Atomic load for shared_ptr objects.

Parameters:
    __p A non-null pointer to a shared_ptr object.

Returns:
    *__p

The memory order shall not be memory_order_release or memory_order_acq_rel.

Definition at line 111 of file shared_ptr_atomic.h.

  template<typename _Tp > void std::atomic_store (shared_ptr< _Tp > * __p, shared_ptr< _Tp > __r) [inline]

Atomic store for shared_ptr objects.

Parameters:
    __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 143 of file shared_ptr_atomic.h.

References std::atomic_store_explicit(), and std::move().

  template<typename _Tp , _Lock_policy _Lp> void std::atomic_store (__shared_ptr< _Tp, _Lp > * __p, __shared_ptr< _Tp, _Lp > __r) [inline]

Atomic store for shared_ptr objects.

Parameters:
    __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 158 of file shared_ptr_atomic.h.

References std::atomic_store_explicit(), and std::move().

  template<typename _Tp > void std::atomic_store_explicit (shared_ptr< _Tp > * __p, shared_ptr< _Tp > __r, memory_order) [inline]

Atomic store for shared_ptr objects.

Parameters:
    __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 134 of file shared_ptr_atomic.h.

Referenced by std::atomic_store().

  template<typename _Tp , _Lock_policy _Lp> void std::atomic_store_explicit (__shared_ptr< _Tp, _Lp > * __p, __shared_ptr< _Tp, _Lp > __r, memory_order) [inline]

Atomic store for shared_ptr objects.

Parameters:
    __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 148 of file shared_ptr_atomic.h.

  template<typename _Del , typename _Tp , _Lock_policy _Lp> _Del* std::get_deleter (const __shared_ptr< _Tp, _Lp > & __p) [inline], [noexcept]

20.7.2.2.10 shared_ptr get_deleter

Definition at line 76 of file shared_ptr.h.

  template<typename _Tp , typename... _Args> shared_ptr<_Tp> std::make_shared (_Args &&... __args) [inline]

Create an object that is owned by a shared_ptr.

Parameters:
    __args Arguments for the _Tp object's constructor.

Returns:
    A shared_ptr that owns the newly created object.

Exceptions:
    std::bad_alloc,or an exception thrown from the constructor of _Tp.

Definition at line 626 of file shared_ptr.h.

  template<typename _Ch , typename _Tr , typename _Tp , _Lock_policy _Lp> std::basic_ostream<_Ch, _Tr>& std::operator<< (std::basic_ostream< _Ch, _Tr > & __os, const __shared_ptr< _Tp, _Lp > & __p) [inline]

20.7.2.2.11 shared_ptr I/O

Definition at line 66 of file shared_ptr.h.

Author

Generated automatically by Doxygen for libstdc++ from the source code.