template<class T> class Tableau


Méthodes publiques

[more] Constructeurs/Destructeurs
[more] Opérateurs
[more] Propriétés du tableau
[more] Accès aux éléments du tableau
[more] Comparaisons des contenus de deux tableaux
[more] Ajout, retrait, insertion d'éléménts
[more] Affichage
[more] Tri des éléments


o Constructeurs/Destructeurs

Une trace de la création et de la destruction des tableaux peut être obtenue en donnant auparavant la valeur TRACE_TABLEAU_ON à la variable gTraceTableauMode. Sinon, la trace doit être inhibée avec la valeur TRACE_TABLEAU_OFF, quelque part dans le programme. Pour les utilisateurs de DIESE, cette initialisation est réalisée dans CoreTypes.o}.
int gNbConstTableau = 0;
int gNbDestTableau = 0; 
boolTraceTableauMode gTraceTableauMode =TRACE_TABLEAU_ON;

int main (...) { 
 ...
}

Les constructeurs et le destructeur incrémentent et décrémentent le nombre de tableaux créés et détruits, respectivement dans les variables globales gNbConstTableau et gNbDestTableau. Ces deux variables doivent être initialisées à 0 quelque part dans le programme de l'utilisateur.

Lors d'un ajout ou un retrait d'élément, la mémoire allouée au tableau augmente ou diminue. Par défaut de spécification contraire, ce changement est effectué à chaque ajout ou retrait. Il est possible d'effectuer par palliers ces changements de taille allouée : la largeur du pallier est l'incrément, argument de certains constructeurs. Par exemple, si l'incrément est 10, la première allocation réserve la mémoire pour 10 éléments, et on ne fera une nouvelle réservation que si on ajoute un élément de rang 10 ou au-delà.

o Tableau()
Constructeur de base d'un tableau de taille nulle, avec incrémentation de taille par défaut (1)

o Tableau(int increment)
Constructeur de base d'un tableau de taille nulle, avec incrémentation de taille spécifiée

o Tableau(T, int n)
Constructeur d'un tableau de n éléments identiques à T, avec incrémentation de taille par défaut (1).

o Tableau(T, int n, int increment)
Constructeur d'un tableau de n éléments identiques à T, avec incrémentation de taille spécifiée.

o Tableau(const Tableau<T>&)
Constructeur par copie

o ~Tableau(void)
Destructeur. Ne détruit pas les éléments, sauf s'il s'agit d'un tableau d'intervalles.

oconst Tableau<T> & copy_from(const Tableau<T>&)
Affecte le tableau passé en argument au tableau récepteur du message. Les deux tableaux doivent avoir la même taille. Les deux tableaux sont différents mais ont le même contenu après l'opération.

o Opérateurs

De façon générale, lorsque le prérequis d'un opérateur ou d'une opération n'est pas satisfait, le programme appelant est arrêté. L'adresse du tableau pour lequel l'opération a échoué est affichée. L'utilisateur peut utiliser la variable globale gTraceTableauMode pour avoir la trace de la création du tableau.

oint operator == (const Tableau<T>&) const
Renvoie TRUE si le tableau à droite a la même taille que celui de gauche et contient les mêmes valeurs dans le même ordre, FALSE sinon.

oconst Tableau<T> & operator = (const Tableau<T>&)
Assigne le tableau à droite au tableau à gauche. Les deux tableaux peuvent ne pas avoir la même taille. Les deux tableaux sont différents mais ont le même contenu après l'opération.

oT& operator [] (int k) const
Renvoie une référence sur l'élément de position k dans le tableau. k doit être compris entre 0 et la taille du tableau moins 1.

o Propriétés du tableau

oint size() const
Renvoie le nombre d'éléments du tableau.

oint sizeIncrement() const
Renvoie le pas d'incrémentation de la taille de la mémoire allouée au tableau.

ovoid sizeIncrement(int)
Etablit le pas d'incrémentation (strictement positif) de la taille de la mémoire allouée au tableau.

oint empty() const
Renvoie TRUE si le tableau est vide, FALSE sinon.

o Accès aux éléments du tableau

