Index: boost/property_tree/detail/rapidxml.hpp =================================================================== --- boost/property_tree/detail/rapidxml.hpp (revision 69681) +++ boost/property_tree/detail/rapidxml.hpp (working copy) @@ -16,6 +16,9 @@ #include // For std::size_t #include // For placement new +#include // For BOOST_DEDUCED_TYPENAME +#include + // On MSVC, disable "conditional expression is constant" warning (level 4). // This warning is almost impossible to avoid with certain types of templated code #ifdef _MSC_VER @@ -369,7 +372,8 @@ public: //! \cond internal - typedef void *(alloc_func)(std::size_t); // Type of user-defined function used to allocate memory + typedef BOOST_DEDUCED_TYPENAME mpl::identity::type (alloc_func)(std::size_t); + // Type of user-defined function used to allocate memory typedef void (free_func)(void *); // Type of user-defined function used to free memory //! \endcond