]> git.proxmox.com Git - ceph.git/blame - ceph/src/boost/libs/asio/test/archetypes/deprecated_async_result.hpp
update sources to v12.2.3
[ceph.git] / ceph / src / boost / libs / asio / test / archetypes / deprecated_async_result.hpp
CommitLineData
b32b8144
FG
1//
2// async_result.hpp
3// ~~~~~~~~~~~~~~~~
4//
5// Copyright (c) 2003-2017 Christopher M. Kohlhoff (chris at kohlhoff dot com)
6//
7// Distributed under the Boost Software License, Version 1.0. (See accompanying
8// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
9//
10
11#ifndef ARCHETYPES_DEPRECATED_ASYNC_RESULT_HPP
12#define ARCHETYPES_DEPRECATED_ASYNC_RESULT_HPP
13
14#include <boost/asio/async_result.hpp>
15
16#if !defined(BOOST_ASIO_NO_DEPRECATED)
17
18#include <boost/asio/handler_type.hpp>
19
20namespace archetypes {
21
22struct deprecated_lazy_handler
23{
24};
25
26struct deprecated_concrete_handler
27{
28 deprecated_concrete_handler(deprecated_lazy_handler)
29 {
30 }
31
32 template <typename Arg1>
33 void operator()(Arg1)
34 {
35 }
36
37 template <typename Arg1, typename Arg2>
38 void operator()(Arg1, Arg2)
39 {
40 }
41
42#if defined(BOOST_ASIO_HAS_MOVE)
43 deprecated_concrete_handler(deprecated_concrete_handler&&) {}
44private:
45 deprecated_concrete_handler(const deprecated_concrete_handler&);
46#endif // defined(BOOST_ASIO_HAS_MOVE)
47};
48
49} // namespace archetypes
50
51namespace boost {
52namespace asio {
53
54template <typename Signature>
55struct handler_type<archetypes::deprecated_lazy_handler, Signature>
56{
57 typedef archetypes::deprecated_concrete_handler type;
58};
59
60template <>
61class async_result<archetypes::deprecated_concrete_handler>
62{
63public:
64 // The return type of the initiating function.
65 typedef double type;
66
67 // Construct an async_result from a given handler.
68 explicit async_result(archetypes::deprecated_concrete_handler&)
69 {
70 }
71
72 // Obtain the value to be returned from the initiating function.
73 type get()
74 {
75 return 42;
76 }
77};
78
79} // namespace asio
80} // namespace boost
81
82#endif // !defined(BOOST_ASIO_NO_DEPRECATED)
83
84#endif // ARCHETYPES_DEPRECATED_ASYNC_RESULT_HPP