Arcane  v3.16.0.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
Référence de la classe Arcane::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 Arcane::ReferenceCounterImpl:
+ Graphe de collaboration de Arcane::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::DeleterBasem_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 90 du fichier ReferenceCounterImpl.h.

Documentation des fonctions membres

◆ _destroyThisReference()

bool Arcane::ReferenceCounterImpl::_destroyThisReference ( )
inlineprivate

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

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

◆ _externalDeleter()

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

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

◆ _internalAddReference()

void Arcane::ReferenceCounterImpl::_internalAddReference ( )
inline

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

◆ _internalRemoveReference()

bool Arcane::ReferenceCounterImpl::_internalRemoveReference ( )
inline

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

◆ _setExternalDeleter()

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

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

◆ addReference()

void Arcane::ReferenceCounterImpl::addReference ( )
inline

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

◆ removeReference()

void Arcane::ReferenceCounterImpl::removeReference ( )
inline

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

Documentation des fonctions amies et associées

◆ impl::ReferenceCounterWrapper

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

Définition à la ligne 92 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 152 du fichier ReferenceCounterImpl.h.

◆ m_nb_ref

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

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


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