TRUST 1.9.8
HPC thermohydraulic platform
Loading...
Searching...
No Matches
Type_info Class Reference

modelise une information de type pour les Objet_U More...

#include <Type_info.h>

Public Member Functions

 ~Type_info ()
 Type_info (const char *name, Objet_U *(*f)(), int nb_bases=0, const Type_info **bases=0)
 Constructeur par un nom, une fonction et un tableau de meres.
 Type_info (const char *name, int nb_bases=0, const Type_info **bases=0)
 Constructeur par un nom, un tableau de meres.
const Nomname () const
int can_cast (const Type_info *p) const
 Exploration de la hierarchie des types retourne 1 si p pointe sur un sous type du type considere.
int same (const Type_info *p) const
 Renvoie 1 si this==p, 0 sinon.
int same (const Nom &) const
 Comparaison sur le nom d'un type Retourne 1 si les chaines de caracteres des noms du type considere et du nom indique sont identiques.
int has_base (const Type_info *p, int direct=0) const
 Test d'appartenance d'un type dans les types de bases du type considere si direct == 0.
int has_base (const Nom &, int direct=0) const
 Test d'appartenance d'un type dans les types de bases du type considere Le type a rechercher est identifie par son nom.
Sortiebases (Sortie &) const
 Ecriture des bases du type considere sur un flot de sortie.
Objet_Uinstance () const
 Cree une instance de la classe associee au type_info.
int instanciable () const
 Renvoie 1 si le type associe est instanciable (cree_instance non nul) renvoie 0 sinon.

Static Public Member Functions

static Sortiehierarchie (Sortie &)
 Ecriture de toute la hierarchie du type considere sur un flix de sortie.
static int est_un_type (const char *)
 Test d'existence d'une classe du type indique si il existe une classe T dont le Type_info a.
static int les_sous_types (const Nom &, Noms &sous_types)
 Donne les noms des sous-types, un type mere etant donne par son nom.
static int les_sous_types (const Type_info &, Noms &sous_types)
 Donne les noms des sous-types, un type mere etant donne.
static const Type_infotype_info_from_name (const char *type_name)
 Methode statique qui renvoie un pointeur vers le Type_info dont le nom est "type_name".
static Objet_Uinstance (const char *typ)
 Instanciation d'un Objet_U du type indique S'il existe une classe T dont le Type_info a.

Detailed Description

modelise une information de type pour les Objet_U

See also
Objet_U Nom

Definition at line 29 of file Type_info.h.

Constructor & Destructor Documentation

◆ ~Type_info()

Type_info::~Type_info ( )

Definition at line 62 of file Type_info.cpp.

◆ Type_info() [1/2]

Type_info::Type_info ( const char * un_nom,
Objet_U *(* )(),
int nb_base = 0,
const Type_info ** the_bases = 0 )

Constructeur par un nom, une fonction et un tableau de meres.

La fonction permet de creer une instance du bon type.

Parameters
(constchar* nom) le nom du type a creer
(Objet_U*(*f)()) fonction pour creer une instance du type considere
(intnb_base) le nombre de meres dans le tableau bases[]
(constType_info* bases[]) le tableau specifiant les types de bases (meres) du type a creer
Exceptions
Sorten erreur si le nom donne n'est pas defini (null)

Definition at line 169 of file Type_info.cpp.

◆ Type_info() [2/2]

Type_info::Type_info ( const char * un_nom,
int nb_base = 0,
const Type_info ** the_bases = 0 )

Constructeur par un nom, un tableau de meres.

Parameters
(constchar* nom) le nom du type a creer
(intnb_base) le nombre de meres dans le tableau bases
(constType_info* bases[]) le tableau specifiant les types de bases (meres) du type a creer
Exceptions
Sorten erreur si le nom n'est pas defini (null)

Definition at line 141 of file Type_info.cpp.

Member Function Documentation

◆ bases()

Sortie & Type_info::bases ( Sortie & os) const

Ecriture des bases du type considere sur un flot de sortie.

Parameters
(Sortie&os) flot de sortie
Returns
(Sortie&) le flot de sortie modifie

Definition at line 306 of file Type_info.cpp.

◆ can_cast()

int Type_info::can_cast ( const Type_info * p) const
inline

Exploration de la hierarchie des types retourne 1 si p pointe sur un sous type du type considere.

Parameters
(constType_info* p) pointeur sur le type a tester
Returns
(int) 1 si p pointe sur un sous type du type considere, 0 sinon

Definition at line 100 of file Type_info.h.

◆ est_un_type()

int Type_info::est_un_type ( const char * nom)
static

Test d'existence d'une classe du type indique si il existe une classe T dont le Type_info a.

le nom nom, alors est_un_type renvoie 1
renvoie le pointeur nul sinon.
Parameters
(constchar* nom) chaine de caractere associee a un type
Returns
(int) code de retour (0 ou 1)

