LLVM 20.0.0git
|
A smart pointer to a reference-counted object that inherits from RefCountedBase or ThreadSafeRefCountedBase. More...
#include "llvm/ADT/IntrusiveRefCntPtr.h"
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 |
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.
using llvm::IntrusiveRefCntPtr< T >::element_type = T |
Definition at line 177 of file IntrusiveRefCntPtr.h.
|
explicitdefault |
|
inline |
Definition at line 180 of file IntrusiveRefCntPtr.h.
|
inline |
Definition at line 181 of file IntrusiveRefCntPtr.h.
|
inline |
Definition at line 182 of file IntrusiveRefCntPtr.h.
|
inline |
Definition at line 186 of file IntrusiveRefCntPtr.h.
|
inline |
Definition at line 192 of file IntrusiveRefCntPtr.h.
|
inline |
Definition at line 196 of file IntrusiveRefCntPtr.h.
|
inline |
Definition at line 205 of file IntrusiveRefCntPtr.h.
Referenced by llvm::ImmutableSetRef< ValT, ValInfo >::add(), llvm::ImmutableSetRef< ValT, ValInfo >::asImmutableSet(), llvm::ImmutableSet< ValT, ValInfo >::begin(), llvm::ImmutableSetRef< ValT, ValInfo >::begin(), llvm::orc::JITDylib::define(), llvm::orc::JITLinkReentryTrampolines::emit(), llvm::ImmutableSet< ValT, ValInfo >::getRoot(), llvm::ImmutableSet< ValT, ValInfo >::getRootWithoutRetain(), llvm::ImmutableSetRef< ValT, ValInfo >::getRootWithoutRetain(), llvm::simplify_type< const IntrusiveRefCntPtr< T > >::getSimplifiedValue(), llvm::simplify_type< IntrusiveRefCntPtr< T > >::getSimplifiedValue(), llvm::orc::ResourceTrackerDefunct::log(), llvm::orc::SymbolInstance::lookup(), and llvm::ImmutableSetRef< ValT, ValInfo >::remove().
|
inlineexplicit |
Definition at line 206 of file IntrusiveRefCntPtr.h.
|
inline |
Definition at line 203 of file IntrusiveRefCntPtr.h.
|
inline |
Definition at line 204 of file IntrusiveRefCntPtr.h.
|
inline |
Definition at line 198 of file IntrusiveRefCntPtr.h.
References llvm::IntrusiveRefCntPtr< T >::swap().
|
inline |
Definition at line 214 of file IntrusiveRefCntPtr.h.
|
inline |
Definition at line 219 of file IntrusiveRefCntPtr.h.
|
inline |
Definition at line 208 of file IntrusiveRefCntPtr.h.
Referenced by llvm::IntrusiveRefCntPtr< T >::operator=().
|
inline |
Definition at line 221 of file IntrusiveRefCntPtr.h.
References llvm::IntrusiveRefCntPtrInfo< T >::useCount().
Definition at line 236 of file IntrusiveRefCntPtr.h.