Implémentation d'un compteur de référence utilisant std::atomic. Plus de détails...
#include <arcane/core/SharedReference.h>
Fonctions membres publiques | |
void | addRef () override |
Incrémente le compteur de référence. | |
void | removeRef () override |
Décrémente le compteur de référence. | |
Int32 | refCount () const override |
Retourne la valeur du compteur de référence. | |
virtual void | deleteMe ()=0 |
Détruit l'objet référencé | |
Fonctions membres publiques hérités de Arcane::ISharedReference | |
virtual | ~ISharedReference () |
Libère les ressources. | |
Attributs privés | |
std::atomic< Int32 > | m_ref_count |
Nombre de références sur l'objet. | |
Implémentation d'un compteur de référence utilisant std::atomic.
Définition à la ligne 33 du fichier SharedReference.h.
|
inline |
Définition à la ligne 38 du fichier SharedReference.h.
|
overridevirtual |
Incrémente le compteur de référence.
Implémente Arcane::ISharedReference.
Définition à la ligne 27 du fichier SharedReference.cc.
Références m_ref_count.
Référencé par Arcane::ItemPairGroupImpl::addRef().
Détruit l'objet référencé
Implémenté dans Arcane::ItemGroupImpl, Arcane::ItemPairGroupImpl, Arcane::PropertiesImpl, et Arcane::VariableCollection::Impl.
Référencé par removeRef().
|
inlineoverridevirtual |
Retourne la valeur du compteur de référence.
Implémente Arcane::ISharedReference.
Définition à la ligne 44 du fichier SharedReference.h.
Référencé par Arcane::ItemPairGroupImpl::nbRef().
|
overridevirtual |
Décrémente le compteur de référence.
Implémente Arcane::ISharedReference.
Définition à la ligne 36 du fichier SharedReference.cc.
Références Arcane::arcaneNoReferenceErrorCallTerminate(), deleteMe(), et m_ref_count.
Référencé par Arcane::ItemPairGroupImpl::removeRef().
|
private |
Nombre de références sur l'objet.
Définition à la ligne 51 du fichier SharedReference.h.
Référencé par addRef(), et removeRef().