Definition at line 375 of file Type_info.cpp.

◆ has_base() [1/2]

int Type_info::has_base ( const Nom & aname,
int direct = 0 ) const

Test d'appartenance d'un type dans les types de bases du type considere Le type a rechercher est identifie par son nom.

si direct == 0
renvoie 1 si le type de nom name fait partie des bases de (*this)
renvoie 0 sinon.
si direct != 0
renvoie 1 si le type de nom name fait partie des bases de (*this)
ou des meres directes ou non de (*this)
renvoie 0 sinon.
Parameters
(constNom& name) le nom du type a rechercher
(intdirect) 0 pour une recherche dans toute la hierarchie des bases, non nul pour une recherche directe
Returns
(int) code de retour (0 ou 1)

Definition at line 442 of file Type_info.cpp.

◆ has_base() [2/2]

int Type_info::has_base ( const Type_info * p,
int direct = 0 ) const

Test d'appartenance d'un type dans les types de bases du type considere si direct == 0.

renvoie 1 si (*p) fait partie des bases de (*this)
renvoie 0 sinon.
si direct != 0
renvoie 1 si (*p) fait partie des bases de (*this)
ou des meres directes ou non de (*this)
renvoie 0 sinon.
Parameters
(constType_info* p) le pointeur sur le type a rechercher
(intdirect) 0 pour une recherche dans toute la hierarchie des bases, non nul pour une recherche directe
Returns
(int) code de retour (0 ou 1)

Definition at line 394 of file Type_info.cpp.

◆ hierarchie()

Sortie & Type_info::hierarchie ( Sortie & os)
static

Ecriture de toute la hierarchie du type considere sur un flix de sortie.

Parameters
(Sortie&os) flot de sortie
Returns
(Sortie&) le flot de sortie modifie

Definition at line 319 of file Type_info.cpp.

◆ instance() [1/2]

Objet_U * Type_info::instance ( ) const

Cree une instance de la classe associee au type_info.

Definition at line 354 of file Type_info.cpp.

◆ instance() [2/2]

Objet_U * Type_info::instance ( const char * typ)
static

Instanciation d'un Objet_U du type indique S'il existe une classe T dont le Type_info a.

le nom typ, alors instance renvoie un pointeur
sur une nouvelle instance de T.
renvoie le pointeur nul sinon.
Parameters
(constchar* typ) chaine de caractere associee a un type
Returns
(Objet_U*) pointeur sur un nouvel Objet_U du type typ

Definition at line 340 of file Type_info.cpp.

◆ instanciable()

int Type_info::instanciable ( ) const

Renvoie 1 si le type associe est instanciable (cree_instance non nul) renvoie 0 sinon.

Definition at line 572 of file Type_info.cpp.

◆ les_sous_types() [1/2]

int Type_info::les_sous_types ( const Nom & type,
Noms & sous_types )
static

Donne les noms des sous-types, un type mere etant donne par son nom.

Parameters
(constNom& type) le nom du type sur lequel rechercher les sous-types
(Noms&les_sous_types) les noms des sous-types
Returns
(int) nombre de sous-types retournes
Exceptions
Sorten erreur si le nom indique ne correspond pas a un type existant dans TRUST

Definition at line 518 of file Type_info.cpp.

◆ les_sous_types() [2/2]

int Type_info::les_sous_types ( const Type_info & mere,
Noms & les_sous_types )
static

Donne les noms des sous-types, un type mere etant donne.

Parameters
(constType_info& mere) le type sur lequel rechercher les sous-types
(Noms&les_sous_types) les noms des sous-types
Returns
(int) nombre de sous-types retournes

Definition at line 480 of file Type_info.cpp.

◆ name()

const Nom & Type_info::name ( ) const
inline

Definition at line 36 of file Type_info.h.

◆ same() [1/2]

int Type_info::same ( const Nom & other_name) const

Comparaison sur le nom d'un type Retourne 1 si les chaines de caracteres des noms du type considere et du nom indique sont identiques.

Retour 0 sinon

Definition at line 461 of file Type_info.cpp.

◆ same() [2/2]

int Type_info::same ( const Type_info * p) const

Renvoie 1 si this==p, 0 sinon.

Definition at line 469 of file Type_info.cpp.

◆ type_info_from_name()

const Type_info * Type_info::type_info_from_name ( const char * type_name)
static

Methode statique qui renvoie un pointeur vers le Type_info dont le nom est "type_name".

Si type_name n'est pas un type, renvoie un pointeur nul.

Definition at line 544 of file Type_info.cpp.


The documentation for this class was generated from the following files:
  • /home/docs/checkouts/readthedocs.org/user_builds/cea-trust-platform/checkouts/v1.9.8/src/Kernel/Utilitaires/Type_info.h
  • /home/docs/checkouts/readthedocs.org/user_builds/cea-trust-platform/checkouts/v1.9.8/src/Kernel/Utilitaires/Type_info.cpp