1 /*==============================================================================
2 Copyright (c) 2005-2010 Joel de Guzman
3 Copyright (c) 2010 Thomas Heller
5 Distributed under the Boost Software License, Version 1.0. (See accompanying
6 file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
7 ==============================================================================*/
8 template <typename Expr
9 , typename A0 = void , typename A1 = void , typename A2 = void , typename A3 = void , typename A4 = void , typename A5 = void , typename A6 = void , typename A7 = void , typename A8 = void , typename A9 = void
10 , typename Dummy = void>
12 template <typename Expr>
13 struct nullary_actor_result
16 typename boost::phoenix::evaluator::impl<
19 vector1<const ::boost::phoenix::actor<Expr> *> &
33 template <typename Expr, typename A0>
34 struct actor<Expr, A0>
37 typename phoenix::evaluator::
41 vector2<const ::boost::phoenix::actor<Expr> *, A0> &
55 template <typename Expr, typename A0 , typename A1>
56 struct actor<Expr, A0 , A1>
59 typename phoenix::evaluator::
63 vector3<const ::boost::phoenix::actor<Expr> *, A0 , A1> &
77 template <typename Expr, typename A0 , typename A1 , typename A2>
78 struct actor<Expr, A0 , A1 , A2>
81 typename phoenix::evaluator::
85 vector4<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2> &
99 template <typename Expr, typename A0 , typename A1 , typename A2 , typename A3>
100 struct actor<Expr, A0 , A1 , A2 , A3>
103 typename phoenix::evaluator::
107 vector5<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3> &
121 template <typename Expr, typename A0 , typename A1 , typename A2 , typename A3 , typename A4>
122 struct actor<Expr, A0 , A1 , A2 , A3 , A4>
125 typename phoenix::evaluator::
129 vector6<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3 , A4> &
143 template <typename Expr, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5>
144 struct actor<Expr, A0 , A1 , A2 , A3 , A4 , A5>
147 typename phoenix::evaluator::
151 vector7<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3 , A4 , A5> &
165 template <typename Expr, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6>
166 struct actor<Expr, A0 , A1 , A2 , A3 , A4 , A5 , A6>
169 typename phoenix::evaluator::
173 vector8<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3 , A4 , A5 , A6> &
187 template <typename Expr, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7>
188 struct actor<Expr, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7>
191 typename phoenix::evaluator::
195 vector9<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7> &
209 template <typename Expr, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8>
210 struct actor<Expr, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8>
213 typename phoenix::evaluator::
217 vector10<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8> &
231 template <typename Expr, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9>
232 struct actor<Expr, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9>
235 typename phoenix::evaluator::
239 vector11<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9> &