2008-10-28 4 views
10

YAML scheint wie ein großes Format für Konfigurationsdateien & Daten persistente Objekte in lesbarer Form Bindung ...YAML-Serialisierungsbibliothek für C++?

Gibt es eine C++ Bibliothek, die YAML behandelt? Hat Boost :: Serialization Pläne für eine YAML-Option?

EDIT: Ich würde eine OO-Bibliothek bevorzugen.

+1

Ich wünsche Getreide, die sonst groß ist, würde die Möglichkeit \ write yaml zu analysieren haben. Es muss nicht alle Funktionen von Yaml verwenden, nur das Äquivalent eines einfachen Json-Baumes. –

Antwort

9

Eine schnelle Suche gab mir dies: yaml-cpp

5

Probieren Sie die YAML-Komponente aus der BOOST vault serialization library.

EDIT 2014: Eine neuere Entwicklung, https://groups.google.com/d/msg/boost-devel-archive/mhT7qIh1nsI/uXAuXFAWrxQJ

+1

Ich habe vor kurzem versucht, es funktioniert zu machen, um es zu kompilieren, 1) Ich musste die Bibliothek an die neuere Version des Boost.Serialization Archive Framework anpassen (meistens Namen von internen Klassen aktualisieren), 2) Namespace aktualisieren, um das jetzt zu verwenden Spirit.Classic ... – alfC

+1

... 3) Boost-Tupel-Code ändern, 4) viel Code nach '.hpp' verschieben, da einige Instanziierungen nicht funktionierten. 5) Trotzdem konnte ich es nicht funktionieren lassen, da der NVP-Wrapper nicht mit Arrays funktioniert, schließlich habe ich eine Serialisierung ausgegeben, die korrekt aussieht, aber ich kann sie nicht deserialisieren. Nach viel Arbeit bekomme ich einen Fehler bei der Verwendung von Spirit-Grammatik (etwas über die falsche Verwendung von 'rule_t' zu unären Ausdruck'! S >> '=' >>! S'. Ich kann nicht mehr tun. Vielleicht es lohnt sich, von Anfang an oben auf dem XML-Archivfall zu beginnen – alfC

+0

Der Link in Ihrem 2014-Edit ist nicht mehr aktiv – andand