Boost C++ Libraries Home Libraries People FAQ More

PrevUpHomeNext

INFO Parser

The INFO format was created specifically for the property tree library. It provides a simple, efficient format that can be used to serialize property trees that are otherwise only stored in memory. It can also be used for any other purpose, although the lack of widespread existing use may prove to be an impediment.

INFO provides several features that make it familiar to C++ programmers and efficient for medium-sized datasets, especially those used for test input. It supports C-style character escapes, nesting via curly braces, and file inclusion via #include.

INFO is also used for visualization of property trees in this documentation.

A typical INFO file might look like this:

key1 value1
key2
{
   key3 value3
   {
      key4 "value4 with spaces"
   }
   key5 value5
}

Here's a more complicated file demonstrating all of INFO's features:

; A comment
key1 value1   ; Another comment
key2 "value with special characters in it {};#\n\t\"\0"
{
   subkey "value split "\
          "over three"\
          "lines"
   {
      a_key_without_value ""
      "a key with special characters in it {};#\n\t\"\0" ""
      "" value    ; Empty key with a value
      "" ""       ; Empty key with empty value!
   }
}
#include "file.info"    ; included file

INFO round-trips except for the loss of comments and include directives.


PrevUpHomeNext