diff options
Diffstat (limited to '3rdParty/Boost/src/boost/asio/detail/handler_invoke_helpers.hpp')
-rw-r--r-- | 3rdParty/Boost/src/boost/asio/detail/handler_invoke_helpers.hpp | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/3rdParty/Boost/src/boost/asio/detail/handler_invoke_helpers.hpp b/3rdParty/Boost/src/boost/asio/detail/handler_invoke_helpers.hpp index 4da384a..8952d8d 100644 --- a/3rdParty/Boost/src/boost/asio/detail/handler_invoke_helpers.hpp +++ b/3rdParty/Boost/src/boost/asio/detail/handler_invoke_helpers.hpp @@ -2,7 +2,7 @@ // handler_invoke_helpers.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2008 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2010 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -19,6 +19,7 @@ #include <boost/asio/detail/push_options.hpp> #include <boost/detail/workaround.hpp> +#include <boost/utility/addressof.hpp> #include <boost/asio/detail/pop_options.hpp> #include <boost/asio/handler_invoke_hook.hpp> @@ -29,14 +30,15 @@ namespace boost_asio_handler_invoke_helpers { template <typename Function, typename Context> -inline void invoke(const Function& function, Context* context) +inline void invoke(const Function& function, Context& context) { -#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564)) +#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564)) \ + || BOOST_WORKAROUND(__GNUC__, < 3) Function tmp(function); tmp(); #else using namespace boost::asio; - asio_handler_invoke(function, context); + asio_handler_invoke(function, boost::addressof(context)); #endif } |