Arcane  v3.14.10.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
Référence du modèle de la classe Arccore::ReferenceCounter< T >

Encapsulation d'un pointeur avec compteur de référence. Plus de détails...

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

+ Graphe d'héritage de Arccore::ReferenceCounter< T >:
+ Graphe de collaboration de Arccore::ReferenceCounter< T >:

Types publics

typedef CheckedPointer< T > BaseClass
 Type de la classe de base.
 

Fonctions membres publiques

 ReferenceCounter ()
 Construit une instance sans référence.
 
 ReferenceCounter (T *t)
 Construit une instance référant t.
 
 ReferenceCounter (const ReferenceCounter< T > &from)
 Construit une référence référant from.
 
ReferenceCounter< T > & operator= (const ReferenceCounter< T > &from)
 Opérateur de copie.
 
ReferenceCounter< T > & operator= (T *new_value)
 Affecte à l'instance la value new_value.
 
 ~ReferenceCounter ()
 Destructeur. Décrément le compteur de référence de l'objet pointé
 
- Fonctions membres publiques hérités de Arccore::CheckedPointer< T >
 CheckedPointer ()
 Construit une instance sans référence.
 
 CheckedPointer (T *t)
 Construit une instance référant t.
 
 operator bool () const
 
T * operator-> () const
 Retourne l'objet référé par l'instance.
 
T & operator* () const
 Retourne l'objet référé par l'instance.
 
T * get () const
 Retourne l'objet référé par l'instance.
 
bool isNull () const
 

Attributs publics

T * m_value
 Pointeur sur l'objet référencé
 

Fonctions membres privées

void _removeRef ()
 Supprimer une référence à l'objet encapsulé si non nul.
 
void _changeValue (T *new_value)
 Change l'objet référencé en new_value.
 

Membres hérités additionnels

- Fonctions membres protégées hérités de Arccore::CheckedPointer< T >
const CheckedPointer< T > & operator= (const CheckedPointer< T > &from)
 Opérateur de copie.
 
template<typename T2 >
const CheckedPointer< T > & operator= (const CheckedPointer< T2 > &from)
 
const CheckedPointer< T > & operator= (T *new_value)
 Affecte à l'instance la value new_value.
 
 CheckedPointer (const CheckedPointer< T > &from)
 Construit une référence référant from.
 
template<typename T2 >
 CheckedPointer (const CheckedPointer< T2 > &from)
 Construit une référence référant from.
 
- Attributs protégés hérités de Arccore::CheckedPointer< T >
T * m_value
 Pointeur sur l'objet référencé
 

Description détaillée

template<class T>
class Arccore::ReferenceCounter< T >

Encapsulation d'un pointeur avec compteur de référence.

Cette classe renferme un pointeur d'un type qui doit implémenter les méthodes suivantes:

  • addReference() pour ajouter une référence
  • removeReference() pour supprimer une référence.

A la différence de std::shared_ptr, le compteur de référence est donc géré en interne par le type T. Cette classe n'effectue aucune action basée sur la valeur de compteur de référence. la destruction éventuelle de l'objet lorsque le compteur de référence arrive à zéro est gérée par l'objet lui même.

Définition à la ligne 43 du fichier ReferenceCounter.h.

Documentation des définitions de type membres

◆ BaseClass

template<class T >
typedef CheckedPointer<T> Arccore::ReferenceCounter< T >::BaseClass

Type de la classe de base.

Définition à la ligne 49 du fichier ReferenceCounter.h.

Documentation des constructeurs et destructeur

◆ ReferenceCounter() [1/3]

template<class T >
Arccore::ReferenceCounter< T >::ReferenceCounter ( )
inline

Construit une instance sans référence.

Définition à la ligne 56 du fichier ReferenceCounter.h.

◆ ReferenceCounter() [2/3]

template<class T >
Arccore::ReferenceCounter< T >::ReferenceCounter ( T *  t)
inlineexplicit

Construit une instance référant t.

Définition à la ligne 58 du fichier ReferenceCounter.h.

Références Arccore::ReferenceCounter< T >::_changeValue().

◆ ReferenceCounter() [3/3]

template<class T >
Arccore::ReferenceCounter< T >::ReferenceCounter ( const ReferenceCounter< T > &  from)
inline

Construit une référence référant from.

Définition à la ligne 60 du fichier ReferenceCounter.h.

Références Arccore::ReferenceCounter< T >::_changeValue(), et Arccore::ReferenceCounter< T >::m_value.

◆ ~ReferenceCounter()

template<class T >
Arccore::ReferenceCounter< T >::~ReferenceCounter ( )
inline

Destructeur. Décrément le compteur de référence de l'objet pointé

Définition à la ligne 78 du fichier ReferenceCounter.h.

Références Arccore::ReferenceCounter< T >::_removeRef().

Documentation des fonctions membres

◆ _changeValue()

◆ _removeRef()

template<class T >
void Arccore::ReferenceCounter< T >::_removeRef ( )
inlineprivate

Supprimer une référence à l'objet encapsulé si non nul.

Définition à la ligne 83 du fichier ReferenceCounter.h.

Références Arccore::ReferenceCounter< T >::m_value.

Référencé par Arccore::ReferenceCounter< T >::_changeValue(), et Arccore::ReferenceCounter< T >::~ReferenceCounter().

◆ operator=() [1/2]

template<class T >
ReferenceCounter< T > & Arccore::ReferenceCounter< T >::operator= ( const ReferenceCounter< T > &  from)
inline

Opérateur de copie.

Définition à la ligne 64 du fichier ReferenceCounter.h.

Références Arccore::ReferenceCounter< T >::_changeValue(), et Arccore::ReferenceCounter< T >::m_value.

◆ operator=() [2/2]

template<class T >
ReferenceCounter< T > & Arccore::ReferenceCounter< T >::operator= ( T *  new_value)
inline

Affecte à l'instance la value new_value.

Définition à la ligne 71 du fichier ReferenceCounter.h.

Références Arccore::ReferenceCounter< T >::_changeValue().

Documentation des données membres

◆ m_value


La documentation de cette classe a été générée à partir des fichiers suivants :