class RefCountedBase
Declaration
template <class Derived>
class RefCountedBase { /* full declaration omitted */ };
Description
A CRTP mixin class that adds reference counting to a type. The lifetime of an object which inherits from RefCountedBase is managed by calls to Release() and Retain(), which increment and decrement the object's refcount, respectively. When a Release() call decrements the refcount to 0, the object deletes itself.
Declared at: llvm/include/llvm/ADT/IntrusiveRefCntPtr.h:76
Templates
- Derived
Member Variables
- private unsigned int RefCount = 0
Method Overview
- protected RefCountedBase<Derived>()
- protected RefCountedBase<Derived>(const RefCountedBase<Derived> &)
- public void Release() const
- public void Retain() const
- protected ~RefCountedBase<Derived>()
Methods
¶RefCountedBase<Derived>()
RefCountedBase<Derived>()
Declared at: llvm/include/llvm/ADT/IntrusiveRefCntPtr.h:80
¶RefCountedBase<Derived>(
const RefCountedBase<Derived>&)
RefCountedBase<Derived>(
const RefCountedBase<Derived>&)
Declared at: llvm/include/llvm/ADT/IntrusiveRefCntPtr.h:81
Parameters
- const RefCountedBase<Derived>&
¶void Release() const
void Release() const
Declared at: llvm/include/llvm/ADT/IntrusiveRefCntPtr.h:98
¶void Retain() const
void Retain() const
Declared at: llvm/include/llvm/ADT/IntrusiveRefCntPtr.h:96
¶~RefCountedBase<Derived>()
~RefCountedBase<Derived>()
Declared at: llvm/include/llvm/ADT/IntrusiveRefCntPtr.h:85