libstdc++
std::enable_shared_from_this< _Tp > Class Template Reference

#include <memory>

Public Member Functions

shared_ptr< _Tp > shared_from_this ()
 
shared_ptr< const _Tp > shared_from_this () const
 
weak_ptr< _Tp > weak_from_this () noexcept
 
weak_ptr< const _Tp > weak_from_this () const noexcept
 

Protected Member Functions

 enable_shared_from_this (const enable_shared_from_this &) noexcept
 
enable_shared_from_thisoperator= (const enable_shared_from_this &) noexcept
 

Friends

const enable_shared_from_this__enable_shared_from_this_base (const __shared_count<> &, const enable_shared_from_this *__p)
 
template<typename , _Lock_policy >
class __shared_ptr
 

Detailed Description

template<typename _Tp>
class std::enable_shared_from_this< _Tp >

Base class allowing use of the member function shared_from_this.

Since
C++11

Definition at line 918 of file bits/shared_ptr.h.

Constructor & Destructor Documentation

◆ enable_shared_from_this() [1/2]

template<typename _Tp >
constexpr std::enable_shared_from_this< _Tp >::enable_shared_from_this ( )
inlineconstexprprotectednoexcept

Definition at line 921 of file bits/shared_ptr.h.

◆ enable_shared_from_this() [2/2]

template<typename _Tp >
std::enable_shared_from_this< _Tp >::enable_shared_from_this ( const enable_shared_from_this< _Tp > &  )
inlineprotectednoexcept

Definition at line 923 of file bits/shared_ptr.h.

◆ ~enable_shared_from_this()

template<typename _Tp >
std::enable_shared_from_this< _Tp >::~enable_shared_from_this ( )
inlineprotected

Definition at line 929 of file bits/shared_ptr.h.

Member Function Documentation

◆ operator=()

template<typename _Tp >
enable_shared_from_this & std::enable_shared_from_this< _Tp >::operator= ( const enable_shared_from_this< _Tp > &  )
inlineprotectednoexcept

Definition at line 926 of file bits/shared_ptr.h.

◆ shared_from_this() [1/2]

template<typename _Tp >
shared_ptr< _Tp > std::enable_shared_from_this< _Tp >::shared_from_this ( )
inline

Definition at line 933 of file bits/shared_ptr.h.

◆ shared_from_this() [2/2]

template<typename _Tp >
shared_ptr< const _Tp > std::enable_shared_from_this< _Tp >::shared_from_this ( ) const
inline

Definition at line 937 of file bits/shared_ptr.h.

◆ weak_from_this() [1/2]

template<typename _Tp >
weak_ptr< const _Tp > std::enable_shared_from_this< _Tp >::weak_from_this ( ) const
inlinenoexcept

Get a weak_ptr referring to the object that has *this as its base.

Since
C++17

Definition at line 950 of file bits/shared_ptr.h.

◆ weak_from_this() [2/2]

template<typename _Tp >
weak_ptr< _Tp > std::enable_shared_from_this< _Tp >::weak_from_this ( )
inlinenoexcept

Get a weak_ptr referring to the object that has *this as its base.

Since
C++17

Definition at line 946 of file bits/shared_ptr.h.

Friends And Related Symbol Documentation

◆ __enable_shared_from_this_base

template<typename _Tp >
const enable_shared_from_this * __enable_shared_from_this_base ( const __shared_count<> &  ,
const enable_shared_from_this< _Tp > *  __p 
)
friend

Definition at line 963 of file bits/shared_ptr.h.

◆ __shared_ptr

template<typename _Tp >
template<typename , _Lock_policy >
friend class __shared_ptr
friend

Definition at line 968 of file bits/shared_ptr.h.


The documentation for this class was generated from the following file: