2008-10-28 31 views
10

YAML parece una gran formato para los archivos de configuración & datos de objetos persistentes de unión en forma legible por humanos ...Biblioteca de serialización YAML para C++?

¿Existe una biblioteca de C++ que maneja YAML? ¿Boost :: Serialization tiene planes para una opción de YAML?

EDITAR: Preferiría una biblioteca OO.

+1

Me gustaría cereal, que es grande de lo contrario, tendría la posibilidad de analizar \ yaml escritura. No tiene que usar todas las características de yaml, solo el equivalente de un simple árbol json. –

Respuesta

9

Una búsqueda rápida me dio esto: yaml-cpp

5

Pruebe el componente YAML desde BOOST vault serialization library.

EDITAR 2014: Un desarrollo reciente, https://groups.google.com/d/msg/boost-devel-archive/mhT7qIh1nsI/uXAuXFAWrxQJ

+1

Hace poco intenté hacer que funcionara, para compilarlo, 1) Tuve que adaptar la biblioteca a la versión más reciente del marco Boost.Serialization Archive (principalmente actualizando nombres de clases internas), 2) actualizar el espacio de nombres para usar el ahora Spirit.Classic ... – alfC

+1

... 3) cambiar el código de Boost tuples, 4) mover una gran cantidad de código a '.hpp' ya que algunas instancias no funcionaron. 5) Sin embargo, no pude hacerlo funcionar ya que el envoltorio de NVP no funciona con las matrices, finalmente lo elaboré como una serialización que parece correcta, sin embargo no puedo deserializarlo. Después de mucho trabajo, recibo un error sobre el uso de la gramática del Espíritu (algo sobre el uso incorrecto de 'rule_t' a la expresión unaria'! S >> '=' >>! S'. No puedo hacer más. Tal vez valdrá la pena comenzar de cero sobre el caso del archivo XML. – alfC

+0

El enlace en su edición de 2014 ya no está activo – andand