boost indirect iterator
-
Hallo!
Ich möchte für eine boost::unordered_map einen eigenen Iterator implementieren, den ich anschliessend wie folgt verwenden kann:
files f; for (files::iterator it(f.begin()), it_end(f.end()); it != it_end; ++it) { // Do some work... }Der nicht-funktionierende Code sieht wie folgt aus:
#include <string> #include "boost/iterator/indirect_iterator.hpp" #include "boost/noncopyable.hpp" #include "boost/unordered_map.hpp" class files : boost::noncopyable { public: typedef boost::indirect_iterator<boost::unordered_map<std::string, std::string>::iterator> iterator; files() { // Fill the map... } iterator begin() { return m_profiles.begin(); } iterator end() { return m_profiles.end(); } private: boost::unordered_map<std::string, std::string> m_profiles; };Wie kann ich hier die Iterator-Funktionalität in die Klasse <files> einbauen?
Danke und Gruss,
T.
-
Es funktioniert also nicht. Tolle Beschreibung ...
-
Warum denn indirect iterator?????
-
Wie kann ich hier die Iterator-Funktionalität in die Klasse <files> einbauen?
Geht's nicht ein bisschen genauer?