oT& front() const
Renvoie le premier élément du tableau (celui d'indice 0). Le tableau ne doit pas être vide.

oT& get_nth(int k) const
Renvoie l'élément de position k dans le tableau. k doit être compris entre 0 et la taille du tableau moins 1.

oT& back() const
Renvoie le dernier élément du tableau. Le tableau ne doit pas être vide.

oint position(const T & element) const
Renvoie -9 si l'élément n'est pas dans le tableau, et l'indice de sa première occurence sinon.

oT extract_first_with_int_value(int, int) const
Renvoie le premier élément du tableau d'entités tel que la valeur du descripteur dont le symbole est passé en premier argument soit la valeur entière passée en second argument.

oT extract_first_with_entity_value(int, BasicEntity*) const
Renvoie le premier élément du tableau d'entités tel que la valeur du descripteur dont le symbole est passé en premier argument soit la valeur du pointeur sur une entité passé en second argument.

oTableau<T> * extract_class_named_entities(int) const
Renvoie le tableau des éléments dont le symbole de classe est passé en argument, extraits du tableau d'entités récepteur de ce message.

o Comparaisons des contenus de deux tableaux

obool commonElement(const Tableau<T> & tableau)
Renvoie vrai si le récepteur du message et le tableau passé en argument contiennent contiennent au moins un élément commun, et faux sinon.

obool sameElements(const Tableau<T> & tableau)
Renvoie vrai si le récepteur du message et le tableau passé en argument contiennent les mêmes éléments, compte non tenu de la position des éléments, et faux sinon.

obool containsAllElements(const Tableau<T> & tableau)
Renvoie vrai si le récepteur du message contient tous les éléments du tableau passé en argument, et faux sinon

obool sameFirstElements(const Tableau<T> & arg, int n)
Renvoie vrai si le récepteur du message et le tableau passé en argument contiennent les mêmes n premiers éléments dans le même ordre, et faux sinon.

oTableau<T> * commonTail(const Tableau<T> & arg)
Renvoie le tableau des éléments communs en fin des deux tableaux

o Ajout, retrait, insertion d'éléménts

ovoid push_front(const T &)
Insère un élément en tête du tableau (son indice sera 0). Le nombre d'éléments est augmenté de 1.

ovoid insert(int k, const T & element)
Insère un élément dans le tableau, en position donnée en premier argument. Le nombre d'éléments est augmenté de 1. k doit être compris entre 0 et la taille du tableau avant l'insertion.

ovoid push_back(const T & element)
Ajoute un élément au tableau, après le dernier. Le nombre d'éléments est augmenté de 1.

oint push_back_ifnew(const T & element)
Ajoute un élément en queue du tableau s'il n'y est pas déjà quelque part. Renvoie 1 (vrai) si l'ajout a été fait et 0 sinon.

ovoid push_back(const Tableau<T> & tableau)
Ajoute après le dernier élément du tableau les éléments du tableau passé en argument. Le nombre d'éléments est augmenté de la taille de ce dernier.

oint push_back_ifnew(const Tableau<T> & tableau)
Ajoute après le dernier élément du tableau les éléments du tableau passé en argument, s'ils ne sont pas déjà quelque part dans le tableau. Renvoie 1 (vrai) si un élement au moins a été ajouté, et 0 sinon.

ovoid pop_front()
Retire le premier élément du tableau (celui d'indice 0). Le tableau ne doit pas être vide. Son nombre d'éléments est diminué de 1.

ovoid remove(int k)
Retire du tableau l'élément d'indice passé en argument. Le nombre d'éléments est diminué de 1. k doit être compris entre 0 et n-1, où n est la taille du tableau avant le retrait.

ovoid remove_from(int k)
Retire du tableau les éléments d'indice supérieur ou égal à l'argument k. Le nombre d'éléments est diminué de n-k. k doit être compris entre 0 et n, où n est la taille du tableau avant le retrait. L'appel remove_from(0) a le même effet que l'appel erase(). L'appel remove_from(n-1) a le même effet que pop_back(). L'appel remove_from(n-1) n'a pas d'effet.

ovoid remove_to(int k)
Retire du tableau les éléments d'indice inférieur à l'argument k. Le nombre d'éléments est diminué de k. k doit être compris entre 0 et n, où n est la taille du tableau avant le retrait. L'appel remove_to(0) n'a pas d'effet. L'appel remove_to(1) a le même effet que pop_front(). L'appel remove_to(n) a le même effet que erase().

ovoid remove_all(const T & element)
Retire du tableau tous les éléments identiques à celui passé en argument. Le nombre d'éléments est diminué du nombre d'occurences.

ovoid remove_first(const T & element, bool mustBePresent)
Retire du tableau le premier élément identique à celui passé en argument. L'argument doit effectivement être présent dans le tableau, si le second argument est TRUE. Le nombre d'éléments est alors diminué de 1.

ovoid remove_first(const T & element)
Retire du tableau le premier élément identique à celui passé en argument. L'argument doit effectivement être présent dans le tableau. Le nombre d'éléments est alors diminué de 1.

ovoid pop_back()
Retire le dernier élément du tableau. Le tableau ne doit pas être vide. Son nombre d'éléments est diminué de 1.

ovoid erase()
Retire tous les éléments du tableau, s'il en a. Sa taille devient nulle. Son incrément de taille est 1.

ovoid erase(int)
Retire tous les éléments du tableau, s'il en a. Sa taille devient nulle. Son incrément de taille est spécifié.

ovoid replace_by_item(int k, const T & element)
Remplace l'élément d'indice k dans le tableau par l'élément donné en second argument. La taille du tableau est inchangée. "X.replace_by_item(k, e);" est équivalent à "X[k] = e";

ovoid replace_by_list(int k, const Tableau<T> & tableau)
Remplace l'élément d'indice k dans le tableau par les éléments du tableau donné en second argument.

ovoid set_nth(int k, const T& element)
Affecte le deuxième argument comme valeur de l'élément d'indice donné en premier argument. Si l'indice pointe au-delà du dernier élément, la taille du tableau est augmentée en conséquence. L'appel "X.set_nth(k, e)" n'est donc pas équivalent à "X[k] = e".

o Affichage

ovoid display() const
Affiche le contenu du tableau. Ne saute de ligne ni avant ni après.

ovoid display_bounds(char*)
Affiche le contenu d'un tableau d'intervalles (et seulement d'intervalles), avec les valeurs des bornes. L'argument est affiché en titre.

ovoid display_names() const
Affiche le contenu d'un tableau d'entités (et seulement d'entités), avec les noms d'instances.

o Tri des éléments

ovoid quick_sort(int lb, int ub)
Trie le tableau dans l'ordre croissant des éléments. La fonction d'ordre est l'opérateur '<', éventuellement surchargé.

ovoid quick_sort_inverse(int lb, int ub)
Trie le tableau dans l'ordre décroissant des éléments. La fonction d'ordre est l'opérateur '>', éventuellement surchargé.

ovoid quick_sort(int lb, int ub, int (*comparator)(const T e1, const T e2))
Trie le tableau dans l'ordre spécifié par la fonction passée en troisième argument. Cette fonction est supposée renvoyer respectivement -1, 0 ou 1 selon que le premier argument est inférieur, égal ou supérieur au second.


Cette classe n'a pas de classe descendante.

This page was generated with the help of DOC++.