844ad72e73
[SVN r56092]
55 lines
1.7 KiB
Plaintext
55 lines
1.7 KiB
Plaintext
[/
|
|
/ Copyright (c) 2008 Marcin Kalicinski (kalita <at> poczta dot onet dot pl)
|
|
/ Copyright (c) 2009 Sebastian Redl (sebastian dot redl <at> getdesigned dot at)
|
|
/
|
|
/ Distributed under the Boost Software License, Version 1.0. (See accompanying
|
|
/ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
|
/]
|
|
[section 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.
|
|
|
|
[endsect] [/info_parser]
|