Don't use auto_ptr.
diff --git a/asio/include/asio/detail/winapi_thread.hpp b/asio/include/asio/detail/winapi_thread.hpp
index 6706ef9..3db74c8 100644
--- a/asio/include/asio/detail/winapi_thread.hpp
+++ b/asio/include/asio/detail/winapi_thread.hpp
@@ -20,8 +20,8 @@
#if defined(ASIO_WINDOWS)
#if defined(ASIO_WINDOWS_APP) || defined(UNDER_CE)
-#include <memory>
#include "asio/detail/noncopyable.hpp"
+#include "asio/detail/scoped_ptr.hpp"
#include "asio/detail/socket_types.hpp"
#include "asio/detail/throw_error.hpp"
#include "asio/error.hpp"
@@ -41,7 +41,7 @@
template <typename Function>
winapi_thread(Function f, unsigned int = 0)
{
- std::auto_ptr<func_base> arg(new func<Function>(f));
+ scoped_ptr<func_base> arg(new func<Function>(f));
DWORD thread_id = 0;
thread_ = ::CreateThread(0, 0, winapi_thread_function,
arg.get(), 0, &thread_id);
@@ -105,7 +105,7 @@
inline DWORD WINAPI winapi_thread_function(LPVOID arg)
{
- std::auto_ptr<winapi_thread::func_base> func(
+ scoped_ptr<winapi_thread::func_base> func(
static_cast<winapi_thread::func_base*>(arg));
func->run();
return 0;