The property tree version in the trunk works with Boost 1.36 but not with 1.37 Beta 1. When I compile the following code istream is; ptree pt; read_xml(is, pt); with MSVS 9.0 I get the following error: 3>C:\Boost\include\boost-1_37\boost/iterator/iterator_adaptor.hpp(230) : error C2027: use of undefined type 'boost::STATIC_ASSERTION_FAILURE<x>' 3> with 3> [ 3> x=false 3> ] 3> C:\Boost\include\boost-1_37\boost/iterator/iterator_adaptor.hpp(335) : see reference to function template instantiation 'void boost::detail::iterator_adaptor_assert_traversal<boost::forward_traversal_tag,boost::random_access_traversal_tag>(void)' being compiled 3> C:\Boost\include\boost-1_37\boost/iterator/iterator_adaptor.hpp(334) : while compiling class template member function 'void boost::iterator_adaptor<Derived,Base,Value,Traversal>::advance(__w64 int)' 3> with 3> [ 3> Derived=boost::spirit::position_iterator<std::_Vector_const_iterator<Ch,std::allocator<char>>>, 3> Base=std::_Vector_const_iterator<Ch,std::allocator<char>>, 3> Value=const char, 3> Traversal=boost::forward_traversal_tag 3> ] 3> C:\Boost\include\boost-1_37\boost/spirit/home/classic/iterator/position_iterator.hpp(156) : see reference to class template instantiation 'boost::iterator_adaptor<Derived,Base,Value,Traversal>' being compiled 3> with 3> [ 3> Derived=boost::spirit::position_iterator<std::_Vector_const_iterator<Ch,std::allocator<char>>>, 3> Base=std::_Vector_const_iterator<Ch,std::allocator<char>>, 3> Value=const char, 3> Traversal=boost::forward_traversal_tag 3> ] 3> C:\Program Files\Boost\Unofficial\boost/property_tree/detail/xml_parser_read_spirit.hpp(709) : see reference to class template instantiation 'boost::spirit::position_iterator<ForwardIteratorT>' being compiled 3> with 3> [ 3> ForwardIteratorT=std::_Vector_const_iterator<Ch,std::allocator<char>> 3> ] 3> C:\Program Files\Boost\Unofficial\boost/property_tree/xml_parser.hpp(45) : see reference to function template instantiation 'void boost::property_tree::xml_parser::read_xml_internal<Ptree>(std::basic_istream<_Elem,_Traits> &,Ptree &,int,const std::string &)' being compiled 3> with 3> [ 3> Ptree=boost::property_tree::ptree, 3> _Elem=char, 3> _Traits=std::char_traits<char> 3> ] 3> .\GeneAuxParser.cpp(33) : see reference to function template instantiation 'void boost::property_tree::xml_parser::read_xml<boost::property_tree::ptree>(std::basic_istream<_Elem,_Traits> &,Ptree &,int)' being compiled 3> with 3> [ 3> _Elem=char, 3> _Traits=std::char_traits<char>, 3> Ptree=boost::property_tree::ptree 3> ] --Johan Råde