LLVM: llvm::IntrusiveRefCntPtr< T > Class Template Reference (original) (raw)

A smart pointer to a reference-counted object that inherits from RefCountedBase or ThreadSafeRefCountedBase. More...

#include "[llvm/ADT/IntrusiveRefCntPtr.h](IntrusiveRefCntPtr%5F8h%5Fsource.html)"

Public Types
using element_type = T
Public Member Functions
IntrusiveRefCntPtr ()=default
IntrusiveRefCntPtr (T *obj)
IntrusiveRefCntPtr (const IntrusiveRefCntPtr &S)
IntrusiveRefCntPtr (IntrusiveRefCntPtr &&S)
template<class X, std::enable_if_t< std::is_convertible< X *, T * >::value, bool > = true>
IntrusiveRefCntPtr (IntrusiveRefCntPtr< X > S)
template<class X, std::enable_if_t< std::is_convertible< X *, T * >::value, bool > = true>
IntrusiveRefCntPtr (std::unique_ptr< X > S)
~IntrusiveRefCntPtr ()
IntrusiveRefCntPtr & operator= (IntrusiveRefCntPtr S)
T & operator* () const
T * operator-> () const
T * get () const
operator bool () const
void swap (IntrusiveRefCntPtr &other)
void reset ()
void resetWithoutRelease ()
unsigned useCount () const
Friends
template<typename X>
class IntrusiveRefCntPtr

template<typename T>
class llvm::IntrusiveRefCntPtr< T >

A smart pointer to a reference-counted object that inherits from RefCountedBase or ThreadSafeRefCountedBase.

This class increments its pointee's reference count when it is created, and decrements its refcount when it's destroyed (or is changed to point to a different object).

Definition at line 173 of file IntrusiveRefCntPtr.h.

element_type

IntrusiveRefCntPtr() [2/6]

IntrusiveRefCntPtr() [3/6]

IntrusiveRefCntPtr() [4/6]

IntrusiveRefCntPtr() [5/6]

template<typename T>

template<class X, std::enable_if_t< std::is_convertible< X *, T * >::value, bool > = true>

IntrusiveRefCntPtr() [6/6]

template<typename T>

template<class X, std::enable_if_t< std::is_convertible< X *, T * >::value, bool > = true>

~IntrusiveRefCntPtr()

get()

operator bool()

operator*()

operator->()

operator=()

reset()

resetWithoutRelease()

swap()

useCount()

IntrusiveRefCntPtr

template<typename T>

template<typename X>


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