1[/ 2 / Copyright (c) 2008 Marcin Kalicinski (kalita <at> poczta dot onet dot pl) 3 / Copyright (c) 2009 Sebastian Redl (sebastian dot redl <at> getdesigned dot at) 4 / 5 / Distributed under the Boost Software License, Version 1.0. (See accompanying 6 / file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 7 /] 8[section INFO Parser] 9The INFO format was created specifically for the property tree library. It 10provides a simple, efficient format that can be used to serialize property 11trees that are otherwise only stored in memory. It can also be used for any 12other purpose, although the lack of widespread existing use may prove to be an 13impediment. 14 15INFO provides several features that make it familiar to C++ programmers and 16efficient for medium-sized datasets, especially those used for test input. It 17supports C-style character escapes, nesting via curly braces, and file inclusion 18via #include. 19 20INFO is also used for visualization of property trees in this documentation. 21 22A typical INFO file might look like this: 23 24 key1 value1 25 key2 26 { 27 key3 value3 28 { 29 key4 "value4 with spaces" 30 } 31 key5 value5 32 } 33 34Here's a more complicated file demonstrating all of INFO's features: 35 36 ; A comment 37 key1 value1 ; Another comment 38 key2 "value with special characters in it {};#\n\t\"\0" 39 { 40 subkey "value split "\ 41 "over three"\ 42 "lines" 43 { 44 a_key_without_value "" 45 "a key with special characters in it {};#\n\t\"\0" "" 46 "" value ; Empty key with a value 47 "" "" ; Empty key with empty value! 48 } 49 } 50 #include "file.info" ; included file 51 52INFO round-trips except for the loss of comments and include directives. 53 54[endsect] [/info_parser] 55