466 lines
17 KiB
Plaintext
466 lines
17 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 A10 = void , typename A11 = void , typename A12 = void , typename A13 = void , typename A14 = void , typename A15 = void , typename A16 = void , typename A17 = void , typename A18 = void , typename A19 = 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;
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
template <typename Expr, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10>
|
|
struct actor<Expr, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10>
|
|
{
|
|
typedef
|
|
typename phoenix::evaluator::
|
|
impl<
|
|
Expr const&
|
|
, vector2<
|
|
vector12<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10> &
|
|
, 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 , typename A10 , typename A11>
|
|
struct actor<Expr, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11>
|
|
{
|
|
typedef
|
|
typename phoenix::evaluator::
|
|
impl<
|
|
Expr const&
|
|
, vector2<
|
|
vector13<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11> &
|
|
, 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 , typename A10 , typename A11 , typename A12>
|
|
struct actor<Expr, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12>
|
|
{
|
|
typedef
|
|
typename phoenix::evaluator::
|
|
impl<
|
|
Expr const&
|
|
, vector2<
|
|
vector14<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12> &
|
|
, 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 , typename A10 , typename A11 , typename A12 , typename A13>
|
|
struct actor<Expr, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13>
|
|
{
|
|
typedef
|
|
typename phoenix::evaluator::
|
|
impl<
|
|
Expr const&
|
|
, vector2<
|
|
vector15<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13> &
|
|
, 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 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14>
|
|
struct actor<Expr, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14>
|
|
{
|
|
typedef
|
|
typename phoenix::evaluator::
|
|
impl<
|
|
Expr const&
|
|
, vector2<
|
|
vector16<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14> &
|
|
, 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 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15>
|
|
struct actor<Expr, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15>
|
|
{
|
|
typedef
|
|
typename phoenix::evaluator::
|
|
impl<
|
|
Expr const&
|
|
, vector2<
|
|
vector17<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15> &
|
|
, 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 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16>
|
|
struct actor<Expr, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16>
|
|
{
|
|
typedef
|
|
typename phoenix::evaluator::
|
|
impl<
|
|
Expr const&
|
|
, vector2<
|
|
vector18<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16> &
|
|
, 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 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17>
|
|
struct actor<Expr, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17>
|
|
{
|
|
typedef
|
|
typename phoenix::evaluator::
|
|
impl<
|
|
Expr const&
|
|
, vector2<
|
|
vector19<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17> &
|
|
, 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 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18>
|
|
struct actor<Expr, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18>
|
|
{
|
|
typedef
|
|
typename phoenix::evaluator::
|
|
impl<
|
|
Expr const&
|
|
, vector2<
|
|
vector20<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18> &
|
|
, 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 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19>
|
|
struct actor<Expr, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19>
|
|
{
|
|
typedef
|
|
typename phoenix::evaluator::
|
|
impl<
|
|
Expr const&
|
|
, vector2<
|
|
vector21<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19> &
|
|
, default_actions
|
|
> const &
|
|
, proto::empty_env
|
|
>::result_type
|
|
type;
|
|
};
|