On 19.05.2011, at 10:52, Robert Jones wrote:
On Thu, May 19, 2011 at 5:24 PM, Sebastian Redl
wrote: On 19.05.2011, at 08:56, Robert Jones wrote:
Hi All
Is it possible and practical to use the put and get methods of Boost.PropertyTree with std algorithms?
I've written this snippet, which doesn't compile, which I think is because I have not correctly expressed the return type of "put()". Is it possible to do this?
Yes, the put() overloads all return the affected tree node.
for_each( boost::begin( v ), boost::end( v ), bind( static_cast
( & ptree::put ), boost::ref( tree ), "Values.value", _1 ) ); Try this:
static_cast
Hi Sebstian
Thanks for that, I thought that should work too, but seems there's still an overload problem!
#include <algorithm> #include <vector> #include
#include #include int main( ) { using boost::property_tree::ptree;
std::vector<unsigned> v; ptree tree;
ptree & ( ptree::*myput )( const std::string &, unsigned ) = & ptree::put;
The first argument should be a ptree::path_type (= string_path<char>), not std::string. Sebastian