libstdc++
shared_ptr_base.h File Reference

Go to the source code of this file.

Classes

struct  std::_Sp_ebo_helper< _Nm, _Tp, false >
 
struct  std::_Sp_ebo_helper< _Nm, _Tp, true >
 
class  std::bad_weak_ptr
 
class  std::enable_shared_from_this< _Tp >
 
struct  std::hash< __shared_ptr< _Tp, _Lp > >
 
struct  std::owner_less< _Tp >
 
class  std::shared_ptr< _Tp >
 
class  std::weak_ptr< _Tp >
 

Namespaces

 std
 

Macros

#define __cpp_lib_shared_ptr_arrays
 

Functions

template<typename _Tp , _Lock_policy _Lp, typename _Alloc , typename... _Args>
__shared_ptr< _Tp, _Lp > std::__allocate_shared (const _Alloc &__a, _Args &&...__args)
 
template<typename _Tp , _Lock_policy _Lp, typename... _Args>
__shared_ptr< _Tp, _Lp > std::__make_shared (_Args &&...__args)
 
void std::__throw_bad_weak_ptr ()
 
template<typename _Tp , typename _Tp1 , _Lock_policy _Lp>
__shared_ptr< _Tp, _Lp > std::const_pointer_cast (const __shared_ptr< _Tp1, _Lp > &__r) noexcept
 
template<typename _Tp , typename _Tp1 , _Lock_policy _Lp>
__shared_ptr< _Tp, _Lp > std::dynamic_pointer_cast (const __shared_ptr< _Tp1, _Lp > &__r) noexcept
 
template<typename _Tp1 , typename _Tp2 , _Lock_policy _Lp>
bool std::operator!= (const __shared_ptr< _Tp1, _Lp > &__a, const __shared_ptr< _Tp2, _Lp > &__b) noexcept
 
template<typename _Tp , _Lock_policy _Lp>
bool std::operator!= (const __shared_ptr< _Tp, _Lp > &__a, nullptr_t) noexcept
 
template<typename _Tp , _Lock_policy _Lp>
bool std::operator!= (nullptr_t, const __shared_ptr< _Tp, _Lp > &__a) noexcept
 
template<typename _Tp , typename _Up , _Lock_policy _Lp>
bool std::operator< (const __shared_ptr< _Tp, _Lp > &__a, const __shared_ptr< _Up, _Lp > &__b) noexcept
 
template<typename _Tp , _Lock_policy _Lp>
bool std::operator< (const __shared_ptr< _Tp, _Lp > &__a, nullptr_t) noexcept
 
template<typename _Tp , _Lock_policy _Lp>
bool std::operator< (nullptr_t, const __shared_ptr< _Tp, _Lp > &__a) noexcept
 
template<typename _Tp1 , typename _Tp2 , _Lock_policy _Lp>
bool std::operator<= (const __shared_ptr< _Tp1, _Lp > &__a, const __shared_ptr< _Tp2, _Lp > &__b) noexcept
 
template<typename _Tp , _Lock_policy _Lp>
bool std::operator<= (const __shared_ptr< _Tp, _Lp > &__a, nullptr_t) noexcept
 
template<typename _Tp , _Lock_policy _Lp>
bool std::operator<= (nullptr_t, const __shared_ptr< _Tp, _Lp > &__a) noexcept
 
template<typename _Tp1 , typename _Tp2 , _Lock_policy _Lp>
bool std::operator== (const __shared_ptr< _Tp1, _Lp > &__a, const __shared_ptr< _Tp2, _Lp > &__b) noexcept
 
template<typename _Tp , _Lock_policy _Lp>
bool std::operator== (const __shared_ptr< _Tp, _Lp > &__a, nullptr_t) noexcept
 
template<typename _Tp , _Lock_policy _Lp>
bool std::operator== (nullptr_t, const __shared_ptr< _Tp, _Lp > &__a) noexcept
 
template<typename _Tp1 , typename _Tp2 , _Lock_policy _Lp>
bool std::operator> (const __shared_ptr< _Tp1, _Lp > &__a, const __shared_ptr< _Tp2, _Lp > &__b) noexcept
 
template<typename _Tp , _Lock_policy _Lp>
bool std::operator> (const __shared_ptr< _Tp, _Lp > &__a, nullptr_t) noexcept
 
template<typename _Tp , _Lock_policy _Lp>
bool std::operator> (nullptr_t, const __shared_ptr< _Tp, _Lp > &__a) noexcept
 
template<typename _Tp1 , typename _Tp2 , _Lock_policy _Lp>
bool std::operator>= (const __shared_ptr< _Tp1, _Lp > &__a, const __shared_ptr< _Tp2, _Lp > &__b) noexcept
 
template<typename _Tp , _Lock_policy _Lp>
bool std::operator>= (const __shared_ptr< _Tp, _Lp > &__a, nullptr_t) noexcept
 
template<typename _Tp , _Lock_policy _Lp>
bool std::operator>= (nullptr_t, const __shared_ptr< _Tp, _Lp > &__a) noexcept
 
template<typename _Tp , typename _Tp1 , _Lock_policy _Lp>
__shared_ptr< _Tp, _Lp > std::static_pointer_cast (const __shared_ptr< _Tp1, _Lp > &__r) noexcept
 
template<typename _Tp , _Lock_policy _Lp>
void std::swap (__shared_ptr< _Tp, _Lp > &__a, __shared_ptr< _Tp, _Lp > &__b) noexcept
 
template<typename _Tp , _Lock_policy _Lp>
void std::swap (__weak_ptr< _Tp, _Lp > &__a, __weak_ptr< _Tp, _Lp > &__b) noexcept
 

Detailed Description

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

Definition in file shared_ptr_base.h.