LLDB  mainline
Classes | Public Types | Public Member Functions | Static Public Member Functions | Friends | List of all members
lldb_private::SharingPtr< T > Class Template Reference

#include <SharingPtr.h>

Inheritance diagram for lldb_private::SharingPtr< T >:
Inheritance graph
[legend]

Public Types

typedef T element_type
 

Public Member Functions

 SharingPtr ()
 
 SharingPtr (std::nullptr_t)
 
template<class Y >
 SharingPtr (Y *p)
 
template<class Y >
 SharingPtr (Y *p, imp::shared_count *ctrl_block)
 
template<class Y >
 SharingPtr (const SharingPtr< Y > &r, element_type *p)
 
 SharingPtr (const SharingPtr &r)
 
template<class Y >
 SharingPtr (const SharingPtr< Y > &r)
 
 ~SharingPtr ()
 
SharingPtroperator= (const SharingPtr &r)
 
template<class Y >
SharingPtroperator= (const SharingPtr< Y > &r)
 
void swap (SharingPtr &r)
 
void reset ()
 
template<class Y >
void reset (Y *p)
 
void reset (std::nullptr_t)
 
element_typeget () const
 
element_typeoperator* () const
 
element_typeoperator-> () const
 
long use_count () const
 
bool unique () const
 
bool empty () const
 
 operator nat * () const
 
template<class Y >
SharingPtr< T > & operator= (const SharingPtr< Y > &r)
 

Static Public Member Functions

static SharingPtr< T > make_shared ()
 
template<class A0 >
static SharingPtr< T > make_shared (A0 &)
 
template<class A0 , class A1 >
static SharingPtr< T > make_shared (A0 &, A1 &)
 
template<class A0 , class A1 , class A2 >
static SharingPtr< T > make_shared (A0 &, A1 &, A2 &)
 
template<class A0 , class A1 , class A2 , class A3 >
static SharingPtr< T > make_shared (A0 &, A1 &, A2 &, A3 &)
 
template<class A0 , class A1 , class A2 , class A3 , class A4 >
static SharingPtr< T > make_shared (A0 &, A1 &, A2 &, A3 &, A4 &)
 

Friends

template<class U >
class SharingPtr
 

Detailed Description

template<class T>
class lldb_private::SharingPtr< T >

Definition at line 111 of file SharingPtr.h.

Member Typedef Documentation

◆ element_type

template<class T>
typedef T lldb_private::SharingPtr< T >::element_type

Definition at line 113 of file SharingPtr.h.

Constructor & Destructor Documentation

◆ SharingPtr() [1/7]

template<class T >
lldb_private::SharingPtr< T >::SharingPtr ( )
inline

◆ SharingPtr() [2/7]

template<class T >
lldb_private::SharingPtr< T >::SharingPtr ( std::nullptr_t  )
inline

Definition at line 173 of file SharingPtr.h.

◆ SharingPtr() [3/7]

template<class T >
template<class Y >
lldb_private::SharingPtr< T >::SharingPtr ( Y *  p)
explicit

Definition at line 178 of file SharingPtr.h.

◆ SharingPtr() [4/7]

template<class T >
template<class Y >
lldb_private::SharingPtr< T >::SharingPtr ( Y *  p,
imp::shared_count ctrl_block 
)
explicit

Definition at line 187 of file SharingPtr.h.

◆ SharingPtr() [5/7]

template<class T >
template<class Y >
lldb_private::SharingPtr< T >::SharingPtr ( const SharingPtr< Y > &  r,
element_type p 
)
inline

Definition at line 192 of file SharingPtr.h.

References lldb_private::imp::shared_count::add_shared().

◆ SharingPtr() [6/7]

template<class T >
lldb_private::SharingPtr< T >::SharingPtr ( const SharingPtr< T > &  r)
inline

Definition at line 199 of file SharingPtr.h.

References lldb_private::imp::shared_count::add_shared().

◆ SharingPtr() [7/7]

template<class T >
template<class Y >
lldb_private::SharingPtr< T >::SharingPtr ( const SharingPtr< Y > &  r)
inline

Definition at line 207 of file SharingPtr.h.

References lldb_private::imp::shared_count::add_shared().

◆ ~SharingPtr()

template<class T >
lldb_private::SharingPtr< T >::~SharingPtr ( )

Definition at line 213 of file SharingPtr.h.

References lldb_private::imp::shared_count::release_shared().

Member Function Documentation

◆ empty()

template<class T>
bool lldb_private::SharingPtr< T >::empty ( ) const
inline

