| 123456789101112131415161718192021222324252627282930313233343536373839404142434445 | //// detail/handler_cont_helpers.hpp// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//// Copyright (c) 2003-2020 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)//#ifndef BOOST_ASIO_DETAIL_HANDLER_CONT_HELPERS_HPP#define BOOST_ASIO_DETAIL_HANDLER_CONT_HELPERS_HPP#if defined(_MSC_VER) && (_MSC_VER >= 1200)# pragma once#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)#include <boost/asio/detail/config.hpp>#include <boost/asio/detail/memory.hpp>#include <boost/asio/handler_continuation_hook.hpp>#include <boost/asio/detail/push_options.hpp>// Calls to asio_handler_is_continuation must be made from a namespace that// does not contain overloads of this function. This namespace is defined here// for that purpose.namespace boost_asio_handler_cont_helpers {template <typename Context>inline bool is_continuation(Context& context){#if !defined(BOOST_ASIO_HAS_HANDLER_HOOKS)  return false;#else  using boost::asio::asio_handler_is_continuation;  return asio_handler_is_continuation(      boost::asio::detail::addressof(context));#endif}} // namespace boost_asio_handler_cont_helpers#include <boost/asio/detail/pop_options.hpp>#endif // BOOST_ASIO_DETAIL_HANDLER_CONT_HELPERS_HPP
 |