[Dune] ConstIterator
Robert Kloefkorn
robertk at mathematik.uni-freiburg.de
Tue Jan 18 18:57:35 CET 2005
Christian Engwer wrote:
> Hallo,
>
> Un wieso checkst Du es dann eifach ein und schreibst nichts zu Deinem
> Vorschlag?
Ich dachte die Komentare im cvs-checkin würden reichen, da ihr ja
Experten in der Frage seit und meinen Code sicher versteht. Ausserdem
steht ich momentan etwas unter Zeitdruck und habe noch nciht die Zeit
gefunden, eine ausführliche mail zu schreiben, allerdings nehme ich mir
die Zeit grade. Ausserdem sollten wir uns mal wieder alle ein bisschen
zusammenreissen. Ich möchte sicher nicht eure Idee schlechtmachen.
Immerhin habe ihc nicht nur Kritik geübt sondern auch noch über eine
Lösung nachgedacht. Ich denke wir können das am Freitag ausführlicher
diskutieren. ich wollte euch nur die Möglichkeit geben, meinen Vorschlag
schon mal vorher anzuschauen, um eventuelle Schwachstellen zu entddecken
die mir bisher entgangen waren. Ich denke das ist besser als am Freitag
dann einen Voschlag aus dem blauen heraus zu machen.
>
>>finde ich die Umsetzung ziemlich kompilziert und das Ko-Kritierum ist,
>>das man die Schnittstell ändern muss, nur weil man den Code sonst nicht
>
>
> Ja unser Vorschlag ist kompiliziert, aber wir hatten unseren mails
> auch beschrieben wieso es so kompilziert sein muss und wie man es
> einfacher machen kann.
>
> Bei deinem Vorschlag stelle ich jetzt fest, dass Du auch auf eine Idee
> kamst, wie wir sie am Anfang verfolgt haben, nur Leider hast Du sie
> nicht zu Ende gefuehrt, denn sonst waerst Du bei unserer Loesung
> gelandet.
> Du lieferst in Deinem ConstIterator eine Entity zurueck, was aus Du
> aber nicht darfst, da Du ein const Gitter hast.
Stimmt nicht. Der ConstIterator liefert eine const Entity. Aber das
meinst Du sicher nicht. Der LevelIterator hat noch einen const
operator*() bekommen. Das ist der einzige Zusatz an die Schnittstelle.
Das jetzt der ConstIterator nur noch den const operator*() hat, kann
dort auch nur der const operator *() des LevelIterator verwendet werden.
Alles total legal.
> Um es noch weiter zu treiben koennte ich mir jetzt von der Entity
> einen _nicht const_ LevelIterator zurueck geben lassen. Genauso
> liefert eine Entity _immer_ IntersectionIteratoren und unterscheidet
> nicht nach const oder nicht const.
> Auf diesem Zweig wirst Du, wenn Du ihn bis ans Ende durchdenkst zur
> gleichen Erkenntnis gelangen wie wir.
Sicher, ihr habt euch mehr Gedanken gemacht. Ich bin mir sicher, das man
das Ganze für den HierarchicIterator und den IntersectionIterator auch
so machen kann. Ich weiss allerdings nicht ob ich das bis Freitag noch
schaffe um die Machbarkeit zu überprüfen.
> Du haettest (so wie wir es auch gemacht habe) einen branch dafuer
> anlegen sollen, oder haettest sonst auch ein diff rumschicken koennen,
> wenn dir der Branch zuviel Muehe ist.
Ja, der Branch war mir definitiv zu viel Mühe. Ich bin halt kein
cvs-Experte und mein checkin ändert ja nicht die anderen bestehenden
sourcen, ist also auch so ok, denke ich zumindest.
Grüssle
R
--
Robert Klöfkorn <robertk at mathematik.uni-freiburg.de>
Mathematisches Institut Tel: +49 (0) 761 203 5631
Abt. für Angewandte Mathematik Fax: +49 (0) 761 203 5632
Universität Freiburg
Hermann-Herder-Str. 10
79104 Freiburg
http://www.mathematik.uni-freiburg.de/IAM/homepages/robertk
More information about the Dune
mailing list