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

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

#include <arcane/utils/AutoRef.h>

+ Graphe d'héritage de Arcane::AutoRefT< T >:
+ Graphe de collaboration de Arcane::AutoRefT< T >:

Types publics

using BaseClass = PtrT< T >
 Type de la classe de base.
 

Fonctions membres publiques

 AutoRefT ()=default
 Construit une instance sans référence.
 
 AutoRefT (T *t)
 Construit une instance référant t.
 
 AutoRefT (const AutoRefT< T > &from)
 Construit une référence référant from.
 
AutoRefT< T > & operator= (const AutoRefT< T > &from)
 Opérateur de copie.
 
AutoRefT< T > & operator= (T *new_value)
 Affecte à l'instance la value new_value.
 
 ~AutoRefT ()
 Destructeur. Décrément le compteur de référence de l'objet pointé
 
- Fonctions membres publiques hérités de Arcane::PtrT< T >
 PtrT ()=default
 Construit une instance sans référence.
 
 PtrT (T *t)
 Construit une instance référant t.
 
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 _addRef ()
 Ajoute une référence à l'objet encapsulé si non nul.
 
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 Arcane::PtrT< T >
PtrT< T > & operator= (const PtrT< T > &from)
 Opérateur de copie.
 
template<typename T2 >
PtrT< T > & operator= (const PtrT< T2 > &from)
 
PtrT< T > & operator= (T *new_value)
 Affecte à l'instance la value new_value.
 
 PtrT (const PtrT< T > &from)
 Construit une référence référant from.
 
template<typename T2 >
 PtrT (const PtrT< T2 > &from)
 Construit une référence référant from.
 
- Attributs protégés hérités de Arcane::PtrT< T >
T * m_value = nullptr
 Pointeur sur l'objet référencé
 

Description détaillée

template<class T>
class Arcane::AutoRefT< T >

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

Cette classe renferme un pointeur d'un type qui implémente les méthodes de la classe abstraite ISharedReference (le paramètre template n'a pas besoin de dériver de cette classe) et incrémente (_addRef()) ou décrémente (_removeRef()) le compteur de référence de l'élément pointé lors des affectations succéssives. 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 39 du fichier AutoRef.h.

Documentation des définitions de type membres

◆ BaseClass

template<class T >
using Arcane::AutoRefT< T >::BaseClass = PtrT<T>

Type de la classe de base.

Définition à la ligne 45 du fichier AutoRef.h.

Documentation des constructeurs et destructeur

◆ AutoRefT() [1/2]

template<class T >
Arcane::AutoRefT< T >::AutoRefT ( T *  t)
inlineexplicit

Construit une instance référant t.

Définition à la ligne 54 du fichier AutoRef.h.

Références Arcane::AutoRefT< T >::_changeValue().

◆ AutoRefT() [2/2]

template<class T >
Arcane::AutoRefT< T >::AutoRefT ( const AutoRefT< T > &  from)
inline

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

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

Références Arcane::AutoRefT< T >::_changeValue().

◆ ~AutoRefT()

template<class T >
Arcane::AutoRefT< T >::~AutoRefT ( )
inline

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

Définition à la ligne 81 du fichier AutoRef.h.

Références Arcane::AutoRefT< T >::_removeRef().

Documentation des fonctions membres

◆ _addRef()

template<class T >
void Arcane::AutoRefT< T >::_addRef ( )
inlineprivate

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

Définition à la ligne 86 du fichier AutoRef.h.

Références Arcane::AutoRefT< T >::m_value.

Référencé par Arcane::AutoRefT< T >::_changeValue().

◆ _changeValue()

template<class T >
void Arcane::AutoRefT< T >::_changeValue ( T *  new_value)
inlineprivate

◆ _removeRef()

template<class T >
void Arcane::AutoRefT< T >::_removeRef ( )
inlineprivate

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

Définition à la ligne 92 du fichier AutoRef.h.

Références Arcane::AutoRefT< T >::m_value.

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

◆ operator=() [1/2]

template<class T >
AutoRefT< T > & Arcane::AutoRefT< T >::operator= ( const AutoRefT< T > &  from)
inline

Opérateur de copie.

Définition à la ligne 67 du fichier AutoRef.h.

Références Arcane::AutoRefT< T >::_changeValue().

◆ operator=() [2/2]

template<class T >
AutoRefT< T > & Arcane::AutoRefT< T >::operator= ( T *  new_value)
inline

Affecte à l'instance la value new_value.

Définition à la ligne 74 du fichier AutoRef.h.

Références Arcane::AutoRefT< T >::_changeValue().

Documentation des données membres

◆ m_value

template<class T >
T* Arcane::PtrT< T >::m_value

Pointeur sur l'objet référencé

Définition à la ligne 127 du fichier Ptr.h.

Référencé par Arcane::AutoRefT< T >::_addRef(), Arcane::AutoRefT< T >::_changeValue(), et Arcane::AutoRefT< T >::_removeRef().


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