libstdc++: shared_ptr.h File Reference

libstdc++

shared_ptr.h File Reference

Go to the source code of this file.

## Classes
struct | std::hash< experimental::shared_ptr< _Tp > >
struct | std::experimental::fundamentals_v2::owner_less< shared_ptr< _Tp > >
struct | std::experimental::fundamentals_v2::owner_less< weak_ptr< _Tp > >

## Namespaces
namespace | std
namespace | std::experimental

## Functions
template<typename _Tp>
bool | std::experimental::atomic_compare_exchange_strong (shared_ptr< _Tp > *__p, shared_ptr< _Tp > *__v, shared_ptr< _Tp > __w)
template<typename _Tp>
bool | std::experimental::atomic_compare_exchange_strong_explicit (shared_ptr< _Tp > *__p, shared_ptr< _Tp > *__v, shared_ptr< _Tp > __w, memory_order __success, memory_order __failure)
template<typename _Tp>
bool | std::experimental::atomic_compare_exchange_weak (shared_ptr< _Tp > *__p, shared_ptr< _Tp > *__v, shared_ptr< _Tp > __w)
template<typename _Tp>
bool | std::experimental::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>
void | std::experimental::atomic_exchange (shared_ptr< _Tp > *__p, shared_ptr< _Tp > __r)
template<typename _Tp>
shared_ptr< _Tp > | std::experimental::atomic_exchange_explicit (const shared_ptr< _Tp > *__p, shared_ptr< _Tp > __r, memory_order __mo)
template<typename _Tp>
bool | std::experimental::atomic_is_lock_free (const shared_ptr< _Tp > *__p)
template<typename _Tp>
shared_ptr< _Tp > | std::experimental::atomic_load (const shared_ptr< _Tp > *__p)
template<typename _Tp>
shared_ptr< _Tp > | std::experimental::atomic_load_explicit (const shared_ptr< _Tp > *__p, memory_order __mo)
template<typename _Tp>
void | std::experimental::atomic_store (shared_ptr< _Tp > *__p, shared_ptr< _Tp > __r)
template<typename _Tp>
shared_ptr< _Tp > | std::experimental::atomic_store_explicit (const shared_ptr< _Tp > *__p, shared_ptr< _Tp > __r, memory_order __mo)
template<typename _Tp, typename _Tp1>
shared_ptr< _Tp > | std::experimental::const_pointer_cast (const shared_ptr< _Tp1 > &__r) noexcept
template<typename _Tp, typename _Tp1>
shared_ptr< _Tp > | std::experimental::dynamic_pointer_cast (const shared_ptr< _Tp1 > &__r) noexcept
template<typename _Del, typename _Tp>
_Del * | std::experimental::get_deleter (const shared_ptr< _Tp > &__p) noexcept
template<typename _Tp>
bool | std::experimental::operator!= (const shared_ptr< _Tp > &__a, nullptr_t) noexcept
template<typename _Tp1, typename _Tp2>
bool | std::experimental::operator!= (const shared_ptr< _Tp1 > &__a, const shared_ptr< _Tp2 > &__b) noexcept
template<typename _Tp>
bool | std::experimental::operator!= (nullptr_t, const shared_ptr< _Tp > &__a) noexcept
template<typename _Tp>
bool | std::experimental::operator< (const shared_ptr< _Tp > &__a, nullptr_t) noexcept
template<typename _Tp1, typename _Tp2>
bool | std::experimental::operator< (const shared_ptr< _Tp1 > &__a, const shared_ptr< _Tp2 > &__b) noexcept
template<typename _Tp>
bool | std::experimental::operator< (nullptr_t, const shared_ptr< _Tp > &__a) noexcept
template<typename _Ch, typename _Tr, typename _Tp>
std::basic_ostream< _Ch, _Tr > & | std::experimental::operator<< (std::basic_ostream< _Ch, _Tr > &__os, const shared_ptr< _Tp > &__p)
template<typename _Tp>
bool | std::experimental::operator<= (const shared_ptr< _Tp > &__a, nullptr_t) noexcept
template<typename _Tp1, typename _Tp2>
bool | std::experimental::operator<= (const shared_ptr< _Tp1 > &__a, const shared_ptr< _Tp2 > &__b) noexcept
template<typename _Tp>
bool | std::experimental::operator<= (nullptr_t, const shared_ptr< _Tp > &__a) noexcept
template<typename _Tp>
bool | std::experimental::operator== (const shared_ptr< _Tp > &__a, nullptr_t) noexcept
template<typename _Tp1, typename _Tp2>
bool | std::experimental::operator== (const shared_ptr< _Tp1 > &__a, const shared_ptr< _Tp2 > &__b) noexcept
template<typename _Tp>
bool | std::experimental::operator== (nullptr_t, const shared_ptr< _Tp > &__a) noexcept
template<typename _Tp>
bool | std::experimental::operator> (const shared_ptr< _Tp > &__a, nullptr_t) noexcept
template<typename _Tp1, typename _Tp2>
bool | std::experimental::operator> (const shared_ptr< _Tp1 > &__a, const shared_ptr< _Tp2 > &__b) noexcept
template<typename _Tp>
bool | std::experimental::operator> (nullptr_t, const shared_ptr< _Tp > &__a) noexcept
template<typename _Tp>
bool | std::experimental::operator>= (const shared_ptr< _Tp > &__a, nullptr_t) noexcept
template<typename _Tp1, typename _Tp2>
bool | std::experimental::operator>= (const shared_ptr< _Tp1 > &__a, const shared_ptr< _Tp2 > &__b) noexcept
template<typename _Tp>
bool | std::experimental::operator>= (nullptr_t, const shared_ptr< _Tp > &__a) noexcept
template<typename _Tp, typename _Tp1>
shared_ptr< _Tp > | std::experimental::reinterpret_pointer_cast (const shared_ptr< _Tp1 > &__r) noexcept
template<typename _Tp, typename _Tp1>
shared_ptr< _Tp > | std::experimental::static_pointer_cast (const shared_ptr< _Tp1 > &__r) noexcept
template<typename _Tp>
void | std::experimental::swap (shared_ptr< _Tp > &__a, shared_ptr< _Tp > &__b) noexcept
template<typename _Tp>
void | std::experimental::swap (weak_ptr< _Tp > &__a, weak_ptr< _Tp > &__b) noexcept

## Variables
template<typename _Yp, typename _Tp>
constexpr bool | std::experimental::__sp_compatible_v
template<typename _Tp, typename _Yp>
constexpr bool | std::experimental::__sp_is_constructible_v

## Detailed Description

This is an internal header file, included by other library headers. Do not attempt to use it directly. Instead, include <experimental/memory>.

Definition in file experimental/bits/shared_ptr.h.