|
||||
File indexing completed on 2025-01-18 09:29:09
0001 // 0002 // handler_continuation_hook.hpp 0003 // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 0004 // 0005 // Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) 0006 // 0007 // Distributed under the Boost Software License, Version 1.0. (See accompanying 0008 // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 0009 // 0010 0011 #ifndef BOOST_ASIO_HANDLER_CONTINUATION_HOOK_HPP 0012 #define BOOST_ASIO_HANDLER_CONTINUATION_HOOK_HPP 0013 0014 #if defined(_MSC_VER) && (_MSC_VER >= 1200) 0015 # pragma once 0016 #endif // defined(_MSC_VER) && (_MSC_VER >= 1200) 0017 0018 #include <boost/asio/detail/config.hpp> 0019 0020 #include <boost/asio/detail/push_options.hpp> 0021 0022 namespace boost { 0023 namespace asio { 0024 0025 /// Default continuation function for handlers. 0026 /** 0027 * Asynchronous operations may represent a continuation of the asynchronous 0028 * control flow associated with the current handler. The implementation can use 0029 * this knowledge to optimise scheduling of the handler. 0030 * 0031 * Implement asio_handler_is_continuation for your own handlers to indicate 0032 * when a handler represents a continuation. 0033 * 0034 * The default implementation of the continuation hook returns <tt>false</tt>. 0035 * 0036 * @par Example 0037 * @code 0038 * class my_handler; 0039 * 0040 * bool asio_handler_is_continuation(my_handler* context) 0041 * { 0042 * return true; 0043 * } 0044 * @endcode 0045 */ 0046 inline bool asio_handler_is_continuation(...) 0047 { 0048 return false; 0049 } 0050 0051 } // namespace asio 0052 } // namespace boost 0053 0054 #include <boost/asio/detail/pop_options.hpp> 0055 0056 #endif // BOOST_ASIO_HANDLER_CONTINUATION_HOOK_HPP
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |