19Implemente_instanciable_sans_constructeur(
Motcle,
"Motcle",
Nom);
41 return VECT(Motcle)::printOn(s);
133 return VECT(
Motcle)::readOn(s);
146 Motcle un_motcle(
"PasOk");
169static inline int strcmp_uppercase(
const char *n1,
const char *n2)
177 c1 = (
unsigned char) ::toupper(n1[i]);
180 if (c1==0 || c1==124)
187 c2 = (
unsigned char) ::toupper(n2[j]);
190 if (c2==0 || c2==124)
192 if (length_i==length_j)
200 C1 = (
unsigned char) ::toupper(n1[i-l]);
201 C2 = (
unsigned char) ::toupper(n2[j-l]);
205 while (l>1 && delta==0);
228 const int resu = strcmp_uppercase((
const char *) nom, (
const char *)un_mot);
232int operator ==(
const Motcle& un_mot,
const char*
const nom)
234 const int resu = strcmp_uppercase((
const char *)un_mot, nom);
238int operator ==(
const char*
const nom,
const Motcle& un_mot)
240 return (un_mot == nom);
245 const int resu = strcmp_uppercase((
const char *)un_mot, (
const char *) nom);
251 return (un_mot == nom);
262 return ! (nom == un_mot);
265int operator !=(
const Motcle& un_mot,
const char*
const nom)
267 return ! (un_mot == nom);
270int operator !=(
const char*
const nom,
const Motcle& un_mot)
272 return ! (nom == un_mot);
277 return ! (un_mot == nom);
282 return ! (nom == un_mot);
297 for (
int i = 0; i < n; i++)
326 if (
operator[](i)==t)
335 return (
rang(ch)!=-1);
344 if (
operator[](i)==nom)
Class defining operators and methods for all reading operation in an input flow (file,...
Une chaine de caractere (Nom) en majuscules.
int selftest()
Autotest de la classe Motcle Effectue des affectations de controle.
int finit_par(const char *const n) const override
Motcle()
Constructeur par defaut Construit un Nom puis le passe en majuscule.
Motcle & operator+=(const char *const)
Motcle & operator=(const Motcle &)
Construction par copie Utilise l'implementation de la classe Nom.
int debute_par(const char *const n) const override
int find(const char *const n) const override
Un tableau d'objets de la classe Motcle.
int rang(const char *const ch) const
int contient_(const char *const ch) const
Motcles(int)
Constructeur Cree un tableau de i elements.
int search(const Motcle &t) const
class Nom Une chaine de caractere pour nommer les objets de TRUST
Nom()
Constructeur par defaut.
virtual int finit_par(const char *const n) const
Nom & operator=(const char *const)
Copie la chaine nom.
virtual int debute_par(const char *const n) const
virtual int find(const char *const n) const
Nom & operator+=(const Nom &x)
Concatenation avec un Nom.
Nom & majuscule()
Transforme le nom en majuscules Seules les lettres 'a'-'z' sont modifiees.
Un tableau de chaine de caracteres (VECT(Nom)).
virtual Entree & readOn(Entree &)
Lecture d'un Objet_U sur un flot d'entree Methode a surcharger.
virtual Sortie & printOn(Sortie &) const
Ecriture de l'objet sur un flot de sortie Methode a surcharger.
Classe de base des flux de sortie.