LLVM  4.0.0
Public Member Functions | List of all members
llvm::RefCountedBase< Derived > Class Template Reference

A CRTP mixin class that adds reference counting to a type. More...

#include <IntrusiveRefCntPtr.h>

Public Member Functions

 RefCountedBase ()=default
 
 RefCountedBase (const RefCountedBase &)
 
void Retain () const
 
void Release () const
 

Detailed Description

template<class Derived>
class llvm::RefCountedBase< Derived >

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.

Definition at line 71 of file IntrusiveRefCntPtr.h.

Constructor & Destructor Documentation

template<class Derived >
llvm::RefCountedBase< Derived >::RefCountedBase ( )
default
template<class Derived >
llvm::RefCountedBase< Derived >::RefCountedBase ( const RefCountedBase< Derived > &  )
inline

Definition at line 76 of file IntrusiveRefCntPtr.h.

Member Function Documentation

template<class Derived >
void llvm::RefCountedBase< Derived >::Release ( ) const
inline

Definition at line 79 of file IntrusiveRefCntPtr.h.

References assert().

template<class Derived >
void llvm::RefCountedBase< Derived >::Retain ( ) const
inline

Definition at line 78 of file IntrusiveRefCntPtr.h.


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