Arcane  v3.14.10.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::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 79 du fichier ReferenceCounterImpl.h.

Documentation des fonctions membres

◆ _destroyThisReference()

bool Arccore::ReferenceCounterImpl::_destroyThisReference ( )
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.

◆ _externalDeleter()

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

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

◆ _internalAddReference()

void Arccore::ReferenceCounterImpl::_internalAddReference ( )
inline

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

◆ _internalRemoveReference()

bool Arccore::ReferenceCounterImpl::_internalRemoveReference ( )
inline

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

◆ _setExternalDeleter()

void Arccore::ReferenceCounterImpl::_setExternalDeleter ( RefBase::DeleterBase v)
inlineprivate

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

◆ addReference()

void Arccore::ReferenceCounterImpl::addReference ( )
inline

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

◆ removeReference()

void Arccore::ReferenceCounterImpl::removeReference ( )
inline

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

Documentation des données membres

◆ m_external_deleter

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

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

◆ m_nb_ref

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

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


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