]> git.proxmox.com Git - ceph.git/blame - ceph/src/boost/libs/coroutine/include/boost/coroutine/detail/pull_coroutine_synthesized.hpp
bump version to 12.2.2-pve1
[ceph.git] / ceph / src / boost / libs / coroutine / include / boost / coroutine / detail / pull_coroutine_synthesized.hpp
CommitLineData
7c673cae
FG
1
2// Copyright Oliver Kowalke 2009.
3// Distributed under the Boost Software License, Version 1.0.
4// (See accompanying file LICENSE_1_0.txt or copy at
5// http://www.boost.org/LICENSE_1_0.txt)
6
7#ifndef BOOST_COROUTINES_DETAIL_PULL_COROUTINE_SYNTHESIZED_H
8#define BOOST_COROUTINES_DETAIL_PULL_COROUTINE_SYNTHESIZED_H
9
10#include <boost/config.hpp>
11
12#include <boost/coroutine/detail/config.hpp>
13#include <boost/coroutine/detail/coroutine_context.hpp>
14#include <boost/coroutine/detail/pull_coroutine_impl.hpp>
15
16#ifdef BOOST_HAS_ABI_HEADERS
17# include BOOST_ABI_PREFIX
18#endif
19
20namespace boost {
21namespace coroutines {
22namespace detail {
23
24template< typename R >
25class pull_coroutine_synthesized : public pull_coroutine_impl< R >
26{
27private:
28 typedef pull_coroutine_impl< R > impl_t;
29
30public:
31 pull_coroutine_synthesized( coroutine_context * caller,
32 coroutine_context * callee,
33 bool unwind,
34 R * result) :
35 impl_t( caller, callee, unwind, result)
36 {}
37
38 void destroy() {}
39};
40
41template< typename R >
42class pull_coroutine_synthesized< R & > : public pull_coroutine_impl< R & >
43{
44private:
45 typedef pull_coroutine_impl< R & > impl_t;
46
47public:
48 pull_coroutine_synthesized( coroutine_context * caller,
49 coroutine_context * callee,
50 bool unwind,
51 R * result) :
52 impl_t( caller, callee, unwind, result)
53 {}
54
55 void destroy() {}
56};
57
58template<>
59class pull_coroutine_synthesized< void > : public pull_coroutine_impl< void >
60{
61private:
62 typedef pull_coroutine_impl< void > impl_t;
63
64public:
65 pull_coroutine_synthesized( coroutine_context * caller,
66 coroutine_context * callee,
67 bool unwind) :
68 impl_t( caller, callee, unwind)
69 {}
70
71 inline void destroy() {}
72};
73
74}}}
75
76#ifdef BOOST_HAS_ABI_HEADERS
77# include BOOST_ABI_SUFFIX
78#endif
79
80#endif // BOOST_COROUTINES_DETAIL_PULL_COROUTINE_SYNTHESIZED_H