libstdc++
experimental/bits/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.