16#ifndef Objet_U_ptr_included
17#define Objet_U_ptr_included
32 Declare_base_sans_constructeur_ni_destructeur(
Objet_U_ptr);
39 explicit operator bool() const noexcept
42 return (cle_ >= 0) ? true :
false;
45 [[deprecated(
"Do not use naming logic on OWN_PTR, Trust_Deriv, Objet_U_ptr. Will be removed")]]
48 throw std::logic_error(
"Error: le_nom() called on Objet_U_ptr\nDo not use naming logic on OWN_PTR, Trust_Deriv, Objet_U_ptr. Will be removed");
51 [[deprecated(
"Do not use naming logic on OWN_PTR, Trust_Deriv, Objet_U_ptr. Will be removed")]]
54 throw std::logic_error(
"Error: nommer() called on Objet_U_ptr\nDo not use naming logic on OWN_PTR, Trust_Deriv, Objet_U_ptr. Will be removed");
89 int ptr_object_id_ = -1;
class Nom Une chaine de caractere pour nommer les objets de TRUST
int associer_(Objet_U &objet) override
Associe l'Objet_U a un autre Objet_U Methode virtuelle a surcharger.
static constexpr bool HAS_POINTER
int change_num(const int *const) override
Pour mettre a jour les cles lorsque les Objet_U ont etes renumerotes.
Objet_U * get_Objet_U_ptr_check() const
Verifie si le pointeur est valide.
virtual void set_Objet_U_ptr(Objet_U *)
Fait pointer *this sur l'objet *ptr L'adresse peut etre nulle (pointeur nul).
void recopie(const Objet_U &)
Duplique l'Objet_U obj puis change le pointeur vers cette copie.
int check_Objet_U_ptr_type(const Objet_U *ptr) const
Verifie que l'objet pointe par ptr est d'un type acceptable pour le pointeur (avec get_info_ptr).
const Nom & le_nom() const override
Donne le nom de l'Objet_U Methode a surcharger : renvoie "neant" dans cette implementation.
Objet_U_ptr(const Objet_U_ptr &)=delete
~Objet_U_ptr() override
Destructeur.
void nommer(const Nom &) override
Donne un nom a l'Objet_U Methode virtuelle a surcharger.
Objet_U_ptr()
construit un pointeur nul (cle a -1)
const Objet_U_ptr & operator=(const Objet_U_ptr &)=delete
Objet_U * typer(const char *nom_type)
Essaie de creer une instance du type "type".
virtual Objet_U * get_Objet_U_ptr() const
Renvoie un pointeur sur l'Objet_U associe ATTENTION: l'adresse peut etre nulle (si le pointeur est nu...
virtual const Type_info & get_info_ptr() const =0
classe Objet_U Cette classe est la classe de base des Objets de TRUST
Objet_U()
Constructeur par defaut : attribue un numero d'identifiant unique a l'objet (object_id_),...
modelise une information de type pour les Objet_U