libstdc++
bits/shared_ptr.h File Reference

Go to the source code of this file.

Classes

class  std::enable_shared_from_this< _Tp >
 
struct  std::hash< shared_ptr< _Tp > >
 
struct  std::owner_less< _Tp >
 
struct  std::owner_less< shared_ptr< _Tp > >
 
struct  std::owner_less< void >
 
struct  std::owner_less< weak_ptr< _Tp > >
 
class  std::shared_ptr< _Tp >
 
class  std::weak_ptr< _Tp >
 

Namespaces

 std
 

Macros

#define __cpp_lib_enable_shared_from_this
 

Functions

template<typename _Tp , typename _Alloc , typename... _Args>
shared_ptr< _Tp > std::allocate_shared (const _Alloc &__a, _Args &&...__args)
 
template<typename _Tp , typename _Up >
shared_ptr< _Tp > std::const_pointer_cast (const shared_ptr< _Up > &__r) noexcept
 
template<typename _Tp , typename _Up >
shared_ptr< _Tp > std::dynamic_pointer_cast (const shared_ptr< _Up > &__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 _Tp , typename _Up >
bool std::operator!= (const shared_ptr< _Tp > &__a, const shared_ptr< _Up > &__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 _Up >
bool std::operator< (const shared_ptr< _Tp > &__a, const shared_ptr< _Up > &__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 _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 _Tp , typename _Up >
bool std::operator<= (const shared_ptr< _Tp > &__a, const shared_ptr< _Up > &__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 _Up >
bool std::operator== (const shared_ptr< _Tp > &__a, const shared_ptr< _Up > &__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 _Up >
bool std::operator> (const shared_ptr< _Tp > &__a, const shared_ptr< _Up > &__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 _Up >
bool std::operator>= (const shared_ptr< _Tp > &__a, const shared_ptr< _Up > &__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 _Up >
shared_ptr< _Tp > std::static_pointer_cast (const shared_ptr< _Up > &__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
 

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 bits/shared_ptr.h.