iteratoren
-
hi,
angenommen, ich habe eine eigene containerklasse. wie kann ich dafür am klügsten iteratoren implementieren?
-
Einfach eine Iterator-Klasse schreiben (und eine für ConstIterator). Man kann oft Iterator von ConstIterator ableiten um sich Schreibarbeit zu sparen. Das ganze kann als nested Class in die Containerklasse, muss aber nicht.
Dann muss du nur die entsprechenden Operatoren (++, --, -, +, -=, +=, [], <, >, <=, >=, ==, !=, =, *, ->) - je nach dem was es für ein Container ist - überladen.
Achja: Wenn du Insert-Iteratoren unterstützen willst brauchst du die Methoden push_back(val), push_front(val) bzw. insert(pos_iterator, val).
Gruß
-
Mit Boost.