
It would be nice if there were 'no seperator' variants of the the get and out methods that took an array of strings, 'const tr1_or_boost::array<key_type,T>& path', instead of 'const key_type &path'. Having this makes the api a little more object oriented instead of paths needing parsing. It can make it easier to use in more advanced scenarios as the user need not know what the seperator is and what to do if string data has that seperator. I am not saying any of the existing functions are wrong. Frankly, I like them. However, the users of this api could benefit by these minor additions. On a side note the link to some of the examples such a changing the value type seems to be broken. I would definitely like to see what I can do with the ptree_trait to allow using boost::any or the optimized cdiggins::any instead of string. // No separator template<class Type> Type get(const tr1_or_boost::array<key_type,T>& path, const std::locale &loc = std::locale()) const; // No separator template<class Type> Type get(const tr1_or_boost::array<key_type,T>& path, const Type &default_value, const std::locale &loc = std::locale()) const; template<class CharType> std::basic_string<CharType> get(const tr1_or_boost::array<key_type,T>& path, const CharType *default_value, const std::locale &loc = std::locale()) const; // No separator template<class Type> boost::optional<Type> get_optional(const tr1_or_boost::array<key_type,T>& path, const std::locale &loc = std::locale()) const; // No separator template<class Type> basic_ptree &put(const tr1_or_boost::array<key_type,T>& path, const Type &value, bool do_not_replace = false, const std::locale &loc = std::locale());