fixed depth iterator für tree.hh / Dokumentation tree.hh
-
Hallo Forenuser,
hat jemand eine Ahnung, wie der fixed_depth_iterator bei tree.hh genau funktioniert? Speziell die Syntax:
Ich will in einem tree eine ganze Ebene durchiterieren will. Jetzt müsste ich wissen, wie ich den Iterator durch genau einen Tiefenebene laufen lasse, ich kann dem ja - soweit ich das gesehen habe - keinen integer Wert zuweisen. Das wäre für mich halt das einfachste, wenn ich direkt sagen könnte: Iteriere über alle Zustände in Ebene 2.
Vielleicht hat jemand ja auch eine Seite mit einem guten Beispiel oder einer guten Dokumentation, weil ich finde die Dokumentation die auf der Seite von tree.hh direkt runtergeladen werden kann ein bisschen dürftig.
-
Wahrscheinlich uebergibt man den Knoten der entsprechenden Ebene ...
-
ich hab es inzwischen rausgefunden:
am besten funktioniert es mit einem Beispiel
bspIterator = treeName.begin_fixed(startIterator, depthInteger)
Man kann also den Iterator auf ein Level festlegen, wobei die Zählung von dem Level, auf dem sich der startIterator befindet ausgeht.
Wo man aber aufpassen muss, ist dass bei tree.hh die Funktion .end_fixed() nicht funktioniert. Habe ich auch erst durch durchsuchen der tree.hh rausgefunden. Die Funktion kann man zwar aufrufen, aber in einem Kommentar steht "FIXME" und das man solange auf die is_valid()zurückgreifen soll.
Habe meine Schleife jetzt wie folgt aufgebaut
for (levelIterator=traceTree.begin_fixed(top, 0);traceTree.is_valid(levelIterator); levelIterator++)Wie es aussieht, wird tree.hh auch nicht mehr weiterentwickelt (letztes Update stammt aus 2009)...