Chris@16: // Chris@16: // detail/handler_cont_helpers.hpp Chris@16: // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Chris@16: // Chris@101: // Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) Chris@16: // Chris@16: // Distributed under the Boost Software License, Version 1.0. (See accompanying Chris@16: // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) Chris@16: // Chris@16: Chris@16: #ifndef BOOST_ASIO_DETAIL_HANDLER_CONT_HELPERS_HPP Chris@16: #define BOOST_ASIO_DETAIL_HANDLER_CONT_HELPERS_HPP Chris@16: Chris@16: #if defined(_MSC_VER) && (_MSC_VER >= 1200) Chris@16: # pragma once Chris@16: #endif // defined(_MSC_VER) && (_MSC_VER >= 1200) Chris@16: Chris@16: #include Chris@16: #include Chris@16: #include Chris@16: Chris@16: #include Chris@16: Chris@16: // Calls to asio_handler_is_continuation must be made from a namespace that Chris@16: // does not contain overloads of this function. This namespace is defined here Chris@16: // for that purpose. Chris@16: namespace boost_asio_handler_cont_helpers { Chris@16: Chris@16: template Chris@16: inline bool is_continuation(Context& context) Chris@16: { Chris@16: #if !defined(BOOST_ASIO_HAS_HANDLER_HOOKS) Chris@16: return false; Chris@16: #else Chris@16: using boost::asio::asio_handler_is_continuation; Chris@16: return asio_handler_is_continuation( Chris@16: boost::asio::detail::addressof(context)); Chris@16: #endif Chris@16: } Chris@16: Chris@16: } // namespace boost_asio_handler_cont_helpers Chris@16: Chris@16: #include Chris@16: Chris@16: #endif // BOOST_ASIO_DETAIL_HANDLER_CONT_HELPERS_HPP