Fix basic_socket_streambuf to work with Protocol objects that don't
provide a resolver.
diff --git a/asio/include/asio/basic_socket_streambuf.hpp b/asio/include/asio/basic_socket_streambuf.hpp
index 0bcd3b7..5f301ee 100644
--- a/asio/include/asio/basic_socket_streambuf.hpp
+++ b/asio/include/asio/basic_socket_streambuf.hpp
@@ -247,7 +247,8 @@
       setp(put_buffer_.begin(), put_buffer_.end());
   }
 
-  void resolve_and_connect(const typename Protocol::resolver_query& query,
+  template <typename ResolverQuery>
+  void resolve_and_connect(const ResolverQuery& query,
       asio::error_code& ec)
   {
     typedef typename Protocol::resolver resolver_type;