Gibt es Standard- / De-facto-Standard- (Boost-) Wrapper um Standardalgorithmen, die mit Containern arbeiten, die Anfang und Ende definieren. Lass mich dir zeigen, was ich mit dem Code meine:
%Vor%Ich weiß, dass es leicht geschrieben werden kann, aber ich suche gezielt nach etwas Allgegenwärtigem. Danke.
Es gibt eine Erweiterung der Boost Range-Bibliothek namens RangeEx, die Bereichsumhüllungen für alle stl-Algorithmen sowie einige neue enthält.
Es wurde kürzlich in Boost aufgenommen und ist daher noch nicht in der aktuellen "offiziellen" Version (1.41). Bis sich dies ändert, können Sie die neueste Version herunterladen aus der Boost Vault.
Weiß nicht, ob dies jemals Teil des C ++ - Standards werden wird, aber die Tatsache, dass es in Boost ist, bedeutet, dass es der de facto Standard sein wird.
Der nächste Standard wird (hoffentlich!) dies ändern. In der Zwischenzeit, werfen Sie einen Blick auf Boost.Range und seine verschiedenen Anwendungen obwohl Ich kenne keine Schnittstelle zu den Standardalgorithmen.
Der einzige Fall, in dem ich so etwas gesehen habe, sind jene Algorithmen, die auf der boost::range
-Bibliothek basieren, aber selbst diese modifizieren nicht die Standardalgorithmen wie std::copy
oder std::remove_if
- der betreffende Algorithmus benötigt geschrieben werden, um einen solchen Bereichswrapper zu nutzen.
Ein Beispiel finden Sie in der String-Algorithmus-Optimierung -Bibliothek.
Tags und Links algorithm c++ boost wrapper containers