LLVM  6.0.0svn
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 "llvm/ADT/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

◆ RefCountedBase() [1/2]

template<class Derived >
llvm::RefCountedBase< Derived >::RefCountedBase ( )
default

◆ RefCountedBase() [2/2]

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

Definition at line 76 of file IntrusiveRefCntPtr.h.

Member Function Documentation

◆ Release()

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

Definition at line 80 of file IntrusiveRefCntPtr.h.

References assert().

◆ Retain()

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: