12#ifndef ARCCORE_BASE_CHECKEDPOINTER_H
13#define ARCCORE_BASE_CHECKEDPOINTER_H
17#include "arccore/base/ArccoreGlobal.h"
54 template <
typename T2>
65 m_value = new_value;
return (*
this);
72 template <
typename T2>
84 explicit operator bool()
const {
return get()!=
nullptr; }
118 inline bool isNull()
const
130 template<
typename T2>
friend bool
133 return v1.
get() == v2.
get();
142 template<
typename T2>
friend bool
145 return v1.
get() != v2.
get();
Encapsulation d'un pointeur.
const CheckedPointer< T > & operator=(T *new_value)
Affecte à l'instance la value new_value.
T * m_value
Pointeur sur l'objet référencé
CheckedPointer()
Construit une instance sans référence.
T & operator*() const
Retourne l'objet référé par l'instance.
const CheckedPointer< T > & operator=(const CheckedPointer< T > &from)
Opérateur de copie.
T * get() const
Retourne l'objet référé par l'instance.
friend bool operator==(const CheckedPointer< T > &v1, const CheckedPointer< T2 > &v2)
Compare les objets référencés par v1 et v2 La comparaison se fait pointeur par pointeur.
friend bool operator!=(const CheckedPointer< T > &v1, const CheckedPointer< T2 > &v2)
Compare les objets référencés par v1 et v2 La comparaison se fait pointeur par pointeur.
CheckedPointer(const CheckedPointer< T2 > &from)
Construit une référence référant from.
CheckedPointer(T *t)
Construit une instance référant t.
T * operator->() const
Retourne l'objet référé par l'instance.
CheckedPointer(const CheckedPointer< T > &from)
Construit une référence référant from.
Espace de nom de Arccore.
ARCCORE_BASE_EXPORT void arccoreNullPointerError()
Signalue l'utilisation d'un pointeur nul.