Implémentation thread-safe d'un compteur de référence. Plus de détails...
Fonctions membres publiques | |
void | addReference () |
void | removeReference () |
void | _internalAddReference () |
bool | _internalRemoveReference () |
Fonctions membres privées | |
void | _setExternalDeleter (RefBase::DeleterBase *v) |
RefBase::DeleterBase * | _externalDeleter () const |
bool | _destroyThisReference () |
Retourne true si l'instance doit être détruite par l'appel à operator delete() | |
Attributs privés | |
std::atomic< Int32 > | m_nb_ref = 0 |
RefBase::DeleterBase * | m_external_deleter = nullptr |
Amis | |
template<typename InstanceType > | |
class | impl::ReferenceCounterWrapper |
Implémentation thread-safe d'un compteur de référence.
L'implémentation utilise un std::atomic pour conserver le nombre de références.
La méthode removeReference() détruit l'instance lorsque ce compteur de référence atteint 0.
Cette classe est interne à Arcane.
Définition à la ligne 79 du fichier ReferenceCounterImpl.h.
|
inlineprivate |
Retourne true si l'instance doit être détruite par l'appel à operator delete()
Définition à la ligne 146 du fichier ReferenceCounterImpl.h.
Références Arccore::RefBase::DeleterBase::m_handle, et Arccore::RefBase::DeleterBase::m_no_destroy.
|
inlineprivate |
Définition à la ligne 133 du fichier ReferenceCounterImpl.h.
|
inline |
Définition à la ligne 110 du fichier ReferenceCounterImpl.h.
|
inline |
Définition à la ligne 114 du fichier ReferenceCounterImpl.h.
|
inlineprivate |
Définition à la ligne 128 du fichier ReferenceCounterImpl.h.
|
inline |
Définition à la ligne 90 du fichier ReferenceCounterImpl.h.
|
inline |
Définition à la ligne 96 du fichier ReferenceCounterImpl.h.
|
friend |
Définition à la ligne 81 du fichier ReferenceCounterImpl.h.
|
private |
Définition à la ligne 141 du fichier ReferenceCounterImpl.h.
|
private |
Définition à la ligne 140 du fichier ReferenceCounterImpl.h.