Arcane  4.1.11.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
Référence de la classe Arccore::ReferenceCounterImpl

Implémentation thread-safe d'un compteur de référence. Plus de détails...

#include </__w/arcaneframework.github.io/arcaneframework.github.io/framework/arccore/src/base/arccore/base/ReferenceCounterImpl.h>

Graphe d'héritage de Arccore::ReferenceCounterImpl:
Graphe de collaboration de Arccore::ReferenceCounterImpl:

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< Int32m_nb_ref = 0
RefBase::DeleterBase * m_external_deleter = nullptr

Amis

template<typename InstanceType>
class impl::ReferenceCounterWrapper

Description détaillée

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 91 du fichier ReferenceCounterImpl.h.

Documentation des fonctions membres

◆ _destroyThisReference()

Retourne true si l'instance doit être détruite par l'appel à operator delete().

Définition à la ligne 158 du fichier ReferenceCounterImpl.h.

◆ _externalDeleter()

RefBase::DeleterBase * Arcane::ReferenceCounterImpl::_externalDeleter ( ) const
inlineprivate

Définition à la ligne 145 du fichier ReferenceCounterImpl.h.

◆ _internalAddReference()

void Arcane::ReferenceCounterImpl::_internalAddReference ( )
inline

Définition à la ligne 122 du fichier ReferenceCounterImpl.h.

◆ _internalRemoveReference()

bool Arcane::ReferenceCounterImpl::_internalRemoveReference ( )
inline

Définition à la ligne 126 du fichier ReferenceCounterImpl.h.

◆ _setExternalDeleter()

void Arcane::ReferenceCounterImpl::_setExternalDeleter ( RefBase::DeleterBase * v)
inlineprivate

Définition à la ligne 140 du fichier ReferenceCounterImpl.h.

◆ addReference()

void Arcane::ReferenceCounterImpl::addReference ( )
inline

Définition à la ligne 102 du fichier ReferenceCounterImpl.h.

◆ removeReference()

void Arcane::ReferenceCounterImpl::removeReference ( )
inline

Définition à la ligne 108 du fichier ReferenceCounterImpl.h.

◆ impl::ReferenceCounterWrapper

template<typename InstanceType>
friend class impl::ReferenceCounterWrapper
friend

Définition à la ligne 93 du fichier ReferenceCounterImpl.h.

Documentation des données membres

◆ m_external_deleter

RefBase::DeleterBase* Arcane::ReferenceCounterImpl::m_external_deleter = nullptr
private

Définition à la ligne 153 du fichier ReferenceCounterImpl.h.

◆ m_nb_ref

std::atomic<Int32> Arcane::ReferenceCounterImpl::m_nb_ref = 0
private

Définition à la ligne 152 du fichier ReferenceCounterImpl.h.


La documentation de cette classe a été générée à partir du fichier suivant :