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:
Vorteile
Wenn Sie Ihre eigenen Iteratortypen belasten möchten, wechseln Sie zu Boost. Sie sind gut spezifiziert und getestet und weniger anfällig für Fehler.
boost::iterator_facade
reduziert nicht wirklich das Auftreten von Fehlern. Es vereinfacht nur das Schreiben eines standardkonformen Iterators. Ein 100% iger konformer Standard-Iterator könnte immer noch Fehler enthalten :) In Bezug auf die andere Frage:
Es lohnt sich, diesen Boost zu nutzen Kopfzeile
Ja, das ist der Fall, wenn Sie oft Iteratoren verschiedener Kategorien schreiben. Dieser Header ist ziemlich leicht, gut hm, relativ leichtgewichtig, da alles, was Sie von boost mitbringen, auch das Geschenk von mpl und der Präprozessorbibliothek bringt. Ich habe jedoch festgestellt, dass das bei VC9 oder VC10 nicht so schlimm ist wie früher das kompilieren von w.r.tx ...