
(Apologies if this ends up a duplicate, there was an error.) Marcin Kalicinski wrote:
I uploaded it to the vault root dir, file name is property_tree.zip.
This looks highly useful to me. I am using a custom xml library with similar methods for retrieving data which has been very convenient but nowhere near as flexible as this. I would be glad to be able to replace it. After some very quick testing: The function boost::property_tree::xml_parser::validate_flags(int) is defined in a header but not a template or declared inline, causing multiple definition errors. I did not check for more problems of the same kind and only tried the xml and info parsers. Making it inline fixes the problem, and it is certainly short and simple enough. Defaulting to case-insensitve matching is surprising to me. It is true that some formats for which parsers are supplied are case insensitive, but xml and (typically) command lines are not. The parsers are independent of the tree in any case. Is there a rationale for this default? I would prefer if the third (bool pointer) parameter to ptree::get_d was optional and defaulted to 0. I would use this function in order to not have to care about the presence of the value and don't imagine I would use the flag much, if ever. I never saw a need to provide it in my own library. Overall it looks good. I will experiment more.