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:
- include/llvm/ADT/IntrusiveRefCntPtr.h