iterator

Ein Iterator ist ein objektorientiertes Programmiermuster, das das Durchlaufen einer Sammlung unabhängig von der tatsächlichen Implementierung oder Objektadressen im physischen Speicher ermöglicht. Es ist eines der Verhaltensmuster der Gang of Four.
2
Antworten

Wie erhält man den Index eines Elements aus einem Prädikat, das an einen STL-Algorithmus übergeben wurde?

Sagen wir, ich habe einen Vektor von Elementen und ein Maskenarray, und ich möchte Elemente aus dem Vektor mit dem wahren entsprechenden Maskenwert extrahieren, um den Vektor zu trennen. Gibt es eine Möglichkeit, std::copy_if für diesen Zweck...
28.02.2012, 11:09
4
Antworten

__iter __ () als Generator implementiert

Ich habe eine Objektunterklasse, die einen dynamischen Versand __ iter __ unter Verwendung eines Caching-Generators implementiert (ich habe auch eine Methode, den Iter-Cache zu entwerten): %Vor% Es scheint zu funktionieren ... Gibt es irg...
05.07.2012, 15:07
2
Antworten

Was sind die Vor- und Nachteile der Verwendung von boost :: iterator_facade?

Ja - der Titel fasst es ziemlich zusammen. Ich habe eine ganze Reihe von Typen, die Iterator-Konzepte implementieren, und ich frage mich, ob es sich lohnt, diesen Boost-Header zu übernehmen, anstatt Dinge manuell zu implementieren. Bisher:...
07.04.2010, 05:11
1
Antwort

Empfohlene Vorgehensweise zum Implementieren von IteratorT in Typescript, vor ES6 [duplizieren]

Ich habe ein Projekt, das viele Klassen enthält, die idealerweise die Schnittstellen Iterable<T> und / oder Iterator<T> implementieren würden. Allerdings kann ich keine Standard-TypeScript-Definition dieser Schnittstellen fin...
16.08.2016, 07:25
2
Antworten

(Re) Verwenden von std :: -Algorithmen mit nicht standardmäßigen Containern

Ich habe einen Containertyp "Spalte": %Vor% Verwendung: %Vor% Frage: Wie kann ich einen standardkonformen Direktzugriffs-Iterator (und möglicherweise einen erforderlichen Proxy-Referenztyp) für diese Art von Container erstellen? I...
01.06.2013, 15:18
4
Antworten

Effiziente Möglichkeit, eine std :: list zu iterieren, die sich ändert?

Ich versuche, eine std::list zu durchlaufen, aber es gibt ein Problem - die während der Iteration durchgeführten Operationen können dazu führen, dass ein Element aus der Liste hinzugefügt oder entfernt wird. Hinzufügungen sind in diesem Fall...
10.06.2013, 22:44
1
Antwort

Kann nicht von einem Iterator-Typ in einen anderen konvertieren, aber beide sind genau gleich

Ich versuche, die ZipStream -Bibliothek zu kompilieren, das ist ein C ++ - Wrapper für zlib. > Im Moment bin ich an dem Punkt, wo ich zwei Kompilierfehler auf diesen zwei Zeilen bekomme: %Vor% Die Fehler sind:    Fehler 15 Fehler C24...
28.11.2011, 23:46
1
Antwort

Was entspricht boost :: make_transform_iterator in der Standardbibliothek?

Wenn Sie mit einem const-Vektor arbeiten, funktioniert Folgendes nicht: %Vor% Stattdessen müssen Sie den Vektor in der gleichen Zeile initialisieren, in der er konstruiert ist. Aber auch mit dieser Einschränkung macht boost::make_transform_...
27.09.2014, 09:50
1
Antwort

Boost Any_range Leistung: std :: prev (Iterator) gegen --iterator

Ich habe vor kurzem begonnen, die freien Funktionen std::next und std::prev explizit zum Kopieren und Inkrementieren / Dekrementieren von Iteratoren zu bevorzugen. Jetzt sehe ich seltsames Verhalten in einem ziemlich speziellen Fall, und i...
01.07.2012, 10:43
1
Antwort

Referenz auf ein Teilsegment eines Vektors?

Ich habe eine C ++ - Funktion in der Blackbox, auf die ich keinen Zugriff auf den Quellcode habe: %Vor% Diese Funktion modifiziert das Element des Eingabevektors in unbekannter Weise. Das Problem, das ich jetzt habe, ist, dass ich die Bla...
20.02.2015, 04:34