/*============================================================================== 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 struct result : result::type)> {}; template struct result : result_of::actor {}; template typename result_of::actor::type operator()(A0 & a0) const { typedef vector2< const actor *, A0 & > env_type; env_type env = {this, a0}; return phoenix::eval(*this, phoenix::context(env, default_actions())); } template typename result_of::actor::type operator()(A0 & a0) { typedef vector2< const actor *, A0 & > env_type; env_type env = {this, a0}; return phoenix::eval(*this, phoenix::context(env, default_actions())); } template struct result : result_of::actor {}; template typename result_of::actor::type operator()(A0 const& a0) const { typedef vector2< const actor *, A0 const& > env_type; env_type env = {this, a0}; return phoenix::eval(*this, phoenix::context(env, default_actions())); } template typename result_of::actor::type operator()(A0 const& a0) { typedef vector2< const actor *, A0 const& > env_type; env_type env = {this, a0}; return phoenix::eval(*this, phoenix::context(env, default_actions())); } template struct result : result::type , typename detail::result_type_deduction_helper::type)> {}; template struct result : result_of::actor {}; template typename result_of::actor::type operator()(A0 & a0 , A1 & a1) const { typedef vector3< const actor *, A0 & , A1 & > env_type; env_type env = {this, a0 , a1}; return phoenix::eval(*this, phoenix::context(env, default_actions())); } template typename result_of::actor::type operator()(A0 & a0 , A1 & a1) { typedef vector3< const actor *, A0 & , A1 & > env_type; env_type env = {this, a0 , a1}; return phoenix::eval(*this, phoenix::context(env, default_actions())); } template struct result : result_of::actor {}; template typename result_of::actor::type operator()(A0 & a0 , A1 const& a1) const { typedef vector3< const actor *, A0 & , A1 const& > env_type; env_type env = {this, a0 , a1}; return phoenix::eval(*this, phoenix::context(env, default_actions())); } template typename result_of::actor::type operator()(A0 & a0 , A1 const& a1) { typedef vector3< const actor *, A0 & , A1 const& > env_type; env_type env = {this, a0 , a1}; return phoenix::eval(*this, phoenix::context(env, default_actions())); } template struct result : result_of::actor {}; template typename result_of::actor::type operator()(A0 const& a0 , A1 & a1) const { typedef vector3< const actor *, A0 const& , A1 & > env_type; env_type env = {this, a0 , a1}; return phoenix::eval(*this, phoenix::context(env, default_actions())); } template typename result_of::actor::type operator()(A0 const& a0 , A1 & a1) { typedef vector3< const actor *, A0 const& , A1 & > env_type; env_type env = {this, a0 , a1}; return phoenix::eval(*this, phoenix::context(env, default_actions())); } template struct result : result_of::actor {}; template typename result_of::actor::type operator()(A0 const& a0 , A1 const& a1) const { typedef vector3< const actor *, A0 const& , A1 const& > env_type; env_type env = {this, a0 , a1}; return phoenix::eval(*this, phoenix::context(env, default_actions())); } template typename result_of::actor::type operator()(A0 const& a0 , A1 const& a1) { typedef vector3< const actor *, A0 const& , A1 const& > env_type; env_type env = {this, a0 , a1}; return phoenix::eval(*this, phoenix::context(env, default_actions())); } template struct result : result {}; template struct result : result_of::actor {}; template typename result_of::actor::type operator()(A0 & a0 , A1 & a1 , A2 & a2) { typedef vector4< const actor *, A0 & , A1 & , A2 & > env_type; env_type env = {this, a0 , a1 , a2}; return phoenix::eval(*this, phoenix::context(env, default_actions())); } template typename result_of::actor::type operator()(A0 & a0 , A1 & a1 , A2 & a2) const { typedef vector4< const actor *, A0 & , A1 & , A2 & > env_type; env_type env = {this, a0 , a1 , a2}; return phoenix::eval(*this, phoenix::context(env, default_actions())); } template typename result_of::actor::type operator()(A0 const& a0 , A1 const& a1 , A2 const& a2) { typedef vector4< const actor *, A0 const& , A1 const& , A2 const& > env_type; env_type env = {this, a0 , a1 , a2}; return phoenix::eval(*this, phoenix::context(env, default_actions())); } template typename result_of::actor::type operator()(A0 const& a0 , A1 const& a1 , A2 const& a2) const { typedef vector4< const actor *, A0 const& , A1 const& , A2 const& > env_type; env_type env = {this, a0 , a1 , a2}; return phoenix::eval(*this, phoenix::context(env, default_actions())); } template struct result : result {}; template struct result : result_of::actor {}; template typename result_of::actor::type operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3) { typedef vector5< const actor *, A0 & , A1 & , A2 & , A3 & > env_type; env_type env = {this, a0 , a1 , a2 , a3}; return phoenix::eval(*this, phoenix::context(env, default_actions())); } template typename result_of::actor::type operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3) const { typedef vector5< const actor *, A0 & , A1 & , A2 & , A3 & > env_type; env_type env = {this, a0 , a1 , a2 , a3}; return phoenix::eval(*this, phoenix::context(env, default_actions())); } template typename result_of::actor::type operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3) { typedef vector5< const actor *, A0 const& , A1 const& , A2 const& , A3 const& > env_type; env_type env = {this, a0 , a1 , a2 , a3}; return phoenix::eval(*this, phoenix::context(env, default_actions())); } template typename result_of::actor::type operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3) const { typedef vector5< const actor *, A0 const& , A1 const& , A2 const& , A3 const& > env_type; env_type env = {this, a0 , a1 , a2 , a3}; return phoenix::eval(*this, phoenix::context(env, default_actions())); } template struct result : result {}; template struct result : result_of::actor {}; template typename result_of::actor::type operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4) { typedef vector6< const actor *, A0 & , A1 & , A2 & , A3 & , A4 & > env_type; env_type env = {this, a0 , a1 , a2 , a3 , a4}; return phoenix::eval(*this, phoenix::context(env, default_actions())); } template typename result_of::actor::type operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4) const { typedef vector6< const actor *, A0 & , A1 & , A2 & , A3 & , A4 & > env_type; env_type env = {this, a0 , a1 , a2 , a3 , a4}; return phoenix::eval(*this, phoenix::context(env, default_actions())); } template typename result_of::actor::type operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4) { typedef vector6< const actor *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& > env_type; env_type env = {this, a0 , a1 , a2 , a3 , a4}; return phoenix::eval(*this, phoenix::context(env, default_actions())); } template typename result_of::actor::type operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4) const { typedef vector6< const actor *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& > env_type; env_type env = {this, a0 , a1 , a2 , a3 , a4}; return phoenix::eval(*this, phoenix::context(env, default_actions())); } template struct result : result {}; template struct result : result_of::actor {}; template typename result_of::actor::type operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5) { typedef vector7< const actor *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & > env_type; env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5}; return phoenix::eval(*this, phoenix::context(env, default_actions())); } template typename result_of::actor::type operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5) const { typedef vector7< const actor *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & > env_type; env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5}; return phoenix::eval(*this, phoenix::context(env, default_actions())); } template typename result_of::actor::type operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5) { typedef vector7< const actor *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& > env_type; env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5}; return phoenix::eval(*this, phoenix::context(env, default_actions())); } template typename result_of::actor::type operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5) const { typedef vector7< const actor *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& > env_type; env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5}; return phoenix::eval(*this, phoenix::context(env, default_actions())); } template struct result : result {}; template struct result : result_of::actor {}; template typename result_of::actor::type operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6) { typedef vector8< const actor *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & > env_type; env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6}; return phoenix::eval(*this, phoenix::context(env, default_actions())); } template typename result_of::actor::type operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6) const { typedef vector8< const actor *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & > env_type; env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6}; return phoenix::eval(*this, phoenix::context(env, default_actions())); } template typename result_of::actor::type operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6) { typedef vector8< const actor *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& > env_type; env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6}; return phoenix::eval(*this, phoenix::context(env, default_actions())); } template typename result_of::actor::type operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6) const { typedef vector8< const actor *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& > env_type; env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6}; return phoenix::eval(*this, phoenix::context(env, default_actions())); } template struct result : result {}; template struct result : result_of::actor {}; template typename result_of::actor::type operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7) { typedef vector9< const actor *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & > env_type; env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7}; return phoenix::eval(*this, phoenix::context(env, default_actions())); } template typename result_of::actor::type operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7) const { typedef vector9< const actor *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & > env_type; env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7}; return phoenix::eval(*this, phoenix::context(env, default_actions())); } template typename result_of::actor::type operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7) { typedef vector9< const actor *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& > env_type; env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7}; return phoenix::eval(*this, phoenix::context(env, default_actions())); } template typename result_of::actor::type operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7) const { typedef vector9< const actor *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& > env_type; env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7}; return phoenix::eval(*this, phoenix::context(env, default_actions())); } template struct result : result {}; template struct result : result_of::actor {}; template typename result_of::actor::type operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8) { typedef vector10< const actor *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & > env_type; env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8}; return phoenix::eval(*this, phoenix::context(env, default_actions())); } template typename result_of::actor::type operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8) const { typedef vector10< const actor *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & > env_type; env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8}; return phoenix::eval(*this, phoenix::context(env, default_actions())); } template typename result_of::actor::type operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8) { typedef vector10< const actor *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& > env_type; env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8}; return phoenix::eval(*this, phoenix::context(env, default_actions())); } template typename result_of::actor::type operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8) const { typedef vector10< const actor *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& > env_type; env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8}; return phoenix::eval(*this, phoenix::context(env, default_actions())); } template struct result : result {}; template struct result : result_of::actor {}; template typename result_of::actor::type operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9) { typedef vector11< const actor *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & > env_type; env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9}; return phoenix::eval(*this, phoenix::context(env, default_actions())); } template typename result_of::actor::type operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9) const { typedef vector11< const actor *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & > env_type; env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9}; return phoenix::eval(*this, phoenix::context(env, default_actions())); } template typename result_of::actor::type operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9) { typedef vector11< const actor *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& > env_type; env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9}; return phoenix::eval(*this, phoenix::context(env, default_actions())); } template typename result_of::actor::type operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9) const { typedef vector11< const actor *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& > env_type; env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9}; return phoenix::eval(*this, phoenix::context(env, default_actions())); }