Encapsulation d'un pointeur avec compteur de référence. Plus de détails...
Graphe de collaboration de Arcane::AutoRef2< T >:Types publics | |
| using | ThatClass = AutoRef2<T> |
Fonctions membres publiques | |
| AutoRef2 ()=default | |
| Construit une instance sans référence. | |
| AutoRef2 (T *t) | |
| Construit une instance référant t. | |
| AutoRef2 (const ThatClass &from) | |
| Construit une référence référant from. | |
| AutoRef2 (ThatClass &&from) noexcept | |
| Construit une référence référant from. | |
| ThatClass & | operator= (const ThatClass &from) |
| Opérateur de copie. | |
| ThatClass & | operator= (ThatClass &&from) noexcept |
| Opérateur de déplacement. | |
| ThatClass & | operator= (T *new_value) |
| Affecte à l'instance la value new_value. | |
| ~AutoRef2 () | |
| Destructeur. Décrément le compteur de référence de l'objet pointé | |
| 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 |
| operator bool () const | |
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. | |
Attributs privés | |
| T * | m_value = nullptr |
| Pointeur sur l'objet référencé | |
Amis | |
| bool | operator== (const ThatClass &a, const ThatClass &b) |
| bool | operator!= (const ThatClass &a, const ThatClass &b) |
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 AutoRef2.h.
| using Arcane::AutoRef2< T >::ThatClass = AutoRef2<T> |
Définition à la ligne 43 du fichier AutoRef2.h.
|
inlineexplicit |
Construit une instance référant t.
Définition à la ligne 50 du fichier AutoRef2.h.
Références _changeValue().
Voici le graphe d'appel pour cette fonction :
|
inline |
Construit une référence référant from.
Définition à la ligne 55 du fichier AutoRef2.h.
Références _changeValue(), et m_value.
Voici le graphe d'appel pour cette fonction :
|
inlinenoexcept |
Construit une référence référant from.
Définition à la ligne 60 du fichier AutoRef2.h.
|
inline |
Destructeur. Décrément le compteur de référence de l'objet pointé
Définition à la ligne 89 du fichier AutoRef2.h.
Références _removeRef().
Voici le graphe d'appel pour cette fonction :
|
inlineprivate |
Ajoute une référence à l'objet encapsulé si non nul.
Définition à la ligne 123 du fichier AutoRef2.h.
Références m_value.
Référencé par _changeValue().
Voici le graphe des appelants de cette fonction :
|
inlineprivate |
Change l'objet référencé en new_value.
Définition à la ligne 135 du fichier AutoRef2.h.
Références _addRef(), _removeRef(), et m_value.
Référencé par AutoRef2(), AutoRef2(), operator=(), et operator=().
Voici le graphe d'appel pour cette fonction :
Voici le graphe des appelants de cette fonction :
|
inlineprivate |
Supprimer une référence à l'objet encapsulé si non nul.
Définition à la ligne 129 du fichier AutoRef2.h.
Références m_value.
Référencé par _changeValue(), operator=(), et ~AutoRef2().
Voici le graphe des appelants de cette fonction :
|
inline |
Retourne l'objet référé par l'instance.
Définition à la ligne 106 du fichier AutoRef2.h.
Références m_value.
|
inline |
Définition à la ligne 108 du fichier AutoRef2.h.
|
inline |
Définition à la ligne 109 du fichier AutoRef2.h.
|
inline |
Retourne l'objet référé par l'instance.
Définition à la ligne 99 du fichier AutoRef2.h.
Références m_value.
|
inline |
Retourne l'objet référé par l'instance.
Définition à la ligne 92 du fichier AutoRef2.h.
Références m_value.
|
inline |
Opérateur de copie.
Définition à la ligne 67 du fichier AutoRef2.h.
Références _changeValue(), et m_value.
Voici le graphe d'appel pour cette fonction :
|
inline |
Affecte à l'instance la value new_value.
Définition à la ligne 82 du fichier AutoRef2.h.
Références _changeValue().
Voici le graphe d'appel pour cette fonction :
|
inlinenoexcept |
Opérateur de déplacement.
Définition à la ligne 73 du fichier AutoRef2.h.
Références _removeRef(), et m_value.
Voici le graphe d'appel pour cette fonction :Définition à la ligne 115 du fichier AutoRef2.h.
Définition à la ligne 111 du fichier AutoRef2.h.
|
private |
Pointeur sur l'objet référencé
Définition à la ligne 146 du fichier AutoRef2.h.
Référencé par _addRef(), _changeValue(), _removeRef(), AutoRef2(), get(), operator*(), operator->(), operator=(), et operator=().