12#ifndef ARCCORE_BASE_AUTOREF2_H
13#define ARCCORE_BASE_AUTOREF2_H
17#include "arccore/base/ArccoreGlobal.h"
63 from.m_value =
nullptr;
77 from.m_value =
nullptr;
108 bool isNull()
const {
return !
m_value; }
109 operator bool()
const {
return m_value; }
111 friend bool operator==(
const ThatClass& a,
const ThatClass& b)
113 return a.get() == b.get();
115 friend bool operator!=(
const ThatClass& a,
const ThatClass& b)
117 return a.get() != b.get();
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.
void _removeRef()
Supprimer une référence à l'objet encapsulé si non nul.
void _addRef()
Ajoute une référence à l'objet encapsulé si non nul.
AutoRef2(ThatClass &&from) noexcept
Construit une référence référant from.
void _changeValue(T *new_value)
Change l'objet référencé en new_value.
~AutoRef2()
Destructeur. Décrément le compteur de référence de l'objet pointé
T * m_value
Pointeur sur l'objet référencé
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.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-