Boost PropertyTree: Prüfe, ob ein Kind existiert
Bin ich zu schreiben versucht, einen XML-parser, parsing der XML-Datei in ein boost::property_tree
und stieß auf dieses problem. Wie kann ich überprüfen, (schnell) wenn ein Kind eine bestimmte Eigenschaft vorhanden ist?
Natürlich konnte ich Durchlaufen alle Kinder mit BOOST_FOREACH
- allerdings gibt es da nicht eine bessere Lösung?
InformationsquelleAutor der Frage paul23 | 2011-09-27
Du musst angemeldet sein, um einen Kommentar abzugeben.
InformationsquelleAutor der Antwort RobH
Hier ein paar andere alternativen:
InformationsquelleAutor der Antwort Michael Anderson
Gehören:
Entfernen Sie die
const
:InformationsquelleAutor der Antwort Mohamed Ali Said
Während diese Lösungen erscheinen mag, zu vermeiden, erfolgt die Iteration über den Baum, nur im Kopf behalten, dass unter der Decke sind Sie immer noch tun genau das, also sind Sie, dass Ihr Algorithmus potentiell n^2... wenn Sie besorgt über die Leistung und den Arbeitsspeicher zu schonen, können Sie ein map-container für eine schnelle Suche.
InformationsquelleAutor der Antwort Rich