boost/xml/dom/attribute.hpp * moved ptr_factory out of detail namespace boost/xml/dom/detail.hpp * moved factory and ptr_factory out of detail namespace * Added 'operator bool' to class 'wrapper' (see boost/xml/dom/node.hpp diffs for more explanation) * Added iterator_category and difference_type to node_iterator - MSVC8 std::for_each wouldn't compile without them boost/xml/dom/document.hpp * moved factory out of detail namespace * Visual Studio has helpfully removed tabs * Removed throw specifications to get rid of VC++ warning 'warning C4290: C++ exception specification ignored except to indicate a function is not __declspec(nothrow)'. boost/xml/dom/element.hpp * moved ptr_factory out of detail namespace * added 'node_ptr >' as a friend - I'm not entirely sure *why* (I can't see any default node_ptr constructions, but that's where error messages are being raised), but I needed this to compile the following function: bool is_named_element(node_ptr n, std::string const& name) { return (n->type()==bxd::ELEMENT) && (boost::xml::dom::cast(n)->name() == name); } * One of the text editors I use (TextPad, I think) has removed trailing spaces from lines * set_attribute needed a cast from an xmlAttr pointer to xmlNode. Fair enough as xmlAttr isn't implicitly castable to xmlNode (as the inheritance relationship is implicit) * Needed to add 'typename ' to element::remove parameter declaration. Alternatively, change the parameter type to 'child_iterator' instead of 'element::child_iterator', which would also match the other methods. boost/xml/dom/node.hpp * Added '#include ' - MSVC doesn't want to find operator+ for std::string without it. * Changed implementation of 'operator bool' - 'boost::xml::dom::detail::wrapper::impl' is declared private, so this operator can't see it. That's why I added an 'operator bool' to class 'wrapper' in detail.hpp * moved ptr_factory out of detail namespace * One of the text editors I use (TextPad, I think) has removed trailing spaces from lines boost/xml/dom/node_set.hpp * moved ptr_factory out of detail namespace * One of the text editors I use (TextPad, I think) has removed trailing spaces from lines boost/xml/dom/parser.hpp * moved factory out of detail namespace * Changed 'well_formed' initialiser in 'parse_file' to get rid of MSVC warning 'warning C4800: 'int' : forcing value to bool 'true' or 'false' (performance warning)'.