Thread-safe implementation of a reference counter. More...
Public Member Functions | |
| void | addReference () |
| void | removeReference () |
| void | _internalAddReference () |
| bool | _internalRemoveReference () |
Private Member Functions | |
| void | _setExternalDeleter (RefBase::DeleterBase *v) |
| RefBase::DeleterBase * | _externalDeleter () const |
| bool | _destroyThisReference () |
| Returns true if the instance must be destroyed by calling operator delete(). | |
Private Attributes | |
| std::atomic< Int32 > | m_nb_ref = 0 |
| RefBase::DeleterBase * | m_external_deleter = nullptr |
Friends | |
| template<typename InstanceType> | |
| class | impl::ReferenceCounterWrapper |
Thread-safe implementation of a reference counter.
The implementation uses a std::atomic to maintain the number of references.
The removeReference() method destroys the instance when this counter of references reaches 0.
This class is internal to Arcane.
Definition at line 94 of file ReferenceCounterImpl.h.
|
inlineprivate |
Returns true if the instance must be destroyed by calling operator delete().
Definition at line 161 of file ReferenceCounterImpl.h.
|
inlineprivate |
Definition at line 148 of file ReferenceCounterImpl.h.
|
inline |
Definition at line 125 of file ReferenceCounterImpl.h.
|
inline |
Definition at line 129 of file ReferenceCounterImpl.h.
|
inlineprivate |
Definition at line 143 of file ReferenceCounterImpl.h.
|
inline |
Definition at line 105 of file ReferenceCounterImpl.h.
|
inline |
Definition at line 111 of file ReferenceCounterImpl.h.
|
friend |
Definition at line 96 of file ReferenceCounterImpl.h.
|
private |
Definition at line 156 of file ReferenceCounterImpl.h.
|
private |
Definition at line 155 of file ReferenceCounterImpl.h.