[Dcmlib] GetFirstEntry ?

Jean-Pierre Roux jpr at creatis.insa-lyon.fr
Tue Jan 18 18:20:01 CET 2005


Mathieu Malaterre wrote:

> Yo,
>
> Pourquoi ce changement subit de GetNextEntry vers GetFirstEntry ? Ca 
> serait pas mal d'envoyer un petit mot pour les gros chgts d'interface 
> a la mailing liste...on se sentirais moins seul.

Desole ...
On a d'autre part un un truc un peu (bcp) brutal :
Viré l'accesseur sur la H Table et sur les Listes Chainees (il n'y en a 
objectivement plus besoin, GetFirst et GetNext remplacent la de maniere 
+ securisée)
Mais je viens de voir le code de Maracas, il y en *partout*.
Ils vont passer des journées a faire des modifs, qui, objectivement, 
n'apporteront rien (ils sont grands, ils n'ont pas profité d'avoir acces 
a l'implantation physique pour tout peter ...)
Je me demande s'il ne faudrait pas remettre ces accesseurs, avec, comme 
seule description 'DON'T USE. Will BE REMOVED at NEXT RELEASE"

>
> Bon sinon sur le fond c'est pas mal ce ressemble de plus en plus a un 
> vrai iterateur:
>
> http://www-eleves-isia.cma.fr/documentation/DesignPatterns/pat5dfso.htm

Ca a l'air velu, mais apetissant, leur truc!
Mais moi, je reste reveur sur le coté diaboliquement mal fichu des 
accesseurs de la STL !
Ils auraient fait des trucs du genre :
FindFirst, qui renvoie un pointeur sur le premier et NULL si la liste 
est vide.
FindNext, qui renvoie un pointeur sur celui qui suit le dernier accede, 
et NULL si c'etait le dernier
FindPrevious : meme chose mais dans l'autre sens.
au lieu de pointer sur le futur endroit ou se fera l'insert, si on en 
fait un ..
... ca simplifierait pas mal la vie !

>
> Sur la forme j'aurais preferee l'approche complete:
>
> template <class Item>
> class Iterator {
> public:
> virtual void First() = 0;
> virtual void Next() = 0;
> virtual bool IsDone() const = 0;
> virtual Item CurrentItem() const = 0;
> protected:
> Iterator();
> };
> Ca donne des boucles super simple a ecrire:
> for( list.First(); !list.IsDone(); list.Next())
> {
> el = list.CurrentItem();
> }
>
Mais ca oblige a 'exposer' la liste (ou la H table), et ca laisse un 
utilisateur mal degourdit la possibilite de tout peter, non?
JP


> My 2 cents,
> Mathieu
>
>
> _______________________________________________
> Dcmlib mailing list
> Dcmlib at creatis.insa-lyon.fr
> http://www.creatis.insa-lyon.fr/mailman/listinfo/dcmlib
>



More information about the Dcmlib mailing list