| /*============================================================================== |
| Copyright (c) 2005-2010 Joel de Guzman |
| Copyright (c) 2010 Thomas Heller |
| |
| Distributed under the Boost Software License, Version 1.0. (See accompanying |
| file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) |
| ==============================================================================*/ |
| namespace result_of |
| { |
| template <typename Expr |
| , 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 |
| , typename Dummy = void> |
| struct actor; |
| template <typename Expr> |
| struct nullary_actor_result |
| { |
| typedef |
| typename boost::phoenix::evaluator::impl< |
| Expr const& |
| , vector2< |
| vector1<const ::boost::phoenix::actor<Expr> *> & |
| , default_actions |
| > const & |
| , int |
| >::result_type |
| type; |
| }; |
| template <typename Expr> |
| struct actor<Expr> |
| { |
| typedef |
| |
| typename mpl::eval_if_c< |
| result_of::is_nullary<Expr>::value |
| , nullary_actor_result<Expr> |
| , mpl::identity<detail::error_expecting_arguments> |
| >::type |
| type; |
| }; |
| |
| |
| |
| |
| |
| |
| |
| template <typename Expr, typename A0> |
| struct actor<Expr, A0> |
| { |
| typedef |
| typename phoenix::evaluator:: |
| impl< |
| Expr const& |
| , vector2< |
| vector2<const ::boost::phoenix::actor<Expr> *, A0> & |
| , default_actions |
| > const & |
| , int |
| >::result_type |
| type; |
| }; |
| |
| |
| |
| |
| |
| |
| |
| template <typename Expr, typename A0 , typename A1> |
| struct actor<Expr, A0 , A1> |
| { |
| typedef |
| typename phoenix::evaluator:: |
| impl< |
| Expr const& |
| , vector2< |
| vector3<const ::boost::phoenix::actor<Expr> *, A0 , A1> & |
| , default_actions |
| > const & |
| , int |
| >::result_type |
| type; |
| }; |
| |
| |
| |
| |
| |
| |
| |
| template <typename Expr, typename A0 , typename A1 , typename A2> |
| struct actor<Expr, A0 , A1 , A2> |
| { |
| typedef |
| typename phoenix::evaluator:: |
| impl< |
| Expr const& |
| , vector2< |
| vector4<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2> & |
| , default_actions |
| > const & |
| , int |
| >::result_type |
| type; |
| }; |
| |
| |
| |
| |
| |
| |
| |
| template <typename Expr, typename A0 , typename A1 , typename A2 , typename A3> |
| struct actor<Expr, A0 , A1 , A2 , A3> |
| { |
| typedef |
| typename phoenix::evaluator:: |
| impl< |
| Expr const& |
| , vector2< |
| vector5<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3> & |
| , default_actions |
| > const & |
| , int |
| >::result_type |
| type; |
| }; |
| |
| |
| |
| |
| |
| |
| |
| template <typename Expr, typename A0 , typename A1 , typename A2 , typename A3 , typename A4> |
| struct actor<Expr, A0 , A1 , A2 , A3 , A4> |
| { |
| typedef |
| typename phoenix::evaluator:: |
| impl< |
| Expr const& |
| , vector2< |
| vector6<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3 , A4> & |
| , default_actions |
| > const & |
| , int |
| >::result_type |
| type; |
| }; |
| |
| |
| |
| |
| |
| |
| |
| template <typename Expr, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5> |
| struct actor<Expr, A0 , A1 , A2 , A3 , A4 , A5> |
| { |
| typedef |
| typename phoenix::evaluator:: |
| impl< |
| Expr const& |
| , vector2< |
| vector7<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3 , A4 , A5> & |
| , default_actions |
| > const & |
| , int |
| >::result_type |
| type; |
| }; |
| |
| |
| |
| |
| |
| |
| |
| template <typename Expr, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6> |
| struct actor<Expr, A0 , A1 , A2 , A3 , A4 , A5 , A6> |
| { |
| typedef |
| typename phoenix::evaluator:: |
| impl< |
| Expr const& |
| , vector2< |
| vector8<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3 , A4 , A5 , A6> & |
| , default_actions |
| > const & |
| , int |
| >::result_type |
| type; |
| }; |
| |
| |
| |
| |
| |
| |
| |
| template <typename Expr, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7> |
| struct actor<Expr, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7> |
| { |
| typedef |
| typename phoenix::evaluator:: |
| impl< |
| Expr const& |
| , vector2< |
| vector9<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7> & |
| , default_actions |
| > const & |
| , int |
| >::result_type |
| type; |
| }; |
| |
| |
| |
| |
| |
| |
| |
| template <typename Expr, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8> |
| struct actor<Expr, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8> |
| { |
| typedef |
| typename phoenix::evaluator:: |
| impl< |
| Expr const& |
| , vector2< |
| vector10<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8> & |
| , default_actions |
| > const & |
| , int |
| >::result_type |
| type; |
| }; |
| |
| |
| |
| |
| |
| |
| |
| template <typename Expr, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9> |
| struct actor<Expr, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9> |
| { |
| typedef |
| typename phoenix::evaluator:: |
| impl< |
| Expr const& |
| , vector2< |
| vector11<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9> & |
| , default_actions |
| > const & |
| , int |
| >::result_type |
| type; |
| }; |
| } |