Hi,
ich habe eine Klasse, welche ein Molekül darstellt. Diese Klasse ist gleichzeitig Container für Atome und Bindungen (und Ringe). Nun habe ich teilweise einen Iterator implementiert welcher gültige Elemente aus meinem Container zurückgibt. Der Container kann auch ungültige Elemente enthalten ("sparse matrix", quasi
...), die fürs Rendern aber nicht relevant sind. Also sollen nur gültige zurückgegeben werden.
Nun besteht aber noch die Möglichkeit während der Iteration die Elemente des Containers zu modifizieren, was nicht das Problem ist. Nun aber zum Problem:
Wenn etwas modifiziert wurde, sollte jeder alte Iterator dann ungültig werden oder nicht? Also soll ich einfach vom letzten Punkt innerhalb meiner internen Matrix fortfahren oder lieber eine
Exception werfen und so den Benutzer zwingen eine neue Iteration zu beginnen? Im schlechtesten Fall könnte dieser Zwang zu einer Endlosschleife werden.