Bijour la compagnie...
Ca faisait un certain tps que je voulais publier ces sources ici...
Voici une classe template pour permettre de gérer automatiquement des listes tout type d'objet...
gestion sous forme de liste/pile/file...
prochainement, je complète avec les dll de BString générée par MétaProg
(mon soft de gestion de srce/doc...)
reste à faire: operator [] si faisable
@ + Nono.
Source / Exemple :
Nota: ne js inclure le cpp dans le prj!!! (template!!!)
Méthodes :
BListeIndir(bool trieAlphabetique=false, bool doublonsOK=true);
BListeIndir(BListeIndir<TYPE_ELTS>& in);
~BListeIndir();
unsigned int getNbElts();
void vide(); TYPE_ELTS getAt(unsigned int i);
TYPE_ELTS*getEltAt(unsigned int i);
void setAt(unsigned int i, TYPE_ELTS& val);
void insertAt(unsigned int i, TYPE_ELTS& val);
BListeIndir<TYPE_ELTS>&operator+=(BListeIndir<TYPE_ELTS>& in); //ajj en fin...ou trié
BListeIndir<TYPE_ELTS>&operator+=(TYPE_ELTS in);
BListeIndir<TYPE_ELTS>&operator-=(BListeIndir<TYPE_ELTS>& in);
BListeIndir<TYPE_ELTS>&operator-=(TYPE_ELTS in);
bool checkIn(TYPE_ELTS toCompare);
void supprimer_element(unsigned int indice); // TOD: renommer : supprimerElement
BListeIndir<TYPE_ELTS>operator=(const BListeIndir<TYPE_ELTS>& in);
BListeIndir<TYPE_ELTS>&operator=(TYPE_ELTS in);
BString toString(BString separateur="\n\t" ,BString deb="[\n\t" ,BString fin="]");
//gestion de listes de listes..
bool operator<(const BListeIndir<TYPE_ELTS>& in);
bool operator==(const BListeIndir<TYPE_ELTS>& in);
bool operator<=(const BListeIndir<TYPE_ELTS>& in);
//gestion de la liste sous forme de pile
void empile(TYPE_ELTS& in);
void enfile(TYPE_ELTS& in);
TYPE_ELTS depile();
TYPE_ELTS defile();
TYPE_ELTS sommet();
///Nota: operateur ou non implémenté car c'est '+=' sans doublon
void et(BListeIndir<TYPE_ELTS>& ens1,BListeIndir<TYPE_ELTS>& ens2);
Conclusion :
à très bientot au travers de ces pages et n'hésitez pas à commenter...
proposer...
critiquer...
Il n'y a que comme ça que l'on peut progresser efficacement...
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.