12#ifndef ARCANE_UTILS_AUTOREF_H
13#define ARCANE_UTILS_AUTOREF_H
17#include "arcane/utils/Ptr.h"
76 _changeValue(new_value);
98 void _changeValue(T* new_value)
140 _changeValue(from.m_value);
144 : m_value(from.m_value)
146 from.m_value =
nullptr;
152 _changeValue(from.m_value);
159 m_value = from.m_value;
160 from.m_value =
nullptr;
167 _changeValue(new_value);
177 ARCANE_CHECK_PTR(m_value);
184 ARCANE_CHECK_PTR(m_value);
189 T*
get()
const {
return m_value; }
191 bool isNull()
const {
return !m_value; }
192 operator bool()
const {
return m_value; }
194 friend bool operator==(
const ThatClass& a,
const ThatClass& b)
196 return a.get() == b.get();
198 friend bool operator!=(
const ThatClass& a,
const ThatClass& b)
200 return a.get() != b.get();
215 m_value->removeRef();
218 void _changeValue(T* new_value)
220 if (m_value == new_value)
229 T* m_value =
nullptr;
Encapsulation d'un pointeur avec compteur de référence.
ThatClass & operator=(ThatClass &&from) noexcept
Opérateur de déplacement.
AutoRef2(const ThatClass &from)
Construit une référence référant from.
AutoRef2()=default
Construit une instance sans référence.
AutoRef2(ThatClass &&from) noexcept
Construit une référence référant from.
~AutoRef2()
Destructeur. Décrément le compteur de référence de l'objet pointé
ThatClass & operator=(const ThatClass &from)
Opérateur de copie.
T * get() const
Retourne l'objet référé par l'instance.
T & operator*() const
Retourne l'objet référé par l'instance.
ThatClass & operator=(T *new_value)
Affecte à l'instance la value new_value.
T * operator->() const
Retourne l'objet référé par l'instance.
AutoRef2(T *t)
Construit une instance référant t.
Encapsulation d'un pointeur avec compteur de référence.
T * m_value
Pointeur sur l'objet référencé
AutoRefT()=default
Construit une instance sans référence.
~AutoRefT()
Destructeur. Décrément le compteur de référence de l'objet pointé
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=(T *new_value)
Affecte à l'instance la value new_value.
AutoRefT< T > & operator=(const AutoRefT< T > &from)
Opérateur de copie.
Encapsulation d'un pointeur.
T * m_value
Pointeur sur l'objet référencé
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-