]> git.proxmox.com Git - ceph.git/blame - ceph/src/boost/libs/phoenix/include/boost/phoenix/core/detail/cpp03/actor_result_of.hpp
bump version to 12.2.2-pve1
[ceph.git] / ceph / src / boost / libs / phoenix / include / boost / phoenix / core / detail / cpp03 / actor_result_of.hpp
CommitLineData
7c673cae
FG
1
2#if !defined(BOOST_PHOENIX_DONT_USE_PREPROCESSED_FILES)
3#ifndef BOOST_PHOENIX_CORE_DETAIL_ACTOR_RESULT_OF_HPP
4#define BOOST_PHOENIX_CORE_DETAIL_ACTOR_RESULT_OF_HPP
5
6#include <boost/phoenix/support/iterate.hpp>
7
8#include <boost/phoenix/core/detail/cpp03/preprocessed/actor_result_of.hpp>
9
10#endif
11#else
12
13#if !BOOST_PHOENIX_IS_ITERATING
14
15#ifndef BOOST_PHOENIX_CORE_DETAIL_ACTOR_RESULT_OF_HPP
16#define BOOST_PHOENIX_CORE_DETAIL_ACTOR_RESULT_OF_HPP
17
18#include <boost/phoenix/support/iterate.hpp>
19
20#if defined(__WAVE__) && defined(BOOST_PHOENIX_CREATE_PREPROCESSED_FILES)
21#pragma wave option(preserve: 2, line: 0, output: "preprocessed/actor_result_of_" BOOST_PHOENIX_LIMIT_STR ".hpp")
22#endif
23
24/*==============================================================================
25 Copyright (c) 2005-2010 Joel de Guzman
26 Copyright (c) 2010 Thomas Heller
27
28 Distributed under the Boost Software License, Version 1.0. (See accompanying
29 file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
30==============================================================================*/
31
32#if defined(__WAVE__) && defined(BOOST_PHOENIX_CREATE_PREPROCESSED_FILES)
33#pragma wave option(preserve: 1)
34#endif
35
36 template <typename Expr
37 , BOOST_PHOENIX_typename_A_void(BOOST_PHOENIX_ACTOR_LIMIT)
38 , typename Dummy = void>
39 struct actor;
40
41 template <typename Expr>
42 struct nullary_actor_result
43 {
44 typedef
45 typename boost::phoenix::evaluator::impl<
46 Expr const&
47 , vector2<
48 vector1<const ::boost::phoenix::actor<Expr> *> &
49 , default_actions
50 > const &
51 , proto::empty_env
52 >::result_type
53 type;
54 };
55
56#define BOOST_PHOENIX_ITERATION_PARAMS \
57 (3, (1, BOOST_PHOENIX_ACTOR_LIMIT, \
58 <boost/phoenix/core/detail/cpp03/actor_result_of.hpp>))
59#include BOOST_PHOENIX_ITERATE()
60
61#if defined(__WAVE__) && defined(BOOST_PHOENIX_CREATE_PREPROCESSED_FILES)
62#pragma wave option(output: null)
63#endif
64
65#endif
66
67#else
68
69 template <typename Expr, BOOST_PHOENIX_typename_A>
70 struct actor<Expr, BOOST_PHOENIX_A>
71 {
72 typedef
73 typename phoenix::evaluator::
74 impl<
75 Expr const&
76 , vector2<
77 BOOST_PP_CAT(
78 vector
79 , BOOST_PP_INC(BOOST_PHOENIX_ITERATION)
80 )<const ::boost::phoenix::actor<Expr> *, BOOST_PHOENIX_A> &
81 , default_actions
82 > const &
83 , proto::empty_env
84 >::result_type
85 type;
86 };
87
88#endif
89
90#endif // BOOST_PHOENIX_DONT_USE_PREPROCESSED_FILES