246 lines
7.8 KiB
Plaintext
246 lines
7.8 KiB
Plaintext
/*==============================================================================
|
|
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)
|
|
==============================================================================*/
|
|
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 &
|
|
, proto::empty_env
|
|
>::result_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 &
|
|
, proto::empty_env
|
|
>::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 &
|
|
, proto::empty_env
|
|
>::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 &
|
|
, proto::empty_env
|
|
>::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 &
|
|
, proto::empty_env
|
|
>::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 &
|
|
, proto::empty_env
|
|
>::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 &
|
|
, proto::empty_env
|
|
>::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 &
|
|
, proto::empty_env
|
|
>::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 &
|
|
, proto::empty_env
|
|
>::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 &
|
|
, proto::empty_env
|
|
>::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 &
|
|
, proto::empty_env
|
|
>::result_type
|
|
type;
|
|
};
|