Definition at line 147 of file SharingPtr.h.

◆ get()

template<class T>
element_type* lldb_private::SharingPtr< T >::get ( ) const
inline

◆ make_shared() [1/6]

template<class T >
SharingPtr< T > lldb_private::SharingPtr< T >::make_shared ( )
static

Definition at line 248 of file SharingPtr.h.

Referenced by lldb_private::make_shared().

◆ make_shared() [2/6]

template<class T >
template<class A0 >
SharingPtr< T > lldb_private::SharingPtr< T >::make_shared ( A0 &  a0)
static

Definition at line 258 of file SharingPtr.h.

◆ make_shared() [3/6]

template<class T >
template<class A0 , class A1 >
SharingPtr< T > lldb_private::SharingPtr< T >::make_shared ( A0 &  a0,
A1 &  a1 
)
static

Definition at line 268 of file SharingPtr.h.

◆ make_shared() [4/6]

template<class T >
template<class A0 , class A1 , class A2 >
SharingPtr< T > lldb_private::SharingPtr< T >::make_shared ( A0 &  a0,
A1 &  a1,
A2 &  a2 
)
static

Definition at line 278 of file SharingPtr.h.

◆ make_shared() [5/6]

template<class T >
template<class A0 , class A1 , class A2 , class A3 >
SharingPtr< T > lldb_private::SharingPtr< T >::make_shared ( A0 &  a0,
A1 &  a1,
A2 &  a2,
A3 &  a3 
)
static

Definition at line 288 of file SharingPtr.h.

◆ make_shared() [6/6]

template<class T >
template<class A0 , class A1 , class A2 , class A3 , class A4 >
SharingPtr< T > lldb_private::SharingPtr< T >::make_shared ( A0 &  a0,
A1 &  a1,
A2 &  a2,
A3 &  a3,
A4 &  a4 
)
static

Definition at line 298 of file SharingPtr.h.

◆ operator nat *()

template<class T>
lldb_private::SharingPtr< T >::operator nat * ( ) const
inline

Definition at line 148 of file SharingPtr.h.

References lldb_private::make_shared().

◆ operator*()

template<class T>
element_type& lldb_private::SharingPtr< T >::operator* ( ) const
inline

Definition at line 143 of file SharingPtr.h.

◆ operator->()

template<class T>
element_type* lldb_private::SharingPtr< T >::operator-> ( ) const
inline

Definition at line 144 of file SharingPtr.h.

◆ operator=() [1/3]

template<class T >
SharingPtr< T > & lldb_private::SharingPtr< T >::operator= ( const SharingPtr< T > &  r)
inline

Definition at line 219 of file SharingPtr.h.

References lldb_private::SharingPtr< T >::SharingPtr().

◆ operator=() [2/3]

template<class T>
template<class Y >
SharingPtr& lldb_private::SharingPtr< T >::operator= ( const SharingPtr< Y > &  r)

◆ operator=() [3/3]

template<class T>
template<class Y >
SharingPtr<T>& lldb_private::SharingPtr< T >::operator= ( const SharingPtr< Y > &  r)
inline

Definition at line 226 of file SharingPtr.h.

References lldb_private::SharingPtr< T >::SharingPtr().

◆ reset() [1/3]

template<class T >
void lldb_private::SharingPtr< T >::reset ( )
inline

◆ reset() [2/3]

template<class T >
template<class Y >
void lldb_private::SharingPtr< T >::reset ( Y *  p)
inline

Definition at line 244 of file SharingPtr.h.

References lldb_private::SharingPtr< T >::SharingPtr().

◆ reset() [3/3]

template<class T >
void lldb_private::SharingPtr< T >::reset ( std::nullptr_t  p)
inline

Definition at line 240 of file SharingPtr.h.

References lldb_private::SharingPtr< T >::reset().

◆ swap()

template<class T >
void lldb_private::SharingPtr< T >::swap ( SharingPtr< T > &  r)
inline

Definition at line 231 of file SharingPtr.h.

References lldb_private::swap().

Referenced by lldb_private::swap().

◆ unique()

template<class T>
bool lldb_private::SharingPtr< T >::unique ( ) const
inline

Definition at line 146 of file SharingPtr.h.

References lldb_private::imp::shared_count::use_count().

◆ use_count()

template<class T>
long lldb_private::SharingPtr< T >::use_count ( ) const
inline

Friends And Related Function Documentation

◆ SharingPtr

template<class T>
template<class U >
friend class SharingPtr
friend

Definition at line 166 of file SharingPtr.h.


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