diff --git a/include/boost/phoenix/bind/bind_function.hpp b/include/boost/phoenix/bind/bind_function.hpp index ea1e2d7..1c38946 100644 --- a/include/boost/phoenix/bind/bind_function.hpp +++ b/include/boost/phoenix/bind/bind_function.hpp @@ -1,118 +1,18 @@ /*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman + Copyright (c) 2016 Kohei Takahashi - Distributed under the Boost Software License, Version 1.0. (See accompanying + 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) ==============================================================================*/ -#if !BOOST_PHOENIX_IS_ITERATING - #ifndef PHOENIX_BIND_BIND_FUNCTION_HPP #define PHOENIX_BIND_BIND_FUNCTION_HPP -#include -#include -#include +#include -namespace boost { namespace phoenix { - - template < - typename RT - > - inline - typename detail::expression::function_eval< - detail::function_ptr<0, RT, RT(*)()> - >::type const - bind(RT(*f)()) - { - typedef detail::function_ptr<0, RT, RT(*)()> fp_type; - return detail::expression::function_eval::make(fp_type(f)); - } - - template < - typename RT - , typename T0 - , typename A0 - > - inline - typename detail::expression::function_eval< - detail::function_ptr<1, RT, RT(*)(T0)> - , A0 - >::type const - bind(RT(*f)(T0), A0 const & a0) - { - typedef detail::function_ptr<1, RT, RT(*)(T0)> fp_type; - return detail::expression::function_eval::make(fp_type(f), a0); - } - -#if !defined(BOOST_PHOENIX_DONT_USE_PREPROCESSED_FILES) - #include +#if defined(BOOST_PHOENIX_NO_VARIADIC_BIND) +# include #else - -#if defined(__WAVE__) && defined (BOOST_PHOENIX_CREATE_PREPROCESSED_FILES) - #pragma wave option(preserve: 2, line: 0, output: "preprocessed/bind_function_" BOOST_PHOENIX_LIMIT_STR ".hpp") +// TODO: #endif - -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - - 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) -==============================================================================*/ - -#if defined(__WAVE__) && defined(BOOST_PHOENIX_CREATE_PREPROCESSED_FILES) - #pragma wave option(preserve: 1) -#endif - -#define BOOST_PHOENIX_ITERATION_PARAMS \ - (3, (2, BOOST_PP_DEC(BOOST_PHOENIX_ACTOR_LIMIT), \ - )) -#include BOOST_PHOENIX_ITERATE() - -#if defined(__WAVE__) && defined (BOOST_PHOENIX_CREATE_PREPROCESSED_FILES) - #pragma wave option(output: null) -#endif - -#endif - -}} - -#endif - -#else - - template < - typename RT - , BOOST_PP_ENUM_PARAMS(BOOST_PHOENIX_ITERATION, typename T) - , BOOST_PHOENIX_typename_A - > - inline - typename detail::expression::function_eval< - detail::function_ptr< - BOOST_PHOENIX_ITERATION - , RT - , RT(*)(BOOST_PP_ENUM_PARAMS(BOOST_PHOENIX_ITERATION, T)) - > - , BOOST_PHOENIX_A - >::type const - bind( - RT(*f)(BOOST_PP_ENUM_PARAMS(BOOST_PHOENIX_ITERATION, T)) - , BOOST_PHOENIX_A_const_ref_a - ) - { - typedef detail::function_ptr< - BOOST_PHOENIX_ITERATION - , RT - , RT(*)(BOOST_PP_ENUM_PARAMS(BOOST_PHOENIX_ITERATION, T)) - > fp_type; - return - detail::expression::function_eval< - fp_type - , BOOST_PHOENIX_A - >::make( - fp_type(f) - , BOOST_PHOENIX_a - ); - } - #endif diff --git a/include/boost/phoenix/bind/bind_function_object.hpp b/include/boost/phoenix/bind/bind_function_object.hpp index 00bdb9b..1ae396e 100644 --- a/include/boost/phoenix/bind/bind_function_object.hpp +++ b/include/boost/phoenix/bind/bind_function_object.hpp @@ -1,79 +1,18 @@ /*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman + Copyright (c) 2016 Kohei Takahashi - Distributed under the Boost Software License, Version 1.0. (See accompanying + 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) ==============================================================================*/ -#if !BOOST_PHOENIX_IS_ITERATING - #ifndef PHOENIX_BIND_BIND_FUNCTION_OBJECT_HPP #define PHOENIX_BIND_BIND_FUNCTION_OBJECT_HPP -#include -#include +#include -namespace boost { namespace phoenix { - template - inline - typename detail::expression::function_eval::type const - bind(F f) - { - return detail::expression::function_eval::make(f); - } - -#if !defined(BOOST_PHOENIX_DONT_USE_PREPROCESSED_FILES) - #include +#if defined(BOOST_PHOENIX_NO_VARIADIC_BIND) +# include #else - -#if defined(__WAVE__) && defined (BOOST_PHOENIX_CREATE_PREPROCESSED_FILES) - #pragma wave option(preserve: 2, line: 0, output: "preprocessed/bind_function_object_" BOOST_PHOENIX_LIMIT_STR ".hpp") +// TODO: #endif - -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - - 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) -==============================================================================*/ - -#if defined(__WAVE__) && defined(BOOST_PHOENIX_CREATE_PREPROCESSED_FILES) - #pragma wave option(preserve: 1) -#endif - -#define BOOST_PHOENIX_ITERATION_PARAMS \ - (3, (1, BOOST_PP_DEC(BOOST_PHOENIX_ACTOR_LIMIT), \ - )) -#include BOOST_PHOENIX_ITERATE() - -#if defined(__WAVE__) && defined (BOOST_PHOENIX_CREATE_PREPROCESSED_FILES) - #pragma wave option(output: null) -#endif - -#endif - -}} - -#endif - -#else - - template < - typename F - , BOOST_PHOENIX_typename_A - > - inline - typename detail::expression::function_eval< - F - , BOOST_PHOENIX_A - >::type const - bind(F f, BOOST_PHOENIX_A_const_ref_a) - { - return - detail::expression::function_eval::make( - f - , BOOST_PHOENIX_a - ); - } - #endif diff --git a/include/boost/phoenix/bind/bind_member_function.hpp b/include/boost/phoenix/bind/bind_member_function.hpp index 498f1a0..7bdaf88 100644 --- a/include/boost/phoenix/bind/bind_member_function.hpp +++ b/include/boost/phoenix/bind/bind_member_function.hpp @@ -1,256 +1,18 @@ /*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - Copyright (c) 2014 John Fletcher + Copyright (c) 2016 Kohei Takahashi 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) ==============================================================================*/ -#if !BOOST_PHOENIX_IS_ITERATING - #ifndef PHOENIX_BIND_BIND_MEMBER_FUNCTION_HPP #define PHOENIX_BIND_BIND_MEMBER_FUNCTION_HPP -#include -#include -#include -#include -#include -#include +#include -namespace boost { namespace phoenix -{ - - template - inline - typename boost::lazy_enable_if< - boost::is_member_function_pointer, - typename detail::expression::function_eval< - detail::member_function_ptr<0, RT, RT(ClassT::*)()> - , ClassA > - >::type const - bind(RT(ClassT::*f)(), ClassA const& obj) - { - typedef detail::member_function_ptr<0, RT, RT(ClassT::*)()> fp_type; - return - detail::expression::function_eval::make( - fp_type(f) - , obj - ); - } - - template - inline - typename boost::lazy_enable_if< - boost::is_member_function_pointer, - typename detail::expression::function_eval< - detail::member_function_ptr<0, RT, RT(ClassT::*)() const> - , ClassA > - >::type const - bind(RT(ClassT::*f)() const, ClassA const& obj) - { - typedef - detail::member_function_ptr<0, RT, RT(ClassT::*)() const> - fp_type; - return - detail::expression::function_eval::make( - fp_type(f) - , obj - ); - } - - template - inline - typename detail::expression::function_eval< - detail::member_function_ptr<0, RT, RT(ClassT::*)()> - , ClassT - >::type const - bind(RT(ClassT::*f)(), ClassT& obj) - { - typedef detail::member_function_ptr<0, RT, RT(ClassT::*)()> fp_type; - return - detail::expression::function_eval< - fp_type - , ClassT - >::make( - fp_type(f) - , obj - ); - } - - template - inline - typename detail::expression::function_eval< - detail::member_function_ptr<0, RT, RT(ClassT::*)() const> - , ClassT - >::type const - bind(RT(ClassT::*f)() const, ClassT& obj) - { - typedef detail::member_function_ptr<0, RT, RT(ClassT::*)() const> fp_type; - return - detail::expression::function_eval< - fp_type - , ClassT - >::make( - fp_type(f) - , obj - ); - } - -#if !defined(BOOST_PHOENIX_DONT_USE_PREPROCESSED_FILES) - #include +#if defined(BOOST_PHOENIX_NO_VARIADIC_BIND) +# include #else - -#if defined(__WAVE__) && defined (BOOST_PHOENIX_CREATE_PREPROCESSED_FILES) - #pragma wave option(preserve: 2, line: 0, output: "preprocessed/bind_member_function_" BOOST_PHOENIX_LIMIT_STR ".hpp") +// TODO: #endif - -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - - 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) -==============================================================================*/ - -#if defined(__WAVE__) && defined(BOOST_PHOENIX_CREATE_PREPROCESSED_FILES) - #pragma wave option(preserve: 1) #endif - -#define BOOST_PHOENIX_ITERATION_PARAMS \ - (3, (1, BOOST_PP_DEC(BOOST_PHOENIX_ACTOR_LIMIT), \ - )) -#include BOOST_PHOENIX_ITERATE() - -#if defined(__WAVE__) && defined (BOOST_PHOENIX_CREATE_PREPROCESSED_FILES) - #pragma wave option(output: null) -#endif - -#endif - -}} - -#endif - -#else - - template < - typename RT - , typename ClassT - , BOOST_PP_ENUM_PARAMS(BOOST_PHOENIX_ITERATION, typename T) - , typename ClassA - , BOOST_PHOENIX_typename_A - > - inline - typename detail::expression::function_eval< - detail::member_function_ptr< - BOOST_PHOENIX_ITERATION - , RT - , RT(ClassT::*)(BOOST_PP_ENUM_PARAMS(BOOST_PHOENIX_ITERATION, T)) - > - , ClassA - , BOOST_PHOENIX_A - >::type const - bind( - RT(ClassT::*f)(BOOST_PP_ENUM_PARAMS(BOOST_PHOENIX_ITERATION, T)) - , ClassA const & obj - , BOOST_PHOENIX_A_const_ref_a - ) - { - typedef detail::member_function_ptr< - BOOST_PHOENIX_ITERATION - , RT - , RT(ClassT::*)(BOOST_PP_ENUM_PARAMS(BOOST_PHOENIX_ITERATION, T)) - > fp_type; - return - detail::expression::function_eval< - fp_type - , ClassA - , BOOST_PHOENIX_A - >::make( - fp_type(f) - , obj - , BOOST_PHOENIX_a - ); - } - - template < - typename RT - , typename ClassT - , BOOST_PP_ENUM_PARAMS(BOOST_PHOENIX_ITERATION, typename T) - , typename ClassA - , BOOST_PHOENIX_typename_A - > - inline - typename detail::expression::function_eval< - detail::member_function_ptr< - BOOST_PHOENIX_ITERATION - , RT - , RT(ClassT::*)(BOOST_PP_ENUM_PARAMS(BOOST_PHOENIX_ITERATION, T)) const - > - , ClassA - , BOOST_PHOENIX_A - >::type const - bind( - RT(ClassT::*f)(BOOST_PP_ENUM_PARAMS(BOOST_PHOENIX_ITERATION, T)) const - , ClassA const & obj - , BOOST_PHOENIX_A_const_ref_a - ) - { - typedef detail::member_function_ptr< - BOOST_PHOENIX_ITERATION - , RT - , RT(ClassT::*)(BOOST_PP_ENUM_PARAMS(BOOST_PHOENIX_ITERATION, T)) const - > fp_type; - return - detail::expression::function_eval< - fp_type - , ClassA - , BOOST_PHOENIX_A - >::make( - fp_type(f) - , obj - , BOOST_PHOENIX_a - ); - } - - template < - typename RT - , typename ClassT - , BOOST_PP_ENUM_PARAMS(BOOST_PHOENIX_ITERATION, typename T) - , BOOST_PHOENIX_typename_A - > - inline - typename detail::expression::function_eval< - detail::member_function_ptr< - BOOST_PHOENIX_ITERATION - , RT - , RT(ClassT::*)(BOOST_PP_ENUM_PARAMS(BOOST_PHOENIX_ITERATION, T)) - > - , ClassT - , BOOST_PHOENIX_A - >::type const - bind( - RT(ClassT::*f)(BOOST_PP_ENUM_PARAMS(BOOST_PHOENIX_ITERATION, T)) - , ClassT & obj - , BOOST_PHOENIX_A_const_ref_a - ) - { - typedef detail::member_function_ptr< - BOOST_PHOENIX_ITERATION - , RT - , RT(ClassT::*)(BOOST_PP_ENUM_PARAMS(BOOST_PHOENIX_ITERATION, T)) - > fp_type; - return - detail::expression::function_eval< - fp_type - , ClassT - , BOOST_PHOENIX_A - >::make( - fp_type(f) - , obj - , BOOST_PHOENIX_a - ); - } - -#endif - diff --git a/include/boost/phoenix/bind/detail/cpp03/bind_function.hpp b/include/boost/phoenix/bind/detail/cpp03/bind_function.hpp new file mode 100644 index 0000000..9fa6b10 --- /dev/null +++ b/include/boost/phoenix/bind/detail/cpp03/bind_function.hpp @@ -0,0 +1,113 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + 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) +==============================================================================*/ + +#if !BOOST_PHOENIX_IS_ITERATING + +#include +#include +#include + +namespace boost { namespace phoenix { + + template < + typename RT + > + inline + typename detail::expression::function_eval< + detail::function_ptr<0, RT, RT(*)()> + >::type const + bind(RT(*f)()) + { + typedef detail::function_ptr<0, RT, RT(*)()> fp_type; + return detail::expression::function_eval::make(fp_type(f)); + } + + template < + typename RT + , typename T0 + , typename A0 + > + inline + typename detail::expression::function_eval< + detail::function_ptr<1, RT, RT(*)(T0)> + , A0 + >::type const + bind(RT(*f)(T0), A0 const & a0) + { + typedef detail::function_ptr<1, RT, RT(*)(T0)> fp_type; + return detail::expression::function_eval::make(fp_type(f), a0); + } + +#if !defined(BOOST_PHOENIX_DONT_USE_PREPROCESSED_FILES) + #include +#else + +#if defined(__WAVE__) && defined (BOOST_PHOENIX_CREATE_PREPROCESSED_FILES) + #pragma wave option(preserve: 2, line: 0, output: "preprocessed/bind_function_" BOOST_PHOENIX_LIMIT_STR ".hpp") +#endif + +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + 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) +==============================================================================*/ + +#if defined(__WAVE__) && defined(BOOST_PHOENIX_CREATE_PREPROCESSED_FILES) + #pragma wave option(preserve: 1) +#endif + +#define BOOST_PHOENIX_ITERATION_PARAMS \ + (3, (2, BOOST_PP_DEC(BOOST_PHOENIX_ACTOR_LIMIT), \ + )) +#include BOOST_PHOENIX_ITERATE() + +#if defined(__WAVE__) && defined (BOOST_PHOENIX_CREATE_PREPROCESSED_FILES) + #pragma wave option(output: null) +#endif + +#endif + +}} + +#else + + template < + typename RT + , BOOST_PP_ENUM_PARAMS(BOOST_PHOENIX_ITERATION, typename T) + , BOOST_PHOENIX_typename_A + > + inline + typename detail::expression::function_eval< + detail::function_ptr< + BOOST_PHOENIX_ITERATION + , RT + , RT(*)(BOOST_PP_ENUM_PARAMS(BOOST_PHOENIX_ITERATION, T)) + > + , BOOST_PHOENIX_A + >::type const + bind( + RT(*f)(BOOST_PP_ENUM_PARAMS(BOOST_PHOENIX_ITERATION, T)) + , BOOST_PHOENIX_A_const_ref_a + ) + { + typedef detail::function_ptr< + BOOST_PHOENIX_ITERATION + , RT + , RT(*)(BOOST_PP_ENUM_PARAMS(BOOST_PHOENIX_ITERATION, T)) + > fp_type; + return + detail::expression::function_eval< + fp_type + , BOOST_PHOENIX_A + >::make( + fp_type(f) + , BOOST_PHOENIX_a + ); + } + +#endif diff --git a/include/boost/phoenix/bind/detail/cpp03/bind_function_object.hpp b/include/boost/phoenix/bind/detail/cpp03/bind_function_object.hpp new file mode 100644 index 0000000..a0aa386 --- /dev/null +++ b/include/boost/phoenix/bind/detail/cpp03/bind_function_object.hpp @@ -0,0 +1,74 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + 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) +==============================================================================*/ + +#if !BOOST_PHOENIX_IS_ITERATING + +#include +#include + +namespace boost { namespace phoenix { + template + inline + typename detail::expression::function_eval::type const + bind(F f) + { + return detail::expression::function_eval::make(f); + } + +#if !defined(BOOST_PHOENIX_DONT_USE_PREPROCESSED_FILES) + #include +#else + +#if defined(__WAVE__) && defined (BOOST_PHOENIX_CREATE_PREPROCESSED_FILES) + #pragma wave option(preserve: 2, line: 0, output: "preprocessed/bind_function_object_" BOOST_PHOENIX_LIMIT_STR ".hpp") +#endif + +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + 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) +==============================================================================*/ + +#if defined(__WAVE__) && defined(BOOST_PHOENIX_CREATE_PREPROCESSED_FILES) + #pragma wave option(preserve: 1) +#endif + +#define BOOST_PHOENIX_ITERATION_PARAMS \ + (3, (1, BOOST_PP_DEC(BOOST_PHOENIX_ACTOR_LIMIT), \ + )) +#include BOOST_PHOENIX_ITERATE() + +#if defined(__WAVE__) && defined (BOOST_PHOENIX_CREATE_PREPROCESSED_FILES) + #pragma wave option(output: null) +#endif + +#endif + +}} + +#else + + template < + typename F + , BOOST_PHOENIX_typename_A + > + inline + typename detail::expression::function_eval< + F + , BOOST_PHOENIX_A + >::type const + bind(F f, BOOST_PHOENIX_A_const_ref_a) + { + return + detail::expression::function_eval::make( + f + , BOOST_PHOENIX_a + ); + } + +#endif diff --git a/include/boost/phoenix/bind/detail/cpp03/bind_member_function.hpp b/include/boost/phoenix/bind/detail/cpp03/bind_member_function.hpp new file mode 100644 index 0000000..9ffdcf2 --- /dev/null +++ b/include/boost/phoenix/bind/detail/cpp03/bind_member_function.hpp @@ -0,0 +1,251 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + Copyright (c) 2014 John Fletcher + + 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) +==============================================================================*/ + +#if !BOOST_PHOENIX_IS_ITERATING + +#include +#include +#include +#include +#include +#include + +namespace boost { namespace phoenix +{ + + template + inline + typename boost::lazy_enable_if< + boost::is_member_function_pointer, + typename detail::expression::function_eval< + detail::member_function_ptr<0, RT, RT(ClassT::*)()> + , ClassA > + >::type const + bind(RT(ClassT::*f)(), ClassA const& obj) + { + typedef detail::member_function_ptr<0, RT, RT(ClassT::*)()> fp_type; + return + detail::expression::function_eval::make( + fp_type(f) + , obj + ); + } + + template + inline + typename boost::lazy_enable_if< + boost::is_member_function_pointer, + typename detail::expression::function_eval< + detail::member_function_ptr<0, RT, RT(ClassT::*)() const> + , ClassA > + >::type const + bind(RT(ClassT::*f)() const, ClassA const& obj) + { + typedef + detail::member_function_ptr<0, RT, RT(ClassT::*)() const> + fp_type; + return + detail::expression::function_eval::make( + fp_type(f) + , obj + ); + } + + template + inline + typename detail::expression::function_eval< + detail::member_function_ptr<0, RT, RT(ClassT::*)()> + , ClassT + >::type const + bind(RT(ClassT::*f)(), ClassT& obj) + { + typedef detail::member_function_ptr<0, RT, RT(ClassT::*)()> fp_type; + return + detail::expression::function_eval< + fp_type + , ClassT + >::make( + fp_type(f) + , obj + ); + } + + template + inline + typename detail::expression::function_eval< + detail::member_function_ptr<0, RT, RT(ClassT::*)() const> + , ClassT + >::type const + bind(RT(ClassT::*f)() const, ClassT& obj) + { + typedef detail::member_function_ptr<0, RT, RT(ClassT::*)() const> fp_type; + return + detail::expression::function_eval< + fp_type + , ClassT + >::make( + fp_type(f) + , obj + ); + } + +#if !defined(BOOST_PHOENIX_DONT_USE_PREPROCESSED_FILES) + #include +#else + +#if defined(__WAVE__) && defined (BOOST_PHOENIX_CREATE_PREPROCESSED_FILES) + #pragma wave option(preserve: 2, line: 0, output: "preprocessed/bind_member_function_" BOOST_PHOENIX_LIMIT_STR ".hpp") +#endif + +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + 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) +==============================================================================*/ + +#if defined(__WAVE__) && defined(BOOST_PHOENIX_CREATE_PREPROCESSED_FILES) + #pragma wave option(preserve: 1) +#endif + +#define BOOST_PHOENIX_ITERATION_PARAMS \ + (3, (1, BOOST_PP_DEC(BOOST_PHOENIX_ACTOR_LIMIT), \ + )) +#include BOOST_PHOENIX_ITERATE() + +#if defined(__WAVE__) && defined (BOOST_PHOENIX_CREATE_PREPROCESSED_FILES) + #pragma wave option(output: null) +#endif + +#endif + +}} + +#else + + template < + typename RT + , typename ClassT + , BOOST_PP_ENUM_PARAMS(BOOST_PHOENIX_ITERATION, typename T) + , typename ClassA + , BOOST_PHOENIX_typename_A + > + inline + typename detail::expression::function_eval< + detail::member_function_ptr< + BOOST_PHOENIX_ITERATION + , RT + , RT(ClassT::*)(BOOST_PP_ENUM_PARAMS(BOOST_PHOENIX_ITERATION, T)) + > + , ClassA + , BOOST_PHOENIX_A + >::type const + bind( + RT(ClassT::*f)(BOOST_PP_ENUM_PARAMS(BOOST_PHOENIX_ITERATION, T)) + , ClassA const & obj + , BOOST_PHOENIX_A_const_ref_a + ) + { + typedef detail::member_function_ptr< + BOOST_PHOENIX_ITERATION + , RT + , RT(ClassT::*)(BOOST_PP_ENUM_PARAMS(BOOST_PHOENIX_ITERATION, T)) + > fp_type; + return + detail::expression::function_eval< + fp_type + , ClassA + , BOOST_PHOENIX_A + >::make( + fp_type(f) + , obj + , BOOST_PHOENIX_a + ); + } + + template < + typename RT + , typename ClassT + , BOOST_PP_ENUM_PARAMS(BOOST_PHOENIX_ITERATION, typename T) + , typename ClassA + , BOOST_PHOENIX_typename_A + > + inline + typename detail::expression::function_eval< + detail::member_function_ptr< + BOOST_PHOENIX_ITERATION + , RT + , RT(ClassT::*)(BOOST_PP_ENUM_PARAMS(BOOST_PHOENIX_ITERATION, T)) const + > + , ClassA + , BOOST_PHOENIX_A + >::type const + bind( + RT(ClassT::*f)(BOOST_PP_ENUM_PARAMS(BOOST_PHOENIX_ITERATION, T)) const + , ClassA const & obj + , BOOST_PHOENIX_A_const_ref_a + ) + { + typedef detail::member_function_ptr< + BOOST_PHOENIX_ITERATION + , RT + , RT(ClassT::*)(BOOST_PP_ENUM_PARAMS(BOOST_PHOENIX_ITERATION, T)) const + > fp_type; + return + detail::expression::function_eval< + fp_type + , ClassA + , BOOST_PHOENIX_A + >::make( + fp_type(f) + , obj + , BOOST_PHOENIX_a + ); + } + + template < + typename RT + , typename ClassT + , BOOST_PP_ENUM_PARAMS(BOOST_PHOENIX_ITERATION, typename T) + , BOOST_PHOENIX_typename_A + > + inline + typename detail::expression::function_eval< + detail::member_function_ptr< + BOOST_PHOENIX_ITERATION + , RT + , RT(ClassT::*)(BOOST_PP_ENUM_PARAMS(BOOST_PHOENIX_ITERATION, T)) + > + , ClassT + , BOOST_PHOENIX_A + >::type const + bind( + RT(ClassT::*f)(BOOST_PP_ENUM_PARAMS(BOOST_PHOENIX_ITERATION, T)) + , ClassT & obj + , BOOST_PHOENIX_A_const_ref_a + ) + { + typedef detail::member_function_ptr< + BOOST_PHOENIX_ITERATION + , RT + , RT(ClassT::*)(BOOST_PP_ENUM_PARAMS(BOOST_PHOENIX_ITERATION, T)) + > fp_type; + return + detail::expression::function_eval< + fp_type + , ClassT + , BOOST_PHOENIX_A + >::make( + fp_type(f) + , obj + , BOOST_PHOENIX_a + ); + } + +#endif + diff --git a/include/boost/phoenix/bind/detail/cpp03/function_ptr.hpp b/include/boost/phoenix/bind/detail/cpp03/function_ptr.hpp new file mode 100644 index 0000000..af80f93 --- /dev/null +++ b/include/boost/phoenix/bind/detail/cpp03/function_ptr.hpp @@ -0,0 +1,146 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + 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) +==============================================================================*/ + +#if !BOOST_PHOENIX_IS_ITERATING + +#include +#include + +namespace boost { namespace phoenix { namespace detail +{ + template + struct function_ptr_impl + { + template + struct impl; + }; + + template + struct function_ptr : function_ptr_impl::template impl + { + typedef typename function_ptr_impl::template impl base; + + function_ptr(FP fp_) + : base(fp_) {} + + using base::fp; + + bool operator==(function_ptr const & rhs) const + { + return fp == rhs.fp; + } + + template + bool operator==(function_ptr const & /*rhs*/) const + { + return false; + } + + }; + + template + struct function_ptr_impl<0, Dummy> + { + template + struct impl + { + typedef RT result_type; + + impl(FP fp_) + : fp(fp_) {} + + RT operator()() const + { + return fp(); + } + + FP fp; + }; + }; + + template + struct function_ptr_impl<1, Dummy> + { + template + struct impl + { + typedef RT result_type; + + impl(FP fp_) + : fp(fp_) {} + + template + RT operator()(A &a) const + { + return fp(a); + } + + FP fp; + }; + }; + +#if !defined(BOOST_PHOENIX_DONT_USE_PREPROCESSED_FILES) + #include +#else + +#if defined(__WAVE__) && defined (BOOST_PHOENIX_CREATE_PREPROCESSED_FILES) + #pragma wave option(preserve: 2, line: 0, output: "preprocessed/function_ptr_" BOOST_PHOENIX_LIMIT_STR ".hpp") +#endif + +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + 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) +==============================================================================*/ + +#if defined(__WAVE__) && defined(BOOST_PHOENIX_CREATE_PREPROCESSED_FILES) + #pragma wave option(preserve: 1) +#endif + +#define BOOST_PHOENIX_ITERATION_PARAMS \ + (3, (2, BOOST_PHOENIX_COMPOSITE_LIMIT, \ + )) +#include BOOST_PHOENIX_ITERATE() + +#if defined(__WAVE__) && defined (BOOST_PHOENIX_CREATE_PREPROCESSED_FILES) + #pragma wave option(output: null) +#endif + +#endif + +}}} // namespace boost::phoenix::detail + +/////////////////////////////////////////////////////////////////////////////// +// +// Preprocessor vertical repetition code +// +/////////////////////////////////////////////////////////////////////////////// +#else // defined(BOOST_PP_IS_ITERATING) + + template + struct function_ptr_impl + { + template + struct impl + { + typedef RT result_type; + + impl(FP fp_) + : fp(fp_) {} + + template + RT operator()(BOOST_PHOENIX_A_ref_a) const + { + return fp(BOOST_PHOENIX_a); + } + + FP fp; + }; + }; + +#endif // defined(BOOST_PP_IS_ITERATING) diff --git a/include/boost/phoenix/bind/detail/cpp03/member_function_ptr.hpp b/include/boost/phoenix/bind/detail/cpp03/member_function_ptr.hpp new file mode 100644 index 0000000..cfade7d --- /dev/null +++ b/include/boost/phoenix/bind/detail/cpp03/member_function_ptr.hpp @@ -0,0 +1,144 @@ +/*============================================================================= +Copyright (c) 2001-2007 Joel de Guzman + +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) +==============================================================================*/ + +#if !BOOST_PHOENIX_IS_ITERATING + +#include +#include + +namespace boost { namespace phoenix { namespace detail +{ + template + struct member_function_ptr_impl + { + template + struct impl; + }; + + template + struct member_function_ptr + : member_function_ptr_impl::template impl + { + typedef typename member_function_ptr_impl:: + template impl base; + member_function_ptr(FP fp_) + : base(fp_) {} + + using base::fp; + + bool operator==(member_function_ptr const & rhs) const + { + return fp == rhs.fp; + } + + template + bool operator==(member_function_ptr const &) const + { + return false; + } + }; + + template <> + struct member_function_ptr_impl<0> + { + template + struct impl + { + typedef RT result_type; + + impl(FP fp_) + : fp(fp_) {} + + template + RT operator()(Class& obj) const + { + BOOST_PROTO_USE_GET_POINTER(); + + typedef typename proto::detail::class_member_traits::class_type class_type; + return (BOOST_PROTO_GET_POINTER(class_type, obj) ->*fp)(); + } + + template + RT operator()(Class* obj) const + { + return (obj->*fp)(); + } + + FP fp; + }; + }; + +#if !defined(BOOST_PHOENIX_DONT_USE_PREPROCESSED_FILES) + #include +#else + +#if defined(__WAVE__) && defined (BOOST_PHOENIX_CREATE_PREPROCESSED_FILES) + #pragma wave option(preserve: 2, line: 0, output: "preprocessed/member_function_ptr_" BOOST_PHOENIX_LIMIT_STR ".hpp") +#endif + +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + 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) +==============================================================================*/ + +#if defined(__WAVE__) && defined(BOOST_PHOENIX_CREATE_PREPROCESSED_FILES) + #pragma wave option(preserve: 1) +#endif + +#define BOOST_PHOENIX_ITERATION_PARAMS \ + (3, (1, BOOST_PHOENIX_COMPOSITE_LIMIT, \ + )) +#include BOOST_PHOENIX_ITERATE() + +#if defined(__WAVE__) && defined (BOOST_PHOENIX_CREATE_PREPROCESSED_FILES) + #pragma wave option(output: null) +#endif + +#endif + +}}} // namespace boost::phoenix::detail + +/////////////////////////////////////////////////////////////////////////////// +// +// Preprocessor vertical repetition code +// +/////////////////////////////////////////////////////////////////////////////// +#else + + template <> + struct member_function_ptr_impl + { + template + struct impl + { + typedef RT result_type; + + impl(FP fp_) + : fp(fp_) {} + + template + RT operator()(Class& obj, BOOST_PHOENIX_A_ref_a) const + { + BOOST_PROTO_USE_GET_POINTER(); + + typedef typename proto::detail::class_member_traits::class_type class_type; + return (BOOST_PROTO_GET_POINTER(class_type, obj)->*fp)(BOOST_PHOENIX_a); + } + + template + RT operator()(Class* obj, BOOST_PHOENIX_A_ref_a) const + { + return (obj->*fp)(BOOST_PHOENIX_a); + } + + FP fp; + }; + }; + +#endif // defined(BOOST_PP_IS_ITERATING) diff --git a/include/boost/phoenix/bind/preprocessed/bind_function.hpp b/include/boost/phoenix/bind/detail/cpp03/preprocessed/bind_function.hpp similarity index 65% rename from include/boost/phoenix/bind/preprocessed/bind_function.hpp rename to include/boost/phoenix/bind/detail/cpp03/preprocessed/bind_function.hpp index 9d685e2..db94e44 100644 --- a/include/boost/phoenix/bind/preprocessed/bind_function.hpp +++ b/include/boost/phoenix/bind/detail/cpp03/preprocessed/bind_function.hpp @@ -9,15 +9,15 @@ #define BOOST_PHOENIX_PREPROCESSED_BIND_FUNCTION_HPP #if BOOST_PHOENIX_LIMIT <= 10 -#include +#include #elif BOOST_PHOENIX_LIMIT <= 20 -#include +#include #elif BOOST_PHOENIX_LIMIT <= 30 -#include +#include #elif BOOST_PHOENIX_LIMIT <= 40 -#include +#include #elif BOOST_PHOENIX_LIMIT <= 50 -#include +#include #else #error "BOOST_PHOENIX_LIMIT out of bounds for preprocessed headers" #endif diff --git a/include/boost/phoenix/bind/preprocessed/bind_function_10.hpp b/include/boost/phoenix/bind/detail/cpp03/preprocessed/bind_function_10.hpp similarity index 100% rename from include/boost/phoenix/bind/preprocessed/bind_function_10.hpp rename to include/boost/phoenix/bind/detail/cpp03/preprocessed/bind_function_10.hpp diff --git a/include/boost/phoenix/bind/preprocessed/bind_function_20.hpp b/include/boost/phoenix/bind/detail/cpp03/preprocessed/bind_function_20.hpp similarity index 100% rename from include/boost/phoenix/bind/preprocessed/bind_function_20.hpp rename to include/boost/phoenix/bind/detail/cpp03/preprocessed/bind_function_20.hpp diff --git a/include/boost/phoenix/bind/preprocessed/bind_function_30.hpp b/include/boost/phoenix/bind/detail/cpp03/preprocessed/bind_function_30.hpp similarity index 100% rename from include/boost/phoenix/bind/preprocessed/bind_function_30.hpp rename to include/boost/phoenix/bind/detail/cpp03/preprocessed/bind_function_30.hpp diff --git a/include/boost/phoenix/bind/preprocessed/bind_function_40.hpp b/include/boost/phoenix/bind/detail/cpp03/preprocessed/bind_function_40.hpp similarity index 100% rename from include/boost/phoenix/bind/preprocessed/bind_function_40.hpp rename to include/boost/phoenix/bind/detail/cpp03/preprocessed/bind_function_40.hpp diff --git a/include/boost/phoenix/bind/preprocessed/bind_function_50.hpp b/include/boost/phoenix/bind/detail/cpp03/preprocessed/bind_function_50.hpp similarity index 100% rename from include/boost/phoenix/bind/preprocessed/bind_function_50.hpp rename to include/boost/phoenix/bind/detail/cpp03/preprocessed/bind_function_50.hpp diff --git a/include/boost/phoenix/bind/preprocessed/bind_function_object.hpp b/include/boost/phoenix/bind/detail/cpp03/preprocessed/bind_function_object.hpp similarity index 63% rename from include/boost/phoenix/bind/preprocessed/bind_function_object.hpp rename to include/boost/phoenix/bind/detail/cpp03/preprocessed/bind_function_object.hpp index 48c54d4..565f7e7 100644 --- a/include/boost/phoenix/bind/preprocessed/bind_function_object.hpp +++ b/include/boost/phoenix/bind/detail/cpp03/preprocessed/bind_function_object.hpp @@ -9,15 +9,15 @@ #define BOOST_PHOENIX_PREPROCESSED_BIND_FUNCTION_OBJECT_HPP #if BOOST_PHOENIX_LIMIT <= 10 -#include +#include #elif BOOST_PHOENIX_LIMIT <= 20 -#include +#include #elif BOOST_PHOENIX_LIMIT <= 30 -#include +#include #elif BOOST_PHOENIX_LIMIT <= 40 -#include +#include #elif BOOST_PHOENIX_LIMIT <= 50 -#include +#include #else #error "BOOST_PHOENIX_LIMIT out of bounds for preprocessed headers" #endif diff --git a/include/boost/phoenix/bind/preprocessed/bind_function_object_10.hpp b/include/boost/phoenix/bind/detail/cpp03/preprocessed/bind_function_object_10.hpp similarity index 100% rename from include/boost/phoenix/bind/preprocessed/bind_function_object_10.hpp rename to include/boost/phoenix/bind/detail/cpp03/preprocessed/bind_function_object_10.hpp diff --git a/include/boost/phoenix/bind/preprocessed/bind_function_object_20.hpp b/include/boost/phoenix/bind/detail/cpp03/preprocessed/bind_function_object_20.hpp similarity index 100% rename from include/boost/phoenix/bind/preprocessed/bind_function_object_20.hpp rename to include/boost/phoenix/bind/detail/cpp03/preprocessed/bind_function_object_20.hpp diff --git a/include/boost/phoenix/bind/preprocessed/bind_function_object_30.hpp b/include/boost/phoenix/bind/detail/cpp03/preprocessed/bind_function_object_30.hpp similarity index 100% rename from include/boost/phoenix/bind/preprocessed/bind_function_object_30.hpp rename to include/boost/phoenix/bind/detail/cpp03/preprocessed/bind_function_object_30.hpp diff --git a/include/boost/phoenix/bind/preprocessed/bind_function_object_40.hpp b/include/boost/phoenix/bind/detail/cpp03/preprocessed/bind_function_object_40.hpp similarity index 100% rename from include/boost/phoenix/bind/preprocessed/bind_function_object_40.hpp rename to include/boost/phoenix/bind/detail/cpp03/preprocessed/bind_function_object_40.hpp diff --git a/include/boost/phoenix/bind/preprocessed/bind_function_object_50.hpp b/include/boost/phoenix/bind/detail/cpp03/preprocessed/bind_function_object_50.hpp similarity index 100% rename from include/boost/phoenix/bind/preprocessed/bind_function_object_50.hpp rename to include/boost/phoenix/bind/detail/cpp03/preprocessed/bind_function_object_50.hpp diff --git a/include/boost/phoenix/bind/preprocessed/bind_member_function.hpp b/include/boost/phoenix/bind/detail/cpp03/preprocessed/bind_member_function.hpp similarity index 63% rename from include/boost/phoenix/bind/preprocessed/bind_member_function.hpp rename to include/boost/phoenix/bind/detail/cpp03/preprocessed/bind_member_function.hpp index 5934f3b..8da1b00 100644 --- a/include/boost/phoenix/bind/preprocessed/bind_member_function.hpp +++ b/include/boost/phoenix/bind/detail/cpp03/preprocessed/bind_member_function.hpp @@ -9,15 +9,15 @@ #define BOOST_PHOENIX_PREPROCESSED_BIND_MEMBER_FUNCTION_HPP #if BOOST_PHOENIX_LIMIT <= 10 -#include +#include #elif BOOST_PHOENIX_LIMIT <= 20 -#include +#include #elif BOOST_PHOENIX_LIMIT <= 30 -#include +#include #elif BOOST_PHOENIX_LIMIT <= 40 -#include +#include #elif BOOST_PHOENIX_LIMIT <= 50 -#include +#include #else #error "BOOST_PHOENIX_LIMIT out of bounds for preprocessed headers" #endif diff --git a/include/boost/phoenix/bind/preprocessed/bind_member_function_10.hpp b/include/boost/phoenix/bind/detail/cpp03/preprocessed/bind_member_function_10.hpp similarity index 100% rename from include/boost/phoenix/bind/preprocessed/bind_member_function_10.hpp rename to include/boost/phoenix/bind/detail/cpp03/preprocessed/bind_member_function_10.hpp diff --git a/include/boost/phoenix/bind/preprocessed/bind_member_function_20.hpp b/include/boost/phoenix/bind/detail/cpp03/preprocessed/bind_member_function_20.hpp similarity index 100% rename from include/boost/phoenix/bind/preprocessed/bind_member_function_20.hpp rename to include/boost/phoenix/bind/detail/cpp03/preprocessed/bind_member_function_20.hpp diff --git a/include/boost/phoenix/bind/preprocessed/bind_member_function_30.hpp b/include/boost/phoenix/bind/detail/cpp03/preprocessed/bind_member_function_30.hpp similarity index 100% rename from include/boost/phoenix/bind/preprocessed/bind_member_function_30.hpp rename to include/boost/phoenix/bind/detail/cpp03/preprocessed/bind_member_function_30.hpp diff --git a/include/boost/phoenix/bind/preprocessed/bind_member_function_40.hpp b/include/boost/phoenix/bind/detail/cpp03/preprocessed/bind_member_function_40.hpp similarity index 100% rename from include/boost/phoenix/bind/preprocessed/bind_member_function_40.hpp rename to include/boost/phoenix/bind/detail/cpp03/preprocessed/bind_member_function_40.hpp diff --git a/include/boost/phoenix/bind/preprocessed/bind_member_function_50.hpp b/include/boost/phoenix/bind/detail/cpp03/preprocessed/bind_member_function_50.hpp similarity index 100% rename from include/boost/phoenix/bind/preprocessed/bind_member_function_50.hpp rename to include/boost/phoenix/bind/detail/cpp03/preprocessed/bind_member_function_50.hpp diff --git a/include/boost/phoenix/bind/detail/preprocessed/function_ptr.hpp b/include/boost/phoenix/bind/detail/cpp03/preprocessed/function_ptr.hpp similarity index 66% rename from include/boost/phoenix/bind/detail/preprocessed/function_ptr.hpp rename to include/boost/phoenix/bind/detail/cpp03/preprocessed/function_ptr.hpp index a03fcc0..0e5ebf9 100644 --- a/include/boost/phoenix/bind/detail/preprocessed/function_ptr.hpp +++ b/include/boost/phoenix/bind/detail/cpp03/preprocessed/function_ptr.hpp @@ -9,15 +9,15 @@ #define BOOST_PHOENIX_PREPROCESSED_BIND_DETAIL_FUNCTION_PTR_HPP #if BOOST_PHOENIX_LIMIT <= 10 -#include +#include #elif BOOST_PHOENIX_LIMIT <= 20 -#include +#include #elif BOOST_PHOENIX_LIMIT <= 30 -#include +#include #elif BOOST_PHOENIX_LIMIT <= 40 -#include +#include #elif BOOST_PHOENIX_LIMIT <= 50 -#include +#include #else #error "BOOST_PHOENIX_LIMIT out of bounds for preprocessed headers" #endif diff --git a/include/boost/phoenix/bind/detail/preprocessed/function_ptr_10.hpp b/include/boost/phoenix/bind/detail/cpp03/preprocessed/function_ptr_10.hpp similarity index 100% rename from include/boost/phoenix/bind/detail/preprocessed/function_ptr_10.hpp rename to include/boost/phoenix/bind/detail/cpp03/preprocessed/function_ptr_10.hpp diff --git a/include/boost/phoenix/bind/detail/preprocessed/function_ptr_20.hpp b/include/boost/phoenix/bind/detail/cpp03/preprocessed/function_ptr_20.hpp similarity index 100% rename from include/boost/phoenix/bind/detail/preprocessed/function_ptr_20.hpp rename to include/boost/phoenix/bind/detail/cpp03/preprocessed/function_ptr_20.hpp diff --git a/include/boost/phoenix/bind/detail/preprocessed/function_ptr_30.hpp b/include/boost/phoenix/bind/detail/cpp03/preprocessed/function_ptr_30.hpp similarity index 100% rename from include/boost/phoenix/bind/detail/preprocessed/function_ptr_30.hpp rename to include/boost/phoenix/bind/detail/cpp03/preprocessed/function_ptr_30.hpp diff --git a/include/boost/phoenix/bind/detail/preprocessed/function_ptr_40.hpp b/include/boost/phoenix/bind/detail/cpp03/preprocessed/function_ptr_40.hpp similarity index 100% rename from include/boost/phoenix/bind/detail/preprocessed/function_ptr_40.hpp rename to include/boost/phoenix/bind/detail/cpp03/preprocessed/function_ptr_40.hpp diff --git a/include/boost/phoenix/bind/detail/preprocessed/function_ptr_50.hpp b/include/boost/phoenix/bind/detail/cpp03/preprocessed/function_ptr_50.hpp similarity index 100% rename from include/boost/phoenix/bind/detail/preprocessed/function_ptr_50.hpp rename to include/boost/phoenix/bind/detail/cpp03/preprocessed/function_ptr_50.hpp diff --git a/include/boost/phoenix/bind/detail/preprocessed/member_function_ptr.hpp b/include/boost/phoenix/bind/detail/cpp03/preprocessed/member_function_ptr.hpp similarity index 64% rename from include/boost/phoenix/bind/detail/preprocessed/member_function_ptr.hpp rename to include/boost/phoenix/bind/detail/cpp03/preprocessed/member_function_ptr.hpp index 83087bc..ef9d581 100644 --- a/include/boost/phoenix/bind/detail/preprocessed/member_function_ptr.hpp +++ b/include/boost/phoenix/bind/detail/cpp03/preprocessed/member_function_ptr.hpp @@ -9,15 +9,15 @@ #define BOOST_PHOENIX_PREPROCESSED_BIND_DETAIL_MEMBER_FUNCTION_PTR_HPP #if BOOST_PHOENIX_LIMIT <= 10 -#include +#include #elif BOOST_PHOENIX_LIMIT <= 20 -#include +#include #elif BOOST_PHOENIX_LIMIT <= 30 -#include +#include #elif BOOST_PHOENIX_LIMIT <= 40 -#include +#include #elif BOOST_PHOENIX_LIMIT <= 50 -#include +#include #else #error "BOOST_PHOENIX_LIMIT out of bounds for preprocessed headers" #endif diff --git a/include/boost/phoenix/bind/detail/preprocessed/member_function_ptr_10.hpp b/include/boost/phoenix/bind/detail/cpp03/preprocessed/member_function_ptr_10.hpp similarity index 100% rename from include/boost/phoenix/bind/detail/preprocessed/member_function_ptr_10.hpp rename to include/boost/phoenix/bind/detail/cpp03/preprocessed/member_function_ptr_10.hpp diff --git a/include/boost/phoenix/bind/detail/preprocessed/member_function_ptr_20.hpp b/include/boost/phoenix/bind/detail/cpp03/preprocessed/member_function_ptr_20.hpp similarity index 100% rename from include/boost/phoenix/bind/detail/preprocessed/member_function_ptr_20.hpp rename to include/boost/phoenix/bind/detail/cpp03/preprocessed/member_function_ptr_20.hpp diff --git a/include/boost/phoenix/bind/detail/preprocessed/member_function_ptr_30.hpp b/include/boost/phoenix/bind/detail/cpp03/preprocessed/member_function_ptr_30.hpp similarity index 100% rename from include/boost/phoenix/bind/detail/preprocessed/member_function_ptr_30.hpp rename to include/boost/phoenix/bind/detail/cpp03/preprocessed/member_function_ptr_30.hpp diff --git a/include/boost/phoenix/bind/detail/preprocessed/member_function_ptr_40.hpp b/include/boost/phoenix/bind/detail/cpp03/preprocessed/member_function_ptr_40.hpp similarity index 100% rename from include/boost/phoenix/bind/detail/preprocessed/member_function_ptr_40.hpp rename to include/boost/phoenix/bind/detail/cpp03/preprocessed/member_function_ptr_40.hpp diff --git a/include/boost/phoenix/bind/detail/preprocessed/member_function_ptr_50.hpp b/include/boost/phoenix/bind/detail/cpp03/preprocessed/member_function_ptr_50.hpp similarity index 100% rename from include/boost/phoenix/bind/detail/preprocessed/member_function_ptr_50.hpp rename to include/boost/phoenix/bind/detail/cpp03/preprocessed/member_function_ptr_50.hpp diff --git a/include/boost/phoenix/bind/detail/function_ptr.hpp b/include/boost/phoenix/bind/detail/function_ptr.hpp index 0764b4a..b0a4c19 100644 --- a/include/boost/phoenix/bind/detail/function_ptr.hpp +++ b/include/boost/phoenix/bind/detail/function_ptr.hpp @@ -1,151 +1,18 @@ /*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman + Copyright (c) 2016 Kohei Takahashi - Distributed under the Boost Software License, Version 1.0. (See accompanying + 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) ==============================================================================*/ -#if !BOOST_PHOENIX_IS_ITERATING - #ifndef BOOST_PHOENIX_BIND_DETAIL_FUNCTION_PTR_HPP #define BOOST_PHOENIX_BIND_DETAIL_FUNCTION_PTR_HPP #include -#include -namespace boost { namespace phoenix { namespace detail -{ - template - struct function_ptr_impl - { - template - struct impl; - }; - - template - struct function_ptr : function_ptr_impl::template impl - { - typedef typename function_ptr_impl::template impl base; - - function_ptr(FP fp_) - : base(fp_) {} - - using base::fp; - - bool operator==(function_ptr const & rhs) const - { - return fp == rhs.fp; - } - - template - bool operator==(function_ptr const & /*rhs*/) const - { - return false; - } - - }; - - template - struct function_ptr_impl<0, Dummy> - { - template - struct impl - { - typedef RT result_type; - - impl(FP fp_) - : fp(fp_) {} - - RT operator()() const - { - return fp(); - } - - FP fp; - }; - }; - - template - struct function_ptr_impl<1, Dummy> - { - template - struct impl - { - typedef RT result_type; - - impl(FP fp_) - : fp(fp_) {} - - template - RT operator()(A &a) const - { - return fp(a); - } - - FP fp; - }; - }; - -#if !defined(BOOST_PHOENIX_DONT_USE_PREPROCESSED_FILES) - #include +#if defined(BOOST_PHOENIX_NO_VARIADIC_BIND) +# include #else - -#if defined(__WAVE__) && defined (BOOST_PHOENIX_CREATE_PREPROCESSED_FILES) - #pragma wave option(preserve: 2, line: 0, output: "preprocessed/function_ptr_" BOOST_PHOENIX_LIMIT_STR ".hpp") +// TODO: #endif - -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - - 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) -==============================================================================*/ - -#if defined(__WAVE__) && defined(BOOST_PHOENIX_CREATE_PREPROCESSED_FILES) - #pragma wave option(preserve: 1) #endif - -#define BOOST_PHOENIX_ITERATION_PARAMS \ - (3, (2, BOOST_PHOENIX_COMPOSITE_LIMIT, \ - )) -#include BOOST_PHOENIX_ITERATE() - -#if defined(__WAVE__) && defined (BOOST_PHOENIX_CREATE_PREPROCESSED_FILES) - #pragma wave option(output: null) -#endif - -#endif - -}}} // namespace boost::phoenix::detail - -#endif - -/////////////////////////////////////////////////////////////////////////////// -// -// Preprocessor vertical repetition code -// -/////////////////////////////////////////////////////////////////////////////// -#else // defined(BOOST_PP_IS_ITERATING) - - template - struct function_ptr_impl - { - template - struct impl - { - typedef RT result_type; - - impl(FP fp_) - : fp(fp_) {} - - template - RT operator()(BOOST_PHOENIX_A_ref_a) const - { - return fp(BOOST_PHOENIX_a); - } - - FP fp; - }; - }; - -#endif // defined(BOOST_PP_IS_ITERATING) diff --git a/include/boost/phoenix/bind/detail/member_function_ptr.hpp b/include/boost/phoenix/bind/detail/member_function_ptr.hpp index 7854dfc..125c4a1 100644 --- a/include/boost/phoenix/bind/detail/member_function_ptr.hpp +++ b/include/boost/phoenix/bind/detail/member_function_ptr.hpp @@ -1,149 +1,18 @@ /*============================================================================= -Copyright (c) 2001-2007 Joel de Guzman + Copyright (c) 2016 Kohei Takahashi -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) + 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) ==============================================================================*/ -#if !BOOST_PHOENIX_IS_ITERATING - #ifndef BOOST_PHOENIX_BIND_DETAIL_MEMBER_FUNCTION_PTR_HPP #define BOOST_PHOENIX_BIND_DETAIL_MEMBER_FUNCTION_PTR_HPP #include -#include -namespace boost { namespace phoenix { namespace detail -{ - template - struct member_function_ptr_impl - { - template - struct impl; - }; - - template - struct member_function_ptr - : member_function_ptr_impl::template impl - { - typedef typename member_function_ptr_impl:: - template impl base; - member_function_ptr(FP fp_) - : base(fp_) {} - - using base::fp; - - bool operator==(member_function_ptr const & rhs) const - { - return fp == rhs.fp; - } - - template - bool operator==(member_function_ptr const &) const - { - return false; - } - }; - - template <> - struct member_function_ptr_impl<0> - { - template - struct impl - { - typedef RT result_type; - - impl(FP fp_) - : fp(fp_) {} - - template - RT operator()(Class& obj) const - { - BOOST_PROTO_USE_GET_POINTER(); - - typedef typename proto::detail::class_member_traits::class_type class_type; - return (BOOST_PROTO_GET_POINTER(class_type, obj) ->*fp)(); - } - - template - RT operator()(Class* obj) const - { - return (obj->*fp)(); - } - - FP fp; - }; - }; - -#if !defined(BOOST_PHOENIX_DONT_USE_PREPROCESSED_FILES) - #include +#if defined(BOOST_PHOENIX_NO_VARIADIC_BIND) +# include #else - -#if defined(__WAVE__) && defined (BOOST_PHOENIX_CREATE_PREPROCESSED_FILES) - #pragma wave option(preserve: 2, line: 0, output: "preprocessed/member_function_ptr_" BOOST_PHOENIX_LIMIT_STR ".hpp") +// TODO: #endif - -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - - 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) -==============================================================================*/ - -#if defined(__WAVE__) && defined(BOOST_PHOENIX_CREATE_PREPROCESSED_FILES) - #pragma wave option(preserve: 1) #endif - -#define BOOST_PHOENIX_ITERATION_PARAMS \ - (3, (1, BOOST_PHOENIX_COMPOSITE_LIMIT, \ - )) -#include BOOST_PHOENIX_ITERATE() - -#if defined(__WAVE__) && defined (BOOST_PHOENIX_CREATE_PREPROCESSED_FILES) - #pragma wave option(output: null) -#endif - -#endif - -}}} // namespace boost::phoenix::detail - -#endif - -/////////////////////////////////////////////////////////////////////////////// -// -// Preprocessor vertical repetition code -// -/////////////////////////////////////////////////////////////////////////////// -#else - - template <> - struct member_function_ptr_impl - { - template - struct impl - { - typedef RT result_type; - - impl(FP fp_) - : fp(fp_) {} - - template - RT operator()(Class& obj, BOOST_PHOENIX_A_ref_a) const - { - BOOST_PROTO_USE_GET_POINTER(); - - typedef typename proto::detail::class_member_traits::class_type class_type; - return (BOOST_PROTO_GET_POINTER(class_type, obj)->*fp)(BOOST_PHOENIX_a); - } - - template - RT operator()(Class* obj, BOOST_PHOENIX_A_ref_a) const - { - return (obj->*fp)(BOOST_PHOENIX_a); - } - - FP fp; - }; - }; - -#endif // defined(BOOST_PP_IS_ITERATING) diff --git a/include/boost/phoenix/core/limits.hpp b/include/boost/phoenix/core/limits.hpp index 3964348..491b014 100644 --- a/include/boost/phoenix/core/limits.hpp +++ b/include/boost/phoenix/core/limits.hpp @@ -47,6 +47,12 @@ # define BOOST_PHOENIX_NO_VARIADIC_FUNCTION_EVAL #endif +# define BOOST_PHOENIX_NO_VARIADIC_BIND +# define BOOST_PHOENIX_NO_VARIADIC_OBJECT +# define BOOST_PHOENIX_NO_VARIADIC_OPERATOR +# define BOOST_PHOENIX_NO_VARIADIC_FUNCTION +# define BOOST_PHOENIX_NO_VARIADIC_SCOPE + #if !defined(BOOST_PHOENIX_ARG_LIMIT) # define BOOST_PHOENIX_ARG_LIMIT BOOST_PHOENIX_PP_ROUND_UP(BOOST_PHOENIX_LIMIT) #elif (BOOST_PHOENIX_ARG_LIMIT < 5) diff --git a/include/boost/phoenix/function/detail/function_operator.hpp b/include/boost/phoenix/function/detail/cpp03/function_operator.hpp similarity index 92% rename from include/boost/phoenix/function/detail/function_operator.hpp rename to include/boost/phoenix/function/detail/cpp03/function_operator.hpp index 64fcadf..e0e3dd9 100644 --- a/include/boost/phoenix/function/detail/function_operator.hpp +++ b/include/boost/phoenix/function/detail/cpp03/function_operator.hpp @@ -3,7 +3,7 @@ #ifndef BOOST_PHOENIX_FUNCTION_DETAIL_FUNCTION_OPERATOR_HPP #define BOOST_PHOENIX_FUNCTION_DETAIL_FUNCTION_OPERATOR_HPP -#include +#include #endif #else @@ -31,7 +31,7 @@ #define BOOST_PHOENIX_ITERATION_PARAMS \ (3, (1, BOOST_PHOENIX_ACTOR_LIMIT, \ - )) + )) #include BOOST_PHOENIX_ITERATE() #if defined(__WAVE__) && defined(BOOST_PHOENIX_CREATE_PREPROCESSED_FILES) diff --git a/include/boost/phoenix/function/detail/preprocessed/function_operator.hpp b/include/boost/phoenix/function/detail/cpp03/preprocessed/function_operator.hpp similarity index 62% rename from include/boost/phoenix/function/detail/preprocessed/function_operator.hpp rename to include/boost/phoenix/function/detail/cpp03/preprocessed/function_operator.hpp index 2c9e8ae..b8ce484 100644 --- a/include/boost/phoenix/function/detail/preprocessed/function_operator.hpp +++ b/include/boost/phoenix/function/detail/cpp03/preprocessed/function_operator.hpp @@ -9,15 +9,15 @@ #define BOOST_PHOENIX_PREPROCESSED_FUNCTION_OPERATOR #if BOOST_PHOENIX_LIMIT <= 10 -#include +#include #elif BOOST_PHOENIX_LIMIT <= 20 -#include +#include #elif BOOST_PHOENIX_LIMIT <= 30 -#include +#include #elif BOOST_PHOENIX_LIMIT <= 40 -#include +#include #elif BOOST_PHOENIX_LIMIT <= 50 -#include +#include #else #error "BOOST_PHOENIX_LIMIT out of bounds for preprocessed headers" #endif diff --git a/include/boost/phoenix/function/detail/preprocessed/function_operator_10.hpp b/include/boost/phoenix/function/detail/cpp03/preprocessed/function_operator_10.hpp similarity index 100% rename from include/boost/phoenix/function/detail/preprocessed/function_operator_10.hpp rename to include/boost/phoenix/function/detail/cpp03/preprocessed/function_operator_10.hpp diff --git a/include/boost/phoenix/function/detail/preprocessed/function_operator_20.hpp b/include/boost/phoenix/function/detail/cpp03/preprocessed/function_operator_20.hpp similarity index 100% rename from include/boost/phoenix/function/detail/preprocessed/function_operator_20.hpp rename to include/boost/phoenix/function/detail/cpp03/preprocessed/function_operator_20.hpp diff --git a/include/boost/phoenix/function/detail/preprocessed/function_operator_30.hpp b/include/boost/phoenix/function/detail/cpp03/preprocessed/function_operator_30.hpp similarity index 100% rename from include/boost/phoenix/function/detail/preprocessed/function_operator_30.hpp rename to include/boost/phoenix/function/detail/cpp03/preprocessed/function_operator_30.hpp diff --git a/include/boost/phoenix/function/detail/preprocessed/function_operator_40.hpp b/include/boost/phoenix/function/detail/cpp03/preprocessed/function_operator_40.hpp similarity index 100% rename from include/boost/phoenix/function/detail/preprocessed/function_operator_40.hpp rename to include/boost/phoenix/function/detail/cpp03/preprocessed/function_operator_40.hpp diff --git a/include/boost/phoenix/function/detail/preprocessed/function_operator_50.hpp b/include/boost/phoenix/function/detail/cpp03/preprocessed/function_operator_50.hpp similarity index 100% rename from include/boost/phoenix/function/detail/preprocessed/function_operator_50.hpp rename to include/boost/phoenix/function/detail/cpp03/preprocessed/function_operator_50.hpp diff --git a/include/boost/phoenix/function/function.hpp b/include/boost/phoenix/function/function.hpp index e59f592..fe0ad8b 100644 --- a/include/boost/phoenix/function/function.hpp +++ b/include/boost/phoenix/function/function.hpp @@ -10,10 +10,8 @@ #define BOOST_PHOENIX_FUNCTION_FUNCTION_HPP #include -//#include +#include #include -#include -#include #include namespace boost { namespace phoenix @@ -21,13 +19,17 @@ namespace boost { namespace phoenix ///////////////////////////////////////////////////////////////////////////// // Functions ///////////////////////////////////////////////////////////////////////////// - + namespace expression { +#if defined(BOOST_PHOENIX_NO_VARIADIC_FUNCTION) template struct function : detail::expression::function_eval {}; +#else + // TODO: +#endif } // functor which returns our lazy function call extension @@ -45,6 +47,7 @@ namespace boost { namespace phoenix template struct result; +#if defined(BOOST_PHOENIX_NO_VARIADIC_FUNCTION) typename detail::expression::function_eval::type const operator()() const { @@ -52,7 +55,7 @@ namespace boost { namespace phoenix } // Bring in the rest - #include + #include // Solves the result problem for F(X) template @@ -127,6 +130,9 @@ namespace boost { namespace phoenix typename boost::remove_reference::type, typename boost::remove_reference::type> {}; +#else + // TODO: +#endif F f; }; diff --git a/include/boost/phoenix/object/construct.hpp b/include/boost/phoenix/object/construct.hpp index eaa419a..6d37b7c 100644 --- a/include/boost/phoenix/object/construct.hpp +++ b/include/boost/phoenix/object/construct.hpp @@ -30,6 +30,7 @@ namespace boost { namespace phoenix template struct result; +#if defined(BOOST_PHOENIX_NO_VARIADIC_OBJECT) template struct result : detail::result_of::target @@ -44,8 +45,10 @@ namespace boost { namespace phoenix } // Bring in the rest - #include - + #include +#else + // TODO: +#endif }; template @@ -53,6 +56,7 @@ namespace boost { namespace phoenix : call {}; +#if defined(BOOST_PHOENIX_NO_VARIADIC_OBJECT) template inline typename expression::construct >::type const @@ -65,8 +69,10 @@ namespace boost { namespace phoenix } // Bring in the rest - #include - + #include +#else + // TODO: +#endif }} #endif diff --git a/include/boost/phoenix/object/detail/construct.hpp b/include/boost/phoenix/object/detail/cpp03/construct.hpp similarity index 93% rename from include/boost/phoenix/object/detail/construct.hpp rename to include/boost/phoenix/object/detail/cpp03/construct.hpp index bf49b1c..e158119 100644 --- a/include/boost/phoenix/object/detail/construct.hpp +++ b/include/boost/phoenix/object/detail/cpp03/construct.hpp @@ -3,7 +3,7 @@ #ifndef BOOST_PHOENIX_OBJECT_DETAIL_CONSTRUCT_HPP #define BOOST_PHOENIX_OBJECT_DETAIL_CONSTRUCT_HPP -#include +#include #endif #else @@ -31,7 +31,7 @@ #define BOOST_PHOENIX_ITERATION_PARAMS \ (3, (1, BOOST_PHOENIX_COMPOSITE_LIMIT, \ - )) + )) #include BOOST_PHOENIX_ITERATE() #if defined(__WAVE__) && defined(BOOST_PHOENIX_CREATE_PREPROCESSED_FILES) diff --git a/include/boost/phoenix/object/detail/construct_eval.hpp b/include/boost/phoenix/object/detail/cpp03/construct_eval.hpp similarity index 94% rename from include/boost/phoenix/object/detail/construct_eval.hpp rename to include/boost/phoenix/object/detail/cpp03/construct_eval.hpp index d563119..e34d360 100644 --- a/include/boost/phoenix/object/detail/construct_eval.hpp +++ b/include/boost/phoenix/object/detail/cpp03/construct_eval.hpp @@ -3,7 +3,7 @@ #ifndef BOOST_PHOENIX_OBJECT_DETAIL_CONSTRUCT_EVAL_HPP #define BOOST_PHOENIX_OBJECT_DETAIL_CONSTRUCT_EVAL_HPP -#include +#include #endif #else @@ -33,7 +33,7 @@ #define BOOST_PHOENIX_ITERATION_PARAMS \ (3, (2, BOOST_PHOENIX_COMPOSITE_LIMIT, \ - )) + )) #include BOOST_PHOENIX_ITERATE() #if defined(__WAVE__) && defined(BOOST_PHOENIX_CREATE_PREPROCESSED_FILES) diff --git a/include/boost/phoenix/object/detail/new.hpp b/include/boost/phoenix/object/detail/cpp03/new.hpp similarity index 93% rename from include/boost/phoenix/object/detail/new.hpp rename to include/boost/phoenix/object/detail/cpp03/new.hpp index 67c1e29..c46fb14 100644 --- a/include/boost/phoenix/object/detail/new.hpp +++ b/include/boost/phoenix/object/detail/cpp03/new.hpp @@ -3,7 +3,7 @@ #ifndef BOOST_PHOENIX_OBJECT_DETAIL_NEW_HPP #define BOOST_PHOENIX_OBJECT_DETAIL_NEW_HPP -#include +#include #endif #else @@ -31,7 +31,7 @@ #define BOOST_PHOENIX_ITERATION_PARAMS \ (3, (1, BOOST_PHOENIX_COMPOSITE_LIMIT, \ - )) + )) #include BOOST_PHOENIX_ITERATE() #if defined(__WAVE__) && defined(BOOST_PHOENIX_CREATE_PREPROCESSED_FILES) diff --git a/include/boost/phoenix/object/detail/new_eval.hpp b/include/boost/phoenix/object/detail/cpp03/new_eval.hpp similarity index 95% rename from include/boost/phoenix/object/detail/new_eval.hpp rename to include/boost/phoenix/object/detail/cpp03/new_eval.hpp index ca8e95e..59370af 100644 --- a/include/boost/phoenix/object/detail/new_eval.hpp +++ b/include/boost/phoenix/object/detail/cpp03/new_eval.hpp @@ -3,7 +3,7 @@ #ifndef BOOST_PHOENIX_OBJECT_DETAIL_NEW_EVAL_HPP #define BOOST_PHOENIX_OBJECT_DETAIL_NEW_EVAL_HPP -#include +#include #endif #else @@ -33,7 +33,7 @@ #define BOOST_PHOENIX_ITERATION_PARAMS \ (3, (2, BOOST_PHOENIX_COMPOSITE_LIMIT, \ - )) + )) #include BOOST_PHOENIX_ITERATE() #if defined(__WAVE__) && defined(BOOST_PHOENIX_CREATE_PREPROCESSED_FILES) diff --git a/include/boost/phoenix/object/detail/preprocessed/construct.hpp b/include/boost/phoenix/object/detail/cpp03/preprocessed/construct.hpp similarity index 65% rename from include/boost/phoenix/object/detail/preprocessed/construct.hpp rename to include/boost/phoenix/object/detail/cpp03/preprocessed/construct.hpp index aa96343..37ec002 100644 --- a/include/boost/phoenix/object/detail/preprocessed/construct.hpp +++ b/include/boost/phoenix/object/detail/cpp03/preprocessed/construct.hpp @@ -9,15 +9,15 @@ #define BOOST_PHOENIX_PREPROCESSED_CONSTRUCT #if BOOST_PHOENIX_LIMIT <= 10 -#include +#include #elif BOOST_PHOENIX_LIMIT <= 20 -#include +#include #elif BOOST_PHOENIX_LIMIT <= 30 -#include +#include #elif BOOST_PHOENIX_LIMIT <= 40 -#include +#include #elif BOOST_PHOENIX_LIMIT <= 50 -#include +#include #else #error "BOOST_PHOENIX_LIMIT out of bounds for preprocessed headers" #endif diff --git a/include/boost/phoenix/object/detail/preprocessed/construct_10.hpp b/include/boost/phoenix/object/detail/cpp03/preprocessed/construct_10.hpp similarity index 100% rename from include/boost/phoenix/object/detail/preprocessed/construct_10.hpp rename to include/boost/phoenix/object/detail/cpp03/preprocessed/construct_10.hpp diff --git a/include/boost/phoenix/object/detail/preprocessed/construct_20.hpp b/include/boost/phoenix/object/detail/cpp03/preprocessed/construct_20.hpp similarity index 100% rename from include/boost/phoenix/object/detail/preprocessed/construct_20.hpp rename to include/boost/phoenix/object/detail/cpp03/preprocessed/construct_20.hpp diff --git a/include/boost/phoenix/object/detail/preprocessed/construct_30.hpp b/include/boost/phoenix/object/detail/cpp03/preprocessed/construct_30.hpp similarity index 100% rename from include/boost/phoenix/object/detail/preprocessed/construct_30.hpp rename to include/boost/phoenix/object/detail/cpp03/preprocessed/construct_30.hpp diff --git a/include/boost/phoenix/object/detail/preprocessed/construct_40.hpp b/include/boost/phoenix/object/detail/cpp03/preprocessed/construct_40.hpp similarity index 100% rename from include/boost/phoenix/object/detail/preprocessed/construct_40.hpp rename to include/boost/phoenix/object/detail/cpp03/preprocessed/construct_40.hpp diff --git a/include/boost/phoenix/object/detail/preprocessed/construct_50.hpp b/include/boost/phoenix/object/detail/cpp03/preprocessed/construct_50.hpp similarity index 100% rename from include/boost/phoenix/object/detail/preprocessed/construct_50.hpp rename to include/boost/phoenix/object/detail/cpp03/preprocessed/construct_50.hpp diff --git a/include/boost/phoenix/object/detail/preprocessed/construct_eval.hpp b/include/boost/phoenix/object/detail/cpp03/preprocessed/construct_eval.hpp similarity index 63% rename from include/boost/phoenix/object/detail/preprocessed/construct_eval.hpp rename to include/boost/phoenix/object/detail/cpp03/preprocessed/construct_eval.hpp index efbb8a5..0993edd 100644 --- a/include/boost/phoenix/object/detail/preprocessed/construct_eval.hpp +++ b/include/boost/phoenix/object/detail/cpp03/preprocessed/construct_eval.hpp @@ -9,15 +9,15 @@ #define BOOST_PHOENIX_PREPROCESSED_CONSTRUCT_EVAL #if BOOST_PHOENIX_LIMIT <= 10 -#include +#include #elif BOOST_PHOENIX_LIMIT <= 20 -#include +#include #elif BOOST_PHOENIX_LIMIT <= 30 -#include +#include #elif BOOST_PHOENIX_LIMIT <= 40 -#include +#include #elif BOOST_PHOENIX_LIMIT <= 50 -#include +#include #else #error "BOOST_PHOENIX_LIMIT out of bounds for preprocessed headers" #endif diff --git a/include/boost/phoenix/object/detail/preprocessed/construct_eval_10.hpp b/include/boost/phoenix/object/detail/cpp03/preprocessed/construct_eval_10.hpp similarity index 100% rename from include/boost/phoenix/object/detail/preprocessed/construct_eval_10.hpp rename to include/boost/phoenix/object/detail/cpp03/preprocessed/construct_eval_10.hpp diff --git a/include/boost/phoenix/object/detail/preprocessed/construct_eval_20.hpp b/include/boost/phoenix/object/detail/cpp03/preprocessed/construct_eval_20.hpp similarity index 100% rename from include/boost/phoenix/object/detail/preprocessed/construct_eval_20.hpp rename to include/boost/phoenix/object/detail/cpp03/preprocessed/construct_eval_20.hpp diff --git a/include/boost/phoenix/object/detail/preprocessed/construct_eval_30.hpp b/include/boost/phoenix/object/detail/cpp03/preprocessed/construct_eval_30.hpp similarity index 100% rename from include/boost/phoenix/object/detail/preprocessed/construct_eval_30.hpp rename to include/boost/phoenix/object/detail/cpp03/preprocessed/construct_eval_30.hpp diff --git a/include/boost/phoenix/object/detail/preprocessed/construct_eval_40.hpp b/include/boost/phoenix/object/detail/cpp03/preprocessed/construct_eval_40.hpp similarity index 100% rename from include/boost/phoenix/object/detail/preprocessed/construct_eval_40.hpp rename to include/boost/phoenix/object/detail/cpp03/preprocessed/construct_eval_40.hpp diff --git a/include/boost/phoenix/object/detail/preprocessed/construct_eval_50.hpp b/include/boost/phoenix/object/detail/cpp03/preprocessed/construct_eval_50.hpp similarity index 100% rename from include/boost/phoenix/object/detail/preprocessed/construct_eval_50.hpp rename to include/boost/phoenix/object/detail/cpp03/preprocessed/construct_eval_50.hpp diff --git a/include/boost/phoenix/object/detail/preprocessed/new.hpp b/include/boost/phoenix/object/detail/cpp03/preprocessed/new.hpp similarity index 66% rename from include/boost/phoenix/object/detail/preprocessed/new.hpp rename to include/boost/phoenix/object/detail/cpp03/preprocessed/new.hpp index df60f98..ecb6cb1 100644 --- a/include/boost/phoenix/object/detail/preprocessed/new.hpp +++ b/include/boost/phoenix/object/detail/cpp03/preprocessed/new.hpp @@ -9,15 +9,15 @@ #define BOOST_PHOENIX_PREPROCESSED_NEW #if BOOST_PHOENIX_LIMIT <= 10 -#include +#include #elif BOOST_PHOENIX_LIMIT <= 20 -#include +#include #elif BOOST_PHOENIX_LIMIT <= 30 -#include +#include #elif BOOST_PHOENIX_LIMIT <= 40 -#include +#include #elif BOOST_PHOENIX_LIMIT <= 50 -#include +#include #else #error "BOOST_PHOENIX_LIMIT out of bounds for preprocessed headers" #endif diff --git a/include/boost/phoenix/object/detail/preprocessed/new_10.hpp b/include/boost/phoenix/object/detail/cpp03/preprocessed/new_10.hpp similarity index 100% rename from include/boost/phoenix/object/detail/preprocessed/new_10.hpp rename to include/boost/phoenix/object/detail/cpp03/preprocessed/new_10.hpp diff --git a/include/boost/phoenix/object/detail/preprocessed/new_20.hpp b/include/boost/phoenix/object/detail/cpp03/preprocessed/new_20.hpp similarity index 100% rename from include/boost/phoenix/object/detail/preprocessed/new_20.hpp rename to include/boost/phoenix/object/detail/cpp03/preprocessed/new_20.hpp diff --git a/include/boost/phoenix/object/detail/preprocessed/new_30.hpp b/include/boost/phoenix/object/detail/cpp03/preprocessed/new_30.hpp similarity index 100% rename from include/boost/phoenix/object/detail/preprocessed/new_30.hpp rename to include/boost/phoenix/object/detail/cpp03/preprocessed/new_30.hpp diff --git a/include/boost/phoenix/object/detail/preprocessed/new_40.hpp b/include/boost/phoenix/object/detail/cpp03/preprocessed/new_40.hpp similarity index 100% rename from include/boost/phoenix/object/detail/preprocessed/new_40.hpp rename to include/boost/phoenix/object/detail/cpp03/preprocessed/new_40.hpp diff --git a/include/boost/phoenix/object/detail/preprocessed/new_50.hpp b/include/boost/phoenix/object/detail/cpp03/preprocessed/new_50.hpp similarity index 100% rename from include/boost/phoenix/object/detail/preprocessed/new_50.hpp rename to include/boost/phoenix/object/detail/cpp03/preprocessed/new_50.hpp diff --git a/include/boost/phoenix/object/detail/preprocessed/new_eval.hpp b/include/boost/phoenix/object/detail/cpp03/preprocessed/new_eval.hpp similarity index 65% rename from include/boost/phoenix/object/detail/preprocessed/new_eval.hpp rename to include/boost/phoenix/object/detail/cpp03/preprocessed/new_eval.hpp index 1d41dfe..6ca2993 100644 --- a/include/boost/phoenix/object/detail/preprocessed/new_eval.hpp +++ b/include/boost/phoenix/object/detail/cpp03/preprocessed/new_eval.hpp @@ -9,15 +9,15 @@ #define BOOST_PHOENIX_PREPROCESSED_NEW_EVAL #if BOOST_PHOENIX_LIMIT <= 10 -#include +#include #elif BOOST_PHOENIX_LIMIT <= 20 -#include +#include #elif BOOST_PHOENIX_LIMIT <= 30 -#include +#include #elif BOOST_PHOENIX_LIMIT <= 40 -#include +#include #elif BOOST_PHOENIX_LIMIT <= 50 -#include +#include #else #error "BOOST_PHOENIX_LIMIT out of bounds for preprocessed headers" #endif diff --git a/include/boost/phoenix/object/detail/preprocessed/new_eval_10.hpp b/include/boost/phoenix/object/detail/cpp03/preprocessed/new_eval_10.hpp similarity index 100% rename from include/boost/phoenix/object/detail/preprocessed/new_eval_10.hpp rename to include/boost/phoenix/object/detail/cpp03/preprocessed/new_eval_10.hpp diff --git a/include/boost/phoenix/object/detail/preprocessed/new_eval_20.hpp b/include/boost/phoenix/object/detail/cpp03/preprocessed/new_eval_20.hpp similarity index 100% rename from include/boost/phoenix/object/detail/preprocessed/new_eval_20.hpp rename to include/boost/phoenix/object/detail/cpp03/preprocessed/new_eval_20.hpp diff --git a/include/boost/phoenix/object/detail/preprocessed/new_eval_30.hpp b/include/boost/phoenix/object/detail/cpp03/preprocessed/new_eval_30.hpp similarity index 100% rename from include/boost/phoenix/object/detail/preprocessed/new_eval_30.hpp rename to include/boost/phoenix/object/detail/cpp03/preprocessed/new_eval_30.hpp diff --git a/include/boost/phoenix/object/detail/preprocessed/new_eval_40.hpp b/include/boost/phoenix/object/detail/cpp03/preprocessed/new_eval_40.hpp similarity index 100% rename from include/boost/phoenix/object/detail/preprocessed/new_eval_40.hpp rename to include/boost/phoenix/object/detail/cpp03/preprocessed/new_eval_40.hpp diff --git a/include/boost/phoenix/object/detail/preprocessed/new_eval_50.hpp b/include/boost/phoenix/object/detail/cpp03/preprocessed/new_eval_50.hpp similarity index 100% rename from include/boost/phoenix/object/detail/preprocessed/new_eval_50.hpp rename to include/boost/phoenix/object/detail/cpp03/preprocessed/new_eval_50.hpp diff --git a/include/boost/phoenix/object/new.hpp b/include/boost/phoenix/object/new.hpp index a2ec810..525f9e7 100644 --- a/include/boost/phoenix/object/new.hpp +++ b/include/boost/phoenix/object/new.hpp @@ -30,6 +30,7 @@ namespace boost { namespace phoenix template struct result; +#if defined(BOOST_PHOENIX_NO_VARIADIC_OBJECT) template struct result { @@ -45,7 +46,10 @@ namespace boost { namespace phoenix } // Bring in the rest - #include + #include +#else + // TODO: +#endif }; template @@ -53,6 +57,7 @@ namespace boost { namespace phoenix : call {}; +#if defined(BOOST_PHOENIX_NO_VARIADIC_OBJECT) template inline typename expression::new_ >::type const @@ -65,7 +70,10 @@ namespace boost { namespace phoenix } // Bring in the rest - #include + #include +#else + // TODO: +#endif }} #endif diff --git a/include/boost/phoenix/operator/detail/cpp03/mem_fun_ptr_eval.hpp b/include/boost/phoenix/operator/detail/cpp03/mem_fun_ptr_eval.hpp new file mode 100644 index 0000000..bcb5adf --- /dev/null +++ b/include/boost/phoenix/operator/detail/cpp03/mem_fun_ptr_eval.hpp @@ -0,0 +1,78 @@ + +#if !BOOST_PHOENIX_IS_ITERATING + +#if !defined(BOOST_PHOENIX_DONT_USE_PREPROCESSED_FILES) + +#include + +#else + +#if defined(__WAVE__) && defined(BOOST_PHOENIX_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 2, line: 0, output: "preprocessed/mem_fun_ptr_eval_" BOOST_PHOENIX_LIMIT_STR ".hpp") +#endif + +/*============================================================================== + Copyright (c) 2005-2010 Joel de Guzman + Copyright (c) 2010 Thomas Heller + Copyright (c) 2016 Kohei Takahashi + + 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) +==============================================================================*/ + +#if defined(__WAVE__) && defined(BOOST_PHOENIX_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 1) +#endif + + #define BOOST_PHOENIX_MEMBER_EVAL(Z, N, D) \ + BOOST_PP_COMMA_IF(BOOST_PP_NOT(BOOST_PP_EQUAL(N, 2))) \ + boost::phoenix::eval(BOOST_PP_CAT(a, N), ctx) \ + /**/ + + #define BOOST_PHOENIX_ITERATION_PARAMS \ + (3, (2, BOOST_PHOENIX_LIMIT, \ + )) \ + /**/ + #include BOOST_PHOENIX_ITERATE() + #undef BOOST_PHOENIX_MEMBER_EVAL + +#if defined(__WAVE__) && defined(BOOST_PHOENIX_CREATE_PREPROCESSED_FILES) +#pragma wave option(output: null) +#endif + +#endif + +#else // BOOST_PHOENIX_IS_ITERATING + + template + struct result + : result + {}; + + template + struct result + : result_of::mem_fun_ptr_eval + {}; + + template + typename result_of::mem_fun_ptr_eval::type + operator()( + BOOST_PHOENIX_A_const_ref_a + , Context const & ctx + ) const + { + return + ( + get_pointer(boost::phoenix::eval(a0, ctx)) + ->*boost::phoenix::eval(a1, ctx) + )( + BOOST_PP_REPEAT_FROM_TO( + 2 + , BOOST_PHOENIX_ITERATION + , BOOST_PHOENIX_MEMBER_EVAL + , BOOST_PHOENIX_ITERATION + ) + ); + } + +#endif diff --git a/include/boost/phoenix/operator/detail/mem_fun_ptr_eval_result_of.hpp b/include/boost/phoenix/operator/detail/cpp03/mem_fun_ptr_eval_result_of.hpp similarity index 96% rename from include/boost/phoenix/operator/detail/mem_fun_ptr_eval_result_of.hpp rename to include/boost/phoenix/operator/detail/cpp03/mem_fun_ptr_eval_result_of.hpp index d505640..67c6dcf 100644 --- a/include/boost/phoenix/operator/detail/mem_fun_ptr_eval_result_of.hpp +++ b/include/boost/phoenix/operator/detail/cpp03/mem_fun_ptr_eval_result_of.hpp @@ -23,7 +23,7 @@ #define BOOST_PHOENIX_ITERATION_PARAMS \ (3, (2, BOOST_PHOENIX_LIMIT, \ - )) + )) #include BOOST_PHOENIX_ITERATE() #undef BOOST_PHOENIX_MEM_FUN_PTR_EVAL_RESULT_OF_CHILD diff --git a/include/boost/phoenix/operator/detail/mem_fun_ptr_gen.hpp b/include/boost/phoenix/operator/detail/cpp03/mem_fun_ptr_gen.hpp similarity index 88% rename from include/boost/phoenix/operator/detail/mem_fun_ptr_gen.hpp rename to include/boost/phoenix/operator/detail/cpp03/mem_fun_ptr_gen.hpp index 59a5223..476e132 100644 --- a/include/boost/phoenix/operator/detail/mem_fun_ptr_gen.hpp +++ b/include/boost/phoenix/operator/detail/cpp03/mem_fun_ptr_gen.hpp @@ -1,16 +1,9 @@ #if !BOOST_PHOENIX_IS_ITERATING -#ifndef BOOST_PHOENIX_OPERATOR_MEMBER_DETAIL_MEM_FUN_PTR_GEN_HPP -#define BOOST_PHOENIX_OPERATOR_MEMBER_DETAIL_MEM_FUN_PTR_GEN_HPP - -#include -#include -#include - #if !defined(BOOST_PHOENIX_DONT_USE_PREPROCESSED_FILES) -#include +#include #else @@ -56,7 +49,7 @@ namespace boost { namespace phoenix #define BOOST_PHOENIX_ITERATION_PARAMS \ (3, (1, BOOST_PHOENIX_MEMBER_LIMIT, \ - )) \ + )) \ #include BOOST_PHOENIX_ITERATE() @@ -97,8 +90,6 @@ namespace boost { namespace phoenix #endif // BOOST_PHOENIX_DONT_USE_PREPROCESSED_FILES -#endif - #else template typename phoenix::expression::mem_fun_ptr< diff --git a/include/boost/phoenix/operator/detail/cpp03/preprocessed/mem_fun_ptr_eval.hpp b/include/boost/phoenix/operator/detail/cpp03/preprocessed/mem_fun_ptr_eval.hpp new file mode 100644 index 0000000..dd290e7 --- /dev/null +++ b/include/boost/phoenix/operator/detail/cpp03/preprocessed/mem_fun_ptr_eval.hpp @@ -0,0 +1,25 @@ +/*============================================================================== + Copyright (c) 2016 Kohei Takahashi + + 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) +==============================================================================*/ + +#if !defined(BOOST_PHOENIX_PREPROCESSED_MEM_FUN_PTR_EVAL) +#define BOOST_PHOENIX_PREPROCESSED_MEM_FUN_PTR_EVAL + +#if BOOST_PHOENIX_LIMIT <= 10 +#include +#elif BOOST_PHOENIX_LIMIT <= 20 +#include +#elif BOOST_PHOENIX_LIMIT <= 30 +#include +#elif BOOST_PHOENIX_LIMIT <= 40 +#include +#elif BOOST_PHOENIX_LIMIT <= 50 +#include +#else +#error "BOOST_PHOENIX_LIMIT out of bounds for preprocessed headers" +#endif + +#endif diff --git a/include/boost/phoenix/operator/detail/cpp03/preprocessed/mem_fun_ptr_eval_result_of.hpp b/include/boost/phoenix/operator/detail/cpp03/preprocessed/mem_fun_ptr_eval_result_of.hpp new file mode 100644 index 0000000..a92b2bf --- /dev/null +++ b/include/boost/phoenix/operator/detail/cpp03/preprocessed/mem_fun_ptr_eval_result_of.hpp @@ -0,0 +1,25 @@ +/*============================================================================== + Copyright (c) 2016 Kohei Takahashi + + 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) +==============================================================================*/ + +#if !defined(BOOST_PHOENIX_PREPROCESSED_MEM_FUN_PTR_EVAL_RESULT_OF) +#define BOOST_PHOENIX_PREPROCESSED_MEM_FUN_PTR_EVAL_RESULT_OF + +#if BOOST_PHOENIX_LIMIT <= 10 +#include +#elif BOOST_PHOENIX_LIMIT <= 20 +#include +#elif BOOST_PHOENIX_LIMIT <= 30 +#include +#elif BOOST_PHOENIX_LIMIT <= 40 +#include +#elif BOOST_PHOENIX_LIMIT <= 50 +#include +#else +#error "BOOST_PHOENIX_LIMIT out of bounds for preprocessed headers" +#endif + +#endif diff --git a/include/boost/phoenix/operator/detail/preprocessed/mem_fun_ptr_gen.hpp b/include/boost/phoenix/operator/detail/cpp03/preprocessed/mem_fun_ptr_gen.hpp similarity index 63% rename from include/boost/phoenix/operator/detail/preprocessed/mem_fun_ptr_gen.hpp rename to include/boost/phoenix/operator/detail/cpp03/preprocessed/mem_fun_ptr_gen.hpp index 02f1f41..459c1cf 100644 --- a/include/boost/phoenix/operator/detail/preprocessed/mem_fun_ptr_gen.hpp +++ b/include/boost/phoenix/operator/detail/cpp03/preprocessed/mem_fun_ptr_gen.hpp @@ -9,15 +9,15 @@ #define BOOST_PHOENIX_PREPROCESSED_MEM_FUN_PTR_GEN #if BOOST_PHOENIX_LIMIT <= 10 -#include +#include #elif BOOST_PHOENIX_LIMIT <= 20 -#include +#include #elif BOOST_PHOENIX_LIMIT <= 30 -#include +#include #elif BOOST_PHOENIX_LIMIT <= 40 -#include +#include #elif BOOST_PHOENIX_LIMIT <= 50 -#include +#include #else #error "BOOST_PHOENIX_LIMIT out of bounds for preprocessed headers" #endif diff --git a/include/boost/phoenix/operator/detail/preprocessed/mem_fun_ptr_gen_10.hpp b/include/boost/phoenix/operator/detail/cpp03/preprocessed/mem_fun_ptr_gen_10.hpp similarity index 100% rename from include/boost/phoenix/operator/detail/preprocessed/mem_fun_ptr_gen_10.hpp rename to include/boost/phoenix/operator/detail/cpp03/preprocessed/mem_fun_ptr_gen_10.hpp diff --git a/include/boost/phoenix/operator/detail/preprocessed/mem_fun_ptr_gen_20.hpp b/include/boost/phoenix/operator/detail/cpp03/preprocessed/mem_fun_ptr_gen_20.hpp similarity index 100% rename from include/boost/phoenix/operator/detail/preprocessed/mem_fun_ptr_gen_20.hpp rename to include/boost/phoenix/operator/detail/cpp03/preprocessed/mem_fun_ptr_gen_20.hpp diff --git a/include/boost/phoenix/operator/detail/preprocessed/mem_fun_ptr_gen_30.hpp b/include/boost/phoenix/operator/detail/cpp03/preprocessed/mem_fun_ptr_gen_30.hpp similarity index 100% rename from include/boost/phoenix/operator/detail/preprocessed/mem_fun_ptr_gen_30.hpp rename to include/boost/phoenix/operator/detail/cpp03/preprocessed/mem_fun_ptr_gen_30.hpp diff --git a/include/boost/phoenix/operator/detail/preprocessed/mem_fun_ptr_gen_40.hpp b/include/boost/phoenix/operator/detail/cpp03/preprocessed/mem_fun_ptr_gen_40.hpp similarity index 100% rename from include/boost/phoenix/operator/detail/preprocessed/mem_fun_ptr_gen_40.hpp rename to include/boost/phoenix/operator/detail/cpp03/preprocessed/mem_fun_ptr_gen_40.hpp diff --git a/include/boost/phoenix/operator/detail/preprocessed/mem_fun_ptr_gen_50.hpp b/include/boost/phoenix/operator/detail/cpp03/preprocessed/mem_fun_ptr_gen_50.hpp similarity index 100% rename from include/boost/phoenix/operator/detail/preprocessed/mem_fun_ptr_gen_50.hpp rename to include/boost/phoenix/operator/detail/cpp03/preprocessed/mem_fun_ptr_gen_50.hpp diff --git a/include/boost/phoenix/operator/member.hpp b/include/boost/phoenix/operator/member.hpp index a489d46..f48ede3 100644 --- a/include/boost/phoenix/operator/member.hpp +++ b/include/boost/phoenix/operator/member.hpp @@ -1,5 +1,11 @@ +/*============================================================================== + Copyright (c) 2005-2010 Joel de Guzman + Copyright (c) 2010 Thomas Heller + Copyright (c) 2016 Kohei Takahashi -#if !BOOST_PHOENIX_IS_ITERATING + 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) +==============================================================================*/ #ifndef BOOST_PHOENIX_OPERATOR_MEMBER_HPP #define BOOST_PHOENIX_OPERATOR_MEMBER_HPP @@ -9,32 +15,15 @@ #include #include #include -#include -#include +#include #include #include #include - -#if !defined(BOOST_PHOENIX_DONT_USE_PREPROCESSED_FILES) - -#include - +#if defined(BOOST_PHOENIX_NO_VARIADIC_OPERATOR) +#include +#include #else - -#if defined(__WAVE__) && defined(BOOST_PHOENIX_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 2, line: 0, output: "preprocessed/member_" BOOST_PHOENIX_LIMIT_STR ".hpp") -#endif - -/*============================================================================== - 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) -==============================================================================*/ - -#if defined(__WAVE__) && defined(BOOST_PHOENIX_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 1) +// TODO #endif #include @@ -68,7 +57,11 @@ namespace boost { namespace phoenix > struct mem_fun_ptr_eval; - #include +#if defined(BOOST_PHOENIX_NO_VARIADIC_OPERATOR) + #include +#else + // TODO +#endif } struct mem_fun_ptr_eval @@ -76,17 +69,11 @@ namespace boost { namespace phoenix template struct result; - #define BOOST_PHOENIX_MEMBER_EVAL(Z, N, D) \ - BOOST_PP_COMMA_IF(BOOST_PP_NOT(BOOST_PP_EQUAL(N, 2))) \ - boost::phoenix::eval(BOOST_PP_CAT(a, N), ctx) \ - /**/ - - #define BOOST_PHOENIX_ITERATION_PARAMS \ - (3, (2, BOOST_PHOENIX_LIMIT, \ - )) \ - /**/ - #include BOOST_PHOENIX_ITERATE() - #undef BOOST_PHOENIX_MEMBER_EVAL +#if defined(BOOST_PHOENIX_NO_VARIADIC_OPERATOR) + #include +#else + // TODO +#endif }; template @@ -97,46 +84,4 @@ namespace boost { namespace phoenix #include -#if defined(__WAVE__) && defined(BOOST_PHOENIX_CREATE_PREPROCESSED_FILES) -#pragma wave option(output: null) -#endif - -#endif // BOOST_PHOENIX_DONT_USE_PREPROCESSED_FILES - -#endif - -#else // BOOST_PHOENIX_IS_ITERATING - - template - struct result - : result - {}; - - template - struct result - : result_of::mem_fun_ptr_eval - {}; - - template - typename result_of::mem_fun_ptr_eval::type - operator()( - BOOST_PHOENIX_A_const_ref_a - , Context const & ctx - ) const - { - return - ( - get_pointer(boost::phoenix::eval(a0, ctx)) - ->*boost::phoenix::eval(a1, ctx) - )( - BOOST_PP_REPEAT_FROM_TO( - 2 - , BOOST_PHOENIX_ITERATION - , BOOST_PHOENIX_MEMBER_EVAL - , BOOST_PHOENIX_ITERATION - ) - ); - } - - #endif diff --git a/include/boost/phoenix/operator/preprocessed/member.hpp b/include/boost/phoenix/operator/preprocessed/member.hpp deleted file mode 100644 index e899bfd..0000000 --- a/include/boost/phoenix/operator/preprocessed/member.hpp +++ /dev/null @@ -1,25 +0,0 @@ -/*============================================================================== - Copyright (c) 2011 Hartmut Kaiser - - 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) -==============================================================================*/ - -#if !defined(BOOST_PHOENIX_PREPROCESSED_MEMBER) -#define BOOST_PHOENIX_PREPROCESSED_MEMBER - -#if BOOST_PHOENIX_LIMIT <= 10 -#include -#elif BOOST_PHOENIX_LIMIT <= 20 -#include -#elif BOOST_PHOENIX_LIMIT <= 30 -#include -#elif BOOST_PHOENIX_LIMIT <= 40 -#include -#elif BOOST_PHOENIX_LIMIT <= 50 -#include -#else -#error "BOOST_PHOENIX_LIMIT out of bounds for preprocessed headers" -#endif - -#endif diff --git a/include/boost/phoenix/operator/preprocessed/member_10.hpp b/include/boost/phoenix/operator/preprocessed/member_10.hpp deleted file mode 100644 index 1c2049b..0000000 --- a/include/boost/phoenix/operator/preprocessed/member_10.hpp +++ /dev/null @@ -1,494 +0,0 @@ -/*============================================================================== - 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 boost { namespace phoenix -{ - namespace expression { template struct mem_ptr : expr {}; } namespace rule { struct mem_ptr : expression:: mem_ptr {}; } template struct meta_grammar::case_ : enable_rule {}; namespace functional { typedef proto::functional::make_expr make_mem_ptr; } namespace result_of { template struct make_mem_ptr : boost::result_of< functional:: make_mem_ptr( Lhs, Rhs ) > {}; } template inline typename result_of::make_mem_ptr::type make_mem_ptr(Lhs const & lhs, Rhs const & rhs) { return functional::make_mem_ptr()(lhs, rhs); } - template<> - struct phoenix_generator::case_ - : proto::or_< - proto::when< - proto::and_< - proto::mem_ptr > - , proto::if_ > >()> - > - , proto::call)> - > - , proto::otherwise< - proto::call(proto::_)> - > - > - {}; - namespace result_of - { - template < - typename Context - , 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 mem_fun_ptr_eval; - - - - - - - - template - struct mem_fun_ptr_eval - { - typedef typename evaluator::impl< A0 , Context , proto::empty_env >::result_type child0; typedef typename evaluator::impl< A1 , Context , proto::empty_env >::result_type child1; - typedef - typename boost::result_of< - child1( - child1 - ) - >::type - type; - }; - - - - - - - - template - struct mem_fun_ptr_eval - { - typedef typename evaluator::impl< A0 , Context , proto::empty_env >::result_type child0; typedef typename evaluator::impl< A1 , Context , proto::empty_env >::result_type child1; typedef typename evaluator::impl< A2 , Context , proto::empty_env >::result_type child2; - typedef - typename boost::result_of< - child1( - child1 , child2 - ) - >::type - type; - }; - - - - - - - - template - struct mem_fun_ptr_eval - { - typedef typename evaluator::impl< A0 , Context , proto::empty_env >::result_type child0; typedef typename evaluator::impl< A1 , Context , proto::empty_env >::result_type child1; typedef typename evaluator::impl< A2 , Context , proto::empty_env >::result_type child2; typedef typename evaluator::impl< A3 , Context , proto::empty_env >::result_type child3; - typedef - typename boost::result_of< - child1( - child1 , child2 , child3 - ) - >::type - type; - }; - - - - - - - - template - struct mem_fun_ptr_eval - { - typedef typename evaluator::impl< A0 , Context , proto::empty_env >::result_type child0; typedef typename evaluator::impl< A1 , Context , proto::empty_env >::result_type child1; typedef typename evaluator::impl< A2 , Context , proto::empty_env >::result_type child2; typedef typename evaluator::impl< A3 , Context , proto::empty_env >::result_type child3; typedef typename evaluator::impl< A4 , Context , proto::empty_env >::result_type child4; - typedef - typename boost::result_of< - child1( - child1 , child2 , child3 , child4 - ) - >::type - type; - }; - - - - - - - - template - struct mem_fun_ptr_eval - { - typedef typename evaluator::impl< A0 , Context , proto::empty_env >::result_type child0; typedef typename evaluator::impl< A1 , Context , proto::empty_env >::result_type child1; typedef typename evaluator::impl< A2 , Context , proto::empty_env >::result_type child2; typedef typename evaluator::impl< A3 , Context , proto::empty_env >::result_type child3; typedef typename evaluator::impl< A4 , Context , proto::empty_env >::result_type child4; typedef typename evaluator::impl< A5 , Context , proto::empty_env >::result_type child5; - typedef - typename boost::result_of< - child1( - child1 , child2 , child3 , child4 , child5 - ) - >::type - type; - }; - - - - - - - - template - struct mem_fun_ptr_eval - { - typedef typename evaluator::impl< A0 , Context , proto::empty_env >::result_type child0; typedef typename evaluator::impl< A1 , Context , proto::empty_env >::result_type child1; typedef typename evaluator::impl< A2 , Context , proto::empty_env >::result_type child2; typedef typename evaluator::impl< A3 , Context , proto::empty_env >::result_type child3; typedef typename evaluator::impl< A4 , Context , proto::empty_env >::result_type child4; typedef typename evaluator::impl< A5 , Context , proto::empty_env >::result_type child5; typedef typename evaluator::impl< A6 , Context , proto::empty_env >::result_type child6; - typedef - typename boost::result_of< - child1( - child1 , child2 , child3 , child4 , child5 , child6 - ) - >::type - type; - }; - - - - - - - - template - struct mem_fun_ptr_eval - { - typedef typename evaluator::impl< A0 , Context , proto::empty_env >::result_type child0; typedef typename evaluator::impl< A1 , Context , proto::empty_env >::result_type child1; typedef typename evaluator::impl< A2 , Context , proto::empty_env >::result_type child2; typedef typename evaluator::impl< A3 , Context , proto::empty_env >::result_type child3; typedef typename evaluator::impl< A4 , Context , proto::empty_env >::result_type child4; typedef typename evaluator::impl< A5 , Context , proto::empty_env >::result_type child5; typedef typename evaluator::impl< A6 , Context , proto::empty_env >::result_type child6; typedef typename evaluator::impl< A7 , Context , proto::empty_env >::result_type child7; - typedef - typename boost::result_of< - child1( - child1 , child2 , child3 , child4 , child5 , child6 , child7 - ) - >::type - type; - }; - - - - - - - - template - struct mem_fun_ptr_eval - { - typedef typename evaluator::impl< A0 , Context , proto::empty_env >::result_type child0; typedef typename evaluator::impl< A1 , Context , proto::empty_env >::result_type child1; typedef typename evaluator::impl< A2 , Context , proto::empty_env >::result_type child2; typedef typename evaluator::impl< A3 , Context , proto::empty_env >::result_type child3; typedef typename evaluator::impl< A4 , Context , proto::empty_env >::result_type child4; typedef typename evaluator::impl< A5 , Context , proto::empty_env >::result_type child5; typedef typename evaluator::impl< A6 , Context , proto::empty_env >::result_type child6; typedef typename evaluator::impl< A7 , Context , proto::empty_env >::result_type child7; typedef typename evaluator::impl< A8 , Context , proto::empty_env >::result_type child8; - typedef - typename boost::result_of< - child1( - child1 , child2 , child3 , child4 , child5 , child6 , child7 , child8 - ) - >::type - type; - }; - - - - - - - - template - struct mem_fun_ptr_eval - { - typedef typename evaluator::impl< A0 , Context , proto::empty_env >::result_type child0; typedef typename evaluator::impl< A1 , Context , proto::empty_env >::result_type child1; typedef typename evaluator::impl< A2 , Context , proto::empty_env >::result_type child2; typedef typename evaluator::impl< A3 , Context , proto::empty_env >::result_type child3; typedef typename evaluator::impl< A4 , Context , proto::empty_env >::result_type child4; typedef typename evaluator::impl< A5 , Context , proto::empty_env >::result_type child5; typedef typename evaluator::impl< A6 , Context , proto::empty_env >::result_type child6; typedef typename evaluator::impl< A7 , Context , proto::empty_env >::result_type child7; typedef typename evaluator::impl< A8 , Context , proto::empty_env >::result_type child8; typedef typename evaluator::impl< A9 , Context , proto::empty_env >::result_type child9; - typedef - typename boost::result_of< - child1( - child1 , child2 , child3 , child4 , child5 , child6 , child7 , child8 , child9 - ) - >::type - type; - }; - } - struct mem_fun_ptr_eval - { - template - struct result; - - - - - - - - template - struct result - : result - {}; - template - struct result - : result_of::mem_fun_ptr_eval - {}; - template - typename result_of::mem_fun_ptr_eval::type - operator()( - A0 const& a0 , A1 const& a1 - , Context const & ctx - ) const - { - return - ( - get_pointer(boost::phoenix::eval(a0, ctx)) - ->*boost::phoenix::eval(a1, ctx) - )( - - ); - } - - - - - - - - - template - struct result - : result - {}; - template - struct result - : result_of::mem_fun_ptr_eval - {}; - template - typename result_of::mem_fun_ptr_eval::type - operator()( - A0 const& a0 , A1 const& a1 , A2 const& a2 - , Context const & ctx - ) const - { - return - ( - get_pointer(boost::phoenix::eval(a0, ctx)) - ->*boost::phoenix::eval(a1, ctx) - )( - boost::phoenix::eval(a2, ctx) - ); - } - - - - - - - - - template - struct result - : result - {}; - template - struct result - : result_of::mem_fun_ptr_eval - {}; - template - typename result_of::mem_fun_ptr_eval::type - operator()( - A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 - , Context const & ctx - ) const - { - return - ( - get_pointer(boost::phoenix::eval(a0, ctx)) - ->*boost::phoenix::eval(a1, ctx) - )( - boost::phoenix::eval(a2, ctx) , boost::phoenix::eval(a3, ctx) - ); - } - - - - - - - - - template - struct result - : result - {}; - template - struct result - : result_of::mem_fun_ptr_eval - {}; - template - typename result_of::mem_fun_ptr_eval::type - operator()( - A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 - , Context const & ctx - ) const - { - return - ( - get_pointer(boost::phoenix::eval(a0, ctx)) - ->*boost::phoenix::eval(a1, ctx) - )( - boost::phoenix::eval(a2, ctx) , boost::phoenix::eval(a3, ctx) , boost::phoenix::eval(a4, ctx) - ); - } - - - - - - - - - template - struct result - : result - {}; - template - struct result - : result_of::mem_fun_ptr_eval - {}; - template - typename result_of::mem_fun_ptr_eval::type - operator()( - A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 - , Context const & ctx - ) const - { - return - ( - get_pointer(boost::phoenix::eval(a0, ctx)) - ->*boost::phoenix::eval(a1, ctx) - )( - boost::phoenix::eval(a2, ctx) , boost::phoenix::eval(a3, ctx) , boost::phoenix::eval(a4, ctx) , boost::phoenix::eval(a5, ctx) - ); - } - - - - - - - - - template - struct result - : result - {}; - template - struct result - : result_of::mem_fun_ptr_eval - {}; - template - typename result_of::mem_fun_ptr_eval::type - operator()( - A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 - , Context const & ctx - ) const - { - return - ( - get_pointer(boost::phoenix::eval(a0, ctx)) - ->*boost::phoenix::eval(a1, ctx) - )( - boost::phoenix::eval(a2, ctx) , boost::phoenix::eval(a3, ctx) , boost::phoenix::eval(a4, ctx) , boost::phoenix::eval(a5, ctx) , boost::phoenix::eval(a6, ctx) - ); - } - - - - - - - - - template - struct result - : result - {}; - template - struct result - : result_of::mem_fun_ptr_eval - {}; - template - typename result_of::mem_fun_ptr_eval::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 - , Context const & ctx - ) const - { - return - ( - get_pointer(boost::phoenix::eval(a0, ctx)) - ->*boost::phoenix::eval(a1, ctx) - )( - boost::phoenix::eval(a2, ctx) , boost::phoenix::eval(a3, ctx) , boost::phoenix::eval(a4, ctx) , boost::phoenix::eval(a5, ctx) , boost::phoenix::eval(a6, ctx) , boost::phoenix::eval(a7, ctx) - ); - } - - - - - - - - - template - struct result - : result - {}; - template - struct result - : result_of::mem_fun_ptr_eval - {}; - template - typename result_of::mem_fun_ptr_eval::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 - , Context const & ctx - ) const - { - return - ( - get_pointer(boost::phoenix::eval(a0, ctx)) - ->*boost::phoenix::eval(a1, ctx) - )( - boost::phoenix::eval(a2, ctx) , boost::phoenix::eval(a3, ctx) , boost::phoenix::eval(a4, ctx) , boost::phoenix::eval(a5, ctx) , boost::phoenix::eval(a6, ctx) , boost::phoenix::eval(a7, ctx) , boost::phoenix::eval(a8, ctx) - ); - } - - - - - - - - - template - struct result - : result - {}; - template - struct result - : result_of::mem_fun_ptr_eval - {}; - template - typename result_of::mem_fun_ptr_eval::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 - , Context const & ctx - ) const - { - return - ( - get_pointer(boost::phoenix::eval(a0, ctx)) - ->*boost::phoenix::eval(a1, ctx) - )( - boost::phoenix::eval(a2, ctx) , boost::phoenix::eval(a3, ctx) , boost::phoenix::eval(a4, ctx) , boost::phoenix::eval(a5, ctx) , boost::phoenix::eval(a6, ctx) , boost::phoenix::eval(a7, ctx) , boost::phoenix::eval(a8, ctx) , boost::phoenix::eval(a9, ctx) - ); - } - - }; - template - struct default_actions::when - : call - {}; -}} diff --git a/include/boost/phoenix/operator/preprocessed/member_20.hpp b/include/boost/phoenix/operator/preprocessed/member_20.hpp deleted file mode 100644 index b3e5614..0000000 --- a/include/boost/phoenix/operator/preprocessed/member_20.hpp +++ /dev/null @@ -1,994 +0,0 @@ -/*============================================================================== - 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 boost { namespace phoenix -{ - namespace expression { template struct mem_ptr : expr {}; } namespace rule { struct mem_ptr : expression:: mem_ptr {}; } template struct meta_grammar::case_ : enable_rule {}; namespace functional { typedef proto::functional::make_expr make_mem_ptr; } namespace result_of { template struct make_mem_ptr : boost::result_of< functional:: make_mem_ptr( Lhs, Rhs ) > {}; } template inline typename result_of::make_mem_ptr::type make_mem_ptr(Lhs const & lhs, Rhs const & rhs) { return functional::make_mem_ptr()(lhs, rhs); } - template<> - struct phoenix_generator::case_ - : proto::or_< - proto::when< - proto::and_< - proto::mem_ptr > - , proto::if_ > >()> - > - , proto::call)> - > - , proto::otherwise< - proto::call(proto::_)> - > - > - {}; - namespace result_of - { - template < - typename Context - , 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 mem_fun_ptr_eval; - - - - - - - - template - struct mem_fun_ptr_eval - { - typedef typename evaluator::impl< A0 , Context , proto::empty_env >::result_type child0; typedef typename evaluator::impl< A1 , Context , proto::empty_env >::result_type child1; - typedef - typename boost::result_of< - child1( - child1 - ) - >::type - type; - }; - - - - - - - - template - struct mem_fun_ptr_eval - { - typedef typename evaluator::impl< A0 , Context , proto::empty_env >::result_type child0; typedef typename evaluator::impl< A1 , Context , proto::empty_env >::result_type child1; typedef typename evaluator::impl< A2 , Context , proto::empty_env >::result_type child2; - typedef - typename boost::result_of< - child1( - child1 , child2 - ) - >::type - type; - }; - - - - - - - - template - struct mem_fun_ptr_eval - { - typedef typename evaluator::impl< A0 , Context , proto::empty_env >::result_type child0; typedef typename evaluator::impl< A1 , Context , proto::empty_env >::result_type child1; typedef typename evaluator::impl< A2 , Context , proto::empty_env >::result_type child2; typedef typename evaluator::impl< A3 , Context , proto::empty_env >::result_type child3; - typedef - typename boost::result_of< - child1( - child1 , child2 , child3 - ) - >::type - type; - }; - - - - - - - - template - struct mem_fun_ptr_eval - { - typedef typename evaluator::impl< A0 , Context , proto::empty_env >::result_type child0; typedef typename evaluator::impl< A1 , Context , proto::empty_env >::result_type child1; typedef typename evaluator::impl< A2 , Context , proto::empty_env >::result_type child2; typedef typename evaluator::impl< A3 , Context , proto::empty_env >::result_type child3; typedef typename evaluator::impl< A4 , Context , proto::empty_env >::result_type child4; - typedef - typename boost::result_of< - child1( - child1 , child2 , child3 , child4 - ) - >::type - type; - }; - - - - - - - - template - struct mem_fun_ptr_eval - { - typedef typename evaluator::impl< A0 , Context , proto::empty_env >::result_type child0; typedef typename evaluator::impl< A1 , Context , proto::empty_env >::result_type child1; typedef typename evaluator::impl< A2 , Context , proto::empty_env >::result_type child2; typedef typename evaluator::impl< A3 , Context , proto::empty_env >::result_type child3; typedef typename evaluator::impl< A4 , Context , proto::empty_env >::result_type child4; typedef typename evaluator::impl< A5 , Context , proto::empty_env >::result_type child5; - typedef - typename boost::result_of< - child1( - child1 , child2 , child3 , child4 , child5 - ) - >::type - type; - }; - - - - - - - - template - struct mem_fun_ptr_eval - { - typedef typename evaluator::impl< A0 , Context , proto::empty_env >::result_type child0; typedef typename evaluator::impl< A1 , Context , proto::empty_env >::result_type child1; typedef typename evaluator::impl< A2 , Context , proto::empty_env >::result_type child2; typedef typename evaluator::impl< A3 , Context , proto::empty_env >::result_type child3; typedef typename evaluator::impl< A4 , Context , proto::empty_env >::result_type child4; typedef typename evaluator::impl< A5 , Context , proto::empty_env >::result_type child5; typedef typename evaluator::impl< A6 , Context , proto::empty_env >::result_type child6; - typedef - typename boost::result_of< - child1( - child1 , child2 , child3 , child4 , child5 , child6 - ) - >::type - type; - }; - - - - - - - - template - struct mem_fun_ptr_eval - { - typedef typename evaluator::impl< A0 , Context , proto::empty_env >::result_type child0; typedef typename evaluator::impl< A1 , Context , proto::empty_env >::result_type child1; typedef typename evaluator::impl< A2 , Context , proto::empty_env >::result_type child2; typedef typename evaluator::impl< A3 , Context , proto::empty_env >::result_type child3; typedef typename evaluator::impl< A4 , Context , proto::empty_env >::result_type child4; typedef typename evaluator::impl< A5 , Context , proto::empty_env >::result_type child5; typedef typename evaluator::impl< A6 , Context , proto::empty_env >::result_type child6; typedef typename evaluator::impl< A7 , Context , proto::empty_env >::result_type child7; - typedef - typename boost::result_of< - child1( - child1 , child2 , child3 , child4 , child5 , child6 , child7 - ) - >::type - type; - }; - - - - - - - - template - struct mem_fun_ptr_eval - { - typedef typename evaluator::impl< A0 , Context , proto::empty_env >::result_type child0; typedef typename evaluator::impl< A1 , Context , proto::empty_env >::result_type child1; typedef typename evaluator::impl< A2 , Context , proto::empty_env >::result_type child2; typedef typename evaluator::impl< A3 , Context , proto::empty_env >::result_type child3; typedef typename evaluator::impl< A4 , Context , proto::empty_env >::result_type child4; typedef typename evaluator::impl< A5 , Context , proto::empty_env >::result_type child5; typedef typename evaluator::impl< A6 , Context , proto::empty_env >::result_type child6; typedef typename evaluator::impl< A7 , Context , proto::empty_env >::result_type child7; typedef typename evaluator::impl< A8 , Context , proto::empty_env >::result_type child8; - typedef - typename boost::result_of< - child1( - child1 , child2 , child3 , child4 , child5 , child6 , child7 , child8 - ) - >::type - type; - }; - - - - - - - - template - struct mem_fun_ptr_eval - { - typedef typename evaluator::impl< A0 , Context , proto::empty_env >::result_type child0; typedef typename evaluator::impl< A1 , Context , proto::empty_env >::result_type child1; typedef typename evaluator::impl< A2 , Context , proto::empty_env >::result_type child2; typedef typename evaluator::impl< A3 , Context , proto::empty_env >::result_type child3; typedef typename evaluator::impl< A4 , Context , proto::empty_env >::result_type child4; typedef typename evaluator::impl< A5 , Context , proto::empty_env >::result_type child5; typedef typename evaluator::impl< A6 , Context , proto::empty_env >::result_type child6; typedef typename evaluator::impl< A7 , Context , proto::empty_env >::result_type child7; typedef typename evaluator::impl< A8 , Context , proto::empty_env >::result_type child8; typedef typename evaluator::impl< A9 , Context , proto::empty_env >::result_type child9; - typedef - typename boost::result_of< - child1( - child1 , child2 , child3 , child4 , child5 , child6 , child7 , child8 , child9 - ) - >::type - type; - }; - - - - - - - - template - struct mem_fun_ptr_eval - { - typedef typename evaluator::impl< A0 , Context , proto::empty_env >::result_type child0; typedef typename evaluator::impl< A1 , Context , proto::empty_env >::result_type child1; typedef typename evaluator::impl< A2 , Context , proto::empty_env >::result_type child2; typedef typename evaluator::impl< A3 , Context , proto::empty_env >::result_type child3; typedef typename evaluator::impl< A4 , Context , proto::empty_env >::result_type child4; typedef typename evaluator::impl< A5 , Context , proto::empty_env >::result_type child5; typedef typename evaluator::impl< A6 , Context , proto::empty_env >::result_type child6; typedef typename evaluator::impl< A7 , Context , proto::empty_env >::result_type child7; typedef typename evaluator::impl< A8 , Context , proto::empty_env >::result_type child8; typedef typename evaluator::impl< A9 , Context , proto::empty_env >::result_type child9; typedef typename evaluator::impl< A10 , Context , proto::empty_env >::result_type child10; - typedef - typename boost::result_of< - child1( - child1 , child2 , child3 , child4 , child5 , child6 , child7 , child8 , child9 , child10 - ) - >::type - type; - }; - - - - - - - - template - struct mem_fun_ptr_eval - { - typedef typename evaluator::impl< A0 , Context , proto::empty_env >::result_type child0; typedef typename evaluator::impl< A1 , Context , proto::empty_env >::result_type child1; typedef typename evaluator::impl< A2 , Context , proto::empty_env >::result_type child2; typedef typename evaluator::impl< A3 , Context , proto::empty_env >::result_type child3; typedef typename evaluator::impl< A4 , Context , proto::empty_env >::result_type child4; typedef typename evaluator::impl< A5 , Context , proto::empty_env >::result_type child5; typedef typename evaluator::impl< A6 , Context , proto::empty_env >::result_type child6; typedef typename evaluator::impl< A7 , Context , proto::empty_env >::result_type child7; typedef typename evaluator::impl< A8 , Context , proto::empty_env >::result_type child8; typedef typename evaluator::impl< A9 , Context , proto::empty_env >::result_type child9; typedef typename evaluator::impl< A10 , Context , proto::empty_env >::result_type child10; typedef typename evaluator::impl< A11 , Context , proto::empty_env >::result_type child11; - typedef - typename boost::result_of< - child1( - child1 , child2 , child3 , child4 , child5 , child6 , child7 , child8 , child9 , child10 , child11 - ) - >::type - type; - }; - - - - - - - - template - struct mem_fun_ptr_eval - { - typedef typename evaluator::impl< A0 , Context , proto::empty_env >::result_type child0; typedef typename evaluator::impl< A1 , Context , proto::empty_env >::result_type child1; typedef typename evaluator::impl< A2 , Context , proto::empty_env >::result_type child2; typedef typename evaluator::impl< A3 , Context , proto::empty_env >::result_type child3; typedef typename evaluator::impl< A4 , Context , proto::empty_env >::result_type child4; typedef typename evaluator::impl< A5 , Context , proto::empty_env >::result_type child5; typedef typename evaluator::impl< A6 , Context , proto::empty_env >::result_type child6; typedef typename evaluator::impl< A7 , Context , proto::empty_env >::result_type child7; typedef typename evaluator::impl< A8 , Context , proto::empty_env >::result_type child8; typedef typename evaluator::impl< A9 , Context , proto::empty_env >::result_type child9; typedef typename evaluator::impl< A10 , Context , proto::empty_env >::result_type child10; typedef typename evaluator::impl< A11 , Context , proto::empty_env >::result_type child11; typedef typename evaluator::impl< A12 , Context , proto::empty_env >::result_type child12; - typedef - typename boost::result_of< - child1( - child1 , child2 , child3 , child4 , child5 , child6 , child7 , child8 , child9 , child10 , child11 , child12 - ) - >::type - type; - }; - - - - - - - - template - struct mem_fun_ptr_eval - { - typedef typename evaluator::impl< A0 , Context , proto::empty_env >::result_type child0; typedef typename evaluator::impl< A1 , Context , proto::empty_env >::result_type child1; typedef typename evaluator::impl< A2 , Context , proto::empty_env >::result_type child2; typedef typename evaluator::impl< A3 , Context , proto::empty_env >::result_type child3; typedef typename evaluator::impl< A4 , Context , proto::empty_env >::result_type child4; typedef typename evaluator::impl< A5 , Context , proto::empty_env >::result_type child5; typedef typename evaluator::impl< A6 , Context , proto::empty_env >::result_type child6; typedef typename evaluator::impl< A7 , Context , proto::empty_env >::result_type child7; typedef typename evaluator::impl< A8 , Context , proto::empty_env >::result_type child8; typedef typename evaluator::impl< A9 , Context , proto::empty_env >::result_type child9; typedef typename evaluator::impl< A10 , Context , proto::empty_env >::result_type child10; typedef typename evaluator::impl< A11 , Context , proto::empty_env >::result_type child11; typedef typename evaluator::impl< A12 , Context , proto::empty_env >::result_type child12; typedef typename evaluator::impl< A13 , Context , proto::empty_env >::result_type child13; - typedef - typename boost::result_of< - child1( - child1 , child2 , child3 , child4 , child5 , child6 , child7 , child8 , child9 , child10 , child11 , child12 , child13 - ) - >::type - type; - }; - - - - - - - - template - struct mem_fun_ptr_eval - { - typedef typename evaluator::impl< A0 , Context , proto::empty_env >::result_type child0; typedef typename evaluator::impl< A1 , Context , proto::empty_env >::result_type child1; typedef typename evaluator::impl< A2 , Context , proto::empty_env >::result_type child2; typedef typename evaluator::impl< A3 , Context , proto::empty_env >::result_type child3; typedef typename evaluator::impl< A4 , Context , proto::empty_env >::result_type child4; typedef typename evaluator::impl< A5 , Context , proto::empty_env >::result_type child5; typedef typename evaluator::impl< A6 , Context , proto::empty_env >::result_type child6; typedef typename evaluator::impl< A7 , Context , proto::empty_env >::result_type child7; typedef typename evaluator::impl< A8 , Context , proto::empty_env >::result_type child8; typedef typename evaluator::impl< A9 , Context , proto::empty_env >::result_type child9; typedef typename evaluator::impl< A10 , Context , proto::empty_env >::result_type child10; typedef typename evaluator::impl< A11 , Context , proto::empty_env >::result_type child11; typedef typename evaluator::impl< A12 , Context , proto::empty_env >::result_type child12; typedef typename evaluator::impl< A13 , Context , proto::empty_env >::result_type child13; typedef typename evaluator::impl< A14 , Context , proto::empty_env >::result_type child14; - typedef - typename boost::result_of< - child1( - child1 , child2 , child3 , child4 , child5 , child6 , child7 , child8 , child9 , child10 , child11 , child12 , child13 , child14 - ) - >::type - type; - }; - - - - - - - - template - struct mem_fun_ptr_eval - { - typedef typename evaluator::impl< A0 , Context , proto::empty_env >::result_type child0; typedef typename evaluator::impl< A1 , Context , proto::empty_env >::result_type child1; typedef typename evaluator::impl< A2 , Context , proto::empty_env >::result_type child2; typedef typename evaluator::impl< A3 , Context , proto::empty_env >::result_type child3; typedef typename evaluator::impl< A4 , Context , proto::empty_env >::result_type child4; typedef typename evaluator::impl< A5 , Context , proto::empty_env >::result_type child5; typedef typename evaluator::impl< A6 , Context , proto::empty_env >::result_type child6; typedef typename evaluator::impl< A7 , Context , proto::empty_env >::result_type child7; typedef typename evaluator::impl< A8 , Context , proto::empty_env >::result_type child8; typedef typename evaluator::impl< A9 , Context , proto::empty_env >::result_type child9; typedef typename evaluator::impl< A10 , Context , proto::empty_env >::result_type child10; typedef typename evaluator::impl< A11 , Context , proto::empty_env >::result_type child11; typedef typename evaluator::impl< A12 , Context , proto::empty_env >::result_type child12; typedef typename evaluator::impl< A13 , Context , proto::empty_env >::result_type child13; typedef typename evaluator::impl< A14 , Context , proto::empty_env >::result_type child14; typedef typename evaluator::impl< A15 , Context , proto::empty_env >::result_type child15; - typedef - typename boost::result_of< - child1( - child1 , child2 , child3 , child4 , child5 , child6 , child7 , child8 , child9 , child10 , child11 , child12 , child13 , child14 , child15 - ) - >::type - type; - }; - - - - - - - - template - struct mem_fun_ptr_eval - { - typedef typename evaluator::impl< A0 , Context , proto::empty_env >::result_type child0; typedef typename evaluator::impl< A1 , Context , proto::empty_env >::result_type child1; typedef typename evaluator::impl< A2 , Context , proto::empty_env >::result_type child2; typedef typename evaluator::impl< A3 , Context , proto::empty_env >::result_type child3; typedef typename evaluator::impl< A4 , Context , proto::empty_env >::result_type child4; typedef typename evaluator::impl< A5 , Context , proto::empty_env >::result_type child5; typedef typename evaluator::impl< A6 , Context , proto::empty_env >::result_type child6; typedef typename evaluator::impl< A7 , Context , proto::empty_env >::result_type child7; typedef typename evaluator::impl< A8 , Context , proto::empty_env >::result_type child8; typedef typename evaluator::impl< A9 , Context , proto::empty_env >::result_type child9; typedef typename evaluator::impl< A10 , Context , proto::empty_env >::result_type child10; typedef typename evaluator::impl< A11 , Context , proto::empty_env >::result_type child11; typedef typename evaluator::impl< A12 , Context , proto::empty_env >::result_type child12; typedef typename evaluator::impl< A13 , Context , proto::empty_env >::result_type child13; typedef typename evaluator::impl< A14 , Context , proto::empty_env >::result_type child14; typedef typename evaluator::impl< A15 , Context , proto::empty_env >::result_type child15; typedef typename evaluator::impl< A16 , Context , proto::empty_env >::result_type child16; - typedef - typename boost::result_of< - child1( - child1 , child2 , child3 , child4 , child5 , child6 , child7 , child8 , child9 , child10 , child11 , child12 , child13 , child14 , child15 , child16 - ) - >::type - type; - }; - - - - - - - - template - struct mem_fun_ptr_eval - { - typedef typename evaluator::impl< A0 , Context , proto::empty_env >::result_type child0; typedef typename evaluator::impl< A1 , Context , proto::empty_env >::result_type child1; typedef typename evaluator::impl< A2 , Context , proto::empty_env >::result_type child2; typedef typename evaluator::impl< A3 , Context , proto::empty_env >::result_type child3; typedef typename evaluator::impl< A4 , Context , proto::empty_env >::result_type child4; typedef typename evaluator::impl< A5 , Context , proto::empty_env >::result_type child5; typedef typename evaluator::impl< A6 , Context , proto::empty_env >::result_type child6; typedef typename evaluator::impl< A7 , Context , proto::empty_env >::result_type child7; typedef typename evaluator::impl< A8 , Context , proto::empty_env >::result_type child8; typedef typename evaluator::impl< A9 , Context , proto::empty_env >::result_type child9; typedef typename evaluator::impl< A10 , Context , proto::empty_env >::result_type child10; typedef typename evaluator::impl< A11 , Context , proto::empty_env >::result_type child11; typedef typename evaluator::impl< A12 , Context , proto::empty_env >::result_type child12; typedef typename evaluator::impl< A13 , Context , proto::empty_env >::result_type child13; typedef typename evaluator::impl< A14 , Context , proto::empty_env >::result_type child14; typedef typename evaluator::impl< A15 , Context , proto::empty_env >::result_type child15; typedef typename evaluator::impl< A16 , Context , proto::empty_env >::result_type child16; typedef typename evaluator::impl< A17 , Context , proto::empty_env >::result_type child17; - typedef - typename boost::result_of< - child1( - child1 , child2 , child3 , child4 , child5 , child6 , child7 , child8 , child9 , child10 , child11 , child12 , child13 , child14 , child15 , child16 , child17 - ) - >::type - type; - }; - - - - - - - - template - struct mem_fun_ptr_eval - { - typedef typename evaluator::impl< A0 , Context , proto::empty_env >::result_type child0; typedef typename evaluator::impl< A1 , Context , proto::empty_env >::result_type child1; typedef typename evaluator::impl< A2 , Context , proto::empty_env >::result_type child2; typedef typename evaluator::impl< A3 , Context , proto::empty_env >::result_type child3; typedef typename evaluator::impl< A4 , Context , proto::empty_env >::result_type child4; typedef typename evaluator::impl< A5 , Context , proto::empty_env >::result_type child5; typedef typename evaluator::impl< A6 , Context , proto::empty_env >::result_type child6; typedef typename evaluator::impl< A7 , Context , proto::empty_env >::result_type child7; typedef typename evaluator::impl< A8 , Context , proto::empty_env >::result_type child8; typedef typename evaluator::impl< A9 , Context , proto::empty_env >::result_type child9; typedef typename evaluator::impl< A10 , Context , proto::empty_env >::result_type child10; typedef typename evaluator::impl< A11 , Context , proto::empty_env >::result_type child11; typedef typename evaluator::impl< A12 , Context , proto::empty_env >::result_type child12; typedef typename evaluator::impl< A13 , Context , proto::empty_env >::result_type child13; typedef typename evaluator::impl< A14 , Context , proto::empty_env >::result_type child14; typedef typename evaluator::impl< A15 , Context , proto::empty_env >::result_type child15; typedef typename evaluator::impl< A16 , Context , proto::empty_env >::result_type child16; typedef typename evaluator::impl< A17 , Context , proto::empty_env >::result_type child17; typedef typename evaluator::impl< A18 , Context , proto::empty_env >::result_type child18; - typedef - typename boost::result_of< - child1( - child1 , child2 , child3 , child4 , child5 , child6 , child7 , child8 , child9 , child10 , child11 , child12 , child13 , child14 , child15 , child16 , child17 , child18 - ) - >::type - type; - }; - - - - - - - - template - struct mem_fun_ptr_eval - { - typedef typename evaluator::impl< A0 , Context , proto::empty_env >::result_type child0; typedef typename evaluator::impl< A1 , Context , proto::empty_env >::result_type child1; typedef typename evaluator::impl< A2 , Context , proto::empty_env >::result_type child2; typedef typename evaluator::impl< A3 , Context , proto::empty_env >::result_type child3; typedef typename evaluator::impl< A4 , Context , proto::empty_env >::result_type child4; typedef typename evaluator::impl< A5 , Context , proto::empty_env >::result_type child5; typedef typename evaluator::impl< A6 , Context , proto::empty_env >::result_type child6; typedef typename evaluator::impl< A7 , Context , proto::empty_env >::result_type child7; typedef typename evaluator::impl< A8 , Context , proto::empty_env >::result_type child8; typedef typename evaluator::impl< A9 , Context , proto::empty_env >::result_type child9; typedef typename evaluator::impl< A10 , Context , proto::empty_env >::result_type child10; typedef typename evaluator::impl< A11 , Context , proto::empty_env >::result_type child11; typedef typename evaluator::impl< A12 , Context , proto::empty_env >::result_type child12; typedef typename evaluator::impl< A13 , Context , proto::empty_env >::result_type child13; typedef typename evaluator::impl< A14 , Context , proto::empty_env >::result_type child14; typedef typename evaluator::impl< A15 , Context , proto::empty_env >::result_type child15; typedef typename evaluator::impl< A16 , Context , proto::empty_env >::result_type child16; typedef typename evaluator::impl< A17 , Context , proto::empty_env >::result_type child17; typedef typename evaluator::impl< A18 , Context , proto::empty_env >::result_type child18; typedef typename evaluator::impl< A19 , Context , proto::empty_env >::result_type child19; - typedef - typename boost::result_of< - child1( - child1 , child2 , child3 , child4 , child5 , child6 , child7 , child8 , child9 , child10 , child11 , child12 , child13 , child14 , child15 , child16 , child17 , child18 , child19 - ) - >::type - type; - }; - } - struct mem_fun_ptr_eval - { - template - struct result; - - - - - - - - template - struct result - : result - {}; - template - struct result - : result_of::mem_fun_ptr_eval - {}; - template - typename result_of::mem_fun_ptr_eval::type - operator()( - A0 const& a0 , A1 const& a1 - , Context const & ctx - ) const - { - return - ( - get_pointer(boost::phoenix::eval(a0, ctx)) - ->*boost::phoenix::eval(a1, ctx) - )( - - ); - } - - - - - - - - - template - struct result - : result - {}; - template - struct result - : result_of::mem_fun_ptr_eval - {}; - template - typename result_of::mem_fun_ptr_eval::type - operator()( - A0 const& a0 , A1 const& a1 , A2 const& a2 - , Context const & ctx - ) const - { - return - ( - get_pointer(boost::phoenix::eval(a0, ctx)) - ->*boost::phoenix::eval(a1, ctx) - )( - boost::phoenix::eval(a2, ctx) - ); - } - - - - - - - - - template - struct result - : result - {}; - template - struct result - : result_of::mem_fun_ptr_eval - {}; - template - typename result_of::mem_fun_ptr_eval::type - operator()( - A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 - , Context const & ctx - ) const - { - return - ( - get_pointer(boost::phoenix::eval(a0, ctx)) - ->*boost::phoenix::eval(a1, ctx) - )( - boost::phoenix::eval(a2, ctx) , boost::phoenix::eval(a3, ctx) - ); - } - - - - - - - - - template - struct result - : result - {}; - template - struct result - : result_of::mem_fun_ptr_eval - {}; - template - typename result_of::mem_fun_ptr_eval::type - operator()( - A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 - , Context const & ctx - ) const - { - return - ( - get_pointer(boost::phoenix::eval(a0, ctx)) - ->*boost::phoenix::eval(a1, ctx) - )( - boost::phoenix::eval(a2, ctx) , boost::phoenix::eval(a3, ctx) , boost::phoenix::eval(a4, ctx) - ); - } - - - - - - - - - template - struct result - : result - {}; - template - struct result - : result_of::mem_fun_ptr_eval - {}; - template - typename result_of::mem_fun_ptr_eval::type - operator()( - A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 - , Context const & ctx - ) const - { - return - ( - get_pointer(boost::phoenix::eval(a0, ctx)) - ->*boost::phoenix::eval(a1, ctx) - )( - boost::phoenix::eval(a2, ctx) , boost::phoenix::eval(a3, ctx) , boost::phoenix::eval(a4, ctx) , boost::phoenix::eval(a5, ctx) - ); - } - - - - - - - - - template - struct result - : result - {}; - template - struct result - : result_of::mem_fun_ptr_eval - {}; - template - typename result_of::mem_fun_ptr_eval::type - operator()( - A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 - , Context const & ctx - ) const - { - return - ( - get_pointer(boost::phoenix::eval(a0, ctx)) - ->*boost::phoenix::eval(a1, ctx) - )( - boost::phoenix::eval(a2, ctx) , boost::phoenix::eval(a3, ctx) , boost::phoenix::eval(a4, ctx) , boost::phoenix::eval(a5, ctx) , boost::phoenix::eval(a6, ctx) - ); - } - - - - - - - - - template - struct result - : result - {}; - template - struct result - : result_of::mem_fun_ptr_eval - {}; - template - typename result_of::mem_fun_ptr_eval::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 - , Context const & ctx - ) const - { - return - ( - get_pointer(boost::phoenix::eval(a0, ctx)) - ->*boost::phoenix::eval(a1, ctx) - )( - boost::phoenix::eval(a2, ctx) , boost::phoenix::eval(a3, ctx) , boost::phoenix::eval(a4, ctx) , boost::phoenix::eval(a5, ctx) , boost::phoenix::eval(a6, ctx) , boost::phoenix::eval(a7, ctx) - ); - } - - - - - - - - - template - struct result - : result - {}; - template - struct result - : result_of::mem_fun_ptr_eval - {}; - template - typename result_of::mem_fun_ptr_eval::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 - , Context const & ctx - ) const - { - return - ( - get_pointer(boost::phoenix::eval(a0, ctx)) - ->*boost::phoenix::eval(a1, ctx) - )( - boost::phoenix::eval(a2, ctx) , boost::phoenix::eval(a3, ctx) , boost::phoenix::eval(a4, ctx) , boost::phoenix::eval(a5, ctx) , boost::phoenix::eval(a6, ctx) , boost::phoenix::eval(a7, ctx) , boost::phoenix::eval(a8, ctx) - ); - } - - - - - - - - - template - struct result - : result - {}; - template - struct result - : result_of::mem_fun_ptr_eval - {}; - template - typename result_of::mem_fun_ptr_eval::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 - , Context const & ctx - ) const - { - return - ( - get_pointer(boost::phoenix::eval(a0, ctx)) - ->*boost::phoenix::eval(a1, ctx) - )( - boost::phoenix::eval(a2, ctx) , boost::phoenix::eval(a3, ctx) , boost::phoenix::eval(a4, ctx) , boost::phoenix::eval(a5, ctx) , boost::phoenix::eval(a6, ctx) , boost::phoenix::eval(a7, ctx) , boost::phoenix::eval(a8, ctx) , boost::phoenix::eval(a9, ctx) - ); - } - - - - - - - - - template - struct result - : result - {}; - template - struct result - : result_of::mem_fun_ptr_eval - {}; - template - typename result_of::mem_fun_ptr_eval::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 , A10 const& a10 - , Context const & ctx - ) const - { - return - ( - get_pointer(boost::phoenix::eval(a0, ctx)) - ->*boost::phoenix::eval(a1, ctx) - )( - boost::phoenix::eval(a2, ctx) , boost::phoenix::eval(a3, ctx) , boost::phoenix::eval(a4, ctx) , boost::phoenix::eval(a5, ctx) , boost::phoenix::eval(a6, ctx) , boost::phoenix::eval(a7, ctx) , boost::phoenix::eval(a8, ctx) , boost::phoenix::eval(a9, ctx) , boost::phoenix::eval(a10, ctx) - ); - } - - - - - - - - - template - struct result - : result - {}; - template - struct result - : result_of::mem_fun_ptr_eval - {}; - template - typename result_of::mem_fun_ptr_eval::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 , A10 const& a10 , A11 const& a11 - , Context const & ctx - ) const - { - return - ( - get_pointer(boost::phoenix::eval(a0, ctx)) - ->*boost::phoenix::eval(a1, ctx) - )( - boost::phoenix::eval(a2, ctx) , boost::phoenix::eval(a3, ctx) , boost::phoenix::eval(a4, ctx) , boost::phoenix::eval(a5, ctx) , boost::phoenix::eval(a6, ctx) , boost::phoenix::eval(a7, ctx) , boost::phoenix::eval(a8, ctx) , boost::phoenix::eval(a9, ctx) , boost::phoenix::eval(a10, ctx) , boost::phoenix::eval(a11, ctx) - ); - } - - - - - - - - - template - struct result - : result - {}; - template - struct result - : result_of::mem_fun_ptr_eval - {}; - template - typename result_of::mem_fun_ptr_eval::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 , A10 const& a10 , A11 const& a11 , A12 const& a12 - , Context const & ctx - ) const - { - return - ( - get_pointer(boost::phoenix::eval(a0, ctx)) - ->*boost::phoenix::eval(a1, ctx) - )( - boost::phoenix::eval(a2, ctx) , boost::phoenix::eval(a3, ctx) , boost::phoenix::eval(a4, ctx) , boost::phoenix::eval(a5, ctx) , boost::phoenix::eval(a6, ctx) , boost::phoenix::eval(a7, ctx) , boost::phoenix::eval(a8, ctx) , boost::phoenix::eval(a9, ctx) , boost::phoenix::eval(a10, ctx) , boost::phoenix::eval(a11, ctx) , boost::phoenix::eval(a12, ctx) - ); - } - - - - - - - - - template - struct result - : result - {}; - template - struct result - : result_of::mem_fun_ptr_eval - {}; - template - typename result_of::mem_fun_ptr_eval::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 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 - , Context const & ctx - ) const - { - return - ( - get_pointer(boost::phoenix::eval(a0, ctx)) - ->*boost::phoenix::eval(a1, ctx) - )( - boost::phoenix::eval(a2, ctx) , boost::phoenix::eval(a3, ctx) , boost::phoenix::eval(a4, ctx) , boost::phoenix::eval(a5, ctx) , boost::phoenix::eval(a6, ctx) , boost::phoenix::eval(a7, ctx) , boost::phoenix::eval(a8, ctx) , boost::phoenix::eval(a9, ctx) , boost::phoenix::eval(a10, ctx) , boost::phoenix::eval(a11, ctx) , boost::phoenix::eval(a12, ctx) , boost::phoenix::eval(a13, ctx) - ); - } - - - - - - - - - template - struct result - : result - {}; - template - struct result - : result_of::mem_fun_ptr_eval - {}; - template - typename result_of::mem_fun_ptr_eval::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 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 - , Context const & ctx - ) const - { - return - ( - get_pointer(boost::phoenix::eval(a0, ctx)) - ->*boost::phoenix::eval(a1, ctx) - )( - boost::phoenix::eval(a2, ctx) , boost::phoenix::eval(a3, ctx) , boost::phoenix::eval(a4, ctx) , boost::phoenix::eval(a5, ctx) , boost::phoenix::eval(a6, ctx) , boost::phoenix::eval(a7, ctx) , boost::phoenix::eval(a8, ctx) , boost::phoenix::eval(a9, ctx) , boost::phoenix::eval(a10, ctx) , boost::phoenix::eval(a11, ctx) , boost::phoenix::eval(a12, ctx) , boost::phoenix::eval(a13, ctx) , boost::phoenix::eval(a14, ctx) - ); - } - - - - - - - - - template - struct result - : result - {}; - template - struct result - : result_of::mem_fun_ptr_eval - {}; - template - typename result_of::mem_fun_ptr_eval::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 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 - , Context const & ctx - ) const - { - return - ( - get_pointer(boost::phoenix::eval(a0, ctx)) - ->*boost::phoenix::eval(a1, ctx) - )( - boost::phoenix::eval(a2, ctx) , boost::phoenix::eval(a3, ctx) , boost::phoenix::eval(a4, ctx) , boost::phoenix::eval(a5, ctx) , boost::phoenix::eval(a6, ctx) , boost::phoenix::eval(a7, ctx) , boost::phoenix::eval(a8, ctx) , boost::phoenix::eval(a9, ctx) , boost::phoenix::eval(a10, ctx) , boost::phoenix::eval(a11, ctx) , boost::phoenix::eval(a12, ctx) , boost::phoenix::eval(a13, ctx) , boost::phoenix::eval(a14, ctx) , boost::phoenix::eval(a15, ctx) - ); - } - - - - - - - - - template - struct result - : result - {}; - template - struct result - : result_of::mem_fun_ptr_eval - {}; - template - typename result_of::mem_fun_ptr_eval::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 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 - , Context const & ctx - ) const - { - return - ( - get_pointer(boost::phoenix::eval(a0, ctx)) - ->*boost::phoenix::eval(a1, ctx) - )( - boost::phoenix::eval(a2, ctx) , boost::phoenix::eval(a3, ctx) , boost::phoenix::eval(a4, ctx) , boost::phoenix::eval(a5, ctx) , boost::phoenix::eval(a6, ctx) , boost::phoenix::eval(a7, ctx) , boost::phoenix::eval(a8, ctx) , boost::phoenix::eval(a9, ctx) , boost::phoenix::eval(a10, ctx) , boost::phoenix::eval(a11, ctx) , boost::phoenix::eval(a12, ctx) , boost::phoenix::eval(a13, ctx) , boost::phoenix::eval(a14, ctx) , boost::phoenix::eval(a15, ctx) , boost::phoenix::eval(a16, ctx) - ); - } - - - - - - - - - template - struct result - : result - {}; - template - struct result - : result_of::mem_fun_ptr_eval - {}; - template - typename result_of::mem_fun_ptr_eval::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 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 - , Context const & ctx - ) const - { - return - ( - get_pointer(boost::phoenix::eval(a0, ctx)) - ->*boost::phoenix::eval(a1, ctx) - )( - boost::phoenix::eval(a2, ctx) , boost::phoenix::eval(a3, ctx) , boost::phoenix::eval(a4, ctx) , boost::phoenix::eval(a5, ctx) , boost::phoenix::eval(a6, ctx) , boost::phoenix::eval(a7, ctx) , boost::phoenix::eval(a8, ctx) , boost::phoenix::eval(a9, ctx) , boost::phoenix::eval(a10, ctx) , boost::phoenix::eval(a11, ctx) , boost::phoenix::eval(a12, ctx) , boost::phoenix::eval(a13, ctx) , boost::phoenix::eval(a14, ctx) , boost::phoenix::eval(a15, ctx) , boost::phoenix::eval(a16, ctx) , boost::phoenix::eval(a17, ctx) - ); - } - - - - - - - - - template - struct result - : result - {}; - template - struct result - : result_of::mem_fun_ptr_eval - {}; - template - typename result_of::mem_fun_ptr_eval::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 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 - , Context const & ctx - ) const - { - return - ( - get_pointer(boost::phoenix::eval(a0, ctx)) - ->*boost::phoenix::eval(a1, ctx) - )( - boost::phoenix::eval(a2, ctx) , boost::phoenix::eval(a3, ctx) , boost::phoenix::eval(a4, ctx) , boost::phoenix::eval(a5, ctx) , boost::phoenix::eval(a6, ctx) , boost::phoenix::eval(a7, ctx) , boost::phoenix::eval(a8, ctx) , boost::phoenix::eval(a9, ctx) , boost::phoenix::eval(a10, ctx) , boost::phoenix::eval(a11, ctx) , boost::phoenix::eval(a12, ctx) , boost::phoenix::eval(a13, ctx) , boost::phoenix::eval(a14, ctx) , boost::phoenix::eval(a15, ctx) , boost::phoenix::eval(a16, ctx) , boost::phoenix::eval(a17, ctx) , boost::phoenix::eval(a18, ctx) - ); - } - - - - - - - - - template - struct result - : result - {}; - template - struct result - : result_of::mem_fun_ptr_eval - {}; - template - typename result_of::mem_fun_ptr_eval::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 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 - , Context const & ctx - ) const - { - return - ( - get_pointer(boost::phoenix::eval(a0, ctx)) - ->*boost::phoenix::eval(a1, ctx) - )( - boost::phoenix::eval(a2, ctx) , boost::phoenix::eval(a3, ctx) , boost::phoenix::eval(a4, ctx) , boost::phoenix::eval(a5, ctx) , boost::phoenix::eval(a6, ctx) , boost::phoenix::eval(a7, ctx) , boost::phoenix::eval(a8, ctx) , boost::phoenix::eval(a9, ctx) , boost::phoenix::eval(a10, ctx) , boost::phoenix::eval(a11, ctx) , boost::phoenix::eval(a12, ctx) , boost::phoenix::eval(a13, ctx) , boost::phoenix::eval(a14, ctx) , boost::phoenix::eval(a15, ctx) , boost::phoenix::eval(a16, ctx) , boost::phoenix::eval(a17, ctx) , boost::phoenix::eval(a18, ctx) , boost::phoenix::eval(a19, ctx) - ); - } - - }; - template - struct default_actions::when - : call - {}; -}} diff --git a/include/boost/phoenix/operator/preprocessed/member_30.hpp b/include/boost/phoenix/operator/preprocessed/member_30.hpp deleted file mode 100644 index fa19cc3..0000000 --- a/include/boost/phoenix/operator/preprocessed/member_30.hpp +++ /dev/null @@ -1,1494 +0,0 @@ -/*============================================================================== - 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 boost { namespace phoenix -{ - namespace expression { template struct mem_ptr : expr {}; } namespace rule { struct mem_ptr : expression:: mem_ptr {}; } template struct meta_grammar::case_ : enable_rule {}; namespace functional { typedef proto::functional::make_expr make_mem_ptr; } namespace result_of { template struct make_mem_ptr : boost::result_of< functional:: make_mem_ptr( Lhs, Rhs ) > {}; } template inline typename result_of::make_mem_ptr::type make_mem_ptr(Lhs const & lhs, Rhs const & rhs) { return functional::make_mem_ptr()(lhs, rhs); } - template<> - struct phoenix_generator::case_ - : proto::or_< - proto::when< - proto::and_< - proto::mem_ptr > - , proto::if_ > >()> - > - , proto::call)> - > - , proto::otherwise< - proto::call(proto::_)> - > - > - {}; - namespace result_of - { - template < - typename Context - , 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 A20 = void , typename A21 = void , typename A22 = void , typename A23 = void , typename A24 = void , typename A25 = void , typename A26 = void , typename A27 = void , typename A28 = void , typename A29 = void - , typename Dummy = void - > - struct mem_fun_ptr_eval; - - - - - - - - template - struct mem_fun_ptr_eval - { - typedef typename evaluator::impl< A0 , Context , proto::empty_env >::result_type child0; typedef typename evaluator::impl< A1 , Context , proto::empty_env >::result_type child1; - typedef - typename boost::result_of< - child1( - child1 - ) - >::type - type; - }; - - - - - - - - template - struct mem_fun_ptr_eval - { - typedef typename evaluator::impl< A0 , Context , proto::empty_env >::result_type child0; typedef typename evaluator::impl< A1 , Context , proto::empty_env >::result_type child1; typedef typename evaluator::impl< A2 , Context , proto::empty_env >::result_type child2; - typedef - typename boost::result_of< - child1( - child1 , child2 - ) - >::type - type; - }; - - - - - - - - template - struct mem_fun_ptr_eval - { - typedef typename evaluator::impl< A0 , Context , proto::empty_env >::result_type child0; typedef typename evaluator::impl< A1 , Context , proto::empty_env >::result_type child1; typedef typename evaluator::impl< A2 , Context , proto::empty_env >::result_type child2; typedef typename evaluator::impl< A3 , Context , proto::empty_env >::result_type child3; - typedef - typename boost::result_of< - child1( - child1 , child2 , child3 - ) - >::type - type; - }; - - - - - - - - template - struct mem_fun_ptr_eval - { - typedef typename evaluator::impl< A0 , Context , proto::empty_env >::result_type child0; typedef typename evaluator::impl< A1 , Context , proto::empty_env >::result_type child1; typedef typename evaluator::impl< A2 , Context , proto::empty_env >::result_type child2; typedef typename evaluator::impl< A3 , Context , proto::empty_env >::result_type child3; typedef typename evaluator::impl< A4 , Context , proto::empty_env >::result_type child4; - typedef - typename boost::result_of< - child1( - child1 , child2 , child3 , child4 - ) - >::type - type; - }; - - - - - - - - template - struct mem_fun_ptr_eval - { - typedef typename evaluator::impl< A0 , Context , proto::empty_env >::result_type child0; typedef typename evaluator::impl< A1 , Context , proto::empty_env >::result_type child1; typedef typename evaluator::impl< A2 , Context , proto::empty_env >::result_type child2; typedef typename evaluator::impl< A3 , Context , proto::empty_env >::result_type child3; typedef typename evaluator::impl< A4 , Context , proto::empty_env >::result_type child4; typedef typename evaluator::impl< A5 , Context , proto::empty_env >::result_type child5; - typedef - typename boost::result_of< - child1( - child1 , child2 , child3 , child4 , child5 - ) - >::type - type; - }; - - - - - - - - template - struct mem_fun_ptr_eval - { - typedef typename evaluator::impl< A0 , Context , proto::empty_env >::result_type child0; typedef typename evaluator::impl< A1 , Context , proto::empty_env >::result_type child1; typedef typename evaluator::impl< A2 , Context , proto::empty_env >::result_type child2; typedef typename evaluator::impl< A3 , Context , proto::empty_env >::result_type child3; typedef typename evaluator::impl< A4 , Context , proto::empty_env >::result_type child4; typedef typename evaluator::impl< A5 , Context , proto::empty_env >::result_type child5; typedef typename evaluator::impl< A6 , Context , proto::empty_env >::result_type child6; - typedef - typename boost::result_of< - child1( - child1 , child2 , child3 , child4 , child5 , child6 - ) - >::type - type; - }; - - - - - - - - template - struct mem_fun_ptr_eval - { - typedef typename evaluator::impl< A0 , Context , proto::empty_env >::result_type child0; typedef typename evaluator::impl< A1 , Context , proto::empty_env >::result_type child1; typedef typename evaluator::impl< A2 , Context , proto::empty_env >::result_type child2; typedef typename evaluator::impl< A3 , Context , proto::empty_env >::result_type child3; typedef typename evaluator::impl< A4 , Context , proto::empty_env >::result_type child4; typedef typename evaluator::impl< A5 , Context , proto::empty_env >::result_type child5; typedef typename evaluator::impl< A6 , Context , proto::empty_env >::result_type child6; typedef typename evaluator::impl< A7 , Context , proto::empty_env >::result_type child7; - typedef - typename boost::result_of< - child1( - child1 , child2 , child3 , child4 , child5 , child6 , child7 - ) - >::type - type; - }; - - - - - - - - template - struct mem_fun_ptr_eval - { - typedef typename evaluator::impl< A0 , Context , proto::empty_env >::result_type child0; typedef typename evaluator::impl< A1 , Context , proto::empty_env >::result_type child1; typedef typename evaluator::impl< A2 , Context , proto::empty_env >::result_type child2; typedef typename evaluator::impl< A3 , Context , proto::empty_env >::result_type child3; typedef typename evaluator::impl< A4 , Context , proto::empty_env >::result_type child4; typedef typename evaluator::impl< A5 , Context , proto::empty_env >::result_type child5; typedef typename evaluator::impl< A6 , Context , proto::empty_env >::result_type child6; typedef typename evaluator::impl< A7 , Context , proto::empty_env >::result_type child7; typedef typename evaluator::impl< A8 , Context , proto::empty_env >::result_type child8; - typedef - typename boost::result_of< - child1( - child1 , child2 , child3 , child4 , child5 , child6 , child7 , child8 - ) - >::type - type; - }; - - - - - - - - template - struct mem_fun_ptr_eval - { - typedef typename evaluator::impl< A0 , Context , proto::empty_env >::result_type child0; typedef typename evaluator::impl< A1 , Context , proto::empty_env >::result_type child1; typedef typename evaluator::impl< A2 , Context , proto::empty_env >::result_type child2; typedef typename evaluator::impl< A3 , Context , proto::empty_env >::result_type child3; typedef typename evaluator::impl< A4 , Context , proto::empty_env >::result_type child4; typedef typename evaluator::impl< A5 , Context , proto::empty_env >::result_type child5; typedef typename evaluator::impl< A6 , Context , proto::empty_env >::result_type child6; typedef typename evaluator::impl< A7 , Context , proto::empty_env >::result_type child7; typedef typename evaluator::impl< A8 , Context , proto::empty_env >::result_type child8; typedef typename evaluator::impl< A9 , Context , proto::empty_env >::result_type child9; - typedef - typename boost::result_of< - child1( - child1 , child2 , child3 , child4 , child5 , child6 , child7 , child8 , child9 - ) - >::type - type; - }; - - - - - - - - template - struct mem_fun_ptr_eval - { - typedef typename evaluator::impl< A0 , Context , proto::empty_env >::result_type child0; typedef typename evaluator::impl< A1 , Context , proto::empty_env >::result_type child1; typedef typename evaluator::impl< A2 , Context , proto::empty_env >::result_type child2; typedef typename evaluator::impl< A3 , Context , proto::empty_env >::result_type child3; typedef typename evaluator::impl< A4 , Context , proto::empty_env >::result_type child4; typedef typename evaluator::impl< A5 , Context , proto::empty_env >::result_type child5; typedef typename evaluator::impl< A6 , Context , proto::empty_env >::result_type child6; typedef typename evaluator::impl< A7 , Context , proto::empty_env >::result_type child7; typedef typename evaluator::impl< A8 , Context , proto::empty_env >::result_type child8; typedef typename evaluator::impl< A9 , Context , proto::empty_env >::result_type child9; typedef typename evaluator::impl< A10 , Context , proto::empty_env >::result_type child10; - typedef - typename boost::result_of< - child1( - child1 , child2 , child3 , child4 , child5 , child6 , child7 , child8 , child9 , child10 - ) - >::type - type; - }; - - - - - - - - template - struct mem_fun_ptr_eval - { - typedef typename evaluator::impl< A0 , Context , proto::empty_env >::result_type child0; typedef typename evaluator::impl< A1 , Context , proto::empty_env >::result_type child1; typedef typename evaluator::impl< A2 , Context , proto::empty_env >::result_type child2; typedef typename evaluator::impl< A3 , Context , proto::empty_env >::result_type child3; typedef typename evaluator::impl< A4 , Context , proto::empty_env >::result_type child4; typedef typename evaluator::impl< A5 , Context , proto::empty_env >::result_type child5; typedef typename evaluator::impl< A6 , Context , proto::empty_env >::result_type child6; typedef typename evaluator::impl< A7 , Context , proto::empty_env >::result_type child7; typedef typename evaluator::impl< A8 , Context , proto::empty_env >::result_type child8; typedef typename evaluator::impl< A9 , Context , proto::empty_env >::result_type child9; typedef typename evaluator::impl< A10 , Context , proto::empty_env >::result_type child10; typedef typename evaluator::impl< A11 , Context , proto::empty_env >::result_type child11; - typedef - typename boost::result_of< - child1( - child1 , child2 , child3 , child4 , child5 , child6 , child7 , child8 , child9 , child10 , child11 - ) - >::type - type; - }; - - - - - - - - template - struct mem_fun_ptr_eval - { - typedef typename evaluator::impl< A0 , Context , proto::empty_env >::result_type child0; typedef typename evaluator::impl< A1 , Context , proto::empty_env >::result_type child1; typedef typename evaluator::impl< A2 , Context , proto::empty_env >::result_type child2; typedef typename evaluator::impl< A3 , Context , proto::empty_env >::result_type child3; typedef typename evaluator::impl< A4 , Context , proto::empty_env >::result_type child4; typedef typename evaluator::impl< A5 , Context , proto::empty_env >::result_type child5; typedef typename evaluator::impl< A6 , Context , proto::empty_env >::result_type child6; typedef typename evaluator::impl< A7 , Context , proto::empty_env >::result_type child7; typedef typename evaluator::impl< A8 , Context , proto::empty_env >::result_type child8; typedef typename evaluator::impl< A9 , Context , proto::empty_env >::result_type child9; typedef typename evaluator::impl< A10 , Context , proto::empty_env >::result_type child10; typedef typename evaluator::impl< A11 , Context , proto::empty_env >::result_type child11; typedef typename evaluator::impl< A12 , Context , proto::empty_env >::result_type child12; - typedef - typename boost::result_of< - child1( - child1 , child2 , child3 , child4 , child5 , child6 , child7 , child8 , child9 , child10 , child11 , child12 - ) - >::type - type; - }; - - - - - - - - template - struct mem_fun_ptr_eval - { - typedef typename evaluator::impl< A0 , Context , proto::empty_env >::result_type child0; typedef typename evaluator::impl< A1 , Context , proto::empty_env >::result_type child1; typedef typename evaluator::impl< A2 , Context , proto::empty_env >::result_type child2; typedef typename evaluator::impl< A3 , Context , proto::empty_env >::result_type child3; typedef typename evaluator::impl< A4 , Context , proto::empty_env >::result_type child4; typedef typename evaluator::impl< A5 , Context , proto::empty_env >::result_type child5; typedef typename evaluator::impl< A6 , Context , proto::empty_env >::result_type child6; typedef typename evaluator::impl< A7 , Context , proto::empty_env >::result_type child7; typedef typename evaluator::impl< A8 , Context , proto::empty_env >::result_type child8; typedef typename evaluator::impl< A9 , Context , proto::empty_env >::result_type child9; typedef typename evaluator::impl< A10 , Context , proto::empty_env >::result_type child10; typedef typename evaluator::impl< A11 , Context , proto::empty_env >::result_type child11; typedef typename evaluator::impl< A12 , Context , proto::empty_env >::result_type child12; typedef typename evaluator::impl< A13 , Context , proto::empty_env >::result_type child13; - typedef - typename boost::result_of< - child1( - child1 , child2 , child3 , child4 , child5 , child6 , child7 , child8 , child9 , child10 , child11 , child12 , child13 - ) - >::type - type; - }; - - - - - - - - template - struct mem_fun_ptr_eval - { - typedef typename evaluator::impl< A0 , Context , proto::empty_env >::result_type child0; typedef typename evaluator::impl< A1 , Context , proto::empty_env >::result_type child1; typedef typename evaluator::impl< A2 , Context , proto::empty_env >::result_type child2; typedef typename evaluator::impl< A3 , Context , proto::empty_env >::result_type child3; typedef typename evaluator::impl< A4 , Context , proto::empty_env >::result_type child4; typedef typename evaluator::impl< A5 , Context , proto::empty_env >::result_type child5; typedef typename evaluator::impl< A6 , Context , proto::empty_env >::result_type child6; typedef typename evaluator::impl< A7 , Context , proto::empty_env >::result_type child7; typedef typename evaluator::impl< A8 , Context , proto::empty_env >::result_type child8; typedef typename evaluator::impl< A9 , Context , proto::empty_env >::result_type child9; typedef typename evaluator::impl< A10 , Context , proto::empty_env >::result_type child10; typedef typename evaluator::impl< A11 , Context , proto::empty_env >::result_type child11; typedef typename evaluator::impl< A12 , Context , proto::empty_env >::result_type child12; typedef typename evaluator::impl< A13 , Context , proto::empty_env >::result_type child13; typedef typename evaluator::impl< A14 , Context , proto::empty_env >::result_type child14; - typedef - typename boost::result_of< - child1( - child1 , child2 , child3 , child4 , child5 , child6 , child7 , child8 , child9 , child10 , child11 , child12 , child13 , child14 - ) - >::type - type; - }; - - - - - - - - template - struct mem_fun_ptr_eval - { - typedef typename evaluator::impl< A0 , Context , proto::empty_env >::result_type child0; typedef typename evaluator::impl< A1 , Context , proto::empty_env >::result_type child1; typedef typename evaluator::impl< A2 , Context , proto::empty_env >::result_type child2; typedef typename evaluator::impl< A3 , Context , proto::empty_env >::result_type child3; typedef typename evaluator::impl< A4 , Context , proto::empty_env >::result_type child4; typedef typename evaluator::impl< A5 , Context , proto::empty_env >::result_type child5; typedef typename evaluator::impl< A6 , Context , proto::empty_env >::result_type child6; typedef typename evaluator::impl< A7 , Context , proto::empty_env >::result_type child7; typedef typename evaluator::impl< A8 , Context , proto::empty_env >::result_type child8; typedef typename evaluator::impl< A9 , Context , proto::empty_env >::result_type child9; typedef typename evaluator::impl< A10 , Context , proto::empty_env >::result_type child10; typedef typename evaluator::impl< A11 , Context , proto::empty_env >::result_type child11; typedef typename evaluator::impl< A12 , Context , proto::empty_env >::result_type child12; typedef typename evaluator::impl< A13 , Context , proto::empty_env >::result_type child13; typedef typename evaluator::impl< A14 , Context , proto::empty_env >::result_type child14; typedef typename evaluator::impl< A15 , Context , proto::empty_env >::result_type child15; - typedef - typename boost::result_of< - child1( - child1 , child2 , child3 , child4 , child5 , child6 , child7 , child8 , child9 , child10 , child11 , child12 , child13 , child14 , child15 - ) - >::type - type; - }; - - - - - - - - template - struct mem_fun_ptr_eval - { - typedef typename evaluator::impl< A0 , Context , proto::empty_env >::result_type child0; typedef typename evaluator::impl< A1 , Context , proto::empty_env >::result_type child1; typedef typename evaluator::impl< A2 , Context , proto::empty_env >::result_type child2; typedef typename evaluator::impl< A3 , Context , proto::empty_env >::result_type child3; typedef typename evaluator::impl< A4 , Context , proto::empty_env >::result_type child4; typedef typename evaluator::impl< A5 , Context , proto::empty_env >::result_type child5; typedef typename evaluator::impl< A6 , Context , proto::empty_env >::result_type child6; typedef typename evaluator::impl< A7 , Context , proto::empty_env >::result_type child7; typedef typename evaluator::impl< A8 , Context , proto::empty_env >::result_type child8; typedef typename evaluator::impl< A9 , Context , proto::empty_env >::result_type child9; typedef typename evaluator::impl< A10 , Context , proto::empty_env >::result_type child10; typedef typename evaluator::impl< A11 , Context , proto::empty_env >::result_type child11; typedef typename evaluator::impl< A12 , Context , proto::empty_env >::result_type child12; typedef typename evaluator::impl< A13 , Context , proto::empty_env >::result_type child13; typedef typename evaluator::impl< A14 , Context , proto::empty_env >::result_type child14; typedef typename evaluator::impl< A15 , Context , proto::empty_env >::result_type child15; typedef typename evaluator::impl< A16 , Context , proto::empty_env >::result_type child16; - typedef - typename boost::result_of< - child1( - child1 , child2 , child3 , child4 , child5 , child6 , child7 , child8 , child9 , child10 , child11 , child12 , child13 , child14 , child15 , child16 - ) - >::type - type; - }; - - - - - - - - template - struct mem_fun_ptr_eval - { - typedef typename evaluator::impl< A0 , Context , proto::empty_env >::result_type child0; typedef typename evaluator::impl< A1 , Context , proto::empty_env >::result_type child1; typedef typename evaluator::impl< A2 , Context , proto::empty_env >::result_type child2; typedef typename evaluator::impl< A3 , Context , proto::empty_env >::result_type child3; typedef typename evaluator::impl< A4 , Context , proto::empty_env >::result_type child4; typedef typename evaluator::impl< A5 , Context , proto::empty_env >::result_type child5; typedef typename evaluator::impl< A6 , Context , proto::empty_env >::result_type child6; typedef typename evaluator::impl< A7 , Context , proto::empty_env >::result_type child7; typedef typename evaluator::impl< A8 , Context , proto::empty_env >::result_type child8; typedef typename evaluator::impl< A9 , Context , proto::empty_env >::result_type child9; typedef typename evaluator::impl< A10 , Context , proto::empty_env >::result_type child10; typedef typename evaluator::impl< A11 , Context , proto::empty_env >::result_type child11; typedef typename evaluator::impl< A12 , Context , proto::empty_env >::result_type child12; typedef typename evaluator::impl< A13 , Context , proto::empty_env >::result_type child13; typedef typename evaluator::impl< A14 , Context , proto::empty_env >::result_type child14; typedef typename evaluator::impl< A15 , Context , proto::empty_env >::result_type child15; typedef typename evaluator::impl< A16 , Context , proto::empty_env >::result_type child16; typedef typename evaluator::impl< A17 , Context , proto::empty_env >::result_type child17; - typedef - typename boost::result_of< - child1( - child1 , child2 , child3 , child4 , child5 , child6 , child7 , child8 , child9 , child10 , child11 , child12 , child13 , child14 , child15 , child16 , child17 - ) - >::type - type; - }; - - - - - - - - template - struct mem_fun_ptr_eval - { - typedef typename evaluator::impl< A0 , Context , proto::empty_env >::result_type child0; typedef typename evaluator::impl< A1 , Context , proto::empty_env >::result_type child1; typedef typename evaluator::impl< A2 , Context , proto::empty_env >::result_type child2; typedef typename evaluator::impl< A3 , Context , proto::empty_env >::result_type child3; typedef typename evaluator::impl< A4 , Context , proto::empty_env >::result_type child4; typedef typename evaluator::impl< A5 , Context , proto::empty_env >::result_type child5; typedef typename evaluator::impl< A6 , Context , proto::empty_env >::result_type child6; typedef typename evaluator::impl< A7 , Context , proto::empty_env >::result_type child7; typedef typename evaluator::impl< A8 , Context , proto::empty_env >::result_type child8; typedef typename evaluator::impl< A9 , Context , proto::empty_env >::result_type child9; typedef typename evaluator::impl< A10 , Context , proto::empty_env >::result_type child10; typedef typename evaluator::impl< A11 , Context , proto::empty_env >::result_type child11; typedef typename evaluator::impl< A12 , Context , proto::empty_env >::result_type child12; typedef typename evaluator::impl< A13 , Context , proto::empty_env >::result_type child13; typedef typename evaluator::impl< A14 , Context , proto::empty_env >::result_type child14; typedef typename evaluator::impl< A15 , Context , proto::empty_env >::result_type child15; typedef typename evaluator::impl< A16 , Context , proto::empty_env >::result_type child16; typedef typename evaluator::impl< A17 , Context , proto::empty_env >::result_type child17; typedef typename evaluator::impl< A18 , Context , proto::empty_env >::result_type child18; - typedef - typename boost::result_of< - child1( - child1 , child2 , child3 , child4 , child5 , child6 , child7 , child8 , child9 , child10 , child11 , child12 , child13 , child14 , child15 , child16 , child17 , child18 - ) - >::type - type; - }; - - - - - - - - template - struct mem_fun_ptr_eval - { - typedef typename evaluator::impl< A0 , Context , proto::empty_env >::result_type child0; typedef typename evaluator::impl< A1 , Context , proto::empty_env >::result_type child1; typedef typename evaluator::impl< A2 , Context , proto::empty_env >::result_type child2; typedef typename evaluator::impl< A3 , Context , proto::empty_env >::result_type child3; typedef typename evaluator::impl< A4 , Context , proto::empty_env >::result_type child4; typedef typename evaluator::impl< A5 , Context , proto::empty_env >::result_type child5; typedef typename evaluator::impl< A6 , Context , proto::empty_env >::result_type child6; typedef typename evaluator::impl< A7 , Context , proto::empty_env >::result_type child7; typedef typename evaluator::impl< A8 , Context , proto::empty_env >::result_type child8; typedef typename evaluator::impl< A9 , Context , proto::empty_env >::result_type child9; typedef typename evaluator::impl< A10 , Context , proto::empty_env >::result_type child10; typedef typename evaluator::impl< A11 , Context , proto::empty_env >::result_type child11; typedef typename evaluator::impl< A12 , Context , proto::empty_env >::result_type child12; typedef typename evaluator::impl< A13 , Context , proto::empty_env >::result_type child13; typedef typename evaluator::impl< A14 , Context , proto::empty_env >::result_type child14; typedef typename evaluator::impl< A15 , Context , proto::empty_env >::result_type child15; typedef typename evaluator::impl< A16 , Context , proto::empty_env >::result_type child16; typedef typename evaluator::impl< A17 , Context , proto::empty_env >::result_type child17; typedef typename evaluator::impl< A18 , Context , proto::empty_env >::result_type child18; typedef typename evaluator::impl< A19 , Context , proto::empty_env >::result_type child19; - typedef - typename boost::result_of< - child1( - child1 , child2 , child3 , child4 , child5 , child6 , child7 , child8 , child9 , child10 , child11 , child12 , child13 , child14 , child15 , child16 , child17 , child18 , child19 - ) - >::type - type; - }; - - - - - - - - template - struct mem_fun_ptr_eval - { - typedef typename evaluator::impl< A0 , Context , proto::empty_env >::result_type child0; typedef typename evaluator::impl< A1 , Context , proto::empty_env >::result_type child1; typedef typename evaluator::impl< A2 , Context , proto::empty_env >::result_type child2; typedef typename evaluator::impl< A3 , Context , proto::empty_env >::result_type child3; typedef typename evaluator::impl< A4 , Context , proto::empty_env >::result_type child4; typedef typename evaluator::impl< A5 , Context , proto::empty_env >::result_type child5; typedef typename evaluator::impl< A6 , Context , proto::empty_env >::result_type child6; typedef typename evaluator::impl< A7 , Context , proto::empty_env >::result_type child7; typedef typename evaluator::impl< A8 , Context , proto::empty_env >::result_type child8; typedef typename evaluator::impl< A9 , Context , proto::empty_env >::result_type child9; typedef typename evaluator::impl< A10 , Context , proto::empty_env >::result_type child10; typedef typename evaluator::impl< A11 , Context , proto::empty_env >::result_type child11; typedef typename evaluator::impl< A12 , Context , proto::empty_env >::result_type child12; typedef typename evaluator::impl< A13 , Context , proto::empty_env >::result_type child13; typedef typename evaluator::impl< A14 , Context , proto::empty_env >::result_type child14; typedef typename evaluator::impl< A15 , Context , proto::empty_env >::result_type child15; typedef typename evaluator::impl< A16 , Context , proto::empty_env >::result_type child16; typedef typename evaluator::impl< A17 , Context , proto::empty_env >::result_type child17; typedef typename evaluator::impl< A18 , Context , proto::empty_env >::result_type child18; typedef typename evaluator::impl< A19 , Context , proto::empty_env >::result_type child19; typedef typename evaluator::impl< A20 , Context , proto::empty_env >::result_type child20; - typedef - typename boost::result_of< - child1( - child1 , child2 , child3 , child4 , child5 , child6 , child7 , child8 , child9 , child10 , child11 , child12 , child13 , child14 , child15 , child16 , child17 , child18 , child19 , child20 - ) - >::type - type; - }; - - - - - - - - template - struct mem_fun_ptr_eval - { - typedef typename evaluator::impl< A0 , Context , proto::empty_env >::result_type child0; typedef typename evaluator::impl< A1 , Context , proto::empty_env >::result_type child1; typedef typename evaluator::impl< A2 , Context , proto::empty_env >::result_type child2; typedef typename evaluator::impl< A3 , Context , proto::empty_env >::result_type child3; typedef typename evaluator::impl< A4 , Context , proto::empty_env >::result_type child4; typedef typename evaluator::impl< A5 , Context , proto::empty_env >::result_type child5; typedef typename evaluator::impl< A6 , Context , proto::empty_env >::result_type child6; typedef typename evaluator::impl< A7 , Context , proto::empty_env >::result_type child7; typedef typename evaluator::impl< A8 , Context , proto::empty_env >::result_type child8; typedef typename evaluator::impl< A9 , Context , proto::empty_env >::result_type child9; typedef typename evaluator::impl< A10 , Context , proto::empty_env >::result_type child10; typedef typename evaluator::impl< A11 , Context , proto::empty_env >::result_type child11; typedef typename evaluator::impl< A12 , Context , proto::empty_env >::result_type child12; typedef typename evaluator::impl< A13 , Context , proto::empty_env >::result_type child13; typedef typename evaluator::impl< A14 , Context , proto::empty_env >::result_type child14; typedef typename evaluator::impl< A15 , Context , proto::empty_env >::result_type child15; typedef typename evaluator::impl< A16 , Context , proto::empty_env >::result_type child16; typedef typename evaluator::impl< A17 , Context , proto::empty_env >::result_type child17; typedef typename evaluator::impl< A18 , Context , proto::empty_env >::result_type child18; typedef typename evaluator::impl< A19 , Context , proto::empty_env >::result_type child19; typedef typename evaluator::impl< A20 , Context , proto::empty_env >::result_type child20; typedef typename evaluator::impl< A21 , Context , proto::empty_env >::result_type child21; - typedef - typename boost::result_of< - child1( - child1 , child2 , child3 , child4 , child5 , child6 , child7 , child8 , child9 , child10 , child11 , child12 , child13 , child14 , child15 , child16 , child17 , child18 , child19 , child20 , child21 - ) - >::type - type; - }; - - - - - - - - template - struct mem_fun_ptr_eval - { - typedef typename evaluator::impl< A0 , Context , proto::empty_env >::result_type child0; typedef typename evaluator::impl< A1 , Context , proto::empty_env >::result_type child1; typedef typename evaluator::impl< A2 , Context , proto::empty_env >::result_type child2; typedef typename evaluator::impl< A3 , Context , proto::empty_env >::result_type child3; typedef typename evaluator::impl< A4 , Context , proto::empty_env >::result_type child4; typedef typename evaluator::impl< A5 , Context , proto::empty_env >::result_type child5; typedef typename evaluator::impl< A6 , Context , proto::empty_env >::result_type child6; typedef typename evaluator::impl< A7 , Context , proto::empty_env >::result_type child7; typedef typename evaluator::impl< A8 , Context , proto::empty_env >::result_type child8; typedef typename evaluator::impl< A9 , Context , proto::empty_env >::result_type child9; typedef typename evaluator::impl< A10 , Context , proto::empty_env >::result_type child10; typedef typename evaluator::impl< A11 , Context , proto::empty_env >::result_type child11; typedef typename evaluator::impl< A12 , Context , proto::empty_env >::result_type child12; typedef typename evaluator::impl< A13 , Context , proto::empty_env >::result_type child13; typedef typename evaluator::impl< A14 , Context , proto::empty_env >::result_type child14; typedef typename evaluator::impl< A15 , Context , proto::empty_env >::result_type child15; typedef typename evaluator::impl< A16 , Context , proto::empty_env >::result_type child16; typedef typename evaluator::impl< A17 , Context , proto::empty_env >::result_type child17; typedef typename evaluator::impl< A18 , Context , proto::empty_env >::result_type child18; typedef typename evaluator::impl< A19 , Context , proto::empty_env >::result_type child19; typedef typename evaluator::impl< A20 , Context , proto::empty_env >::result_type child20; typedef typename evaluator::impl< A21 , Context , proto::empty_env >::result_type child21; typedef typename evaluator::impl< A22 , Context , proto::empty_env >::result_type child22; - typedef - typename boost::result_of< - child1( - child1 , child2 , child3 , child4 , child5 , child6 , child7 , child8 , child9 , child10 , child11 , child12 , child13 , child14 , child15 , child16 , child17 , child18 , child19 , child20 , child21 , child22 - ) - >::type - type; - }; - - - - - - - - template - struct mem_fun_ptr_eval - { - typedef typename evaluator::impl< A0 , Context , proto::empty_env >::result_type child0; typedef typename evaluator::impl< A1 , Context , proto::empty_env >::result_type child1; typedef typename evaluator::impl< A2 , Context , proto::empty_env >::result_type child2; typedef typename evaluator::impl< A3 , Context , proto::empty_env >::result_type child3; typedef typename evaluator::impl< A4 , Context , proto::empty_env >::result_type child4; typedef typename evaluator::impl< A5 , Context , proto::empty_env >::result_type child5; typedef typename evaluator::impl< A6 , Context , proto::empty_env >::result_type child6; typedef typename evaluator::impl< A7 , Context , proto::empty_env >::result_type child7; typedef typename evaluator::impl< A8 , Context , proto::empty_env >::result_type child8; typedef typename evaluator::impl< A9 , Context , proto::empty_env >::result_type child9; typedef typename evaluator::impl< A10 , Context , proto::empty_env >::result_type child10; typedef typename evaluator::impl< A11 , Context , proto::empty_env >::result_type child11; typedef typename evaluator::impl< A12 , Context , proto::empty_env >::result_type child12; typedef typename evaluator::impl< A13 , Context , proto::empty_env >::result_type child13; typedef typename evaluator::impl< A14 , Context , proto::empty_env >::result_type child14; typedef typename evaluator::impl< A15 , Context , proto::empty_env >::result_type child15; typedef typename evaluator::impl< A16 , Context , proto::empty_env >::result_type child16; typedef typename evaluator::impl< A17 , Context , proto::empty_env >::result_type child17; typedef typename evaluator::impl< A18 , Context , proto::empty_env >::result_type child18; typedef typename evaluator::impl< A19 , Context , proto::empty_env >::result_type child19; typedef typename evaluator::impl< A20 , Context , proto::empty_env >::result_type child20; typedef typename evaluator::impl< A21 , Context , proto::empty_env >::result_type child21; typedef typename evaluator::impl< A22 , Context , proto::empty_env >::result_type child22; typedef typename evaluator::impl< A23 , Context , proto::empty_env >::result_type child23; - typedef - typename boost::result_of< - child1( - child1 , child2 , child3 , child4 , child5 , child6 , child7 , child8 , child9 , child10 , child11 , child12 , child13 , child14 , child15 , child16 , child17 , child18 , child19 , child20 , child21 , child22 , child23 - ) - >::type - type; - }; - - - - - - - - template - struct mem_fun_ptr_eval - { - typedef typename evaluator::impl< A0 , Context , proto::empty_env >::result_type child0; typedef typename evaluator::impl< A1 , Context , proto::empty_env >::result_type child1; typedef typename evaluator::impl< A2 , Context , proto::empty_env >::result_type child2; typedef typename evaluator::impl< A3 , Context , proto::empty_env >::result_type child3; typedef typename evaluator::impl< A4 , Context , proto::empty_env >::result_type child4; typedef typename evaluator::impl< A5 , Context , proto::empty_env >::result_type child5; typedef typename evaluator::impl< A6 , Context , proto::empty_env >::result_type child6; typedef typename evaluator::impl< A7 , Context , proto::empty_env >::result_type child7; typedef typename evaluator::impl< A8 , Context , proto::empty_env >::result_type child8; typedef typename evaluator::impl< A9 , Context , proto::empty_env >::result_type child9; typedef typename evaluator::impl< A10 , Context , proto::empty_env >::result_type child10; typedef typename evaluator::impl< A11 , Context , proto::empty_env >::result_type child11; typedef typename evaluator::impl< A12 , Context , proto::empty_env >::result_type child12; typedef typename evaluator::impl< A13 , Context , proto::empty_env >::result_type child13; typedef typename evaluator::impl< A14 , Context , proto::empty_env >::result_type child14; typedef typename evaluator::impl< A15 , Context , proto::empty_env >::result_type child15; typedef typename evaluator::impl< A16 , Context , proto::empty_env >::result_type child16; typedef typename evaluator::impl< A17 , Context , proto::empty_env >::result_type child17; typedef typename evaluator::impl< A18 , Context , proto::empty_env >::result_type child18; typedef typename evaluator::impl< A19 , Context , proto::empty_env >::result_type child19; typedef typename evaluator::impl< A20 , Context , proto::empty_env >::result_type child20; typedef typename evaluator::impl< A21 , Context , proto::empty_env >::result_type child21; typedef typename evaluator::impl< A22 , Context , proto::empty_env >::result_type child22; typedef typename evaluator::impl< A23 , Context , proto::empty_env >::result_type child23; typedef typename evaluator::impl< A24 , Context , proto::empty_env >::result_type child24; - typedef - typename boost::result_of< - child1( - child1 , child2 , child3 , child4 , child5 , child6 , child7 , child8 , child9 , child10 , child11 , child12 , child13 , child14 , child15 , child16 , child17 , child18 , child19 , child20 , child21 , child22 , child23 , child24 - ) - >::type - type; - }; - - - - - - - - template - struct mem_fun_ptr_eval - { - typedef typename evaluator::impl< A0 , Context , proto::empty_env >::result_type child0; typedef typename evaluator::impl< A1 , Context , proto::empty_env >::result_type child1; typedef typename evaluator::impl< A2 , Context , proto::empty_env >::result_type child2; typedef typename evaluator::impl< A3 , Context , proto::empty_env >::result_type child3; typedef typename evaluator::impl< A4 , Context , proto::empty_env >::result_type child4; typedef typename evaluator::impl< A5 , Context , proto::empty_env >::result_type child5; typedef typename evaluator::impl< A6 , Context , proto::empty_env >::result_type child6; typedef typename evaluator::impl< A7 , Context , proto::empty_env >::result_type child7; typedef typename evaluator::impl< A8 , Context , proto::empty_env >::result_type child8; typedef typename evaluator::impl< A9 , Context , proto::empty_env >::result_type child9; typedef typename evaluator::impl< A10 , Context , proto::empty_env >::result_type child10; typedef typename evaluator::impl< A11 , Context , proto::empty_env >::result_type child11; typedef typename evaluator::impl< A12 , Context , proto::empty_env >::result_type child12; typedef typename evaluator::impl< A13 , Context , proto::empty_env >::result_type child13; typedef typename evaluator::impl< A14 , Context , proto::empty_env >::result_type child14; typedef typename evaluator::impl< A15 , Context , proto::empty_env >::result_type child15; typedef typename evaluator::impl< A16 , Context , proto::empty_env >::result_type child16; typedef typename evaluator::impl< A17 , Context , proto::empty_env >::result_type child17; typedef typename evaluator::impl< A18 , Context , proto::empty_env >::result_type child18; typedef typename evaluator::impl< A19 , Context , proto::empty_env >::result_type child19; typedef typename evaluator::impl< A20 , Context , proto::empty_env >::result_type child20; typedef typename evaluator::impl< A21 , Context , proto::empty_env >::result_type child21; typedef typename evaluator::impl< A22 , Context , proto::empty_env >::result_type child22; typedef typename evaluator::impl< A23 , Context , proto::empty_env >::result_type child23; typedef typename evaluator::impl< A24 , Context , proto::empty_env >::result_type child24; typedef typename evaluator::impl< A25 , Context , proto::empty_env >::result_type child25; - typedef - typename boost::result_of< - child1( - child1 , child2 , child3 , child4 , child5 , child6 , child7 , child8 , child9 , child10 , child11 , child12 , child13 , child14 , child15 , child16 , child17 , child18 , child19 , child20 , child21 , child22 , child23 , child24 , child25 - ) - >::type - type; - }; - - - - - - - - template - struct mem_fun_ptr_eval - { - typedef typename evaluator::impl< A0 , Context , proto::empty_env >::result_type child0; typedef typename evaluator::impl< A1 , Context , proto::empty_env >::result_type child1; typedef typename evaluator::impl< A2 , Context , proto::empty_env >::result_type child2; typedef typename evaluator::impl< A3 , Context , proto::empty_env >::result_type child3; typedef typename evaluator::impl< A4 , Context , proto::empty_env >::result_type child4; typedef typename evaluator::impl< A5 , Context , proto::empty_env >::result_type child5; typedef typename evaluator::impl< A6 , Context , proto::empty_env >::result_type child6; typedef typename evaluator::impl< A7 , Context , proto::empty_env >::result_type child7; typedef typename evaluator::impl< A8 , Context , proto::empty_env >::result_type child8; typedef typename evaluator::impl< A9 , Context , proto::empty_env >::result_type child9; typedef typename evaluator::impl< A10 , Context , proto::empty_env >::result_type child10; typedef typename evaluator::impl< A11 , Context , proto::empty_env >::result_type child11; typedef typename evaluator::impl< A12 , Context , proto::empty_env >::result_type child12; typedef typename evaluator::impl< A13 , Context , proto::empty_env >::result_type child13; typedef typename evaluator::impl< A14 , Context , proto::empty_env >::result_type child14; typedef typename evaluator::impl< A15 , Context , proto::empty_env >::result_type child15; typedef typename evaluator::impl< A16 , Context , proto::empty_env >::result_type child16; typedef typename evaluator::impl< A17 , Context , proto::empty_env >::result_type child17; typedef typename evaluator::impl< A18 , Context , proto::empty_env >::result_type child18; typedef typename evaluator::impl< A19 , Context , proto::empty_env >::result_type child19; typedef typename evaluator::impl< A20 , Context , proto::empty_env >::result_type child20; typedef typename evaluator::impl< A21 , Context , proto::empty_env >::result_type child21; typedef typename evaluator::impl< A22 , Context , proto::empty_env >::result_type child22; typedef typename evaluator::impl< A23 , Context , proto::empty_env >::result_type child23; typedef typename evaluator::impl< A24 , Context , proto::empty_env >::result_type child24; typedef typename evaluator::impl< A25 , Context , proto::empty_env >::result_type child25; typedef typename evaluator::impl< A26 , Context , proto::empty_env >::result_type child26; - typedef - typename boost::result_of< - child1( - child1 , child2 , child3 , child4 , child5 , child6 , child7 , child8 , child9 , child10 , child11 , child12 , child13 , child14 , child15 , child16 , child17 , child18 , child19 , child20 , child21 , child22 , child23 , child24 , child25 , child26 - ) - >::type - type; - }; - - - - - - - - template - struct mem_fun_ptr_eval - { - typedef typename evaluator::impl< A0 , Context , proto::empty_env >::result_type child0; typedef typename evaluator::impl< A1 , Context , proto::empty_env >::result_type child1; typedef typename evaluator::impl< A2 , Context , proto::empty_env >::result_type child2; typedef typename evaluator::impl< A3 , Context , proto::empty_env >::result_type child3; typedef typename evaluator::impl< A4 , Context , proto::empty_env >::result_type child4; typedef typename evaluator::impl< A5 , Context , proto::empty_env >::result_type child5; typedef typename evaluator::impl< A6 , Context , proto::empty_env >::result_type child6; typedef typename evaluator::impl< A7 , Context , proto::empty_env >::result_type child7; typedef typename evaluator::impl< A8 , Context , proto::empty_env >::result_type child8; typedef typename evaluator::impl< A9 , Context , proto::empty_env >::result_type child9; typedef typename evaluator::impl< A10 , Context , proto::empty_env >::result_type child10; typedef typename evaluator::impl< A11 , Context , proto::empty_env >::result_type child11; typedef typename evaluator::impl< A12 , Context , proto::empty_env >::result_type child12; typedef typename evaluator::impl< A13 , Context , proto::empty_env >::result_type child13; typedef typename evaluator::impl< A14 , Context , proto::empty_env >::result_type child14; typedef typename evaluator::impl< A15 , Context , proto::empty_env >::result_type child15; typedef typename evaluator::impl< A16 , Context , proto::empty_env >::result_type child16; typedef typename evaluator::impl< A17 , Context , proto::empty_env >::result_type child17; typedef typename evaluator::impl< A18 , Context , proto::empty_env >::result_type child18; typedef typename evaluator::impl< A19 , Context , proto::empty_env >::result_type child19; typedef typename evaluator::impl< A20 , Context , proto::empty_env >::result_type child20; typedef typename evaluator::impl< A21 , Context , proto::empty_env >::result_type child21; typedef typename evaluator::impl< A22 , Context , proto::empty_env >::result_type child22; typedef typename evaluator::impl< A23 , Context , proto::empty_env >::result_type child23; typedef typename evaluator::impl< A24 , Context , proto::empty_env >::result_type child24; typedef typename evaluator::impl< A25 , Context , proto::empty_env >::result_type child25; typedef typename evaluator::impl< A26 , Context , proto::empty_env >::result_type child26; typedef typename evaluator::impl< A27 , Context , proto::empty_env >::result_type child27; - typedef - typename boost::result_of< - child1( - child1 , child2 , child3 , child4 , child5 , child6 , child7 , child8 , child9 , child10 , child11 , child12 , child13 , child14 , child15 , child16 , child17 , child18 , child19 , child20 , child21 , child22 , child23 , child24 , child25 , child26 , child27 - ) - >::type - type; - }; - - - - - - - - template - struct mem_fun_ptr_eval - { - typedef typename evaluator::impl< A0 , Context , proto::empty_env >::result_type child0; typedef typename evaluator::impl< A1 , Context , proto::empty_env >::result_type child1; typedef typename evaluator::impl< A2 , Context , proto::empty_env >::result_type child2; typedef typename evaluator::impl< A3 , Context , proto::empty_env >::result_type child3; typedef typename evaluator::impl< A4 , Context , proto::empty_env >::result_type child4; typedef typename evaluator::impl< A5 , Context , proto::empty_env >::result_type child5; typedef typename evaluator::impl< A6 , Context , proto::empty_env >::result_type child6; typedef typename evaluator::impl< A7 , Context , proto::empty_env >::result_type child7; typedef typename evaluator::impl< A8 , Context , proto::empty_env >::result_type child8; typedef typename evaluator::impl< A9 , Context , proto::empty_env >::result_type child9; typedef typename evaluator::impl< A10 , Context , proto::empty_env >::result_type child10; typedef typename evaluator::impl< A11 , Context , proto::empty_env >::result_type child11; typedef typename evaluator::impl< A12 , Context , proto::empty_env >::result_type child12; typedef typename evaluator::impl< A13 , Context , proto::empty_env >::result_type child13; typedef typename evaluator::impl< A14 , Context , proto::empty_env >::result_type child14; typedef typename evaluator::impl< A15 , Context , proto::empty_env >::result_type child15; typedef typename evaluator::impl< A16 , Context , proto::empty_env >::result_type child16; typedef typename evaluator::impl< A17 , Context , proto::empty_env >::result_type child17; typedef typename evaluator::impl< A18 , Context , proto::empty_env >::result_type child18; typedef typename evaluator::impl< A19 , Context , proto::empty_env >::result_type child19; typedef typename evaluator::impl< A20 , Context , proto::empty_env >::result_type child20; typedef typename evaluator::impl< A21 , Context , proto::empty_env >::result_type child21; typedef typename evaluator::impl< A22 , Context , proto::empty_env >::result_type child22; typedef typename evaluator::impl< A23 , Context , proto::empty_env >::result_type child23; typedef typename evaluator::impl< A24 , Context , proto::empty_env >::result_type child24; typedef typename evaluator::impl< A25 , Context , proto::empty_env >::result_type child25; typedef typename evaluator::impl< A26 , Context , proto::empty_env >::result_type child26; typedef typename evaluator::impl< A27 , Context , proto::empty_env >::result_type child27; typedef typename evaluator::impl< A28 , Context , proto::empty_env >::result_type child28; - typedef - typename boost::result_of< - child1( - child1 , child2 , child3 , child4 , child5 , child6 , child7 , child8 , child9 , child10 , child11 , child12 , child13 , child14 , child15 , child16 , child17 , child18 , child19 , child20 , child21 , child22 , child23 , child24 , child25 , child26 , child27 , child28 - ) - >::type - type; - }; - - - - - - - - template - struct mem_fun_ptr_eval - { - typedef typename evaluator::impl< A0 , Context , proto::empty_env >::result_type child0; typedef typename evaluator::impl< A1 , Context , proto::empty_env >::result_type child1; typedef typename evaluator::impl< A2 , Context , proto::empty_env >::result_type child2; typedef typename evaluator::impl< A3 , Context , proto::empty_env >::result_type child3; typedef typename evaluator::impl< A4 , Context , proto::empty_env >::result_type child4; typedef typename evaluator::impl< A5 , Context , proto::empty_env >::result_type child5; typedef typename evaluator::impl< A6 , Context , proto::empty_env >::result_type child6; typedef typename evaluator::impl< A7 , Context , proto::empty_env >::result_type child7; typedef typename evaluator::impl< A8 , Context , proto::empty_env >::result_type child8; typedef typename evaluator::impl< A9 , Context , proto::empty_env >::result_type child9; typedef typename evaluator::impl< A10 , Context , proto::empty_env >::result_type child10; typedef typename evaluator::impl< A11 , Context , proto::empty_env >::result_type child11; typedef typename evaluator::impl< A12 , Context , proto::empty_env >::result_type child12; typedef typename evaluator::impl< A13 , Context , proto::empty_env >::result_type child13; typedef typename evaluator::impl< A14 , Context , proto::empty_env >::result_type child14; typedef typename evaluator::impl< A15 , Context , proto::empty_env >::result_type child15; typedef typename evaluator::impl< A16 , Context , proto::empty_env >::result_type child16; typedef typename evaluator::impl< A17 , Context , proto::empty_env >::result_type child17; typedef typename evaluator::impl< A18 , Context , proto::empty_env >::result_type child18; typedef typename evaluator::impl< A19 , Context , proto::empty_env >::result_type child19; typedef typename evaluator::impl< A20 , Context , proto::empty_env >::result_type child20; typedef typename evaluator::impl< A21 , Context , proto::empty_env >::result_type child21; typedef typename evaluator::impl< A22 , Context , proto::empty_env >::result_type child22; typedef typename evaluator::impl< A23 , Context , proto::empty_env >::result_type child23; typedef typename evaluator::impl< A24 , Context , proto::empty_env >::result_type child24; typedef typename evaluator::impl< A25 , Context , proto::empty_env >::result_type child25; typedef typename evaluator::impl< A26 , Context , proto::empty_env >::result_type child26; typedef typename evaluator::impl< A27 , Context , proto::empty_env >::result_type child27; typedef typename evaluator::impl< A28 , Context , proto::empty_env >::result_type child28; typedef typename evaluator::impl< A29 , Context , proto::empty_env >::result_type child29; - typedef - typename boost::result_of< - child1( - child1 , child2 , child3 , child4 , child5 , child6 , child7 , child8 , child9 , child10 , child11 , child12 , child13 , child14 , child15 , child16 , child17 , child18 , child19 , child20 , child21 , child22 , child23 , child24 , child25 , child26 , child27 , child28 , child29 - ) - >::type - type; - }; - } - struct mem_fun_ptr_eval - { - template - struct result; - - - - - - - - template - struct result - : result - {}; - template - struct result - : result_of::mem_fun_ptr_eval - {}; - template - typename result_of::mem_fun_ptr_eval::type - operator()( - A0 const& a0 , A1 const& a1 - , Context const & ctx - ) const - { - return - ( - get_pointer(boost::phoenix::eval(a0, ctx)) - ->*boost::phoenix::eval(a1, ctx) - )( - - ); - } - - - - - - - - - template - struct result - : result - {}; - template - struct result - : result_of::mem_fun_ptr_eval - {}; - template - typename result_of::mem_fun_ptr_eval::type - operator()( - A0 const& a0 , A1 const& a1 , A2 const& a2 - , Context const & ctx - ) const - { - return - ( - get_pointer(boost::phoenix::eval(a0, ctx)) - ->*boost::phoenix::eval(a1, ctx) - )( - boost::phoenix::eval(a2, ctx) - ); - } - - - - - - - - - template - struct result - : result - {}; - template - struct result - : result_of::mem_fun_ptr_eval - {}; - template - typename result_of::mem_fun_ptr_eval::type - operator()( - A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 - , Context const & ctx - ) const - { - return - ( - get_pointer(boost::phoenix::eval(a0, ctx)) - ->*boost::phoenix::eval(a1, ctx) - )( - boost::phoenix::eval(a2, ctx) , boost::phoenix::eval(a3, ctx) - ); - } - - - - - - - - - template - struct result - : result - {}; - template - struct result - : result_of::mem_fun_ptr_eval - {}; - template - typename result_of::mem_fun_ptr_eval::type - operator()( - A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 - , Context const & ctx - ) const - { - return - ( - get_pointer(boost::phoenix::eval(a0, ctx)) - ->*boost::phoenix::eval(a1, ctx) - )( - boost::phoenix::eval(a2, ctx) , boost::phoenix::eval(a3, ctx) , boost::phoenix::eval(a4, ctx) - ); - } - - - - - - - - - template - struct result - : result - {}; - template - struct result - : result_of::mem_fun_ptr_eval - {}; - template - typename result_of::mem_fun_ptr_eval::type - operator()( - A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 - , Context const & ctx - ) const - { - return - ( - get_pointer(boost::phoenix::eval(a0, ctx)) - ->*boost::phoenix::eval(a1, ctx) - )( - boost::phoenix::eval(a2, ctx) , boost::phoenix::eval(a3, ctx) , boost::phoenix::eval(a4, ctx) , boost::phoenix::eval(a5, ctx) - ); - } - - - - - - - - - template - struct result - : result - {}; - template - struct result - : result_of::mem_fun_ptr_eval - {}; - template - typename result_of::mem_fun_ptr_eval::type - operator()( - A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 - , Context const & ctx - ) const - { - return - ( - get_pointer(boost::phoenix::eval(a0, ctx)) - ->*boost::phoenix::eval(a1, ctx) - )( - boost::phoenix::eval(a2, ctx) , boost::phoenix::eval(a3, ctx) , boost::phoenix::eval(a4, ctx) , boost::phoenix::eval(a5, ctx) , boost::phoenix::eval(a6, ctx) - ); - } - - - - - - - - - template - struct result - : result - {}; - template - struct result - : result_of::mem_fun_ptr_eval - {}; - template - typename result_of::mem_fun_ptr_eval::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 - , Context const & ctx - ) const - { - return - ( - get_pointer(boost::phoenix::eval(a0, ctx)) - ->*boost::phoenix::eval(a1, ctx) - )( - boost::phoenix::eval(a2, ctx) , boost::phoenix::eval(a3, ctx) , boost::phoenix::eval(a4, ctx) , boost::phoenix::eval(a5, ctx) , boost::phoenix::eval(a6, ctx) , boost::phoenix::eval(a7, ctx) - ); - } - - - - - - - - - template - struct result - : result - {}; - template - struct result - : result_of::mem_fun_ptr_eval - {}; - template - typename result_of::mem_fun_ptr_eval::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 - , Context const & ctx - ) const - { - return - ( - get_pointer(boost::phoenix::eval(a0, ctx)) - ->*boost::phoenix::eval(a1, ctx) - )( - boost::phoenix::eval(a2, ctx) , boost::phoenix::eval(a3, ctx) , boost::phoenix::eval(a4, ctx) , boost::phoenix::eval(a5, ctx) , boost::phoenix::eval(a6, ctx) , boost::phoenix::eval(a7, ctx) , boost::phoenix::eval(a8, ctx) - ); - } - - - - - - - - - template - struct result - : result - {}; - template - struct result - : result_of::mem_fun_ptr_eval - {}; - template - typename result_of::mem_fun_ptr_eval::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 - , Context const & ctx - ) const - { - return - ( - get_pointer(boost::phoenix::eval(a0, ctx)) - ->*boost::phoenix::eval(a1, ctx) - )( - boost::phoenix::eval(a2, ctx) , boost::phoenix::eval(a3, ctx) , boost::phoenix::eval(a4, ctx) , boost::phoenix::eval(a5, ctx) , boost::phoenix::eval(a6, ctx) , boost::phoenix::eval(a7, ctx) , boost::phoenix::eval(a8, ctx) , boost::phoenix::eval(a9, ctx) - ); - } - - - - - - - - - template - struct result - : result - {}; - template - struct result - : result_of::mem_fun_ptr_eval - {}; - template - typename result_of::mem_fun_ptr_eval::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 , A10 const& a10 - , Context const & ctx - ) const - { - return - ( - get_pointer(boost::phoenix::eval(a0, ctx)) - ->*boost::phoenix::eval(a1, ctx) - )( - boost::phoenix::eval(a2, ctx) , boost::phoenix::eval(a3, ctx) , boost::phoenix::eval(a4, ctx) , boost::phoenix::eval(a5, ctx) , boost::phoenix::eval(a6, ctx) , boost::phoenix::eval(a7, ctx) , boost::phoenix::eval(a8, ctx) , boost::phoenix::eval(a9, ctx) , boost::phoenix::eval(a10, ctx) - ); - } - - - - - - - - - template - struct result - : result - {}; - template - struct result - : result_of::mem_fun_ptr_eval - {}; - template - typename result_of::mem_fun_ptr_eval::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 , A10 const& a10 , A11 const& a11 - , Context const & ctx - ) const - { - return - ( - get_pointer(boost::phoenix::eval(a0, ctx)) - ->*boost::phoenix::eval(a1, ctx) - )( - boost::phoenix::eval(a2, ctx) , boost::phoenix::eval(a3, ctx) , boost::phoenix::eval(a4, ctx) , boost::phoenix::eval(a5, ctx) , boost::phoenix::eval(a6, ctx) , boost::phoenix::eval(a7, ctx) , boost::phoenix::eval(a8, ctx) , boost::phoenix::eval(a9, ctx) , boost::phoenix::eval(a10, ctx) , boost::phoenix::eval(a11, ctx) - ); - } - - - - - - - - - template - struct result - : result - {}; - template - struct result - : result_of::mem_fun_ptr_eval - {}; - template - typename result_of::mem_fun_ptr_eval::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 , A10 const& a10 , A11 const& a11 , A12 const& a12 - , Context const & ctx - ) const - { - return - ( - get_pointer(boost::phoenix::eval(a0, ctx)) - ->*boost::phoenix::eval(a1, ctx) - )( - boost::phoenix::eval(a2, ctx) , boost::phoenix::eval(a3, ctx) , boost::phoenix::eval(a4, ctx) , boost::phoenix::eval(a5, ctx) , boost::phoenix::eval(a6, ctx) , boost::phoenix::eval(a7, ctx) , boost::phoenix::eval(a8, ctx) , boost::phoenix::eval(a9, ctx) , boost::phoenix::eval(a10, ctx) , boost::phoenix::eval(a11, ctx) , boost::phoenix::eval(a12, ctx) - ); - } - - - - - - - - - template - struct result - : result - {}; - template - struct result - : result_of::mem_fun_ptr_eval - {}; - template - typename result_of::mem_fun_ptr_eval::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 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 - , Context const & ctx - ) const - { - return - ( - get_pointer(boost::phoenix::eval(a0, ctx)) - ->*boost::phoenix::eval(a1, ctx) - )( - boost::phoenix::eval(a2, ctx) , boost::phoenix::eval(a3, ctx) , boost::phoenix::eval(a4, ctx) , boost::phoenix::eval(a5, ctx) , boost::phoenix::eval(a6, ctx) , boost::phoenix::eval(a7, ctx) , boost::phoenix::eval(a8, ctx) , boost::phoenix::eval(a9, ctx) , boost::phoenix::eval(a10, ctx) , boost::phoenix::eval(a11, ctx) , boost::phoenix::eval(a12, ctx) , boost::phoenix::eval(a13, ctx) - ); - } - - - - - - - - - template - struct result - : result - {}; - template - struct result - : result_of::mem_fun_ptr_eval - {}; - template - typename result_of::mem_fun_ptr_eval::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 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 - , Context const & ctx - ) const - { - return - ( - get_pointer(boost::phoenix::eval(a0, ctx)) - ->*boost::phoenix::eval(a1, ctx) - )( - boost::phoenix::eval(a2, ctx) , boost::phoenix::eval(a3, ctx) , boost::phoenix::eval(a4, ctx) , boost::phoenix::eval(a5, ctx) , boost::phoenix::eval(a6, ctx) , boost::phoenix::eval(a7, ctx) , boost::phoenix::eval(a8, ctx) , boost::phoenix::eval(a9, ctx) , boost::phoenix::eval(a10, ctx) , boost::phoenix::eval(a11, ctx) , boost::phoenix::eval(a12, ctx) , boost::phoenix::eval(a13, ctx) , boost::phoenix::eval(a14, ctx) - ); - } - - - - - - - - - template - struct result - : result - {}; - template - struct result - : result_of::mem_fun_ptr_eval - {}; - template - typename result_of::mem_fun_ptr_eval::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 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 - , Context const & ctx - ) const - { - return - ( - get_pointer(boost::phoenix::eval(a0, ctx)) - ->*boost::phoenix::eval(a1, ctx) - )( - boost::phoenix::eval(a2, ctx) , boost::phoenix::eval(a3, ctx) , boost::phoenix::eval(a4, ctx) , boost::phoenix::eval(a5, ctx) , boost::phoenix::eval(a6, ctx) , boost::phoenix::eval(a7, ctx) , boost::phoenix::eval(a8, ctx) , boost::phoenix::eval(a9, ctx) , boost::phoenix::eval(a10, ctx) , boost::phoenix::eval(a11, ctx) , boost::phoenix::eval(a12, ctx) , boost::phoenix::eval(a13, ctx) , boost::phoenix::eval(a14, ctx) , boost::phoenix::eval(a15, ctx) - ); - } - - - - - - - - - template - struct result - : result - {}; - template - struct result - : result_of::mem_fun_ptr_eval - {}; - template - typename result_of::mem_fun_ptr_eval::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 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 - , Context const & ctx - ) const - { - return - ( - get_pointer(boost::phoenix::eval(a0, ctx)) - ->*boost::phoenix::eval(a1, ctx) - )( - boost::phoenix::eval(a2, ctx) , boost::phoenix::eval(a3, ctx) , boost::phoenix::eval(a4, ctx) , boost::phoenix::eval(a5, ctx) , boost::phoenix::eval(a6, ctx) , boost::phoenix::eval(a7, ctx) , boost::phoenix::eval(a8, ctx) , boost::phoenix::eval(a9, ctx) , boost::phoenix::eval(a10, ctx) , boost::phoenix::eval(a11, ctx) , boost::phoenix::eval(a12, ctx) , boost::phoenix::eval(a13, ctx) , boost::phoenix::eval(a14, ctx) , boost::phoenix::eval(a15, ctx) , boost::phoenix::eval(a16, ctx) - ); - } - - - - - - - - - template - struct result - : result - {}; - template - struct result - : result_of::mem_fun_ptr_eval - {}; - template - typename result_of::mem_fun_ptr_eval::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 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 - , Context const & ctx - ) const - { - return - ( - get_pointer(boost::phoenix::eval(a0, ctx)) - ->*boost::phoenix::eval(a1, ctx) - )( - boost::phoenix::eval(a2, ctx) , boost::phoenix::eval(a3, ctx) , boost::phoenix::eval(a4, ctx) , boost::phoenix::eval(a5, ctx) , boost::phoenix::eval(a6, ctx) , boost::phoenix::eval(a7, ctx) , boost::phoenix::eval(a8, ctx) , boost::phoenix::eval(a9, ctx) , boost::phoenix::eval(a10, ctx) , boost::phoenix::eval(a11, ctx) , boost::phoenix::eval(a12, ctx) , boost::phoenix::eval(a13, ctx) , boost::phoenix::eval(a14, ctx) , boost::phoenix::eval(a15, ctx) , boost::phoenix::eval(a16, ctx) , boost::phoenix::eval(a17, ctx) - ); - } - - - - - - - - - template - struct result - : result - {}; - template - struct result - : result_of::mem_fun_ptr_eval - {}; - template - typename result_of::mem_fun_ptr_eval::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 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 - , Context const & ctx - ) const - { - return - ( - get_pointer(boost::phoenix::eval(a0, ctx)) - ->*boost::phoenix::eval(a1, ctx) - )( - boost::phoenix::eval(a2, ctx) , boost::phoenix::eval(a3, ctx) , boost::phoenix::eval(a4, ctx) , boost::phoenix::eval(a5, ctx) , boost::phoenix::eval(a6, ctx) , boost::phoenix::eval(a7, ctx) , boost::phoenix::eval(a8, ctx) , boost::phoenix::eval(a9, ctx) , boost::phoenix::eval(a10, ctx) , boost::phoenix::eval(a11, ctx) , boost::phoenix::eval(a12, ctx) , boost::phoenix::eval(a13, ctx) , boost::phoenix::eval(a14, ctx) , boost::phoenix::eval(a15, ctx) , boost::phoenix::eval(a16, ctx) , boost::phoenix::eval(a17, ctx) , boost::phoenix::eval(a18, ctx) - ); - } - - - - - - - - - template - struct result - : result - {}; - template - struct result - : result_of::mem_fun_ptr_eval - {}; - template - typename result_of::mem_fun_ptr_eval::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 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 - , Context const & ctx - ) const - { - return - ( - get_pointer(boost::phoenix::eval(a0, ctx)) - ->*boost::phoenix::eval(a1, ctx) - )( - boost::phoenix::eval(a2, ctx) , boost::phoenix::eval(a3, ctx) , boost::phoenix::eval(a4, ctx) , boost::phoenix::eval(a5, ctx) , boost::phoenix::eval(a6, ctx) , boost::phoenix::eval(a7, ctx) , boost::phoenix::eval(a8, ctx) , boost::phoenix::eval(a9, ctx) , boost::phoenix::eval(a10, ctx) , boost::phoenix::eval(a11, ctx) , boost::phoenix::eval(a12, ctx) , boost::phoenix::eval(a13, ctx) , boost::phoenix::eval(a14, ctx) , boost::phoenix::eval(a15, ctx) , boost::phoenix::eval(a16, ctx) , boost::phoenix::eval(a17, ctx) , boost::phoenix::eval(a18, ctx) , boost::phoenix::eval(a19, ctx) - ); - } - - - - - - - - - template - struct result - : result - {}; - template - struct result - : result_of::mem_fun_ptr_eval - {}; - template - typename result_of::mem_fun_ptr_eval::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 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 - , Context const & ctx - ) const - { - return - ( - get_pointer(boost::phoenix::eval(a0, ctx)) - ->*boost::phoenix::eval(a1, ctx) - )( - boost::phoenix::eval(a2, ctx) , boost::phoenix::eval(a3, ctx) , boost::phoenix::eval(a4, ctx) , boost::phoenix::eval(a5, ctx) , boost::phoenix::eval(a6, ctx) , boost::phoenix::eval(a7, ctx) , boost::phoenix::eval(a8, ctx) , boost::phoenix::eval(a9, ctx) , boost::phoenix::eval(a10, ctx) , boost::phoenix::eval(a11, ctx) , boost::phoenix::eval(a12, ctx) , boost::phoenix::eval(a13, ctx) , boost::phoenix::eval(a14, ctx) , boost::phoenix::eval(a15, ctx) , boost::phoenix::eval(a16, ctx) , boost::phoenix::eval(a17, ctx) , boost::phoenix::eval(a18, ctx) , boost::phoenix::eval(a19, ctx) , boost::phoenix::eval(a20, ctx) - ); - } - - - - - - - - - template - struct result - : result - {}; - template - struct result - : result_of::mem_fun_ptr_eval - {}; - template - typename result_of::mem_fun_ptr_eval::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 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 - , Context const & ctx - ) const - { - return - ( - get_pointer(boost::phoenix::eval(a0, ctx)) - ->*boost::phoenix::eval(a1, ctx) - )( - boost::phoenix::eval(a2, ctx) , boost::phoenix::eval(a3, ctx) , boost::phoenix::eval(a4, ctx) , boost::phoenix::eval(a5, ctx) , boost::phoenix::eval(a6, ctx) , boost::phoenix::eval(a7, ctx) , boost::phoenix::eval(a8, ctx) , boost::phoenix::eval(a9, ctx) , boost::phoenix::eval(a10, ctx) , boost::phoenix::eval(a11, ctx) , boost::phoenix::eval(a12, ctx) , boost::phoenix::eval(a13, ctx) , boost::phoenix::eval(a14, ctx) , boost::phoenix::eval(a15, ctx) , boost::phoenix::eval(a16, ctx) , boost::phoenix::eval(a17, ctx) , boost::phoenix::eval(a18, ctx) , boost::phoenix::eval(a19, ctx) , boost::phoenix::eval(a20, ctx) , boost::phoenix::eval(a21, ctx) - ); - } - - - - - - - - - template - struct result - : result - {}; - template - struct result - : result_of::mem_fun_ptr_eval - {}; - template - typename result_of::mem_fun_ptr_eval::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 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 - , Context const & ctx - ) const - { - return - ( - get_pointer(boost::phoenix::eval(a0, ctx)) - ->*boost::phoenix::eval(a1, ctx) - )( - boost::phoenix::eval(a2, ctx) , boost::phoenix::eval(a3, ctx) , boost::phoenix::eval(a4, ctx) , boost::phoenix::eval(a5, ctx) , boost::phoenix::eval(a6, ctx) , boost::phoenix::eval(a7, ctx) , boost::phoenix::eval(a8, ctx) , boost::phoenix::eval(a9, ctx) , boost::phoenix::eval(a10, ctx) , boost::phoenix::eval(a11, ctx) , boost::phoenix::eval(a12, ctx) , boost::phoenix::eval(a13, ctx) , boost::phoenix::eval(a14, ctx) , boost::phoenix::eval(a15, ctx) , boost::phoenix::eval(a16, ctx) , boost::phoenix::eval(a17, ctx) , boost::phoenix::eval(a18, ctx) , boost::phoenix::eval(a19, ctx) , boost::phoenix::eval(a20, ctx) , boost::phoenix::eval(a21, ctx) , boost::phoenix::eval(a22, ctx) - ); - } - - - - - - - - - template - struct result - : result - {}; - template - struct result - : result_of::mem_fun_ptr_eval - {}; - template - typename result_of::mem_fun_ptr_eval::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 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 - , Context const & ctx - ) const - { - return - ( - get_pointer(boost::phoenix::eval(a0, ctx)) - ->*boost::phoenix::eval(a1, ctx) - )( - boost::phoenix::eval(a2, ctx) , boost::phoenix::eval(a3, ctx) , boost::phoenix::eval(a4, ctx) , boost::phoenix::eval(a5, ctx) , boost::phoenix::eval(a6, ctx) , boost::phoenix::eval(a7, ctx) , boost::phoenix::eval(a8, ctx) , boost::phoenix::eval(a9, ctx) , boost::phoenix::eval(a10, ctx) , boost::phoenix::eval(a11, ctx) , boost::phoenix::eval(a12, ctx) , boost::phoenix::eval(a13, ctx) , boost::phoenix::eval(a14, ctx) , boost::phoenix::eval(a15, ctx) , boost::phoenix::eval(a16, ctx) , boost::phoenix::eval(a17, ctx) , boost::phoenix::eval(a18, ctx) , boost::phoenix::eval(a19, ctx) , boost::phoenix::eval(a20, ctx) , boost::phoenix::eval(a21, ctx) , boost::phoenix::eval(a22, ctx) , boost::phoenix::eval(a23, ctx) - ); - } - - - - - - - - - template - struct result - : result - {}; - template - struct result - : result_of::mem_fun_ptr_eval - {}; - template - typename result_of::mem_fun_ptr_eval::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 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 - , Context const & ctx - ) const - { - return - ( - get_pointer(boost::phoenix::eval(a0, ctx)) - ->*boost::phoenix::eval(a1, ctx) - )( - boost::phoenix::eval(a2, ctx) , boost::phoenix::eval(a3, ctx) , boost::phoenix::eval(a4, ctx) , boost::phoenix::eval(a5, ctx) , boost::phoenix::eval(a6, ctx) , boost::phoenix::eval(a7, ctx) , boost::phoenix::eval(a8, ctx) , boost::phoenix::eval(a9, ctx) , boost::phoenix::eval(a10, ctx) , boost::phoenix::eval(a11, ctx) , boost::phoenix::eval(a12, ctx) , boost::phoenix::eval(a13, ctx) , boost::phoenix::eval(a14, ctx) , boost::phoenix::eval(a15, ctx) , boost::phoenix::eval(a16, ctx) , boost::phoenix::eval(a17, ctx) , boost::phoenix::eval(a18, ctx) , boost::phoenix::eval(a19, ctx) , boost::phoenix::eval(a20, ctx) , boost::phoenix::eval(a21, ctx) , boost::phoenix::eval(a22, ctx) , boost::phoenix::eval(a23, ctx) , boost::phoenix::eval(a24, ctx) - ); - } - - - - - - - - - template - struct result - : result - {}; - template - struct result - : result_of::mem_fun_ptr_eval - {}; - template - typename result_of::mem_fun_ptr_eval::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 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 - , Context const & ctx - ) const - { - return - ( - get_pointer(boost::phoenix::eval(a0, ctx)) - ->*boost::phoenix::eval(a1, ctx) - )( - boost::phoenix::eval(a2, ctx) , boost::phoenix::eval(a3, ctx) , boost::phoenix::eval(a4, ctx) , boost::phoenix::eval(a5, ctx) , boost::phoenix::eval(a6, ctx) , boost::phoenix::eval(a7, ctx) , boost::phoenix::eval(a8, ctx) , boost::phoenix::eval(a9, ctx) , boost::phoenix::eval(a10, ctx) , boost::phoenix::eval(a11, ctx) , boost::phoenix::eval(a12, ctx) , boost::phoenix::eval(a13, ctx) , boost::phoenix::eval(a14, ctx) , boost::phoenix::eval(a15, ctx) , boost::phoenix::eval(a16, ctx) , boost::phoenix::eval(a17, ctx) , boost::phoenix::eval(a18, ctx) , boost::phoenix::eval(a19, ctx) , boost::phoenix::eval(a20, ctx) , boost::phoenix::eval(a21, ctx) , boost::phoenix::eval(a22, ctx) , boost::phoenix::eval(a23, ctx) , boost::phoenix::eval(a24, ctx) , boost::phoenix::eval(a25, ctx) - ); - } - - - - - - - - - template - struct result - : result - {}; - template - struct result - : result_of::mem_fun_ptr_eval - {}; - template - typename result_of::mem_fun_ptr_eval::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 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 - , Context const & ctx - ) const - { - return - ( - get_pointer(boost::phoenix::eval(a0, ctx)) - ->*boost::phoenix::eval(a1, ctx) - )( - boost::phoenix::eval(a2, ctx) , boost::phoenix::eval(a3, ctx) , boost::phoenix::eval(a4, ctx) , boost::phoenix::eval(a5, ctx) , boost::phoenix::eval(a6, ctx) , boost::phoenix::eval(a7, ctx) , boost::phoenix::eval(a8, ctx) , boost::phoenix::eval(a9, ctx) , boost::phoenix::eval(a10, ctx) , boost::phoenix::eval(a11, ctx) , boost::phoenix::eval(a12, ctx) , boost::phoenix::eval(a13, ctx) , boost::phoenix::eval(a14, ctx) , boost::phoenix::eval(a15, ctx) , boost::phoenix::eval(a16, ctx) , boost::phoenix::eval(a17, ctx) , boost::phoenix::eval(a18, ctx) , boost::phoenix::eval(a19, ctx) , boost::phoenix::eval(a20, ctx) , boost::phoenix::eval(a21, ctx) , boost::phoenix::eval(a22, ctx) , boost::phoenix::eval(a23, ctx) , boost::phoenix::eval(a24, ctx) , boost::phoenix::eval(a25, ctx) , boost::phoenix::eval(a26, ctx) - ); - } - - - - - - - - - template - struct result - : result - {}; - template - struct result - : result_of::mem_fun_ptr_eval - {}; - template - typename result_of::mem_fun_ptr_eval::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 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 - , Context const & ctx - ) const - { - return - ( - get_pointer(boost::phoenix::eval(a0, ctx)) - ->*boost::phoenix::eval(a1, ctx) - )( - boost::phoenix::eval(a2, ctx) , boost::phoenix::eval(a3, ctx) , boost::phoenix::eval(a4, ctx) , boost::phoenix::eval(a5, ctx) , boost::phoenix::eval(a6, ctx) , boost::phoenix::eval(a7, ctx) , boost::phoenix::eval(a8, ctx) , boost::phoenix::eval(a9, ctx) , boost::phoenix::eval(a10, ctx) , boost::phoenix::eval(a11, ctx) , boost::phoenix::eval(a12, ctx) , boost::phoenix::eval(a13, ctx) , boost::phoenix::eval(a14, ctx) , boost::phoenix::eval(a15, ctx) , boost::phoenix::eval(a16, ctx) , boost::phoenix::eval(a17, ctx) , boost::phoenix::eval(a18, ctx) , boost::phoenix::eval(a19, ctx) , boost::phoenix::eval(a20, ctx) , boost::phoenix::eval(a21, ctx) , boost::phoenix::eval(a22, ctx) , boost::phoenix::eval(a23, ctx) , boost::phoenix::eval(a24, ctx) , boost::phoenix::eval(a25, ctx) , boost::phoenix::eval(a26, ctx) , boost::phoenix::eval(a27, ctx) - ); - } - - - - - - - - - template - struct result - : result - {}; - template - struct result - : result_of::mem_fun_ptr_eval - {}; - template - typename result_of::mem_fun_ptr_eval::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 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 - , Context const & ctx - ) const - { - return - ( - get_pointer(boost::phoenix::eval(a0, ctx)) - ->*boost::phoenix::eval(a1, ctx) - )( - boost::phoenix::eval(a2, ctx) , boost::phoenix::eval(a3, ctx) , boost::phoenix::eval(a4, ctx) , boost::phoenix::eval(a5, ctx) , boost::phoenix::eval(a6, ctx) , boost::phoenix::eval(a7, ctx) , boost::phoenix::eval(a8, ctx) , boost::phoenix::eval(a9, ctx) , boost::phoenix::eval(a10, ctx) , boost::phoenix::eval(a11, ctx) , boost::phoenix::eval(a12, ctx) , boost::phoenix::eval(a13, ctx) , boost::phoenix::eval(a14, ctx) , boost::phoenix::eval(a15, ctx) , boost::phoenix::eval(a16, ctx) , boost::phoenix::eval(a17, ctx) , boost::phoenix::eval(a18, ctx) , boost::phoenix::eval(a19, ctx) , boost::phoenix::eval(a20, ctx) , boost::phoenix::eval(a21, ctx) , boost::phoenix::eval(a22, ctx) , boost::phoenix::eval(a23, ctx) , boost::phoenix::eval(a24, ctx) , boost::phoenix::eval(a25, ctx) , boost::phoenix::eval(a26, ctx) , boost::phoenix::eval(a27, ctx) , boost::phoenix::eval(a28, ctx) - ); - } - - - - - - - - - template - struct result - : result - {}; - template - struct result - : result_of::mem_fun_ptr_eval - {}; - template - typename result_of::mem_fun_ptr_eval::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 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 - , Context const & ctx - ) const - { - return - ( - get_pointer(boost::phoenix::eval(a0, ctx)) - ->*boost::phoenix::eval(a1, ctx) - )( - boost::phoenix::eval(a2, ctx) , boost::phoenix::eval(a3, ctx) , boost::phoenix::eval(a4, ctx) , boost::phoenix::eval(a5, ctx) , boost::phoenix::eval(a6, ctx) , boost::phoenix::eval(a7, ctx) , boost::phoenix::eval(a8, ctx) , boost::phoenix::eval(a9, ctx) , boost::phoenix::eval(a10, ctx) , boost::phoenix::eval(a11, ctx) , boost::phoenix::eval(a12, ctx) , boost::phoenix::eval(a13, ctx) , boost::phoenix::eval(a14, ctx) , boost::phoenix::eval(a15, ctx) , boost::phoenix::eval(a16, ctx) , boost::phoenix::eval(a17, ctx) , boost::phoenix::eval(a18, ctx) , boost::phoenix::eval(a19, ctx) , boost::phoenix::eval(a20, ctx) , boost::phoenix::eval(a21, ctx) , boost::phoenix::eval(a22, ctx) , boost::phoenix::eval(a23, ctx) , boost::phoenix::eval(a24, ctx) , boost::phoenix::eval(a25, ctx) , boost::phoenix::eval(a26, ctx) , boost::phoenix::eval(a27, ctx) , boost::phoenix::eval(a28, ctx) , boost::phoenix::eval(a29, ctx) - ); - } - - }; - template - struct default_actions::when - : call - {}; -}} diff --git a/include/boost/phoenix/operator/preprocessed/member_40.hpp b/include/boost/phoenix/operator/preprocessed/member_40.hpp deleted file mode 100644 index f379a33..0000000 --- a/include/boost/phoenix/operator/preprocessed/member_40.hpp +++ /dev/null @@ -1,1994 +0,0 @@ -/*============================================================================== - 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 boost { namespace phoenix -{ - namespace expression { template struct mem_ptr : expr {}; } namespace rule { struct mem_ptr : expression:: mem_ptr {}; } template struct meta_grammar::case_ : enable_rule {}; namespace functional { typedef proto::functional::make_expr make_mem_ptr; } namespace result_of { template struct make_mem_ptr : boost::result_of< functional:: make_mem_ptr( Lhs, Rhs ) > {}; } template inline typename result_of::make_mem_ptr::type make_mem_ptr(Lhs const & lhs, Rhs const & rhs) { return functional::make_mem_ptr()(lhs, rhs); } - template<> - struct phoenix_generator::case_ - : proto::or_< - proto::when< - proto::and_< - proto::mem_ptr > - , proto::if_ > >()> - > - , proto::call)> - > - , proto::otherwise< - proto::call(proto::_)> - > - > - {}; - namespace result_of - { - template < - typename Context - , 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 A20 = void , typename A21 = void , typename A22 = void , typename A23 = void , typename A24 = void , typename A25 = void , typename A26 = void , typename A27 = void , typename A28 = void , typename A29 = void , typename A30 = void , typename A31 = void , typename A32 = void , typename A33 = void , typename A34 = void , typename A35 = void , typename A36 = void , typename A37 = void , typename A38 = void , typename A39 = void - , typename Dummy = void - > - struct mem_fun_ptr_eval; - - - - - - - - template - struct mem_fun_ptr_eval - { - typedef typename evaluator::impl< A0 , Context , proto::empty_env >::result_type child0; typedef typename evaluator::impl< A1 , Context , proto::empty_env >::result_type child1; - typedef - typename boost::result_of< - child1( - child1 - ) - >::type - type; - }; - - - - - - - - template - struct mem_fun_ptr_eval - { - typedef typename evaluator::impl< A0 , Context , proto::empty_env >::result_type child0; typedef typename evaluator::impl< A1 , Context , proto::empty_env >::result_type child1; typedef typename evaluator::impl< A2 , Context , proto::empty_env >::result_type child2; - typedef - typename boost::result_of< - child1( - child1 , child2 - ) - >::type - type; - }; - - - - - - - - template - struct mem_fun_ptr_eval - { - typedef typename evaluator::impl< A0 , Context , proto::empty_env >::result_type child0; typedef typename evaluator::impl< A1 , Context , proto::empty_env >::result_type child1; typedef typename evaluator::impl< A2 , Context , proto::empty_env >::result_type child2; typedef typename evaluator::impl< A3 , Context , proto::empty_env >::result_type child3; - typedef - typename boost::result_of< - child1( - child1 , child2 , child3 - ) - >::type - type; - }; - - - - - - - - template - struct mem_fun_ptr_eval - { - typedef typename evaluator::impl< A0 , Context , proto::empty_env >::result_type child0; typedef typename evaluator::impl< A1 , Context , proto::empty_env >::result_type child1; typedef typename evaluator::impl< A2 , Context , proto::empty_env >::result_type child2; typedef typename evaluator::impl< A3 , Context , proto::empty_env >::result_type child3; typedef typename evaluator::impl< A4 , Context , proto::empty_env >::result_type child4; - typedef - typename boost::result_of< - child1( - child1 , child2 , child3 , child4 - ) - >::type - type; - }; - - - - - - - - template - struct mem_fun_ptr_eval - { - typedef typename evaluator::impl< A0 , Context , proto::empty_env >::result_type child0; typedef typename evaluator::impl< A1 , Context , proto::empty_env >::result_type child1; typedef typename evaluator::impl< A2 , Context , proto::empty_env >::result_type child2; typedef typename evaluator::impl< A3 , Context , proto::empty_env >::result_type child3; typedef typename evaluator::impl< A4 , Context , proto::empty_env >::result_type child4; typedef typename evaluator::impl< A5 , Context , proto::empty_env >::result_type child5; - typedef - typename boost::result_of< - child1( - child1 , child2 , child3 , child4 , child5 - ) - >::type - type; - }; - - - - - - - - template - struct mem_fun_ptr_eval - { - typedef typename evaluator::impl< A0 , Context , proto::empty_env >::result_type child0; typedef typename evaluator::impl< A1 , Context , proto::empty_env >::result_type child1; typedef typename evaluator::impl< A2 , Context , proto::empty_env >::result_type child2; typedef typename evaluator::impl< A3 , Context , proto::empty_env >::result_type child3; typedef typename evaluator::impl< A4 , Context , proto::empty_env >::result_type child4; typedef typename evaluator::impl< A5 , Context , proto::empty_env >::result_type child5; typedef typename evaluator::impl< A6 , Context , proto::empty_env >::result_type child6; - typedef - typename boost::result_of< - child1( - child1 , child2 , child3 , child4 , child5 , child6 - ) - >::type - type; - }; - - - - - - - - template - struct mem_fun_ptr_eval - { - typedef typename evaluator::impl< A0 , Context , proto::empty_env >::result_type child0; typedef typename evaluator::impl< A1 , Context , proto::empty_env >::result_type child1; typedef typename evaluator::impl< A2 , Context , proto::empty_env >::result_type child2; typedef typename evaluator::impl< A3 , Context , proto::empty_env >::result_type child3; typedef typename evaluator::impl< A4 , Context , proto::empty_env >::result_type child4; typedef typename evaluator::impl< A5 , Context , proto::empty_env >::result_type child5; typedef typename evaluator::impl< A6 , Context , proto::empty_env >::result_type child6; typedef typename evaluator::impl< A7 , Context , proto::empty_env >::result_type child7; - typedef - typename boost::result_of< - child1( - child1 , child2 , child3 , child4 , child5 , child6 , child7 - ) - >::type - type; - }; - - - - - - - - template - struct mem_fun_ptr_eval - { - typedef typename evaluator::impl< A0 , Context , proto::empty_env >::result_type child0; typedef typename evaluator::impl< A1 , Context , proto::empty_env >::result_type child1; typedef typename evaluator::impl< A2 , Context , proto::empty_env >::result_type child2; typedef typename evaluator::impl< A3 , Context , proto::empty_env >::result_type child3; typedef typename evaluator::impl< A4 , Context , proto::empty_env >::result_type child4; typedef typename evaluator::impl< A5 , Context , proto::empty_env >::result_type child5; typedef typename evaluator::impl< A6 , Context , proto::empty_env >::result_type child6; typedef typename evaluator::impl< A7 , Context , proto::empty_env >::result_type child7; typedef typename evaluator::impl< A8 , Context , proto::empty_env >::result_type child8; - typedef - typename boost::result_of< - child1( - child1 , child2 , child3 , child4 , child5 , child6 , child7 , child8 - ) - >::type - type; - }; - - - - - - - - template - struct mem_fun_ptr_eval - { - typedef typename evaluator::impl< A0 , Context , proto::empty_env >::result_type child0; typedef typename evaluator::impl< A1 , Context , proto::empty_env >::result_type child1; typedef typename evaluator::impl< A2 , Context , proto::empty_env >::result_type child2; typedef typename evaluator::impl< A3 , Context , proto::empty_env >::result_type child3; typedef typename evaluator::impl< A4 , Context , proto::empty_env >::result_type child4; typedef typename evaluator::impl< A5 , Context , proto::empty_env >::result_type child5; typedef typename evaluator::impl< A6 , Context , proto::empty_env >::result_type child6; typedef typename evaluator::impl< A7 , Context , proto::empty_env >::result_type child7; typedef typename evaluator::impl< A8 , Context , proto::empty_env >::result_type child8; typedef typename evaluator::impl< A9 , Context , proto::empty_env >::result_type child9; - typedef - typename boost::result_of< - child1( - child1 , child2 , child3 , child4 , child5 , child6 , child7 , child8 , child9 - ) - >::type - type; - }; - - - - - - - - template - struct mem_fun_ptr_eval - { - typedef typename evaluator::impl< A0 , Context , proto::empty_env >::result_type child0; typedef typename evaluator::impl< A1 , Context , proto::empty_env >::result_type child1; typedef typename evaluator::impl< A2 , Context , proto::empty_env >::result_type child2; typedef typename evaluator::impl< A3 , Context , proto::empty_env >::result_type child3; typedef typename evaluator::impl< A4 , Context , proto::empty_env >::result_type child4; typedef typename evaluator::impl< A5 , Context , proto::empty_env >::result_type child5; typedef typename evaluator::impl< A6 , Context , proto::empty_env >::result_type child6; typedef typename evaluator::impl< A7 , Context , proto::empty_env >::result_type child7; typedef typename evaluator::impl< A8 , Context , proto::empty_env >::result_type child8; typedef typename evaluator::impl< A9 , Context , proto::empty_env >::result_type child9; typedef typename evaluator::impl< A10 , Context , proto::empty_env >::result_type child10; - typedef - typename boost::result_of< - child1( - child1 , child2 , child3 , child4 , child5 , child6 , child7 , child8 , child9 , child10 - ) - >::type - type; - }; - - - - - - - - template - struct mem_fun_ptr_eval - { - typedef typename evaluator::impl< A0 , Context , proto::empty_env >::result_type child0; typedef typename evaluator::impl< A1 , Context , proto::empty_env >::result_type child1; typedef typename evaluator::impl< A2 , Context , proto::empty_env >::result_type child2; typedef typename evaluator::impl< A3 , Context , proto::empty_env >::result_type child3; typedef typename evaluator::impl< A4 , Context , proto::empty_env >::result_type child4; typedef typename evaluator::impl< A5 , Context , proto::empty_env >::result_type child5; typedef typename evaluator::impl< A6 , Context , proto::empty_env >::result_type child6; typedef typename evaluator::impl< A7 , Context , proto::empty_env >::result_type child7; typedef typename evaluator::impl< A8 , Context , proto::empty_env >::result_type child8; typedef typename evaluator::impl< A9 , Context , proto::empty_env >::result_type child9; typedef typename evaluator::impl< A10 , Context , proto::empty_env >::result_type child10; typedef typename evaluator::impl< A11 , Context , proto::empty_env >::result_type child11; - typedef - typename boost::result_of< - child1( - child1 , child2 , child3 , child4 , child5 , child6 , child7 , child8 , child9 , child10 , child11 - ) - >::type - type; - }; - - - - - - - - template - struct mem_fun_ptr_eval - { - typedef typename evaluator::impl< A0 , Context , proto::empty_env >::result_type child0; typedef typename evaluator::impl< A1 , Context , proto::empty_env >::result_type child1; typedef typename evaluator::impl< A2 , Context , proto::empty_env >::result_type child2; typedef typename evaluator::impl< A3 , Context , proto::empty_env >::result_type child3; typedef typename evaluator::impl< A4 , Context , proto::empty_env >::result_type child4; typedef typename evaluator::impl< A5 , Context , proto::empty_env >::result_type child5; typedef typename evaluator::impl< A6 , Context , proto::empty_env >::result_type child6; typedef typename evaluator::impl< A7 , Context , proto::empty_env >::result_type child7; typedef typename evaluator::impl< A8 , Context , proto::empty_env >::result_type child8; typedef typename evaluator::impl< A9 , Context , proto::empty_env >::result_type child9; typedef typename evaluator::impl< A10 , Context , proto::empty_env >::result_type child10; typedef typename evaluator::impl< A11 , Context , proto::empty_env >::result_type child11; typedef typename evaluator::impl< A12 , Context , proto::empty_env >::result_type child12; - typedef - typename boost::result_of< - child1( - child1 , child2 , child3 , child4 , child5 , child6 , child7 , child8 , child9 , child10 , child11 , child12 - ) - >::type - type; - }; - - - - - - - - template - struct mem_fun_ptr_eval - { - typedef typename evaluator::impl< A0 , Context , proto::empty_env >::result_type child0; typedef typename evaluator::impl< A1 , Context , proto::empty_env >::result_type child1; typedef typename evaluator::impl< A2 , Context , proto::empty_env >::result_type child2; typedef typename evaluator::impl< A3 , Context , proto::empty_env >::result_type child3; typedef typename evaluator::impl< A4 , Context , proto::empty_env >::result_type child4; typedef typename evaluator::impl< A5 , Context , proto::empty_env >::result_type child5; typedef typename evaluator::impl< A6 , Context , proto::empty_env >::result_type child6; typedef typename evaluator::impl< A7 , Context , proto::empty_env >::result_type child7; typedef typename evaluator::impl< A8 , Context , proto::empty_env >::result_type child8; typedef typename evaluator::impl< A9 , Context , proto::empty_env >::result_type child9; typedef typename evaluator::impl< A10 , Context , proto::empty_env >::result_type child10; typedef typename evaluator::impl< A11 , Context , proto::empty_env >::result_type child11; typedef typename evaluator::impl< A12 , Context , proto::empty_env >::result_type child12; typedef typename evaluator::impl< A13 , Context , proto::empty_env >::result_type child13; - typedef - typename boost::result_of< - child1( - child1 , child2 , child3 , child4 , child5 , child6 , child7 , child8 , child9 , child10 , child11 , child12 , child13 - ) - >::type - type; - }; - - - - - - - - template - struct mem_fun_ptr_eval - { - typedef typename evaluator::impl< A0 , Context , proto::empty_env >::result_type child0; typedef typename evaluator::impl< A1 , Context , proto::empty_env >::result_type child1; typedef typename evaluator::impl< A2 , Context , proto::empty_env >::result_type child2; typedef typename evaluator::impl< A3 , Context , proto::empty_env >::result_type child3; typedef typename evaluator::impl< A4 , Context , proto::empty_env >::result_type child4; typedef typename evaluator::impl< A5 , Context , proto::empty_env >::result_type child5; typedef typename evaluator::impl< A6 , Context , proto::empty_env >::result_type child6; typedef typename evaluator::impl< A7 , Context , proto::empty_env >::result_type child7; typedef typename evaluator::impl< A8 , Context , proto::empty_env >::result_type child8; typedef typename evaluator::impl< A9 , Context , proto::empty_env >::result_type child9; typedef typename evaluator::impl< A10 , Context , proto::empty_env >::result_type child10; typedef typename evaluator::impl< A11 , Context , proto::empty_env >::result_type child11; typedef typename evaluator::impl< A12 , Context , proto::empty_env >::result_type child12; typedef typename evaluator::impl< A13 , Context , proto::empty_env >::result_type child13; typedef typename evaluator::impl< A14 , Context , proto::empty_env >::result_type child14; - typedef - typename boost::result_of< - child1( - child1 , child2 , child3 , child4 , child5 , child6 , child7 , child8 , child9 , child10 , child11 , child12 , child13 , child14 - ) - >::type - type; - }; - - - - - - - - template - struct mem_fun_ptr_eval - { - typedef typename evaluator::impl< A0 , Context , proto::empty_env >::result_type child0; typedef typename evaluator::impl< A1 , Context , proto::empty_env >::result_type child1; typedef typename evaluator::impl< A2 , Context , proto::empty_env >::result_type child2; typedef typename evaluator::impl< A3 , Context , proto::empty_env >::result_type child3; typedef typename evaluator::impl< A4 , Context , proto::empty_env >::result_type child4; typedef typename evaluator::impl< A5 , Context , proto::empty_env >::result_type child5; typedef typename evaluator::impl< A6 , Context , proto::empty_env >::result_type child6; typedef typename evaluator::impl< A7 , Context , proto::empty_env >::result_type child7; typedef typename evaluator::impl< A8 , Context , proto::empty_env >::result_type child8; typedef typename evaluator::impl< A9 , Context , proto::empty_env >::result_type child9; typedef typename evaluator::impl< A10 , Context , proto::empty_env >::result_type child10; typedef typename evaluator::impl< A11 , Context , proto::empty_env >::result_type child11; typedef typename evaluator::impl< A12 , Context , proto::empty_env >::result_type child12; typedef typename evaluator::impl< A13 , Context , proto::empty_env >::result_type child13; typedef typename evaluator::impl< A14 , Context , proto::empty_env >::result_type child14; typedef typename evaluator::impl< A15 , Context , proto::empty_env >::result_type child15; - typedef - typename boost::result_of< - child1( - child1 , child2 , child3 , child4 , child5 , child6 , child7 , child8 , child9 , child10 , child11 , child12 , child13 , child14 , child15 - ) - >::type - type; - }; - - - - - - - - template - struct mem_fun_ptr_eval - { - typedef typename evaluator::impl< A0 , Context , proto::empty_env >::result_type child0; typedef typename evaluator::impl< A1 , Context , proto::empty_env >::result_type child1; typedef typename evaluator::impl< A2 , Context , proto::empty_env >::result_type child2; typedef typename evaluator::impl< A3 , Context , proto::empty_env >::result_type child3; typedef typename evaluator::impl< A4 , Context , proto::empty_env >::result_type child4; typedef typename evaluator::impl< A5 , Context , proto::empty_env >::result_type child5; typedef typename evaluator::impl< A6 , Context , proto::empty_env >::result_type child6; typedef typename evaluator::impl< A7 , Context , proto::empty_env >::result_type child7; typedef typename evaluator::impl< A8 , Context , proto::empty_env >::result_type child8; typedef typename evaluator::impl< A9 , Context , proto::empty_env >::result_type child9; typedef typename evaluator::impl< A10 , Context , proto::empty_env >::result_type child10; typedef typename evaluator::impl< A11 , Context , proto::empty_env >::result_type child11; typedef typename evaluator::impl< A12 , Context , proto::empty_env >::result_type child12; typedef typename evaluator::impl< A13 , Context , proto::empty_env >::result_type child13; typedef typename evaluator::impl< A14 , Context , proto::empty_env >::result_type child14; typedef typename evaluator::impl< A15 , Context , proto::empty_env >::result_type child15; typedef typename evaluator::impl< A16 , Context , proto::empty_env >::result_type child16; - typedef - typename boost::result_of< - child1( - child1 , child2 , child3 , child4 , child5 , child6 , child7 , child8 , child9 , child10 , child11 , child12 , child13 , child14 , child15 , child16 - ) - >::type - type; - }; - - - - - - - - template - struct mem_fun_ptr_eval - { - typedef typename evaluator::impl< A0 , Context , proto::empty_env >::result_type child0; typedef typename evaluator::impl< A1 , Context , proto::empty_env >::result_type child1; typedef typename evaluator::impl< A2 , Context , proto::empty_env >::result_type child2; typedef typename evaluator::impl< A3 , Context , proto::empty_env >::result_type child3; typedef typename evaluator::impl< A4 , Context , proto::empty_env >::result_type child4; typedef typename evaluator::impl< A5 , Context , proto::empty_env >::result_type child5; typedef typename evaluator::impl< A6 , Context , proto::empty_env >::result_type child6; typedef typename evaluator::impl< A7 , Context , proto::empty_env >::result_type child7; typedef typename evaluator::impl< A8 , Context , proto::empty_env >::result_type child8; typedef typename evaluator::impl< A9 , Context , proto::empty_env >::result_type child9; typedef typename evaluator::impl< A10 , Context , proto::empty_env >::result_type child10; typedef typename evaluator::impl< A11 , Context , proto::empty_env >::result_type child11; typedef typename evaluator::impl< A12 , Context , proto::empty_env >::result_type child12; typedef typename evaluator::impl< A13 , Context , proto::empty_env >::result_type child13; typedef typename evaluator::impl< A14 , Context , proto::empty_env >::result_type child14; typedef typename evaluator::impl< A15 , Context , proto::empty_env >::result_type child15; typedef typename evaluator::impl< A16 , Context , proto::empty_env >::result_type child16; typedef typename evaluator::impl< A17 , Context , proto::empty_env >::result_type child17; - typedef - typename boost::result_of< - child1( - child1 , child2 , child3 , child4 , child5 , child6 , child7 , child8 , child9 , child10 , child11 , child12 , child13 , child14 , child15 , child16 , child17 - ) - >::type - type; - }; - - - - - - - - template - struct mem_fun_ptr_eval - { - typedef typename evaluator::impl< A0 , Context , proto::empty_env >::result_type child0; typedef typename evaluator::impl< A1 , Context , proto::empty_env >::result_type child1; typedef typename evaluator::impl< A2 , Context , proto::empty_env >::result_type child2; typedef typename evaluator::impl< A3 , Context , proto::empty_env >::result_type child3; typedef typename evaluator::impl< A4 , Context , proto::empty_env >::result_type child4; typedef typename evaluator::impl< A5 , Context , proto::empty_env >::result_type child5; typedef typename evaluator::impl< A6 , Context , proto::empty_env >::result_type child6; typedef typename evaluator::impl< A7 , Context , proto::empty_env >::result_type child7; typedef typename evaluator::impl< A8 , Context , proto::empty_env >::result_type child8; typedef typename evaluator::impl< A9 , Context , proto::empty_env >::result_type child9; typedef typename evaluator::impl< A10 , Context , proto::empty_env >::result_type child10; typedef typename evaluator::impl< A11 , Context , proto::empty_env >::result_type child11; typedef typename evaluator::impl< A12 , Context , proto::empty_env >::result_type child12; typedef typename evaluator::impl< A13 , Context , proto::empty_env >::result_type child13; typedef typename evaluator::impl< A14 , Context , proto::empty_env >::result_type child14; typedef typename evaluator::impl< A15 , Context , proto::empty_env >::result_type child15; typedef typename evaluator::impl< A16 , Context , proto::empty_env >::result_type child16; typedef typename evaluator::impl< A17 , Context , proto::empty_env >::result_type child17; typedef typename evaluator::impl< A18 , Context , proto::empty_env >::result_type child18; - typedef - typename boost::result_of< - child1( - child1 , child2 , child3 , child4 , child5 , child6 , child7 , child8 , child9 , child10 , child11 , child12 , child13 , child14 , child15 , child16 , child17 , child18 - ) - >::type - type; - }; - - - - - - - - template - struct mem_fun_ptr_eval - { - typedef typename evaluator::impl< A0 , Context , proto::empty_env >::result_type child0; typedef typename evaluator::impl< A1 , Context , proto::empty_env >::result_type child1; typedef typename evaluator::impl< A2 , Context , proto::empty_env >::result_type child2; typedef typename evaluator::impl< A3 , Context , proto::empty_env >::result_type child3; typedef typename evaluator::impl< A4 , Context , proto::empty_env >::result_type child4; typedef typename evaluator::impl< A5 , Context , proto::empty_env >::result_type child5; typedef typename evaluator::impl< A6 , Context , proto::empty_env >::result_type child6; typedef typename evaluator::impl< A7 , Context , proto::empty_env >::result_type child7; typedef typename evaluator::impl< A8 , Context , proto::empty_env >::result_type child8; typedef typename evaluator::impl< A9 , Context , proto::empty_env >::result_type child9; typedef typename evaluator::impl< A10 , Context , proto::empty_env >::result_type child10; typedef typename evaluator::impl< A11 , Context , proto::empty_env >::result_type child11; typedef typename evaluator::impl< A12 , Context , proto::empty_env >::result_type child12; typedef typename evaluator::impl< A13 , Context , proto::empty_env >::result_type child13; typedef typename evaluator::impl< A14 , Context , proto::empty_env >::result_type child14; typedef typename evaluator::impl< A15 , Context , proto::empty_env >::result_type child15; typedef typename evaluator::impl< A16 , Context , proto::empty_env >::result_type child16; typedef typename evaluator::impl< A17 , Context , proto::empty_env >::result_type child17; typedef typename evaluator::impl< A18 , Context , proto::empty_env >::result_type child18; typedef typename evaluator::impl< A19 , Context , proto::empty_env >::result_type child19; - typedef - typename boost::result_of< - child1( - child1 , child2 , child3 , child4 , child5 , child6 , child7 , child8 , child9 , child10 , child11 , child12 , child13 , child14 , child15 , child16 , child17 , child18 , child19 - ) - >::type - type; - }; - - - - - - - - template - struct mem_fun_ptr_eval - { - typedef typename evaluator::impl< A0 , Context , proto::empty_env >::result_type child0; typedef typename evaluator::impl< A1 , Context , proto::empty_env >::result_type child1; typedef typename evaluator::impl< A2 , Context , proto::empty_env >::result_type child2; typedef typename evaluator::impl< A3 , Context , proto::empty_env >::result_type child3; typedef typename evaluator::impl< A4 , Context , proto::empty_env >::result_type child4; typedef typename evaluator::impl< A5 , Context , proto::empty_env >::result_type child5; typedef typename evaluator::impl< A6 , Context , proto::empty_env >::result_type child6; typedef typename evaluator::impl< A7 , Context , proto::empty_env >::result_type child7; typedef typename evaluator::impl< A8 , Context , proto::empty_env >::result_type child8; typedef typename evaluator::impl< A9 , Context , proto::empty_env >::result_type child9; typedef typename evaluator::impl< A10 , Context , proto::empty_env >::result_type child10; typedef typename evaluator::impl< A11 , Context , proto::empty_env >::result_type child11; typedef typename evaluator::impl< A12 , Context , proto::empty_env >::result_type child12; typedef typename evaluator::impl< A13 , Context , proto::empty_env >::result_type child13; typedef typename evaluator::impl< A14 , Context , proto::empty_env >::result_type child14; typedef typename evaluator::impl< A15 , Context , proto::empty_env >::result_type child15; typedef typename evaluator::impl< A16 , Context , proto::empty_env >::result_type child16; typedef typename evaluator::impl< A17 , Context , proto::empty_env >::result_type child17; typedef typename evaluator::impl< A18 , Context , proto::empty_env >::result_type child18; typedef typename evaluator::impl< A19 , Context , proto::empty_env >::result_type child19; typedef typename evaluator::impl< A20 , Context , proto::empty_env >::result_type child20; - typedef - typename boost::result_of< - child1( - child1 , child2 , child3 , child4 , child5 , child6 , child7 , child8 , child9 , child10 , child11 , child12 , child13 , child14 , child15 , child16 , child17 , child18 , child19 , child20 - ) - >::type - type; - }; - - - - - - - - template - struct mem_fun_ptr_eval - { - typedef typename evaluator::impl< A0 , Context , proto::empty_env >::result_type child0; typedef typename evaluator::impl< A1 , Context , proto::empty_env >::result_type child1; typedef typename evaluator::impl< A2 , Context , proto::empty_env >::result_type child2; typedef typename evaluator::impl< A3 , Context , proto::empty_env >::result_type child3; typedef typename evaluator::impl< A4 , Context , proto::empty_env >::result_type child4; typedef typename evaluator::impl< A5 , Context , proto::empty_env >::result_type child5; typedef typename evaluator::impl< A6 , Context , proto::empty_env >::result_type child6; typedef typename evaluator::impl< A7 , Context , proto::empty_env >::result_type child7; typedef typename evaluator::impl< A8 , Context , proto::empty_env >::result_type child8; typedef typename evaluator::impl< A9 , Context , proto::empty_env >::result_type child9; typedef typename evaluator::impl< A10 , Context , proto::empty_env >::result_type child10; typedef typename evaluator::impl< A11 , Context , proto::empty_env >::result_type child11; typedef typename evaluator::impl< A12 , Context , proto::empty_env >::result_type child12; typedef typename evaluator::impl< A13 , Context , proto::empty_env >::result_type child13; typedef typename evaluator::impl< A14 , Context , proto::empty_env >::result_type child14; typedef typename evaluator::impl< A15 , Context , proto::empty_env >::result_type child15; typedef typename evaluator::impl< A16 , Context , proto::empty_env >::result_type child16; typedef typename evaluator::impl< A17 , Context , proto::empty_env >::result_type child17; typedef typename evaluator::impl< A18 , Context , proto::empty_env >::result_type child18; typedef typename evaluator::impl< A19 , Context , proto::empty_env >::result_type child19; typedef typename evaluator::impl< A20 , Context , proto::empty_env >::result_type child20; typedef typename evaluator::impl< A21 , Context , proto::empty_env >::result_type child21; - typedef - typename boost::result_of< - child1( - child1 , child2 , child3 , child4 , child5 , child6 , child7 , child8 , child9 , child10 , child11 , child12 , child13 , child14 , child15 , child16 , child17 , child18 , child19 , child20 , child21 - ) - >::type - type; - }; - - - - - - - - template - struct mem_fun_ptr_eval - { - typedef typename evaluator::impl< A0 , Context , proto::empty_env >::result_type child0; typedef typename evaluator::impl< A1 , Context , proto::empty_env >::result_type child1; typedef typename evaluator::impl< A2 , Context , proto::empty_env >::result_type child2; typedef typename evaluator::impl< A3 , Context , proto::empty_env >::result_type child3; typedef typename evaluator::impl< A4 , Context , proto::empty_env >::result_type child4; typedef typename evaluator::impl< A5 , Context , proto::empty_env >::result_type child5; typedef typename evaluator::impl< A6 , Context , proto::empty_env >::result_type child6; typedef typename evaluator::impl< A7 , Context , proto::empty_env >::result_type child7; typedef typename evaluator::impl< A8 , Context , proto::empty_env >::result_type child8; typedef typename evaluator::impl< A9 , Context , proto::empty_env >::result_type child9; typedef typename evaluator::impl< A10 , Context , proto::empty_env >::result_type child10; typedef typename evaluator::impl< A11 , Context , proto::empty_env >::result_type child11; typedef typename evaluator::impl< A12 , Context , proto::empty_env >::result_type child12; typedef typename evaluator::impl< A13 , Context , proto::empty_env >::result_type child13; typedef typename evaluator::impl< A14 , Context , proto::empty_env >::result_type child14; typedef typename evaluator::impl< A15 , Context , proto::empty_env >::result_type child15; typedef typename evaluator::impl< A16 , Context , proto::empty_env >::result_type child16; typedef typename evaluator::impl< A17 , Context , proto::empty_env >::result_type child17; typedef typename evaluator::impl< A18 , Context , proto::empty_env >::result_type child18; typedef typename evaluator::impl< A19 , Context , proto::empty_env >::result_type child19; typedef typename evaluator::impl< A20 , Context , proto::empty_env >::result_type child20; typedef typename evaluator::impl< A21 , Context , proto::empty_env >::result_type child21; typedef typename evaluator::impl< A22 , Context , proto::empty_env >::result_type child22; - typedef - typename boost::result_of< - child1( - child1 , child2 , child3 , child4 , child5 , child6 , child7 , child8 , child9 , child10 , child11 , child12 , child13 , child14 , child15 , child16 , child17 , child18 , child19 , child20 , child21 , child22 - ) - >::type - type; - }; - - - - - - - - template - struct mem_fun_ptr_eval - { - typedef typename evaluator::impl< A0 , Context , proto::empty_env >::result_type child0; typedef typename evaluator::impl< A1 , Context , proto::empty_env >::result_type child1; typedef typename evaluator::impl< A2 , Context , proto::empty_env >::result_type child2; typedef typename evaluator::impl< A3 , Context , proto::empty_env >::result_type child3; typedef typename evaluator::impl< A4 , Context , proto::empty_env >::result_type child4; typedef typename evaluator::impl< A5 , Context , proto::empty_env >::result_type child5; typedef typename evaluator::impl< A6 , Context , proto::empty_env >::result_type child6; typedef typename evaluator::impl< A7 , Context , proto::empty_env >::result_type child7; typedef typename evaluator::impl< A8 , Context , proto::empty_env >::result_type child8; typedef typename evaluator::impl< A9 , Context , proto::empty_env >::result_type child9; typedef typename evaluator::impl< A10 , Context , proto::empty_env >::result_type child10; typedef typename evaluator::impl< A11 , Context , proto::empty_env >::result_type child11; typedef typename evaluator::impl< A12 , Context , proto::empty_env >::result_type child12; typedef typename evaluator::impl< A13 , Context , proto::empty_env >::result_type child13; typedef typename evaluator::impl< A14 , Context , proto::empty_env >::result_type child14; typedef typename evaluator::impl< A15 , Context , proto::empty_env >::result_type child15; typedef typename evaluator::impl< A16 , Context , proto::empty_env >::result_type child16; typedef typename evaluator::impl< A17 , Context , proto::empty_env >::result_type child17; typedef typename evaluator::impl< A18 , Context , proto::empty_env >::result_type child18; typedef typename evaluator::impl< A19 , Context , proto::empty_env >::result_type child19; typedef typename evaluator::impl< A20 , Context , proto::empty_env >::result_type child20; typedef typename evaluator::impl< A21 , Context , proto::empty_env >::result_type child21; typedef typename evaluator::impl< A22 , Context , proto::empty_env >::result_type child22; typedef typename evaluator::impl< A23 , Context , proto::empty_env >::result_type child23; - typedef - typename boost::result_of< - child1( - child1 , child2 , child3 , child4 , child5 , child6 , child7 , child8 , child9 , child10 , child11 , child12 , child13 , child14 , child15 , child16 , child17 , child18 , child19 , child20 , child21 , child22 , child23 - ) - >::type - type; - }; - - - - - - - - template - struct mem_fun_ptr_eval - { - typedef typename evaluator::impl< A0 , Context , proto::empty_env >::result_type child0; typedef typename evaluator::impl< A1 , Context , proto::empty_env >::result_type child1; typedef typename evaluator::impl< A2 , Context , proto::empty_env >::result_type child2; typedef typename evaluator::impl< A3 , Context , proto::empty_env >::result_type child3; typedef typename evaluator::impl< A4 , Context , proto::empty_env >::result_type child4; typedef typename evaluator::impl< A5 , Context , proto::empty_env >::result_type child5; typedef typename evaluator::impl< A6 , Context , proto::empty_env >::result_type child6; typedef typename evaluator::impl< A7 , Context , proto::empty_env >::result_type child7; typedef typename evaluator::impl< A8 , Context , proto::empty_env >::result_type child8; typedef typename evaluator::impl< A9 , Context , proto::empty_env >::result_type child9; typedef typename evaluator::impl< A10 , Context , proto::empty_env >::result_type child10; typedef typename evaluator::impl< A11 , Context , proto::empty_env >::result_type child11; typedef typename evaluator::impl< A12 , Context , proto::empty_env >::result_type child12; typedef typename evaluator::impl< A13 , Context , proto::empty_env >::result_type child13; typedef typename evaluator::impl< A14 , Context , proto::empty_env >::result_type child14; typedef typename evaluator::impl< A15 , Context , proto::empty_env >::result_type child15; typedef typename evaluator::impl< A16 , Context , proto::empty_env >::result_type child16; typedef typename evaluator::impl< A17 , Context , proto::empty_env >::result_type child17; typedef typename evaluator::impl< A18 , Context , proto::empty_env >::result_type child18; typedef typename evaluator::impl< A19 , Context , proto::empty_env >::result_type child19; typedef typename evaluator::impl< A20 , Context , proto::empty_env >::result_type child20; typedef typename evaluator::impl< A21 , Context , proto::empty_env >::result_type child21; typedef typename evaluator::impl< A22 , Context , proto::empty_env >::result_type child22; typedef typename evaluator::impl< A23 , Context , proto::empty_env >::result_type child23; typedef typename evaluator::impl< A24 , Context , proto::empty_env >::result_type child24; - typedef - typename boost::result_of< - child1( - child1 , child2 , child3 , child4 , child5 , child6 , child7 , child8 , child9 , child10 , child11 , child12 , child13 , child14 , child15 , child16 , child17 , child18 , child19 , child20 , child21 , child22 , child23 , child24 - ) - >::type - type; - }; - - - - - - - - template - struct mem_fun_ptr_eval - { - typedef typename evaluator::impl< A0 , Context , proto::empty_env >::result_type child0; typedef typename evaluator::impl< A1 , Context , proto::empty_env >::result_type child1; typedef typename evaluator::impl< A2 , Context , proto::empty_env >::result_type child2; typedef typename evaluator::impl< A3 , Context , proto::empty_env >::result_type child3; typedef typename evaluator::impl< A4 , Context , proto::empty_env >::result_type child4; typedef typename evaluator::impl< A5 , Context , proto::empty_env >::result_type child5; typedef typename evaluator::impl< A6 , Context , proto::empty_env >::result_type child6; typedef typename evaluator::impl< A7 , Context , proto::empty_env >::result_type child7; typedef typename evaluator::impl< A8 , Context , proto::empty_env >::result_type child8; typedef typename evaluator::impl< A9 , Context , proto::empty_env >::result_type child9; typedef typename evaluator::impl< A10 , Context , proto::empty_env >::result_type child10; typedef typename evaluator::impl< A11 , Context , proto::empty_env >::result_type child11; typedef typename evaluator::impl< A12 , Context , proto::empty_env >::result_type child12; typedef typename evaluator::impl< A13 , Context , proto::empty_env >::result_type child13; typedef typename evaluator::impl< A14 , Context , proto::empty_env >::result_type child14; typedef typename evaluator::impl< A15 , Context , proto::empty_env >::result_type child15; typedef typename evaluator::impl< A16 , Context , proto::empty_env >::result_type child16; typedef typename evaluator::impl< A17 , Context , proto::empty_env >::result_type child17; typedef typename evaluator::impl< A18 , Context , proto::empty_env >::result_type child18; typedef typename evaluator::impl< A19 , Context , proto::empty_env >::result_type child19; typedef typename evaluator::impl< A20 , Context , proto::empty_env >::result_type child20; typedef typename evaluator::impl< A21 , Context , proto::empty_env >::result_type child21; typedef typename evaluator::impl< A22 , Context , proto::empty_env >::result_type child22; typedef typename evaluator::impl< A23 , Context , proto::empty_env >::result_type child23; typedef typename evaluator::impl< A24 , Context , proto::empty_env >::result_type child24; typedef typename evaluator::impl< A25 , Context , proto::empty_env >::result_type child25; - typedef - typename boost::result_of< - child1( - child1 , child2 , child3 , child4 , child5 , child6 , child7 , child8 , child9 , child10 , child11 , child12 , child13 , child14 , child15 , child16 , child17 , child18 , child19 , child20 , child21 , child22 , child23 , child24 , child25 - ) - >::type - type; - }; - - - - - - - - template - struct mem_fun_ptr_eval - { - typedef typename evaluator::impl< A0 , Context , proto::empty_env >::result_type child0; typedef typename evaluator::impl< A1 , Context , proto::empty_env >::result_type child1; typedef typename evaluator::impl< A2 , Context , proto::empty_env >::result_type child2; typedef typename evaluator::impl< A3 , Context , proto::empty_env >::result_type child3; typedef typename evaluator::impl< A4 , Context , proto::empty_env >::result_type child4; typedef typename evaluator::impl< A5 , Context , proto::empty_env >::result_type child5; typedef typename evaluator::impl< A6 , Context , proto::empty_env >::result_type child6; typedef typename evaluator::impl< A7 , Context , proto::empty_env >::result_type child7; typedef typename evaluator::impl< A8 , Context , proto::empty_env >::result_type child8; typedef typename evaluator::impl< A9 , Context , proto::empty_env >::result_type child9; typedef typename evaluator::impl< A10 , Context , proto::empty_env >::result_type child10; typedef typename evaluator::impl< A11 , Context , proto::empty_env >::result_type child11; typedef typename evaluator::impl< A12 , Context , proto::empty_env >::result_type child12; typedef typename evaluator::impl< A13 , Context , proto::empty_env >::result_type child13; typedef typename evaluator::impl< A14 , Context , proto::empty_env >::result_type child14; typedef typename evaluator::impl< A15 , Context , proto::empty_env >::result_type child15; typedef typename evaluator::impl< A16 , Context , proto::empty_env >::result_type child16; typedef typename evaluator::impl< A17 , Context , proto::empty_env >::result_type child17; typedef typename evaluator::impl< A18 , Context , proto::empty_env >::result_type child18; typedef typename evaluator::impl< A19 , Context , proto::empty_env >::result_type child19; typedef typename evaluator::impl< A20 , Context , proto::empty_env >::result_type child20; typedef typename evaluator::impl< A21 , Context , proto::empty_env >::result_type child21; typedef typename evaluator::impl< A22 , Context , proto::empty_env >::result_type child22; typedef typename evaluator::impl< A23 , Context , proto::empty_env >::result_type child23; typedef typename evaluator::impl< A24 , Context , proto::empty_env >::result_type child24; typedef typename evaluator::impl< A25 , Context , proto::empty_env >::result_type child25; typedef typename evaluator::impl< A26 , Context , proto::empty_env >::result_type child26; - typedef - typename boost::result_of< - child1( - child1 , child2 , child3 , child4 , child5 , child6 , child7 , child8 , child9 , child10 , child11 , child12 , child13 , child14 , child15 , child16 , child17 , child18 , child19 , child20 , child21 , child22 , child23 , child24 , child25 , child26 - ) - >::type - type; - }; - - - - - - - - template - struct mem_fun_ptr_eval - { - typedef typename evaluator::impl< A0 , Context , proto::empty_env >::result_type child0; typedef typename evaluator::impl< A1 , Context , proto::empty_env >::result_type child1; typedef typename evaluator::impl< A2 , Context , proto::empty_env >::result_type child2; typedef typename evaluator::impl< A3 , Context , proto::empty_env >::result_type child3; typedef typename evaluator::impl< A4 , Context , proto::empty_env >::result_type child4; typedef typename evaluator::impl< A5 , Context , proto::empty_env >::result_type child5; typedef typename evaluator::impl< A6 , Context , proto::empty_env >::result_type child6; typedef typename evaluator::impl< A7 , Context , proto::empty_env >::result_type child7; typedef typename evaluator::impl< A8 , Context , proto::empty_env >::result_type child8; typedef typename evaluator::impl< A9 , Context , proto::empty_env >::result_type child9; typedef typename evaluator::impl< A10 , Context , proto::empty_env >::result_type child10; typedef typename evaluator::impl< A11 , Context , proto::empty_env >::result_type child11; typedef typename evaluator::impl< A12 , Context , proto::empty_env >::result_type child12; typedef typename evaluator::impl< A13 , Context , proto::empty_env >::result_type child13; typedef typename evaluator::impl< A14 , Context , proto::empty_env >::result_type child14; typedef typename evaluator::impl< A15 , Context , proto::empty_env >::result_type child15; typedef typename evaluator::impl< A16 , Context , proto::empty_env >::result_type child16; typedef typename evaluator::impl< A17 , Context , proto::empty_env >::result_type child17; typedef typename evaluator::impl< A18 , Context , proto::empty_env >::result_type child18; typedef typename evaluator::impl< A19 , Context , proto::empty_env >::result_type child19; typedef typename evaluator::impl< A20 , Context , proto::empty_env >::result_type child20; typedef typename evaluator::impl< A21 , Context , proto::empty_env >::result_type child21; typedef typename evaluator::impl< A22 , Context , proto::empty_env >::result_type child22; typedef typename evaluator::impl< A23 , Context , proto::empty_env >::result_type child23; typedef typename evaluator::impl< A24 , Context , proto::empty_env >::result_type child24; typedef typename evaluator::impl< A25 , Context , proto::empty_env >::result_type child25; typedef typename evaluator::impl< A26 , Context , proto::empty_env >::result_type child26; typedef typename evaluator::impl< A27 , Context , proto::empty_env >::result_type child27; - typedef - typename boost::result_of< - child1( - child1 , child2 , child3 , child4 , child5 , child6 , child7 , child8 , child9 , child10 , child11 , child12 , child13 , child14 , child15 , child16 , child17 , child18 , child19 , child20 , child21 , child22 , child23 , child24 , child25 , child26 , child27 - ) - >::type - type; - }; - - - - - - - - template - struct mem_fun_ptr_eval - { - typedef typename evaluator::impl< A0 , Context , proto::empty_env >::result_type child0; typedef typename evaluator::impl< A1 , Context , proto::empty_env >::result_type child1; typedef typename evaluator::impl< A2 , Context , proto::empty_env >::result_type child2; typedef typename evaluator::impl< A3 , Context , proto::empty_env >::result_type child3; typedef typename evaluator::impl< A4 , Context , proto::empty_env >::result_type child4; typedef typename evaluator::impl< A5 , Context , proto::empty_env >::result_type child5; typedef typename evaluator::impl< A6 , Context , proto::empty_env >::result_type child6; typedef typename evaluator::impl< A7 , Context , proto::empty_env >::result_type child7; typedef typename evaluator::impl< A8 , Context , proto::empty_env >::result_type child8; typedef typename evaluator::impl< A9 , Context , proto::empty_env >::result_type child9; typedef typename evaluator::impl< A10 , Context , proto::empty_env >::result_type child10; typedef typename evaluator::impl< A11 , Context , proto::empty_env >::result_type child11; typedef typename evaluator::impl< A12 , Context , proto::empty_env >::result_type child12; typedef typename evaluator::impl< A13 , Context , proto::empty_env >::result_type child13; typedef typename evaluator::impl< A14 , Context , proto::empty_env >::result_type child14; typedef typename evaluator::impl< A15 , Context , proto::empty_env >::result_type child15; typedef typename evaluator::impl< A16 , Context , proto::empty_env >::result_type child16; typedef typename evaluator::impl< A17 , Context , proto::empty_env >::result_type child17; typedef typename evaluator::impl< A18 , Context , proto::empty_env >::result_type child18; typedef typename evaluator::impl< A19 , Context , proto::empty_env >::result_type child19; typedef typename evaluator::impl< A20 , Context , proto::empty_env >::result_type child20; typedef typename evaluator::impl< A21 , Context , proto::empty_env >::result_type child21; typedef typename evaluator::impl< A22 , Context , proto::empty_env >::result_type child22; typedef typename evaluator::impl< A23 , Context , proto::empty_env >::result_type child23; typedef typename evaluator::impl< A24 , Context , proto::empty_env >::result_type child24; typedef typename evaluator::impl< A25 , Context , proto::empty_env >::result_type child25; typedef typename evaluator::impl< A26 , Context , proto::empty_env >::result_type child26; typedef typename evaluator::impl< A27 , Context , proto::empty_env >::result_type child27; typedef typename evaluator::impl< A28 , Context , proto::empty_env >::result_type child28; - typedef - typename boost::result_of< - child1( - child1 , child2 , child3 , child4 , child5 , child6 , child7 , child8 , child9 , child10 , child11 , child12 , child13 , child14 , child15 , child16 , child17 , child18 , child19 , child20 , child21 , child22 , child23 , child24 , child25 , child26 , child27 , child28 - ) - >::type - type; - }; - - - - - - - - template - struct mem_fun_ptr_eval - { - typedef typename evaluator::impl< A0 , Context , proto::empty_env >::result_type child0; typedef typename evaluator::impl< A1 , Context , proto::empty_env >::result_type child1; typedef typename evaluator::impl< A2 , Context , proto::empty_env >::result_type child2; typedef typename evaluator::impl< A3 , Context , proto::empty_env >::result_type child3; typedef typename evaluator::impl< A4 , Context , proto::empty_env >::result_type child4; typedef typename evaluator::impl< A5 , Context , proto::empty_env >::result_type child5; typedef typename evaluator::impl< A6 , Context , proto::empty_env >::result_type child6; typedef typename evaluator::impl< A7 , Context , proto::empty_env >::result_type child7; typedef typename evaluator::impl< A8 , Context , proto::empty_env >::result_type child8; typedef typename evaluator::impl< A9 , Context , proto::empty_env >::result_type child9; typedef typename evaluator::impl< A10 , Context , proto::empty_env >::result_type child10; typedef typename evaluator::impl< A11 , Context , proto::empty_env >::result_type child11; typedef typename evaluator::impl< A12 , Context , proto::empty_env >::result_type child12; typedef typename evaluator::impl< A13 , Context , proto::empty_env >::result_type child13; typedef typename evaluator::impl< A14 , Context , proto::empty_env >::result_type child14; typedef typename evaluator::impl< A15 , Context , proto::empty_env >::result_type child15; typedef typename evaluator::impl< A16 , Context , proto::empty_env >::result_type child16; typedef typename evaluator::impl< A17 , Context , proto::empty_env >::result_type child17; typedef typename evaluator::impl< A18 , Context , proto::empty_env >::result_type child18; typedef typename evaluator::impl< A19 , Context , proto::empty_env >::result_type child19; typedef typename evaluator::impl< A20 , Context , proto::empty_env >::result_type child20; typedef typename evaluator::impl< A21 , Context , proto::empty_env >::result_type child21; typedef typename evaluator::impl< A22 , Context , proto::empty_env >::result_type child22; typedef typename evaluator::impl< A23 , Context , proto::empty_env >::result_type child23; typedef typename evaluator::impl< A24 , Context , proto::empty_env >::result_type child24; typedef typename evaluator::impl< A25 , Context , proto::empty_env >::result_type child25; typedef typename evaluator::impl< A26 , Context , proto::empty_env >::result_type child26; typedef typename evaluator::impl< A27 , Context , proto::empty_env >::result_type child27; typedef typename evaluator::impl< A28 , Context , proto::empty_env >::result_type child28; typedef typename evaluator::impl< A29 , Context , proto::empty_env >::result_type child29; - typedef - typename boost::result_of< - child1( - child1 , child2 , child3 , child4 , child5 , child6 , child7 , child8 , child9 , child10 , child11 , child12 , child13 , child14 , child15 , child16 , child17 , child18 , child19 , child20 , child21 , child22 , child23 , child24 , child25 , child26 , child27 , child28 , child29 - ) - >::type - type; - }; - - - - - - - - template - struct mem_fun_ptr_eval - { - typedef typename evaluator::impl< A0 , Context , proto::empty_env >::result_type child0; typedef typename evaluator::impl< A1 , Context , proto::empty_env >::result_type child1; typedef typename evaluator::impl< A2 , Context , proto::empty_env >::result_type child2; typedef typename evaluator::impl< A3 , Context , proto::empty_env >::result_type child3; typedef typename evaluator::impl< A4 , Context , proto::empty_env >::result_type child4; typedef typename evaluator::impl< A5 , Context , proto::empty_env >::result_type child5; typedef typename evaluator::impl< A6 , Context , proto::empty_env >::result_type child6; typedef typename evaluator::impl< A7 , Context , proto::empty_env >::result_type child7; typedef typename evaluator::impl< A8 , Context , proto::empty_env >::result_type child8; typedef typename evaluator::impl< A9 , Context , proto::empty_env >::result_type child9; typedef typename evaluator::impl< A10 , Context , proto::empty_env >::result_type child10; typedef typename evaluator::impl< A11 , Context , proto::empty_env >::result_type child11; typedef typename evaluator::impl< A12 , Context , proto::empty_env >::result_type child12; typedef typename evaluator::impl< A13 , Context , proto::empty_env >::result_type child13; typedef typename evaluator::impl< A14 , Context , proto::empty_env >::result_type child14; typedef typename evaluator::impl< A15 , Context , proto::empty_env >::result_type child15; typedef typename evaluator::impl< A16 , Context , proto::empty_env >::result_type child16; typedef typename evaluator::impl< A17 , Context , proto::empty_env >::result_type child17; typedef typename evaluator::impl< A18 , Context , proto::empty_env >::result_type child18; typedef typename evaluator::impl< A19 , Context , proto::empty_env >::result_type child19; typedef typename evaluator::impl< A20 , Context , proto::empty_env >::result_type child20; typedef typename evaluator::impl< A21 , Context , proto::empty_env >::result_type child21; typedef typename evaluator::impl< A22 , Context , proto::empty_env >::result_type child22; typedef typename evaluator::impl< A23 , Context , proto::empty_env >::result_type child23; typedef typename evaluator::impl< A24 , Context , proto::empty_env >::result_type child24; typedef typename evaluator::impl< A25 , Context , proto::empty_env >::result_type child25; typedef typename evaluator::impl< A26 , Context , proto::empty_env >::result_type child26; typedef typename evaluator::impl< A27 , Context , proto::empty_env >::result_type child27; typedef typename evaluator::impl< A28 , Context , proto::empty_env >::result_type child28; typedef typename evaluator::impl< A29 , Context , proto::empty_env >::result_type child29; typedef typename evaluator::impl< A30 , Context , proto::empty_env >::result_type child30; - typedef - typename boost::result_of< - child1( - child1 , child2 , child3 , child4 , child5 , child6 , child7 , child8 , child9 , child10 , child11 , child12 , child13 , child14 , child15 , child16 , child17 , child18 , child19 , child20 , child21 , child22 , child23 , child24 , child25 , child26 , child27 , child28 , child29 , child30 - ) - >::type - type; - }; - - - - - - - - template - struct mem_fun_ptr_eval - { - typedef typename evaluator::impl< A0 , Context , proto::empty_env >::result_type child0; typedef typename evaluator::impl< A1 , Context , proto::empty_env >::result_type child1; typedef typename evaluator::impl< A2 , Context , proto::empty_env >::result_type child2; typedef typename evaluator::impl< A3 , Context , proto::empty_env >::result_type child3; typedef typename evaluator::impl< A4 , Context , proto::empty_env >::result_type child4; typedef typename evaluator::impl< A5 , Context , proto::empty_env >::result_type child5; typedef typename evaluator::impl< A6 , Context , proto::empty_env >::result_type child6; typedef typename evaluator::impl< A7 , Context , proto::empty_env >::result_type child7; typedef typename evaluator::impl< A8 , Context , proto::empty_env >::result_type child8; typedef typename evaluator::impl< A9 , Context , proto::empty_env >::result_type child9; typedef typename evaluator::impl< A10 , Context , proto::empty_env >::result_type child10; typedef typename evaluator::impl< A11 , Context , proto::empty_env >::result_type child11; typedef typename evaluator::impl< A12 , Context , proto::empty_env >::result_type child12; typedef typename evaluator::impl< A13 , Context , proto::empty_env >::result_type child13; typedef typename evaluator::impl< A14 , Context , proto::empty_env >::result_type child14; typedef typename evaluator::impl< A15 , Context , proto::empty_env >::result_type child15; typedef typename evaluator::impl< A16 , Context , proto::empty_env >::result_type child16; typedef typename evaluator::impl< A17 , Context , proto::empty_env >::result_type child17; typedef typename evaluator::impl< A18 , Context , proto::empty_env >::result_type child18; typedef typename evaluator::impl< A19 , Context , proto::empty_env >::result_type child19; typedef typename evaluator::impl< A20 , Context , proto::empty_env >::result_type child20; typedef typename evaluator::impl< A21 , Context , proto::empty_env >::result_type child21; typedef typename evaluator::impl< A22 , Context , proto::empty_env >::result_type child22; typedef typename evaluator::impl< A23 , Context , proto::empty_env >::result_type child23; typedef typename evaluator::impl< A24 , Context , proto::empty_env >::result_type child24; typedef typename evaluator::impl< A25 , Context , proto::empty_env >::result_type child25; typedef typename evaluator::impl< A26 , Context , proto::empty_env >::result_type child26; typedef typename evaluator::impl< A27 , Context , proto::empty_env >::result_type child27; typedef typename evaluator::impl< A28 , Context , proto::empty_env >::result_type child28; typedef typename evaluator::impl< A29 , Context , proto::empty_env >::result_type child29; typedef typename evaluator::impl< A30 , Context , proto::empty_env >::result_type child30; typedef typename evaluator::impl< A31 , Context , proto::empty_env >::result_type child31; - typedef - typename boost::result_of< - child1( - child1 , child2 , child3 , child4 , child5 , child6 , child7 , child8 , child9 , child10 , child11 , child12 , child13 , child14 , child15 , child16 , child17 , child18 , child19 , child20 , child21 , child22 , child23 , child24 , child25 , child26 , child27 , child28 , child29 , child30 , child31 - ) - >::type - type; - }; - - - - - - - - template - struct mem_fun_ptr_eval - { - typedef typename evaluator::impl< A0 , Context , proto::empty_env >::result_type child0; typedef typename evaluator::impl< A1 , Context , proto::empty_env >::result_type child1; typedef typename evaluator::impl< A2 , Context , proto::empty_env >::result_type child2; typedef typename evaluator::impl< A3 , Context , proto::empty_env >::result_type child3; typedef typename evaluator::impl< A4 , Context , proto::empty_env >::result_type child4; typedef typename evaluator::impl< A5 , Context , proto::empty_env >::result_type child5; typedef typename evaluator::impl< A6 , Context , proto::empty_env >::result_type child6; typedef typename evaluator::impl< A7 , Context , proto::empty_env >::result_type child7; typedef typename evaluator::impl< A8 , Context , proto::empty_env >::result_type child8; typedef typename evaluator::impl< A9 , Context , proto::empty_env >::result_type child9; typedef typename evaluator::impl< A10 , Context , proto::empty_env >::result_type child10; typedef typename evaluator::impl< A11 , Context , proto::empty_env >::result_type child11; typedef typename evaluator::impl< A12 , Context , proto::empty_env >::result_type child12; typedef typename evaluator::impl< A13 , Context , proto::empty_env >::result_type child13; typedef typename evaluator::impl< A14 , Context , proto::empty_env >::result_type child14; typedef typename evaluator::impl< A15 , Context , proto::empty_env >::result_type child15; typedef typename evaluator::impl< A16 , Context , proto::empty_env >::result_type child16; typedef typename evaluator::impl< A17 , Context , proto::empty_env >::result_type child17; typedef typename evaluator::impl< A18 , Context , proto::empty_env >::result_type child18; typedef typename evaluator::impl< A19 , Context , proto::empty_env >::result_type child19; typedef typename evaluator::impl< A20 , Context , proto::empty_env >::result_type child20; typedef typename evaluator::impl< A21 , Context , proto::empty_env >::result_type child21; typedef typename evaluator::impl< A22 , Context , proto::empty_env >::result_type child22; typedef typename evaluator::impl< A23 , Context , proto::empty_env >::result_type child23; typedef typename evaluator::impl< A24 , Context , proto::empty_env >::result_type child24; typedef typename evaluator::impl< A25 , Context , proto::empty_env >::result_type child25; typedef typename evaluator::impl< A26 , Context , proto::empty_env >::result_type child26; typedef typename evaluator::impl< A27 , Context , proto::empty_env >::result_type child27; typedef typename evaluator::impl< A28 , Context , proto::empty_env >::result_type child28; typedef typename evaluator::impl< A29 , Context , proto::empty_env >::result_type child29; typedef typename evaluator::impl< A30 , Context , proto::empty_env >::result_type child30; typedef typename evaluator::impl< A31 , Context , proto::empty_env >::result_type child31; typedef typename evaluator::impl< A32 , Context , proto::empty_env >::result_type child32; - typedef - typename boost::result_of< - child1( - child1 , child2 , child3 , child4 , child5 , child6 , child7 , child8 , child9 , child10 , child11 , child12 , child13 , child14 , child15 , child16 , child17 , child18 , child19 , child20 , child21 , child22 , child23 , child24 , child25 , child26 , child27 , child28 , child29 , child30 , child31 , child32 - ) - >::type - type; - }; - - - - - - - - template - struct mem_fun_ptr_eval - { - typedef typename evaluator::impl< A0 , Context , proto::empty_env >::result_type child0; typedef typename evaluator::impl< A1 , Context , proto::empty_env >::result_type child1; typedef typename evaluator::impl< A2 , Context , proto::empty_env >::result_type child2; typedef typename evaluator::impl< A3 , Context , proto::empty_env >::result_type child3; typedef typename evaluator::impl< A4 , Context , proto::empty_env >::result_type child4; typedef typename evaluator::impl< A5 , Context , proto::empty_env >::result_type child5; typedef typename evaluator::impl< A6 , Context , proto::empty_env >::result_type child6; typedef typename evaluator::impl< A7 , Context , proto::empty_env >::result_type child7; typedef typename evaluator::impl< A8 , Context , proto::empty_env >::result_type child8; typedef typename evaluator::impl< A9 , Context , proto::empty_env >::result_type child9; typedef typename evaluator::impl< A10 , Context , proto::empty_env >::result_type child10; typedef typename evaluator::impl< A11 , Context , proto::empty_env >::result_type child11; typedef typename evaluator::impl< A12 , Context , proto::empty_env >::result_type child12; typedef typename evaluator::impl< A13 , Context , proto::empty_env >::result_type child13; typedef typename evaluator::impl< A14 , Context , proto::empty_env >::result_type child14; typedef typename evaluator::impl< A15 , Context , proto::empty_env >::result_type child15; typedef typename evaluator::impl< A16 , Context , proto::empty_env >::result_type child16; typedef typename evaluator::impl< A17 , Context , proto::empty_env >::result_type child17; typedef typename evaluator::impl< A18 , Context , proto::empty_env >::result_type child18; typedef typename evaluator::impl< A19 , Context , proto::empty_env >::result_type child19; typedef typename evaluator::impl< A20 , Context , proto::empty_env >::result_type child20; typedef typename evaluator::impl< A21 , Context , proto::empty_env >::result_type child21; typedef typename evaluator::impl< A22 , Context , proto::empty_env >::result_type child22; typedef typename evaluator::impl< A23 , Context , proto::empty_env >::result_type child23; typedef typename evaluator::impl< A24 , Context , proto::empty_env >::result_type child24; typedef typename evaluator::impl< A25 , Context , proto::empty_env >::result_type child25; typedef typename evaluator::impl< A26 , Context , proto::empty_env >::result_type child26; typedef typename evaluator::impl< A27 , Context , proto::empty_env >::result_type child27; typedef typename evaluator::impl< A28 , Context , proto::empty_env >::result_type child28; typedef typename evaluator::impl< A29 , Context , proto::empty_env >::result_type child29; typedef typename evaluator::impl< A30 , Context , proto::empty_env >::result_type child30; typedef typename evaluator::impl< A31 , Context , proto::empty_env >::result_type child31; typedef typename evaluator::impl< A32 , Context , proto::empty_env >::result_type child32; typedef typename evaluator::impl< A33 , Context , proto::empty_env >::result_type child33; - typedef - typename boost::result_of< - child1( - child1 , child2 , child3 , child4 , child5 , child6 , child7 , child8 , child9 , child10 , child11 , child12 , child13 , child14 , child15 , child16 , child17 , child18 , child19 , child20 , child21 , child22 , child23 , child24 , child25 , child26 , child27 , child28 , child29 , child30 , child31 , child32 , child33 - ) - >::type - type; - }; - - - - - - - - template - struct mem_fun_ptr_eval - { - typedef typename evaluator::impl< A0 , Context , proto::empty_env >::result_type child0; typedef typename evaluator::impl< A1 , Context , proto::empty_env >::result_type child1; typedef typename evaluator::impl< A2 , Context , proto::empty_env >::result_type child2; typedef typename evaluator::impl< A3 , Context , proto::empty_env >::result_type child3; typedef typename evaluator::impl< A4 , Context , proto::empty_env >::result_type child4; typedef typename evaluator::impl< A5 , Context , proto::empty_env >::result_type child5; typedef typename evaluator::impl< A6 , Context , proto::empty_env >::result_type child6; typedef typename evaluator::impl< A7 , Context , proto::empty_env >::result_type child7; typedef typename evaluator::impl< A8 , Context , proto::empty_env >::result_type child8; typedef typename evaluator::impl< A9 , Context , proto::empty_env >::result_type child9; typedef typename evaluator::impl< A10 , Context , proto::empty_env >::result_type child10; typedef typename evaluator::impl< A11 , Context , proto::empty_env >::result_type child11; typedef typename evaluator::impl< A12 , Context , proto::empty_env >::result_type child12; typedef typename evaluator::impl< A13 , Context , proto::empty_env >::result_type child13; typedef typename evaluator::impl< A14 , Context , proto::empty_env >::result_type child14; typedef typename evaluator::impl< A15 , Context , proto::empty_env >::result_type child15; typedef typename evaluator::impl< A16 , Context , proto::empty_env >::result_type child16; typedef typename evaluator::impl< A17 , Context , proto::empty_env >::result_type child17; typedef typename evaluator::impl< A18 , Context , proto::empty_env >::result_type child18; typedef typename evaluator::impl< A19 , Context , proto::empty_env >::result_type child19; typedef typename evaluator::impl< A20 , Context , proto::empty_env >::result_type child20; typedef typename evaluator::impl< A21 , Context , proto::empty_env >::result_type child21; typedef typename evaluator::impl< A22 , Context , proto::empty_env >::result_type child22; typedef typename evaluator::impl< A23 , Context , proto::empty_env >::result_type child23; typedef typename evaluator::impl< A24 , Context , proto::empty_env >::result_type child24; typedef typename evaluator::impl< A25 , Context , proto::empty_env >::result_type child25; typedef typename evaluator::impl< A26 , Context , proto::empty_env >::result_type child26; typedef typename evaluator::impl< A27 , Context , proto::empty_env >::result_type child27; typedef typename evaluator::impl< A28 , Context , proto::empty_env >::result_type child28; typedef typename evaluator::impl< A29 , Context , proto::empty_env >::result_type child29; typedef typename evaluator::impl< A30 , Context , proto::empty_env >::result_type child30; typedef typename evaluator::impl< A31 , Context , proto::empty_env >::result_type child31; typedef typename evaluator::impl< A32 , Context , proto::empty_env >::result_type child32; typedef typename evaluator::impl< A33 , Context , proto::empty_env >::result_type child33; typedef typename evaluator::impl< A34 , Context , proto::empty_env >::result_type child34; - typedef - typename boost::result_of< - child1( - child1 , child2 , child3 , child4 , child5 , child6 , child7 , child8 , child9 , child10 , child11 , child12 , child13 , child14 , child15 , child16 , child17 , child18 , child19 , child20 , child21 , child22 , child23 , child24 , child25 , child26 , child27 , child28 , child29 , child30 , child31 , child32 , child33 , child34 - ) - >::type - type; - }; - - - - - - - - template - struct mem_fun_ptr_eval - { - typedef typename evaluator::impl< A0 , Context , proto::empty_env >::result_type child0; typedef typename evaluator::impl< A1 , Context , proto::empty_env >::result_type child1; typedef typename evaluator::impl< A2 , Context , proto::empty_env >::result_type child2; typedef typename evaluator::impl< A3 , Context , proto::empty_env >::result_type child3; typedef typename evaluator::impl< A4 , Context , proto::empty_env >::result_type child4; typedef typename evaluator::impl< A5 , Context , proto::empty_env >::result_type child5; typedef typename evaluator::impl< A6 , Context , proto::empty_env >::result_type child6; typedef typename evaluator::impl< A7 , Context , proto::empty_env >::result_type child7; typedef typename evaluator::impl< A8 , Context , proto::empty_env >::result_type child8; typedef typename evaluator::impl< A9 , Context , proto::empty_env >::result_type child9; typedef typename evaluator::impl< A10 , Context , proto::empty_env >::result_type child10; typedef typename evaluator::impl< A11 , Context , proto::empty_env >::result_type child11; typedef typename evaluator::impl< A12 , Context , proto::empty_env >::result_type child12; typedef typename evaluator::impl< A13 , Context , proto::empty_env >::result_type child13; typedef typename evaluator::impl< A14 , Context , proto::empty_env >::result_type child14; typedef typename evaluator::impl< A15 , Context , proto::empty_env >::result_type child15; typedef typename evaluator::impl< A16 , Context , proto::empty_env >::result_type child16; typedef typename evaluator::impl< A17 , Context , proto::empty_env >::result_type child17; typedef typename evaluator::impl< A18 , Context , proto::empty_env >::result_type child18; typedef typename evaluator::impl< A19 , Context , proto::empty_env >::result_type child19; typedef typename evaluator::impl< A20 , Context , proto::empty_env >::result_type child20; typedef typename evaluator::impl< A21 , Context , proto::empty_env >::result_type child21; typedef typename evaluator::impl< A22 , Context , proto::empty_env >::result_type child22; typedef typename evaluator::impl< A23 , Context , proto::empty_env >::result_type child23; typedef typename evaluator::impl< A24 , Context , proto::empty_env >::result_type child24; typedef typename evaluator::impl< A25 , Context , proto::empty_env >::result_type child25; typedef typename evaluator::impl< A26 , Context , proto::empty_env >::result_type child26; typedef typename evaluator::impl< A27 , Context , proto::empty_env >::result_type child27; typedef typename evaluator::impl< A28 , Context , proto::empty_env >::result_type child28; typedef typename evaluator::impl< A29 , Context , proto::empty_env >::result_type child29; typedef typename evaluator::impl< A30 , Context , proto::empty_env >::result_type child30; typedef typename evaluator::impl< A31 , Context , proto::empty_env >::result_type child31; typedef typename evaluator::impl< A32 , Context , proto::empty_env >::result_type child32; typedef typename evaluator::impl< A33 , Context , proto::empty_env >::result_type child33; typedef typename evaluator::impl< A34 , Context , proto::empty_env >::result_type child34; typedef typename evaluator::impl< A35 , Context , proto::empty_env >::result_type child35; - typedef - typename boost::result_of< - child1( - child1 , child2 , child3 , child4 , child5 , child6 , child7 , child8 , child9 , child10 , child11 , child12 , child13 , child14 , child15 , child16 , child17 , child18 , child19 , child20 , child21 , child22 , child23 , child24 , child25 , child26 , child27 , child28 , child29 , child30 , child31 , child32 , child33 , child34 , child35 - ) - >::type - type; - }; - - - - - - - - template - struct mem_fun_ptr_eval - { - typedef typename evaluator::impl< A0 , Context , proto::empty_env >::result_type child0; typedef typename evaluator::impl< A1 , Context , proto::empty_env >::result_type child1; typedef typename evaluator::impl< A2 , Context , proto::empty_env >::result_type child2; typedef typename evaluator::impl< A3 , Context , proto::empty_env >::result_type child3; typedef typename evaluator::impl< A4 , Context , proto::empty_env >::result_type child4; typedef typename evaluator::impl< A5 , Context , proto::empty_env >::result_type child5; typedef typename evaluator::impl< A6 , Context , proto::empty_env >::result_type child6; typedef typename evaluator::impl< A7 , Context , proto::empty_env >::result_type child7; typedef typename evaluator::impl< A8 , Context , proto::empty_env >::result_type child8; typedef typename evaluator::impl< A9 , Context , proto::empty_env >::result_type child9; typedef typename evaluator::impl< A10 , Context , proto::empty_env >::result_type child10; typedef typename evaluator::impl< A11 , Context , proto::empty_env >::result_type child11; typedef typename evaluator::impl< A12 , Context , proto::empty_env >::result_type child12; typedef typename evaluator::impl< A13 , Context , proto::empty_env >::result_type child13; typedef typename evaluator::impl< A14 , Context , proto::empty_env >::result_type child14; typedef typename evaluator::impl< A15 , Context , proto::empty_env >::result_type child15; typedef typename evaluator::impl< A16 , Context , proto::empty_env >::result_type child16; typedef typename evaluator::impl< A17 , Context , proto::empty_env >::result_type child17; typedef typename evaluator::impl< A18 , Context , proto::empty_env >::result_type child18; typedef typename evaluator::impl< A19 , Context , proto::empty_env >::result_type child19; typedef typename evaluator::impl< A20 , Context , proto::empty_env >::result_type child20; typedef typename evaluator::impl< A21 , Context , proto::empty_env >::result_type child21; typedef typename evaluator::impl< A22 , Context , proto::empty_env >::result_type child22; typedef typename evaluator::impl< A23 , Context , proto::empty_env >::result_type child23; typedef typename evaluator::impl< A24 , Context , proto::empty_env >::result_type child24; typedef typename evaluator::impl< A25 , Context , proto::empty_env >::result_type child25; typedef typename evaluator::impl< A26 , Context , proto::empty_env >::result_type child26; typedef typename evaluator::impl< A27 , Context , proto::empty_env >::result_type child27; typedef typename evaluator::impl< A28 , Context , proto::empty_env >::result_type child28; typedef typename evaluator::impl< A29 , Context , proto::empty_env >::result_type child29; typedef typename evaluator::impl< A30 , Context , proto::empty_env >::result_type child30; typedef typename evaluator::impl< A31 , Context , proto::empty_env >::result_type child31; typedef typename evaluator::impl< A32 , Context , proto::empty_env >::result_type child32; typedef typename evaluator::impl< A33 , Context , proto::empty_env >::result_type child33; typedef typename evaluator::impl< A34 , Context , proto::empty_env >::result_type child34; typedef typename evaluator::impl< A35 , Context , proto::empty_env >::result_type child35; typedef typename evaluator::impl< A36 , Context , proto::empty_env >::result_type child36; - typedef - typename boost::result_of< - child1( - child1 , child2 , child3 , child4 , child5 , child6 , child7 , child8 , child9 , child10 , child11 , child12 , child13 , child14 , child15 , child16 , child17 , child18 , child19 , child20 , child21 , child22 , child23 , child24 , child25 , child26 , child27 , child28 , child29 , child30 , child31 , child32 , child33 , child34 , child35 , child36 - ) - >::type - type; - }; - - - - - - - - template - struct mem_fun_ptr_eval - { - typedef typename evaluator::impl< A0 , Context , proto::empty_env >::result_type child0; typedef typename evaluator::impl< A1 , Context , proto::empty_env >::result_type child1; typedef typename evaluator::impl< A2 , Context , proto::empty_env >::result_type child2; typedef typename evaluator::impl< A3 , Context , proto::empty_env >::result_type child3; typedef typename evaluator::impl< A4 , Context , proto::empty_env >::result_type child4; typedef typename evaluator::impl< A5 , Context , proto::empty_env >::result_type child5; typedef typename evaluator::impl< A6 , Context , proto::empty_env >::result_type child6; typedef typename evaluator::impl< A7 , Context , proto::empty_env >::result_type child7; typedef typename evaluator::impl< A8 , Context , proto::empty_env >::result_type child8; typedef typename evaluator::impl< A9 , Context , proto::empty_env >::result_type child9; typedef typename evaluator::impl< A10 , Context , proto::empty_env >::result_type child10; typedef typename evaluator::impl< A11 , Context , proto::empty_env >::result_type child11; typedef typename evaluator::impl< A12 , Context , proto::empty_env >::result_type child12; typedef typename evaluator::impl< A13 , Context , proto::empty_env >::result_type child13; typedef typename evaluator::impl< A14 , Context , proto::empty_env >::result_type child14; typedef typename evaluator::impl< A15 , Context , proto::empty_env >::result_type child15; typedef typename evaluator::impl< A16 , Context , proto::empty_env >::result_type child16; typedef typename evaluator::impl< A17 , Context , proto::empty_env >::result_type child17; typedef typename evaluator::impl< A18 , Context , proto::empty_env >::result_type child18; typedef typename evaluator::impl< A19 , Context , proto::empty_env >::result_type child19; typedef typename evaluator::impl< A20 , Context , proto::empty_env >::result_type child20; typedef typename evaluator::impl< A21 , Context , proto::empty_env >::result_type child21; typedef typename evaluator::impl< A22 , Context , proto::empty_env >::result_type child22; typedef typename evaluator::impl< A23 , Context , proto::empty_env >::result_type child23; typedef typename evaluator::impl< A24 , Context , proto::empty_env >::result_type child24; typedef typename evaluator::impl< A25 , Context , proto::empty_env >::result_type child25; typedef typename evaluator::impl< A26 , Context , proto::empty_env >::result_type child26; typedef typename evaluator::impl< A27 , Context , proto::empty_env >::result_type child27; typedef typename evaluator::impl< A28 , Context , proto::empty_env >::result_type child28; typedef typename evaluator::impl< A29 , Context , proto::empty_env >::result_type child29; typedef typename evaluator::impl< A30 , Context , proto::empty_env >::result_type child30; typedef typename evaluator::impl< A31 , Context , proto::empty_env >::result_type child31; typedef typename evaluator::impl< A32 , Context , proto::empty_env >::result_type child32; typedef typename evaluator::impl< A33 , Context , proto::empty_env >::result_type child33; typedef typename evaluator::impl< A34 , Context , proto::empty_env >::result_type child34; typedef typename evaluator::impl< A35 , Context , proto::empty_env >::result_type child35; typedef typename evaluator::impl< A36 , Context , proto::empty_env >::result_type child36; typedef typename evaluator::impl< A37 , Context , proto::empty_env >::result_type child37; - typedef - typename boost::result_of< - child1( - child1 , child2 , child3 , child4 , child5 , child6 , child7 , child8 , child9 , child10 , child11 , child12 , child13 , child14 , child15 , child16 , child17 , child18 , child19 , child20 , child21 , child22 , child23 , child24 , child25 , child26 , child27 , child28 , child29 , child30 , child31 , child32 , child33 , child34 , child35 , child36 , child37 - ) - >::type - type; - }; - - - - - - - - template - struct mem_fun_ptr_eval - { - typedef typename evaluator::impl< A0 , Context , proto::empty_env >::result_type child0; typedef typename evaluator::impl< A1 , Context , proto::empty_env >::result_type child1; typedef typename evaluator::impl< A2 , Context , proto::empty_env >::result_type child2; typedef typename evaluator::impl< A3 , Context , proto::empty_env >::result_type child3; typedef typename evaluator::impl< A4 , Context , proto::empty_env >::result_type child4; typedef typename evaluator::impl< A5 , Context , proto::empty_env >::result_type child5; typedef typename evaluator::impl< A6 , Context , proto::empty_env >::result_type child6; typedef typename evaluator::impl< A7 , Context , proto::empty_env >::result_type child7; typedef typename evaluator::impl< A8 , Context , proto::empty_env >::result_type child8; typedef typename evaluator::impl< A9 , Context , proto::empty_env >::result_type child9; typedef typename evaluator::impl< A10 , Context , proto::empty_env >::result_type child10; typedef typename evaluator::impl< A11 , Context , proto::empty_env >::result_type child11; typedef typename evaluator::impl< A12 , Context , proto::empty_env >::result_type child12; typedef typename evaluator::impl< A13 , Context , proto::empty_env >::result_type child13; typedef typename evaluator::impl< A14 , Context , proto::empty_env >::result_type child14; typedef typename evaluator::impl< A15 , Context , proto::empty_env >::result_type child15; typedef typename evaluator::impl< A16 , Context , proto::empty_env >::result_type child16; typedef typename evaluator::impl< A17 , Context , proto::empty_env >::result_type child17; typedef typename evaluator::impl< A18 , Context , proto::empty_env >::result_type child18; typedef typename evaluator::impl< A19 , Context , proto::empty_env >::result_type child19; typedef typename evaluator::impl< A20 , Context , proto::empty_env >::result_type child20; typedef typename evaluator::impl< A21 , Context , proto::empty_env >::result_type child21; typedef typename evaluator::impl< A22 , Context , proto::empty_env >::result_type child22; typedef typename evaluator::impl< A23 , Context , proto::empty_env >::result_type child23; typedef typename evaluator::impl< A24 , Context , proto::empty_env >::result_type child24; typedef typename evaluator::impl< A25 , Context , proto::empty_env >::result_type child25; typedef typename evaluator::impl< A26 , Context , proto::empty_env >::result_type child26; typedef typename evaluator::impl< A27 , Context , proto::empty_env >::result_type child27; typedef typename evaluator::impl< A28 , Context , proto::empty_env >::result_type child28; typedef typename evaluator::impl< A29 , Context , proto::empty_env >::result_type child29; typedef typename evaluator::impl< A30 , Context , proto::empty_env >::result_type child30; typedef typename evaluator::impl< A31 , Context , proto::empty_env >::result_type child31; typedef typename evaluator::impl< A32 , Context , proto::empty_env >::result_type child32; typedef typename evaluator::impl< A33 , Context , proto::empty_env >::result_type child33; typedef typename evaluator::impl< A34 , Context , proto::empty_env >::result_type child34; typedef typename evaluator::impl< A35 , Context , proto::empty_env >::result_type child35; typedef typename evaluator::impl< A36 , Context , proto::empty_env >::result_type child36; typedef typename evaluator::impl< A37 , Context , proto::empty_env >::result_type child37; typedef typename evaluator::impl< A38 , Context , proto::empty_env >::result_type child38; - typedef - typename boost::result_of< - child1( - child1 , child2 , child3 , child4 , child5 , child6 , child7 , child8 , child9 , child10 , child11 , child12 , child13 , child14 , child15 , child16 , child17 , child18 , child19 , child20 , child21 , child22 , child23 , child24 , child25 , child26 , child27 , child28 , child29 , child30 , child31 , child32 , child33 , child34 , child35 , child36 , child37 , child38 - ) - >::type - type; - }; - - - - - - - - template - struct mem_fun_ptr_eval - { - typedef typename evaluator::impl< A0 , Context , proto::empty_env >::result_type child0; typedef typename evaluator::impl< A1 , Context , proto::empty_env >::result_type child1; typedef typename evaluator::impl< A2 , Context , proto::empty_env >::result_type child2; typedef typename evaluator::impl< A3 , Context , proto::empty_env >::result_type child3; typedef typename evaluator::impl< A4 , Context , proto::empty_env >::result_type child4; typedef typename evaluator::impl< A5 , Context , proto::empty_env >::result_type child5; typedef typename evaluator::impl< A6 , Context , proto::empty_env >::result_type child6; typedef typename evaluator::impl< A7 , Context , proto::empty_env >::result_type child7; typedef typename evaluator::impl< A8 , Context , proto::empty_env >::result_type child8; typedef typename evaluator::impl< A9 , Context , proto::empty_env >::result_type child9; typedef typename evaluator::impl< A10 , Context , proto::empty_env >::result_type child10; typedef typename evaluator::impl< A11 , Context , proto::empty_env >::result_type child11; typedef typename evaluator::impl< A12 , Context , proto::empty_env >::result_type child12; typedef typename evaluator::impl< A13 , Context , proto::empty_env >::result_type child13; typedef typename evaluator::impl< A14 , Context , proto::empty_env >::result_type child14; typedef typename evaluator::impl< A15 , Context , proto::empty_env >::result_type child15; typedef typename evaluator::impl< A16 , Context , proto::empty_env >::result_type child16; typedef typename evaluator::impl< A17 , Context , proto::empty_env >::result_type child17; typedef typename evaluator::impl< A18 , Context , proto::empty_env >::result_type child18; typedef typename evaluator::impl< A19 , Context , proto::empty_env >::result_type child19; typedef typename evaluator::impl< A20 , Context , proto::empty_env >::result_type child20; typedef typename evaluator::impl< A21 , Context , proto::empty_env >::result_type child21; typedef typename evaluator::impl< A22 , Context , proto::empty_env >::result_type child22; typedef typename evaluator::impl< A23 , Context , proto::empty_env >::result_type child23; typedef typename evaluator::impl< A24 , Context , proto::empty_env >::result_type child24; typedef typename evaluator::impl< A25 , Context , proto::empty_env >::result_type child25; typedef typename evaluator::impl< A26 , Context , proto::empty_env >::result_type child26; typedef typename evaluator::impl< A27 , Context , proto::empty_env >::result_type child27; typedef typename evaluator::impl< A28 , Context , proto::empty_env >::result_type child28; typedef typename evaluator::impl< A29 , Context , proto::empty_env >::result_type child29; typedef typename evaluator::impl< A30 , Context , proto::empty_env >::result_type child30; typedef typename evaluator::impl< A31 , Context , proto::empty_env >::result_type child31; typedef typename evaluator::impl< A32 , Context , proto::empty_env >::result_type child32; typedef typename evaluator::impl< A33 , Context , proto::empty_env >::result_type child33; typedef typename evaluator::impl< A34 , Context , proto::empty_env >::result_type child34; typedef typename evaluator::impl< A35 , Context , proto::empty_env >::result_type child35; typedef typename evaluator::impl< A36 , Context , proto::empty_env >::result_type child36; typedef typename evaluator::impl< A37 , Context , proto::empty_env >::result_type child37; typedef typename evaluator::impl< A38 , Context , proto::empty_env >::result_type child38; typedef typename evaluator::impl< A39 , Context , proto::empty_env >::result_type child39; - typedef - typename boost::result_of< - child1( - child1 , child2 , child3 , child4 , child5 , child6 , child7 , child8 , child9 , child10 , child11 , child12 , child13 , child14 , child15 , child16 , child17 , child18 , child19 , child20 , child21 , child22 , child23 , child24 , child25 , child26 , child27 , child28 , child29 , child30 , child31 , child32 , child33 , child34 , child35 , child36 , child37 , child38 , child39 - ) - >::type - type; - }; - } - struct mem_fun_ptr_eval - { - template - struct result; - - - - - - - - template - struct result - : result - {}; - template - struct result - : result_of::mem_fun_ptr_eval - {}; - template - typename result_of::mem_fun_ptr_eval::type - operator()( - A0 const& a0 , A1 const& a1 - , Context const & ctx - ) const - { - return - ( - get_pointer(boost::phoenix::eval(a0, ctx)) - ->*boost::phoenix::eval(a1, ctx) - )( - - ); - } - - - - - - - - - template - struct result - : result - {}; - template - struct result - : result_of::mem_fun_ptr_eval - {}; - template - typename result_of::mem_fun_ptr_eval::type - operator()( - A0 const& a0 , A1 const& a1 , A2 const& a2 - , Context const & ctx - ) const - { - return - ( - get_pointer(boost::phoenix::eval(a0, ctx)) - ->*boost::phoenix::eval(a1, ctx) - )( - boost::phoenix::eval(a2, ctx) - ); - } - - - - - - - - - template - struct result - : result - {}; - template - struct result - : result_of::mem_fun_ptr_eval - {}; - template - typename result_of::mem_fun_ptr_eval::type - operator()( - A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 - , Context const & ctx - ) const - { - return - ( - get_pointer(boost::phoenix::eval(a0, ctx)) - ->*boost::phoenix::eval(a1, ctx) - )( - boost::phoenix::eval(a2, ctx) , boost::phoenix::eval(a3, ctx) - ); - } - - - - - - - - - template - struct result - : result - {}; - template - struct result - : result_of::mem_fun_ptr_eval - {}; - template - typename result_of::mem_fun_ptr_eval::type - operator()( - A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 - , Context const & ctx - ) const - { - return - ( - get_pointer(boost::phoenix::eval(a0, ctx)) - ->*boost::phoenix::eval(a1, ctx) - )( - boost::phoenix::eval(a2, ctx) , boost::phoenix::eval(a3, ctx) , boost::phoenix::eval(a4, ctx) - ); - } - - - - - - - - - template - struct result - : result - {}; - template - struct result - : result_of::mem_fun_ptr_eval - {}; - template - typename result_of::mem_fun_ptr_eval::type - operator()( - A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 - , Context const & ctx - ) const - { - return - ( - get_pointer(boost::phoenix::eval(a0, ctx)) - ->*boost::phoenix::eval(a1, ctx) - )( - boost::phoenix::eval(a2, ctx) , boost::phoenix::eval(a3, ctx) , boost::phoenix::eval(a4, ctx) , boost::phoenix::eval(a5, ctx) - ); - } - - - - - - - - - template - struct result - : result - {}; - template - struct result - : result_of::mem_fun_ptr_eval - {}; - template - typename result_of::mem_fun_ptr_eval::type - operator()( - A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 - , Context const & ctx - ) const - { - return - ( - get_pointer(boost::phoenix::eval(a0, ctx)) - ->*boost::phoenix::eval(a1, ctx) - )( - boost::phoenix::eval(a2, ctx) , boost::phoenix::eval(a3, ctx) , boost::phoenix::eval(a4, ctx) , boost::phoenix::eval(a5, ctx) , boost::phoenix::eval(a6, ctx) - ); - } - - - - - - - - - template - struct result - : result - {}; - template - struct result - : result_of::mem_fun_ptr_eval - {}; - template - typename result_of::mem_fun_ptr_eval::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 - , Context const & ctx - ) const - { - return - ( - get_pointer(boost::phoenix::eval(a0, ctx)) - ->*boost::phoenix::eval(a1, ctx) - )( - boost::phoenix::eval(a2, ctx) , boost::phoenix::eval(a3, ctx) , boost::phoenix::eval(a4, ctx) , boost::phoenix::eval(a5, ctx) , boost::phoenix::eval(a6, ctx) , boost::phoenix::eval(a7, ctx) - ); - } - - - - - - - - - template - struct result - : result - {}; - template - struct result - : result_of::mem_fun_ptr_eval - {}; - template - typename result_of::mem_fun_ptr_eval::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 - , Context const & ctx - ) const - { - return - ( - get_pointer(boost::phoenix::eval(a0, ctx)) - ->*boost::phoenix::eval(a1, ctx) - )( - boost::phoenix::eval(a2, ctx) , boost::phoenix::eval(a3, ctx) , boost::phoenix::eval(a4, ctx) , boost::phoenix::eval(a5, ctx) , boost::phoenix::eval(a6, ctx) , boost::phoenix::eval(a7, ctx) , boost::phoenix::eval(a8, ctx) - ); - } - - - - - - - - - template - struct result - : result - {}; - template - struct result - : result_of::mem_fun_ptr_eval - {}; - template - typename result_of::mem_fun_ptr_eval::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 - , Context const & ctx - ) const - { - return - ( - get_pointer(boost::phoenix::eval(a0, ctx)) - ->*boost::phoenix::eval(a1, ctx) - )( - boost::phoenix::eval(a2, ctx) , boost::phoenix::eval(a3, ctx) , boost::phoenix::eval(a4, ctx) , boost::phoenix::eval(a5, ctx) , boost::phoenix::eval(a6, ctx) , boost::phoenix::eval(a7, ctx) , boost::phoenix::eval(a8, ctx) , boost::phoenix::eval(a9, ctx) - ); - } - - - - - - - - - template - struct result - : result - {}; - template - struct result - : result_of::mem_fun_ptr_eval - {}; - template - typename result_of::mem_fun_ptr_eval::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 , A10 const& a10 - , Context const & ctx - ) const - { - return - ( - get_pointer(boost::phoenix::eval(a0, ctx)) - ->*boost::phoenix::eval(a1, ctx) - )( - boost::phoenix::eval(a2, ctx) , boost::phoenix::eval(a3, ctx) , boost::phoenix::eval(a4, ctx) , boost::phoenix::eval(a5, ctx) , boost::phoenix::eval(a6, ctx) , boost::phoenix::eval(a7, ctx) , boost::phoenix::eval(a8, ctx) , boost::phoenix::eval(a9, ctx) , boost::phoenix::eval(a10, ctx) - ); - } - - - - - - - - - template - struct result - : result - {}; - template - struct result - : result_of::mem_fun_ptr_eval - {}; - template - typename result_of::mem_fun_ptr_eval::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 , A10 const& a10 , A11 const& a11 - , Context const & ctx - ) const - { - return - ( - get_pointer(boost::phoenix::eval(a0, ctx)) - ->*boost::phoenix::eval(a1, ctx) - )( - boost::phoenix::eval(a2, ctx) , boost::phoenix::eval(a3, ctx) , boost::phoenix::eval(a4, ctx) , boost::phoenix::eval(a5, ctx) , boost::phoenix::eval(a6, ctx) , boost::phoenix::eval(a7, ctx) , boost::phoenix::eval(a8, ctx) , boost::phoenix::eval(a9, ctx) , boost::phoenix::eval(a10, ctx) , boost::phoenix::eval(a11, ctx) - ); - } - - - - - - - - - template - struct result - : result - {}; - template - struct result - : result_of::mem_fun_ptr_eval - {}; - template - typename result_of::mem_fun_ptr_eval::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 , A10 const& a10 , A11 const& a11 , A12 const& a12 - , Context const & ctx - ) const - { - return - ( - get_pointer(boost::phoenix::eval(a0, ctx)) - ->*boost::phoenix::eval(a1, ctx) - )( - boost::phoenix::eval(a2, ctx) , boost::phoenix::eval(a3, ctx) , boost::phoenix::eval(a4, ctx) , boost::phoenix::eval(a5, ctx) , boost::phoenix::eval(a6, ctx) , boost::phoenix::eval(a7, ctx) , boost::phoenix::eval(a8, ctx) , boost::phoenix::eval(a9, ctx) , boost::phoenix::eval(a10, ctx) , boost::phoenix::eval(a11, ctx) , boost::phoenix::eval(a12, ctx) - ); - } - - - - - - - - - template - struct result - : result - {}; - template - struct result - : result_of::mem_fun_ptr_eval - {}; - template - typename result_of::mem_fun_ptr_eval::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 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 - , Context const & ctx - ) const - { - return - ( - get_pointer(boost::phoenix::eval(a0, ctx)) - ->*boost::phoenix::eval(a1, ctx) - )( - boost::phoenix::eval(a2, ctx) , boost::phoenix::eval(a3, ctx) , boost::phoenix::eval(a4, ctx) , boost::phoenix::eval(a5, ctx) , boost::phoenix::eval(a6, ctx) , boost::phoenix::eval(a7, ctx) , boost::phoenix::eval(a8, ctx) , boost::phoenix::eval(a9, ctx) , boost::phoenix::eval(a10, ctx) , boost::phoenix::eval(a11, ctx) , boost::phoenix::eval(a12, ctx) , boost::phoenix::eval(a13, ctx) - ); - } - - - - - - - - - template - struct result - : result - {}; - template - struct result - : result_of::mem_fun_ptr_eval - {}; - template - typename result_of::mem_fun_ptr_eval::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 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 - , Context const & ctx - ) const - { - return - ( - get_pointer(boost::phoenix::eval(a0, ctx)) - ->*boost::phoenix::eval(a1, ctx) - )( - boost::phoenix::eval(a2, ctx) , boost::phoenix::eval(a3, ctx) , boost::phoenix::eval(a4, ctx) , boost::phoenix::eval(a5, ctx) , boost::phoenix::eval(a6, ctx) , boost::phoenix::eval(a7, ctx) , boost::phoenix::eval(a8, ctx) , boost::phoenix::eval(a9, ctx) , boost::phoenix::eval(a10, ctx) , boost::phoenix::eval(a11, ctx) , boost::phoenix::eval(a12, ctx) , boost::phoenix::eval(a13, ctx) , boost::phoenix::eval(a14, ctx) - ); - } - - - - - - - - - template - struct result - : result - {}; - template - struct result - : result_of::mem_fun_ptr_eval - {}; - template - typename result_of::mem_fun_ptr_eval::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 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 - , Context const & ctx - ) const - { - return - ( - get_pointer(boost::phoenix::eval(a0, ctx)) - ->*boost::phoenix::eval(a1, ctx) - )( - boost::phoenix::eval(a2, ctx) , boost::phoenix::eval(a3, ctx) , boost::phoenix::eval(a4, ctx) , boost::phoenix::eval(a5, ctx) , boost::phoenix::eval(a6, ctx) , boost::phoenix::eval(a7, ctx) , boost::phoenix::eval(a8, ctx) , boost::phoenix::eval(a9, ctx) , boost::phoenix::eval(a10, ctx) , boost::phoenix::eval(a11, ctx) , boost::phoenix::eval(a12, ctx) , boost::phoenix::eval(a13, ctx) , boost::phoenix::eval(a14, ctx) , boost::phoenix::eval(a15, ctx) - ); - } - - - - - - - - - template - struct result - : result - {}; - template - struct result - : result_of::mem_fun_ptr_eval - {}; - template - typename result_of::mem_fun_ptr_eval::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 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 - , Context const & ctx - ) const - { - return - ( - get_pointer(boost::phoenix::eval(a0, ctx)) - ->*boost::phoenix::eval(a1, ctx) - )( - boost::phoenix::eval(a2, ctx) , boost::phoenix::eval(a3, ctx) , boost::phoenix::eval(a4, ctx) , boost::phoenix::eval(a5, ctx) , boost::phoenix::eval(a6, ctx) , boost::phoenix::eval(a7, ctx) , boost::phoenix::eval(a8, ctx) , boost::phoenix::eval(a9, ctx) , boost::phoenix::eval(a10, ctx) , boost::phoenix::eval(a11, ctx) , boost::phoenix::eval(a12, ctx) , boost::phoenix::eval(a13, ctx) , boost::phoenix::eval(a14, ctx) , boost::phoenix::eval(a15, ctx) , boost::phoenix::eval(a16, ctx) - ); - } - - - - - - - - - template - struct result - : result - {}; - template - struct result - : result_of::mem_fun_ptr_eval - {}; - template - typename result_of::mem_fun_ptr_eval::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 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 - , Context const & ctx - ) const - { - return - ( - get_pointer(boost::phoenix::eval(a0, ctx)) - ->*boost::phoenix::eval(a1, ctx) - )( - boost::phoenix::eval(a2, ctx) , boost::phoenix::eval(a3, ctx) , boost::phoenix::eval(a4, ctx) , boost::phoenix::eval(a5, ctx) , boost::phoenix::eval(a6, ctx) , boost::phoenix::eval(a7, ctx) , boost::phoenix::eval(a8, ctx) , boost::phoenix::eval(a9, ctx) , boost::phoenix::eval(a10, ctx) , boost::phoenix::eval(a11, ctx) , boost::phoenix::eval(a12, ctx) , boost::phoenix::eval(a13, ctx) , boost::phoenix::eval(a14, ctx) , boost::phoenix::eval(a15, ctx) , boost::phoenix::eval(a16, ctx) , boost::phoenix::eval(a17, ctx) - ); - } - - - - - - - - - template - struct result - : result - {}; - template - struct result - : result_of::mem_fun_ptr_eval - {}; - template - typename result_of::mem_fun_ptr_eval::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 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 - , Context const & ctx - ) const - { - return - ( - get_pointer(boost::phoenix::eval(a0, ctx)) - ->*boost::phoenix::eval(a1, ctx) - )( - boost::phoenix::eval(a2, ctx) , boost::phoenix::eval(a3, ctx) , boost::phoenix::eval(a4, ctx) , boost::phoenix::eval(a5, ctx) , boost::phoenix::eval(a6, ctx) , boost::phoenix::eval(a7, ctx) , boost::phoenix::eval(a8, ctx) , boost::phoenix::eval(a9, ctx) , boost::phoenix::eval(a10, ctx) , boost::phoenix::eval(a11, ctx) , boost::phoenix::eval(a12, ctx) , boost::phoenix::eval(a13, ctx) , boost::phoenix::eval(a14, ctx) , boost::phoenix::eval(a15, ctx) , boost::phoenix::eval(a16, ctx) , boost::phoenix::eval(a17, ctx) , boost::phoenix::eval(a18, ctx) - ); - } - - - - - - - - - template - struct result - : result - {}; - template - struct result - : result_of::mem_fun_ptr_eval - {}; - template - typename result_of::mem_fun_ptr_eval::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 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 - , Context const & ctx - ) const - { - return - ( - get_pointer(boost::phoenix::eval(a0, ctx)) - ->*boost::phoenix::eval(a1, ctx) - )( - boost::phoenix::eval(a2, ctx) , boost::phoenix::eval(a3, ctx) , boost::phoenix::eval(a4, ctx) , boost::phoenix::eval(a5, ctx) , boost::phoenix::eval(a6, ctx) , boost::phoenix::eval(a7, ctx) , boost::phoenix::eval(a8, ctx) , boost::phoenix::eval(a9, ctx) , boost::phoenix::eval(a10, ctx) , boost::phoenix::eval(a11, ctx) , boost::phoenix::eval(a12, ctx) , boost::phoenix::eval(a13, ctx) , boost::phoenix::eval(a14, ctx) , boost::phoenix::eval(a15, ctx) , boost::phoenix::eval(a16, ctx) , boost::phoenix::eval(a17, ctx) , boost::phoenix::eval(a18, ctx) , boost::phoenix::eval(a19, ctx) - ); - } - - - - - - - - - template - struct result - : result - {}; - template - struct result - : result_of::mem_fun_ptr_eval - {}; - template - typename result_of::mem_fun_ptr_eval::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 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 - , Context const & ctx - ) const - { - return - ( - get_pointer(boost::phoenix::eval(a0, ctx)) - ->*boost::phoenix::eval(a1, ctx) - )( - boost::phoenix::eval(a2, ctx) , boost::phoenix::eval(a3, ctx) , boost::phoenix::eval(a4, ctx) , boost::phoenix::eval(a5, ctx) , boost::phoenix::eval(a6, ctx) , boost::phoenix::eval(a7, ctx) , boost::phoenix::eval(a8, ctx) , boost::phoenix::eval(a9, ctx) , boost::phoenix::eval(a10, ctx) , boost::phoenix::eval(a11, ctx) , boost::phoenix::eval(a12, ctx) , boost::phoenix::eval(a13, ctx) , boost::phoenix::eval(a14, ctx) , boost::phoenix::eval(a15, ctx) , boost::phoenix::eval(a16, ctx) , boost::phoenix::eval(a17, ctx) , boost::phoenix::eval(a18, ctx) , boost::phoenix::eval(a19, ctx) , boost::phoenix::eval(a20, ctx) - ); - } - - - - - - - - - template - struct result - : result - {}; - template - struct result - : result_of::mem_fun_ptr_eval - {}; - template - typename result_of::mem_fun_ptr_eval::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 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 - , Context const & ctx - ) const - { - return - ( - get_pointer(boost::phoenix::eval(a0, ctx)) - ->*boost::phoenix::eval(a1, ctx) - )( - boost::phoenix::eval(a2, ctx) , boost::phoenix::eval(a3, ctx) , boost::phoenix::eval(a4, ctx) , boost::phoenix::eval(a5, ctx) , boost::phoenix::eval(a6, ctx) , boost::phoenix::eval(a7, ctx) , boost::phoenix::eval(a8, ctx) , boost::phoenix::eval(a9, ctx) , boost::phoenix::eval(a10, ctx) , boost::phoenix::eval(a11, ctx) , boost::phoenix::eval(a12, ctx) , boost::phoenix::eval(a13, ctx) , boost::phoenix::eval(a14, ctx) , boost::phoenix::eval(a15, ctx) , boost::phoenix::eval(a16, ctx) , boost::phoenix::eval(a17, ctx) , boost::phoenix::eval(a18, ctx) , boost::phoenix::eval(a19, ctx) , boost::phoenix::eval(a20, ctx) , boost::phoenix::eval(a21, ctx) - ); - } - - - - - - - - - template - struct result - : result - {}; - template - struct result - : result_of::mem_fun_ptr_eval - {}; - template - typename result_of::mem_fun_ptr_eval::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 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 - , Context const & ctx - ) const - { - return - ( - get_pointer(boost::phoenix::eval(a0, ctx)) - ->*boost::phoenix::eval(a1, ctx) - )( - boost::phoenix::eval(a2, ctx) , boost::phoenix::eval(a3, ctx) , boost::phoenix::eval(a4, ctx) , boost::phoenix::eval(a5, ctx) , boost::phoenix::eval(a6, ctx) , boost::phoenix::eval(a7, ctx) , boost::phoenix::eval(a8, ctx) , boost::phoenix::eval(a9, ctx) , boost::phoenix::eval(a10, ctx) , boost::phoenix::eval(a11, ctx) , boost::phoenix::eval(a12, ctx) , boost::phoenix::eval(a13, ctx) , boost::phoenix::eval(a14, ctx) , boost::phoenix::eval(a15, ctx) , boost::phoenix::eval(a16, ctx) , boost::phoenix::eval(a17, ctx) , boost::phoenix::eval(a18, ctx) , boost::phoenix::eval(a19, ctx) , boost::phoenix::eval(a20, ctx) , boost::phoenix::eval(a21, ctx) , boost::phoenix::eval(a22, ctx) - ); - } - - - - - - - - - template - struct result - : result - {}; - template - struct result - : result_of::mem_fun_ptr_eval - {}; - template - typename result_of::mem_fun_ptr_eval::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 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 - , Context const & ctx - ) const - { - return - ( - get_pointer(boost::phoenix::eval(a0, ctx)) - ->*boost::phoenix::eval(a1, ctx) - )( - boost::phoenix::eval(a2, ctx) , boost::phoenix::eval(a3, ctx) , boost::phoenix::eval(a4, ctx) , boost::phoenix::eval(a5, ctx) , boost::phoenix::eval(a6, ctx) , boost::phoenix::eval(a7, ctx) , boost::phoenix::eval(a8, ctx) , boost::phoenix::eval(a9, ctx) , boost::phoenix::eval(a10, ctx) , boost::phoenix::eval(a11, ctx) , boost::phoenix::eval(a12, ctx) , boost::phoenix::eval(a13, ctx) , boost::phoenix::eval(a14, ctx) , boost::phoenix::eval(a15, ctx) , boost::phoenix::eval(a16, ctx) , boost::phoenix::eval(a17, ctx) , boost::phoenix::eval(a18, ctx) , boost::phoenix::eval(a19, ctx) , boost::phoenix::eval(a20, ctx) , boost::phoenix::eval(a21, ctx) , boost::phoenix::eval(a22, ctx) , boost::phoenix::eval(a23, ctx) - ); - } - - - - - - - - - template - struct result - : result - {}; - template - struct result - : result_of::mem_fun_ptr_eval - {}; - template - typename result_of::mem_fun_ptr_eval::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 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 - , Context const & ctx - ) const - { - return - ( - get_pointer(boost::phoenix::eval(a0, ctx)) - ->*boost::phoenix::eval(a1, ctx) - )( - boost::phoenix::eval(a2, ctx) , boost::phoenix::eval(a3, ctx) , boost::phoenix::eval(a4, ctx) , boost::phoenix::eval(a5, ctx) , boost::phoenix::eval(a6, ctx) , boost::phoenix::eval(a7, ctx) , boost::phoenix::eval(a8, ctx) , boost::phoenix::eval(a9, ctx) , boost::phoenix::eval(a10, ctx) , boost::phoenix::eval(a11, ctx) , boost::phoenix::eval(a12, ctx) , boost::phoenix::eval(a13, ctx) , boost::phoenix::eval(a14, ctx) , boost::phoenix::eval(a15, ctx) , boost::phoenix::eval(a16, ctx) , boost::phoenix::eval(a17, ctx) , boost::phoenix::eval(a18, ctx) , boost::phoenix::eval(a19, ctx) , boost::phoenix::eval(a20, ctx) , boost::phoenix::eval(a21, ctx) , boost::phoenix::eval(a22, ctx) , boost::phoenix::eval(a23, ctx) , boost::phoenix::eval(a24, ctx) - ); - } - - - - - - - - - template - struct result - : result - {}; - template - struct result - : result_of::mem_fun_ptr_eval - {}; - template - typename result_of::mem_fun_ptr_eval::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 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 - , Context const & ctx - ) const - { - return - ( - get_pointer(boost::phoenix::eval(a0, ctx)) - ->*boost::phoenix::eval(a1, ctx) - )( - boost::phoenix::eval(a2, ctx) , boost::phoenix::eval(a3, ctx) , boost::phoenix::eval(a4, ctx) , boost::phoenix::eval(a5, ctx) , boost::phoenix::eval(a6, ctx) , boost::phoenix::eval(a7, ctx) , boost::phoenix::eval(a8, ctx) , boost::phoenix::eval(a9, ctx) , boost::phoenix::eval(a10, ctx) , boost::phoenix::eval(a11, ctx) , boost::phoenix::eval(a12, ctx) , boost::phoenix::eval(a13, ctx) , boost::phoenix::eval(a14, ctx) , boost::phoenix::eval(a15, ctx) , boost::phoenix::eval(a16, ctx) , boost::phoenix::eval(a17, ctx) , boost::phoenix::eval(a18, ctx) , boost::phoenix::eval(a19, ctx) , boost::phoenix::eval(a20, ctx) , boost::phoenix::eval(a21, ctx) , boost::phoenix::eval(a22, ctx) , boost::phoenix::eval(a23, ctx) , boost::phoenix::eval(a24, ctx) , boost::phoenix::eval(a25, ctx) - ); - } - - - - - - - - - template - struct result - : result - {}; - template - struct result - : result_of::mem_fun_ptr_eval - {}; - template - typename result_of::mem_fun_ptr_eval::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 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 - , Context const & ctx - ) const - { - return - ( - get_pointer(boost::phoenix::eval(a0, ctx)) - ->*boost::phoenix::eval(a1, ctx) - )( - boost::phoenix::eval(a2, ctx) , boost::phoenix::eval(a3, ctx) , boost::phoenix::eval(a4, ctx) , boost::phoenix::eval(a5, ctx) , boost::phoenix::eval(a6, ctx) , boost::phoenix::eval(a7, ctx) , boost::phoenix::eval(a8, ctx) , boost::phoenix::eval(a9, ctx) , boost::phoenix::eval(a10, ctx) , boost::phoenix::eval(a11, ctx) , boost::phoenix::eval(a12, ctx) , boost::phoenix::eval(a13, ctx) , boost::phoenix::eval(a14, ctx) , boost::phoenix::eval(a15, ctx) , boost::phoenix::eval(a16, ctx) , boost::phoenix::eval(a17, ctx) , boost::phoenix::eval(a18, ctx) , boost::phoenix::eval(a19, ctx) , boost::phoenix::eval(a20, ctx) , boost::phoenix::eval(a21, ctx) , boost::phoenix::eval(a22, ctx) , boost::phoenix::eval(a23, ctx) , boost::phoenix::eval(a24, ctx) , boost::phoenix::eval(a25, ctx) , boost::phoenix::eval(a26, ctx) - ); - } - - - - - - - - - template - struct result - : result - {}; - template - struct result - : result_of::mem_fun_ptr_eval - {}; - template - typename result_of::mem_fun_ptr_eval::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 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 - , Context const & ctx - ) const - { - return - ( - get_pointer(boost::phoenix::eval(a0, ctx)) - ->*boost::phoenix::eval(a1, ctx) - )( - boost::phoenix::eval(a2, ctx) , boost::phoenix::eval(a3, ctx) , boost::phoenix::eval(a4, ctx) , boost::phoenix::eval(a5, ctx) , boost::phoenix::eval(a6, ctx) , boost::phoenix::eval(a7, ctx) , boost::phoenix::eval(a8, ctx) , boost::phoenix::eval(a9, ctx) , boost::phoenix::eval(a10, ctx) , boost::phoenix::eval(a11, ctx) , boost::phoenix::eval(a12, ctx) , boost::phoenix::eval(a13, ctx) , boost::phoenix::eval(a14, ctx) , boost::phoenix::eval(a15, ctx) , boost::phoenix::eval(a16, ctx) , boost::phoenix::eval(a17, ctx) , boost::phoenix::eval(a18, ctx) , boost::phoenix::eval(a19, ctx) , boost::phoenix::eval(a20, ctx) , boost::phoenix::eval(a21, ctx) , boost::phoenix::eval(a22, ctx) , boost::phoenix::eval(a23, ctx) , boost::phoenix::eval(a24, ctx) , boost::phoenix::eval(a25, ctx) , boost::phoenix::eval(a26, ctx) , boost::phoenix::eval(a27, ctx) - ); - } - - - - - - - - - template - struct result - : result - {}; - template - struct result - : result_of::mem_fun_ptr_eval - {}; - template - typename result_of::mem_fun_ptr_eval::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 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 - , Context const & ctx - ) const - { - return - ( - get_pointer(boost::phoenix::eval(a0, ctx)) - ->*boost::phoenix::eval(a1, ctx) - )( - boost::phoenix::eval(a2, ctx) , boost::phoenix::eval(a3, ctx) , boost::phoenix::eval(a4, ctx) , boost::phoenix::eval(a5, ctx) , boost::phoenix::eval(a6, ctx) , boost::phoenix::eval(a7, ctx) , boost::phoenix::eval(a8, ctx) , boost::phoenix::eval(a9, ctx) , boost::phoenix::eval(a10, ctx) , boost::phoenix::eval(a11, ctx) , boost::phoenix::eval(a12, ctx) , boost::phoenix::eval(a13, ctx) , boost::phoenix::eval(a14, ctx) , boost::phoenix::eval(a15, ctx) , boost::phoenix::eval(a16, ctx) , boost::phoenix::eval(a17, ctx) , boost::phoenix::eval(a18, ctx) , boost::phoenix::eval(a19, ctx) , boost::phoenix::eval(a20, ctx) , boost::phoenix::eval(a21, ctx) , boost::phoenix::eval(a22, ctx) , boost::phoenix::eval(a23, ctx) , boost::phoenix::eval(a24, ctx) , boost::phoenix::eval(a25, ctx) , boost::phoenix::eval(a26, ctx) , boost::phoenix::eval(a27, ctx) , boost::phoenix::eval(a28, ctx) - ); - } - - - - - - - - - template - struct result - : result - {}; - template - struct result - : result_of::mem_fun_ptr_eval - {}; - template - typename result_of::mem_fun_ptr_eval::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 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 - , Context const & ctx - ) const - { - return - ( - get_pointer(boost::phoenix::eval(a0, ctx)) - ->*boost::phoenix::eval(a1, ctx) - )( - boost::phoenix::eval(a2, ctx) , boost::phoenix::eval(a3, ctx) , boost::phoenix::eval(a4, ctx) , boost::phoenix::eval(a5, ctx) , boost::phoenix::eval(a6, ctx) , boost::phoenix::eval(a7, ctx) , boost::phoenix::eval(a8, ctx) , boost::phoenix::eval(a9, ctx) , boost::phoenix::eval(a10, ctx) , boost::phoenix::eval(a11, ctx) , boost::phoenix::eval(a12, ctx) , boost::phoenix::eval(a13, ctx) , boost::phoenix::eval(a14, ctx) , boost::phoenix::eval(a15, ctx) , boost::phoenix::eval(a16, ctx) , boost::phoenix::eval(a17, ctx) , boost::phoenix::eval(a18, ctx) , boost::phoenix::eval(a19, ctx) , boost::phoenix::eval(a20, ctx) , boost::phoenix::eval(a21, ctx) , boost::phoenix::eval(a22, ctx) , boost::phoenix::eval(a23, ctx) , boost::phoenix::eval(a24, ctx) , boost::phoenix::eval(a25, ctx) , boost::phoenix::eval(a26, ctx) , boost::phoenix::eval(a27, ctx) , boost::phoenix::eval(a28, ctx) , boost::phoenix::eval(a29, ctx) - ); - } - - - - - - - - - template - struct result - : result - {}; - template - struct result - : result_of::mem_fun_ptr_eval - {}; - template - typename result_of::mem_fun_ptr_eval::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 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 - , Context const & ctx - ) const - { - return - ( - get_pointer(boost::phoenix::eval(a0, ctx)) - ->*boost::phoenix::eval(a1, ctx) - )( - boost::phoenix::eval(a2, ctx) , boost::phoenix::eval(a3, ctx) , boost::phoenix::eval(a4, ctx) , boost::phoenix::eval(a5, ctx) , boost::phoenix::eval(a6, ctx) , boost::phoenix::eval(a7, ctx) , boost::phoenix::eval(a8, ctx) , boost::phoenix::eval(a9, ctx) , boost::phoenix::eval(a10, ctx) , boost::phoenix::eval(a11, ctx) , boost::phoenix::eval(a12, ctx) , boost::phoenix::eval(a13, ctx) , boost::phoenix::eval(a14, ctx) , boost::phoenix::eval(a15, ctx) , boost::phoenix::eval(a16, ctx) , boost::phoenix::eval(a17, ctx) , boost::phoenix::eval(a18, ctx) , boost::phoenix::eval(a19, ctx) , boost::phoenix::eval(a20, ctx) , boost::phoenix::eval(a21, ctx) , boost::phoenix::eval(a22, ctx) , boost::phoenix::eval(a23, ctx) , boost::phoenix::eval(a24, ctx) , boost::phoenix::eval(a25, ctx) , boost::phoenix::eval(a26, ctx) , boost::phoenix::eval(a27, ctx) , boost::phoenix::eval(a28, ctx) , boost::phoenix::eval(a29, ctx) , boost::phoenix::eval(a30, ctx) - ); - } - - - - - - - - - template - struct result - : result - {}; - template - struct result - : result_of::mem_fun_ptr_eval - {}; - template - typename result_of::mem_fun_ptr_eval::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 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 - , Context const & ctx - ) const - { - return - ( - get_pointer(boost::phoenix::eval(a0, ctx)) - ->*boost::phoenix::eval(a1, ctx) - )( - boost::phoenix::eval(a2, ctx) , boost::phoenix::eval(a3, ctx) , boost::phoenix::eval(a4, ctx) , boost::phoenix::eval(a5, ctx) , boost::phoenix::eval(a6, ctx) , boost::phoenix::eval(a7, ctx) , boost::phoenix::eval(a8, ctx) , boost::phoenix::eval(a9, ctx) , boost::phoenix::eval(a10, ctx) , boost::phoenix::eval(a11, ctx) , boost::phoenix::eval(a12, ctx) , boost::phoenix::eval(a13, ctx) , boost::phoenix::eval(a14, ctx) , boost::phoenix::eval(a15, ctx) , boost::phoenix::eval(a16, ctx) , boost::phoenix::eval(a17, ctx) , boost::phoenix::eval(a18, ctx) , boost::phoenix::eval(a19, ctx) , boost::phoenix::eval(a20, ctx) , boost::phoenix::eval(a21, ctx) , boost::phoenix::eval(a22, ctx) , boost::phoenix::eval(a23, ctx) , boost::phoenix::eval(a24, ctx) , boost::phoenix::eval(a25, ctx) , boost::phoenix::eval(a26, ctx) , boost::phoenix::eval(a27, ctx) , boost::phoenix::eval(a28, ctx) , boost::phoenix::eval(a29, ctx) , boost::phoenix::eval(a30, ctx) , boost::phoenix::eval(a31, ctx) - ); - } - - - - - - - - - template - struct result - : result - {}; - template - struct result - : result_of::mem_fun_ptr_eval - {}; - template - typename result_of::mem_fun_ptr_eval::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 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 - , Context const & ctx - ) const - { - return - ( - get_pointer(boost::phoenix::eval(a0, ctx)) - ->*boost::phoenix::eval(a1, ctx) - )( - boost::phoenix::eval(a2, ctx) , boost::phoenix::eval(a3, ctx) , boost::phoenix::eval(a4, ctx) , boost::phoenix::eval(a5, ctx) , boost::phoenix::eval(a6, ctx) , boost::phoenix::eval(a7, ctx) , boost::phoenix::eval(a8, ctx) , boost::phoenix::eval(a9, ctx) , boost::phoenix::eval(a10, ctx) , boost::phoenix::eval(a11, ctx) , boost::phoenix::eval(a12, ctx) , boost::phoenix::eval(a13, ctx) , boost::phoenix::eval(a14, ctx) , boost::phoenix::eval(a15, ctx) , boost::phoenix::eval(a16, ctx) , boost::phoenix::eval(a17, ctx) , boost::phoenix::eval(a18, ctx) , boost::phoenix::eval(a19, ctx) , boost::phoenix::eval(a20, ctx) , boost::phoenix::eval(a21, ctx) , boost::phoenix::eval(a22, ctx) , boost::phoenix::eval(a23, ctx) , boost::phoenix::eval(a24, ctx) , boost::phoenix::eval(a25, ctx) , boost::phoenix::eval(a26, ctx) , boost::phoenix::eval(a27, ctx) , boost::phoenix::eval(a28, ctx) , boost::phoenix::eval(a29, ctx) , boost::phoenix::eval(a30, ctx) , boost::phoenix::eval(a31, ctx) , boost::phoenix::eval(a32, ctx) - ); - } - - - - - - - - - template - struct result - : result - {}; - template - struct result - : result_of::mem_fun_ptr_eval - {}; - template - typename result_of::mem_fun_ptr_eval::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 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 - , Context const & ctx - ) const - { - return - ( - get_pointer(boost::phoenix::eval(a0, ctx)) - ->*boost::phoenix::eval(a1, ctx) - )( - boost::phoenix::eval(a2, ctx) , boost::phoenix::eval(a3, ctx) , boost::phoenix::eval(a4, ctx) , boost::phoenix::eval(a5, ctx) , boost::phoenix::eval(a6, ctx) , boost::phoenix::eval(a7, ctx) , boost::phoenix::eval(a8, ctx) , boost::phoenix::eval(a9, ctx) , boost::phoenix::eval(a10, ctx) , boost::phoenix::eval(a11, ctx) , boost::phoenix::eval(a12, ctx) , boost::phoenix::eval(a13, ctx) , boost::phoenix::eval(a14, ctx) , boost::phoenix::eval(a15, ctx) , boost::phoenix::eval(a16, ctx) , boost::phoenix::eval(a17, ctx) , boost::phoenix::eval(a18, ctx) , boost::phoenix::eval(a19, ctx) , boost::phoenix::eval(a20, ctx) , boost::phoenix::eval(a21, ctx) , boost::phoenix::eval(a22, ctx) , boost::phoenix::eval(a23, ctx) , boost::phoenix::eval(a24, ctx) , boost::phoenix::eval(a25, ctx) , boost::phoenix::eval(a26, ctx) , boost::phoenix::eval(a27, ctx) , boost::phoenix::eval(a28, ctx) , boost::phoenix::eval(a29, ctx) , boost::phoenix::eval(a30, ctx) , boost::phoenix::eval(a31, ctx) , boost::phoenix::eval(a32, ctx) , boost::phoenix::eval(a33, ctx) - ); - } - - - - - - - - - template - struct result - : result - {}; - template - struct result - : result_of::mem_fun_ptr_eval - {}; - template - typename result_of::mem_fun_ptr_eval::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 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 - , Context const & ctx - ) const - { - return - ( - get_pointer(boost::phoenix::eval(a0, ctx)) - ->*boost::phoenix::eval(a1, ctx) - )( - boost::phoenix::eval(a2, ctx) , boost::phoenix::eval(a3, ctx) , boost::phoenix::eval(a4, ctx) , boost::phoenix::eval(a5, ctx) , boost::phoenix::eval(a6, ctx) , boost::phoenix::eval(a7, ctx) , boost::phoenix::eval(a8, ctx) , boost::phoenix::eval(a9, ctx) , boost::phoenix::eval(a10, ctx) , boost::phoenix::eval(a11, ctx) , boost::phoenix::eval(a12, ctx) , boost::phoenix::eval(a13, ctx) , boost::phoenix::eval(a14, ctx) , boost::phoenix::eval(a15, ctx) , boost::phoenix::eval(a16, ctx) , boost::phoenix::eval(a17, ctx) , boost::phoenix::eval(a18, ctx) , boost::phoenix::eval(a19, ctx) , boost::phoenix::eval(a20, ctx) , boost::phoenix::eval(a21, ctx) , boost::phoenix::eval(a22, ctx) , boost::phoenix::eval(a23, ctx) , boost::phoenix::eval(a24, ctx) , boost::phoenix::eval(a25, ctx) , boost::phoenix::eval(a26, ctx) , boost::phoenix::eval(a27, ctx) , boost::phoenix::eval(a28, ctx) , boost::phoenix::eval(a29, ctx) , boost::phoenix::eval(a30, ctx) , boost::phoenix::eval(a31, ctx) , boost::phoenix::eval(a32, ctx) , boost::phoenix::eval(a33, ctx) , boost::phoenix::eval(a34, ctx) - ); - } - - - - - - - - - template - struct result - : result - {}; - template - struct result - : result_of::mem_fun_ptr_eval - {}; - template - typename result_of::mem_fun_ptr_eval::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 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 - , Context const & ctx - ) const - { - return - ( - get_pointer(boost::phoenix::eval(a0, ctx)) - ->*boost::phoenix::eval(a1, ctx) - )( - boost::phoenix::eval(a2, ctx) , boost::phoenix::eval(a3, ctx) , boost::phoenix::eval(a4, ctx) , boost::phoenix::eval(a5, ctx) , boost::phoenix::eval(a6, ctx) , boost::phoenix::eval(a7, ctx) , boost::phoenix::eval(a8, ctx) , boost::phoenix::eval(a9, ctx) , boost::phoenix::eval(a10, ctx) , boost::phoenix::eval(a11, ctx) , boost::phoenix::eval(a12, ctx) , boost::phoenix::eval(a13, ctx) , boost::phoenix::eval(a14, ctx) , boost::phoenix::eval(a15, ctx) , boost::phoenix::eval(a16, ctx) , boost::phoenix::eval(a17, ctx) , boost::phoenix::eval(a18, ctx) , boost::phoenix::eval(a19, ctx) , boost::phoenix::eval(a20, ctx) , boost::phoenix::eval(a21, ctx) , boost::phoenix::eval(a22, ctx) , boost::phoenix::eval(a23, ctx) , boost::phoenix::eval(a24, ctx) , boost::phoenix::eval(a25, ctx) , boost::phoenix::eval(a26, ctx) , boost::phoenix::eval(a27, ctx) , boost::phoenix::eval(a28, ctx) , boost::phoenix::eval(a29, ctx) , boost::phoenix::eval(a30, ctx) , boost::phoenix::eval(a31, ctx) , boost::phoenix::eval(a32, ctx) , boost::phoenix::eval(a33, ctx) , boost::phoenix::eval(a34, ctx) , boost::phoenix::eval(a35, ctx) - ); - } - - - - - - - - - template - struct result - : result - {}; - template - struct result - : result_of::mem_fun_ptr_eval - {}; - template - typename result_of::mem_fun_ptr_eval::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 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36 - , Context const & ctx - ) const - { - return - ( - get_pointer(boost::phoenix::eval(a0, ctx)) - ->*boost::phoenix::eval(a1, ctx) - )( - boost::phoenix::eval(a2, ctx) , boost::phoenix::eval(a3, ctx) , boost::phoenix::eval(a4, ctx) , boost::phoenix::eval(a5, ctx) , boost::phoenix::eval(a6, ctx) , boost::phoenix::eval(a7, ctx) , boost::phoenix::eval(a8, ctx) , boost::phoenix::eval(a9, ctx) , boost::phoenix::eval(a10, ctx) , boost::phoenix::eval(a11, ctx) , boost::phoenix::eval(a12, ctx) , boost::phoenix::eval(a13, ctx) , boost::phoenix::eval(a14, ctx) , boost::phoenix::eval(a15, ctx) , boost::phoenix::eval(a16, ctx) , boost::phoenix::eval(a17, ctx) , boost::phoenix::eval(a18, ctx) , boost::phoenix::eval(a19, ctx) , boost::phoenix::eval(a20, ctx) , boost::phoenix::eval(a21, ctx) , boost::phoenix::eval(a22, ctx) , boost::phoenix::eval(a23, ctx) , boost::phoenix::eval(a24, ctx) , boost::phoenix::eval(a25, ctx) , boost::phoenix::eval(a26, ctx) , boost::phoenix::eval(a27, ctx) , boost::phoenix::eval(a28, ctx) , boost::phoenix::eval(a29, ctx) , boost::phoenix::eval(a30, ctx) , boost::phoenix::eval(a31, ctx) , boost::phoenix::eval(a32, ctx) , boost::phoenix::eval(a33, ctx) , boost::phoenix::eval(a34, ctx) , boost::phoenix::eval(a35, ctx) , boost::phoenix::eval(a36, ctx) - ); - } - - - - - - - - - template - struct result - : result - {}; - template - struct result - : result_of::mem_fun_ptr_eval - {}; - template - typename result_of::mem_fun_ptr_eval::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 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36 , A37 const& a37 - , Context const & ctx - ) const - { - return - ( - get_pointer(boost::phoenix::eval(a0, ctx)) - ->*boost::phoenix::eval(a1, ctx) - )( - boost::phoenix::eval(a2, ctx) , boost::phoenix::eval(a3, ctx) , boost::phoenix::eval(a4, ctx) , boost::phoenix::eval(a5, ctx) , boost::phoenix::eval(a6, ctx) , boost::phoenix::eval(a7, ctx) , boost::phoenix::eval(a8, ctx) , boost::phoenix::eval(a9, ctx) , boost::phoenix::eval(a10, ctx) , boost::phoenix::eval(a11, ctx) , boost::phoenix::eval(a12, ctx) , boost::phoenix::eval(a13, ctx) , boost::phoenix::eval(a14, ctx) , boost::phoenix::eval(a15, ctx) , boost::phoenix::eval(a16, ctx) , boost::phoenix::eval(a17, ctx) , boost::phoenix::eval(a18, ctx) , boost::phoenix::eval(a19, ctx) , boost::phoenix::eval(a20, ctx) , boost::phoenix::eval(a21, ctx) , boost::phoenix::eval(a22, ctx) , boost::phoenix::eval(a23, ctx) , boost::phoenix::eval(a24, ctx) , boost::phoenix::eval(a25, ctx) , boost::phoenix::eval(a26, ctx) , boost::phoenix::eval(a27, ctx) , boost::phoenix::eval(a28, ctx) , boost::phoenix::eval(a29, ctx) , boost::phoenix::eval(a30, ctx) , boost::phoenix::eval(a31, ctx) , boost::phoenix::eval(a32, ctx) , boost::phoenix::eval(a33, ctx) , boost::phoenix::eval(a34, ctx) , boost::phoenix::eval(a35, ctx) , boost::phoenix::eval(a36, ctx) , boost::phoenix::eval(a37, ctx) - ); - } - - - - - - - - - template - struct result - : result - {}; - template - struct result - : result_of::mem_fun_ptr_eval - {}; - template - typename result_of::mem_fun_ptr_eval::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 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36 , A37 const& a37 , A38 const& a38 - , Context const & ctx - ) const - { - return - ( - get_pointer(boost::phoenix::eval(a0, ctx)) - ->*boost::phoenix::eval(a1, ctx) - )( - boost::phoenix::eval(a2, ctx) , boost::phoenix::eval(a3, ctx) , boost::phoenix::eval(a4, ctx) , boost::phoenix::eval(a5, ctx) , boost::phoenix::eval(a6, ctx) , boost::phoenix::eval(a7, ctx) , boost::phoenix::eval(a8, ctx) , boost::phoenix::eval(a9, ctx) , boost::phoenix::eval(a10, ctx) , boost::phoenix::eval(a11, ctx) , boost::phoenix::eval(a12, ctx) , boost::phoenix::eval(a13, ctx) , boost::phoenix::eval(a14, ctx) , boost::phoenix::eval(a15, ctx) , boost::phoenix::eval(a16, ctx) , boost::phoenix::eval(a17, ctx) , boost::phoenix::eval(a18, ctx) , boost::phoenix::eval(a19, ctx) , boost::phoenix::eval(a20, ctx) , boost::phoenix::eval(a21, ctx) , boost::phoenix::eval(a22, ctx) , boost::phoenix::eval(a23, ctx) , boost::phoenix::eval(a24, ctx) , boost::phoenix::eval(a25, ctx) , boost::phoenix::eval(a26, ctx) , boost::phoenix::eval(a27, ctx) , boost::phoenix::eval(a28, ctx) , boost::phoenix::eval(a29, ctx) , boost::phoenix::eval(a30, ctx) , boost::phoenix::eval(a31, ctx) , boost::phoenix::eval(a32, ctx) , boost::phoenix::eval(a33, ctx) , boost::phoenix::eval(a34, ctx) , boost::phoenix::eval(a35, ctx) , boost::phoenix::eval(a36, ctx) , boost::phoenix::eval(a37, ctx) , boost::phoenix::eval(a38, ctx) - ); - } - - - - - - - - - template - struct result - : result - {}; - template - struct result - : result_of::mem_fun_ptr_eval - {}; - template - typename result_of::mem_fun_ptr_eval::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 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36 , A37 const& a37 , A38 const& a38 , A39 const& a39 - , Context const & ctx - ) const - { - return - ( - get_pointer(boost::phoenix::eval(a0, ctx)) - ->*boost::phoenix::eval(a1, ctx) - )( - boost::phoenix::eval(a2, ctx) , boost::phoenix::eval(a3, ctx) , boost::phoenix::eval(a4, ctx) , boost::phoenix::eval(a5, ctx) , boost::phoenix::eval(a6, ctx) , boost::phoenix::eval(a7, ctx) , boost::phoenix::eval(a8, ctx) , boost::phoenix::eval(a9, ctx) , boost::phoenix::eval(a10, ctx) , boost::phoenix::eval(a11, ctx) , boost::phoenix::eval(a12, ctx) , boost::phoenix::eval(a13, ctx) , boost::phoenix::eval(a14, ctx) , boost::phoenix::eval(a15, ctx) , boost::phoenix::eval(a16, ctx) , boost::phoenix::eval(a17, ctx) , boost::phoenix::eval(a18, ctx) , boost::phoenix::eval(a19, ctx) , boost::phoenix::eval(a20, ctx) , boost::phoenix::eval(a21, ctx) , boost::phoenix::eval(a22, ctx) , boost::phoenix::eval(a23, ctx) , boost::phoenix::eval(a24, ctx) , boost::phoenix::eval(a25, ctx) , boost::phoenix::eval(a26, ctx) , boost::phoenix::eval(a27, ctx) , boost::phoenix::eval(a28, ctx) , boost::phoenix::eval(a29, ctx) , boost::phoenix::eval(a30, ctx) , boost::phoenix::eval(a31, ctx) , boost::phoenix::eval(a32, ctx) , boost::phoenix::eval(a33, ctx) , boost::phoenix::eval(a34, ctx) , boost::phoenix::eval(a35, ctx) , boost::phoenix::eval(a36, ctx) , boost::phoenix::eval(a37, ctx) , boost::phoenix::eval(a38, ctx) , boost::phoenix::eval(a39, ctx) - ); - } - - }; - template - struct default_actions::when - : call - {}; -}} diff --git a/include/boost/phoenix/operator/preprocessed/member_50.hpp b/include/boost/phoenix/operator/preprocessed/member_50.hpp deleted file mode 100644 index 58996ca..0000000 --- a/include/boost/phoenix/operator/preprocessed/member_50.hpp +++ /dev/null @@ -1,2494 +0,0 @@ -/*============================================================================== - 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 boost { namespace phoenix -{ - namespace expression { template struct mem_ptr : expr {}; } namespace rule { struct mem_ptr : expression:: mem_ptr {}; } template struct meta_grammar::case_ : enable_rule {}; namespace functional { typedef proto::functional::make_expr make_mem_ptr; } namespace result_of { template struct make_mem_ptr : boost::result_of< functional:: make_mem_ptr( Lhs, Rhs ) > {}; } template inline typename result_of::make_mem_ptr::type make_mem_ptr(Lhs const & lhs, Rhs const & rhs) { return functional::make_mem_ptr()(lhs, rhs); } - template<> - struct phoenix_generator::case_ - : proto::or_< - proto::when< - proto::and_< - proto::mem_ptr > - , proto::if_ > >()> - > - , proto::call)> - > - , proto::otherwise< - proto::call(proto::_)> - > - > - {}; - namespace result_of - { - template < - typename Context - , 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 A20 = void , typename A21 = void , typename A22 = void , typename A23 = void , typename A24 = void , typename A25 = void , typename A26 = void , typename A27 = void , typename A28 = void , typename A29 = void , typename A30 = void , typename A31 = void , typename A32 = void , typename A33 = void , typename A34 = void , typename A35 = void , typename A36 = void , typename A37 = void , typename A38 = void , typename A39 = void , typename A40 = void , typename A41 = void , typename A42 = void , typename A43 = void , typename A44 = void , typename A45 = void , typename A46 = void , typename A47 = void , typename A48 = void , typename A49 = void - , typename Dummy = void - > - struct mem_fun_ptr_eval; - - - - - - - - template - struct mem_fun_ptr_eval - { - typedef typename evaluator::impl< A0 , Context , proto::empty_env >::result_type child0; typedef typename evaluator::impl< A1 , Context , proto::empty_env >::result_type child1; - typedef - typename boost::result_of< - child1( - child1 - ) - >::type - type; - }; - - - - - - - - template - struct mem_fun_ptr_eval - { - typedef typename evaluator::impl< A0 , Context , proto::empty_env >::result_type child0; typedef typename evaluator::impl< A1 , Context , proto::empty_env >::result_type child1; typedef typename evaluator::impl< A2 , Context , proto::empty_env >::result_type child2; - typedef - typename boost::result_of< - child1( - child1 , child2 - ) - >::type - type; - }; - - - - - - - - template - struct mem_fun_ptr_eval - { - typedef typename evaluator::impl< A0 , Context , proto::empty_env >::result_type child0; typedef typename evaluator::impl< A1 , Context , proto::empty_env >::result_type child1; typedef typename evaluator::impl< A2 , Context , proto::empty_env >::result_type child2; typedef typename evaluator::impl< A3 , Context , proto::empty_env >::result_type child3; - typedef - typename boost::result_of< - child1( - child1 , child2 , child3 - ) - >::type - type; - }; - - - - - - - - template - struct mem_fun_ptr_eval - { - typedef typename evaluator::impl< A0 , Context , proto::empty_env >::result_type child0; typedef typename evaluator::impl< A1 , Context , proto::empty_env >::result_type child1; typedef typename evaluator::impl< A2 , Context , proto::empty_env >::result_type child2; typedef typename evaluator::impl< A3 , Context , proto::empty_env >::result_type child3; typedef typename evaluator::impl< A4 , Context , proto::empty_env >::result_type child4; - typedef - typename boost::result_of< - child1( - child1 , child2 , child3 , child4 - ) - >::type - type; - }; - - - - - - - - template - struct mem_fun_ptr_eval - { - typedef typename evaluator::impl< A0 , Context , proto::empty_env >::result_type child0; typedef typename evaluator::impl< A1 , Context , proto::empty_env >::result_type child1; typedef typename evaluator::impl< A2 , Context , proto::empty_env >::result_type child2; typedef typename evaluator::impl< A3 , Context , proto::empty_env >::result_type child3; typedef typename evaluator::impl< A4 , Context , proto::empty_env >::result_type child4; typedef typename evaluator::impl< A5 , Context , proto::empty_env >::result_type child5; - typedef - typename boost::result_of< - child1( - child1 , child2 , child3 , child4 , child5 - ) - >::type - type; - }; - - - - - - - - template - struct mem_fun_ptr_eval - { - typedef typename evaluator::impl< A0 , Context , proto::empty_env >::result_type child0; typedef typename evaluator::impl< A1 , Context , proto::empty_env >::result_type child1; typedef typename evaluator::impl< A2 , Context , proto::empty_env >::result_type child2; typedef typename evaluator::impl< A3 , Context , proto::empty_env >::result_type child3; typedef typename evaluator::impl< A4 , Context , proto::empty_env >::result_type child4; typedef typename evaluator::impl< A5 , Context , proto::empty_env >::result_type child5; typedef typename evaluator::impl< A6 , Context , proto::empty_env >::result_type child6; - typedef - typename boost::result_of< - child1( - child1 , child2 , child3 , child4 , child5 , child6 - ) - >::type - type; - }; - - - - - - - - template - struct mem_fun_ptr_eval - { - typedef typename evaluator::impl< A0 , Context , proto::empty_env >::result_type child0; typedef typename evaluator::impl< A1 , Context , proto::empty_env >::result_type child1; typedef typename evaluator::impl< A2 , Context , proto::empty_env >::result_type child2; typedef typename evaluator::impl< A3 , Context , proto::empty_env >::result_type child3; typedef typename evaluator::impl< A4 , Context , proto::empty_env >::result_type child4; typedef typename evaluator::impl< A5 , Context , proto::empty_env >::result_type child5; typedef typename evaluator::impl< A6 , Context , proto::empty_env >::result_type child6; typedef typename evaluator::impl< A7 , Context , proto::empty_env >::result_type child7; - typedef - typename boost::result_of< - child1( - child1 , child2 , child3 , child4 , child5 , child6 , child7 - ) - >::type - type; - }; - - - - - - - - template - struct mem_fun_ptr_eval - { - typedef typename evaluator::impl< A0 , Context , proto::empty_env >::result_type child0; typedef typename evaluator::impl< A1 , Context , proto::empty_env >::result_type child1; typedef typename evaluator::impl< A2 , Context , proto::empty_env >::result_type child2; typedef typename evaluator::impl< A3 , Context , proto::empty_env >::result_type child3; typedef typename evaluator::impl< A4 , Context , proto::empty_env >::result_type child4; typedef typename evaluator::impl< A5 , Context , proto::empty_env >::result_type child5; typedef typename evaluator::impl< A6 , Context , proto::empty_env >::result_type child6; typedef typename evaluator::impl< A7 , Context , proto::empty_env >::result_type child7; typedef typename evaluator::impl< A8 , Context , proto::empty_env >::result_type child8; - typedef - typename boost::result_of< - child1( - child1 , child2 , child3 , child4 , child5 , child6 , child7 , child8 - ) - >::type - type; - }; - - - - - - - - template - struct mem_fun_ptr_eval - { - typedef typename evaluator::impl< A0 , Context , proto::empty_env >::result_type child0; typedef typename evaluator::impl< A1 , Context , proto::empty_env >::result_type child1; typedef typename evaluator::impl< A2 , Context , proto::empty_env >::result_type child2; typedef typename evaluator::impl< A3 , Context , proto::empty_env >::result_type child3; typedef typename evaluator::impl< A4 , Context , proto::empty_env >::result_type child4; typedef typename evaluator::impl< A5 , Context , proto::empty_env >::result_type child5; typedef typename evaluator::impl< A6 , Context , proto::empty_env >::result_type child6; typedef typename evaluator::impl< A7 , Context , proto::empty_env >::result_type child7; typedef typename evaluator::impl< A8 , Context , proto::empty_env >::result_type child8; typedef typename evaluator::impl< A9 , Context , proto::empty_env >::result_type child9; - typedef - typename boost::result_of< - child1( - child1 , child2 , child3 , child4 , child5 , child6 , child7 , child8 , child9 - ) - >::type - type; - }; - - - - - - - - template - struct mem_fun_ptr_eval - { - typedef typename evaluator::impl< A0 , Context , proto::empty_env >::result_type child0; typedef typename evaluator::impl< A1 , Context , proto::empty_env >::result_type child1; typedef typename evaluator::impl< A2 , Context , proto::empty_env >::result_type child2; typedef typename evaluator::impl< A3 , Context , proto::empty_env >::result_type child3; typedef typename evaluator::impl< A4 , Context , proto::empty_env >::result_type child4; typedef typename evaluator::impl< A5 , Context , proto::empty_env >::result_type child5; typedef typename evaluator::impl< A6 , Context , proto::empty_env >::result_type child6; typedef typename evaluator::impl< A7 , Context , proto::empty_env >::result_type child7; typedef typename evaluator::impl< A8 , Context , proto::empty_env >::result_type child8; typedef typename evaluator::impl< A9 , Context , proto::empty_env >::result_type child9; typedef typename evaluator::impl< A10 , Context , proto::empty_env >::result_type child10; - typedef - typename boost::result_of< - child1( - child1 , child2 , child3 , child4 , child5 , child6 , child7 , child8 , child9 , child10 - ) - >::type - type; - }; - - - - - - - - template - struct mem_fun_ptr_eval - { - typedef typename evaluator::impl< A0 , Context , proto::empty_env >::result_type child0; typedef typename evaluator::impl< A1 , Context , proto::empty_env >::result_type child1; typedef typename evaluator::impl< A2 , Context , proto::empty_env >::result_type child2; typedef typename evaluator::impl< A3 , Context , proto::empty_env >::result_type child3; typedef typename evaluator::impl< A4 , Context , proto::empty_env >::result_type child4; typedef typename evaluator::impl< A5 , Context , proto::empty_env >::result_type child5; typedef typename evaluator::impl< A6 , Context , proto::empty_env >::result_type child6; typedef typename evaluator::impl< A7 , Context , proto::empty_env >::result_type child7; typedef typename evaluator::impl< A8 , Context , proto::empty_env >::result_type child8; typedef typename evaluator::impl< A9 , Context , proto::empty_env >::result_type child9; typedef typename evaluator::impl< A10 , Context , proto::empty_env >::result_type child10; typedef typename evaluator::impl< A11 , Context , proto::empty_env >::result_type child11; - typedef - typename boost::result_of< - child1( - child1 , child2 , child3 , child4 , child5 , child6 , child7 , child8 , child9 , child10 , child11 - ) - >::type - type; - }; - - - - - - - - template - struct mem_fun_ptr_eval - { - typedef typename evaluator::impl< A0 , Context , proto::empty_env >::result_type child0; typedef typename evaluator::impl< A1 , Context , proto::empty_env >::result_type child1; typedef typename evaluator::impl< A2 , Context , proto::empty_env >::result_type child2; typedef typename evaluator::impl< A3 , Context , proto::empty_env >::result_type child3; typedef typename evaluator::impl< A4 , Context , proto::empty_env >::result_type child4; typedef typename evaluator::impl< A5 , Context , proto::empty_env >::result_type child5; typedef typename evaluator::impl< A6 , Context , proto::empty_env >::result_type child6; typedef typename evaluator::impl< A7 , Context , proto::empty_env >::result_type child7; typedef typename evaluator::impl< A8 , Context , proto::empty_env >::result_type child8; typedef typename evaluator::impl< A9 , Context , proto::empty_env >::result_type child9; typedef typename evaluator::impl< A10 , Context , proto::empty_env >::result_type child10; typedef typename evaluator::impl< A11 , Context , proto::empty_env >::result_type child11; typedef typename evaluator::impl< A12 , Context , proto::empty_env >::result_type child12; - typedef - typename boost::result_of< - child1( - child1 , child2 , child3 , child4 , child5 , child6 , child7 , child8 , child9 , child10 , child11 , child12 - ) - >::type - type; - }; - - - - - - - - template - struct mem_fun_ptr_eval - { - typedef typename evaluator::impl< A0 , Context , proto::empty_env >::result_type child0; typedef typename evaluator::impl< A1 , Context , proto::empty_env >::result_type child1; typedef typename evaluator::impl< A2 , Context , proto::empty_env >::result_type child2; typedef typename evaluator::impl< A3 , Context , proto::empty_env >::result_type child3; typedef typename evaluator::impl< A4 , Context , proto::empty_env >::result_type child4; typedef typename evaluator::impl< A5 , Context , proto::empty_env >::result_type child5; typedef typename evaluator::impl< A6 , Context , proto::empty_env >::result_type child6; typedef typename evaluator::impl< A7 , Context , proto::empty_env >::result_type child7; typedef typename evaluator::impl< A8 , Context , proto::empty_env >::result_type child8; typedef typename evaluator::impl< A9 , Context , proto::empty_env >::result_type child9; typedef typename evaluator::impl< A10 , Context , proto::empty_env >::result_type child10; typedef typename evaluator::impl< A11 , Context , proto::empty_env >::result_type child11; typedef typename evaluator::impl< A12 , Context , proto::empty_env >::result_type child12; typedef typename evaluator::impl< A13 , Context , proto::empty_env >::result_type child13; - typedef - typename boost::result_of< - child1( - child1 , child2 , child3 , child4 , child5 , child6 , child7 , child8 , child9 , child10 , child11 , child12 , child13 - ) - >::type - type; - }; - - - - - - - - template - struct mem_fun_ptr_eval - { - typedef typename evaluator::impl< A0 , Context , proto::empty_env >::result_type child0; typedef typename evaluator::impl< A1 , Context , proto::empty_env >::result_type child1; typedef typename evaluator::impl< A2 , Context , proto::empty_env >::result_type child2; typedef typename evaluator::impl< A3 , Context , proto::empty_env >::result_type child3; typedef typename evaluator::impl< A4 , Context , proto::empty_env >::result_type child4; typedef typename evaluator::impl< A5 , Context , proto::empty_env >::result_type child5; typedef typename evaluator::impl< A6 , Context , proto::empty_env >::result_type child6; typedef typename evaluator::impl< A7 , Context , proto::empty_env >::result_type child7; typedef typename evaluator::impl< A8 , Context , proto::empty_env >::result_type child8; typedef typename evaluator::impl< A9 , Context , proto::empty_env >::result_type child9; typedef typename evaluator::impl< A10 , Context , proto::empty_env >::result_type child10; typedef typename evaluator::impl< A11 , Context , proto::empty_env >::result_type child11; typedef typename evaluator::impl< A12 , Context , proto::empty_env >::result_type child12; typedef typename evaluator::impl< A13 , Context , proto::empty_env >::result_type child13; typedef typename evaluator::impl< A14 , Context , proto::empty_env >::result_type child14; - typedef - typename boost::result_of< - child1( - child1 , child2 , child3 , child4 , child5 , child6 , child7 , child8 , child9 , child10 , child11 , child12 , child13 , child14 - ) - >::type - type; - }; - - - - - - - - template - struct mem_fun_ptr_eval - { - typedef typename evaluator::impl< A0 , Context , proto::empty_env >::result_type child0; typedef typename evaluator::impl< A1 , Context , proto::empty_env >::result_type child1; typedef typename evaluator::impl< A2 , Context , proto::empty_env >::result_type child2; typedef typename evaluator::impl< A3 , Context , proto::empty_env >::result_type child3; typedef typename evaluator::impl< A4 , Context , proto::empty_env >::result_type child4; typedef typename evaluator::impl< A5 , Context , proto::empty_env >::result_type child5; typedef typename evaluator::impl< A6 , Context , proto::empty_env >::result_type child6; typedef typename evaluator::impl< A7 , Context , proto::empty_env >::result_type child7; typedef typename evaluator::impl< A8 , Context , proto::empty_env >::result_type child8; typedef typename evaluator::impl< A9 , Context , proto::empty_env >::result_type child9; typedef typename evaluator::impl< A10 , Context , proto::empty_env >::result_type child10; typedef typename evaluator::impl< A11 , Context , proto::empty_env >::result_type child11; typedef typename evaluator::impl< A12 , Context , proto::empty_env >::result_type child12; typedef typename evaluator::impl< A13 , Context , proto::empty_env >::result_type child13; typedef typename evaluator::impl< A14 , Context , proto::empty_env >::result_type child14; typedef typename evaluator::impl< A15 , Context , proto::empty_env >::result_type child15; - typedef - typename boost::result_of< - child1( - child1 , child2 , child3 , child4 , child5 , child6 , child7 , child8 , child9 , child10 , child11 , child12 , child13 , child14 , child15 - ) - >::type - type; - }; - - - - - - - - template - struct mem_fun_ptr_eval - { - typedef typename evaluator::impl< A0 , Context , proto::empty_env >::result_type child0; typedef typename evaluator::impl< A1 , Context , proto::empty_env >::result_type child1; typedef typename evaluator::impl< A2 , Context , proto::empty_env >::result_type child2; typedef typename evaluator::impl< A3 , Context , proto::empty_env >::result_type child3; typedef typename evaluator::impl< A4 , Context , proto::empty_env >::result_type child4; typedef typename evaluator::impl< A5 , Context , proto::empty_env >::result_type child5; typedef typename evaluator::impl< A6 , Context , proto::empty_env >::result_type child6; typedef typename evaluator::impl< A7 , Context , proto::empty_env >::result_type child7; typedef typename evaluator::impl< A8 , Context , proto::empty_env >::result_type child8; typedef typename evaluator::impl< A9 , Context , proto::empty_env >::result_type child9; typedef typename evaluator::impl< A10 , Context , proto::empty_env >::result_type child10; typedef typename evaluator::impl< A11 , Context , proto::empty_env >::result_type child11; typedef typename evaluator::impl< A12 , Context , proto::empty_env >::result_type child12; typedef typename evaluator::impl< A13 , Context , proto::empty_env >::result_type child13; typedef typename evaluator::impl< A14 , Context , proto::empty_env >::result_type child14; typedef typename evaluator::impl< A15 , Context , proto::empty_env >::result_type child15; typedef typename evaluator::impl< A16 , Context , proto::empty_env >::result_type child16; - typedef - typename boost::result_of< - child1( - child1 , child2 , child3 , child4 , child5 , child6 , child7 , child8 , child9 , child10 , child11 , child12 , child13 , child14 , child15 , child16 - ) - >::type - type; - }; - - - - - - - - template - struct mem_fun_ptr_eval - { - typedef typename evaluator::impl< A0 , Context , proto::empty_env >::result_type child0; typedef typename evaluator::impl< A1 , Context , proto::empty_env >::result_type child1; typedef typename evaluator::impl< A2 , Context , proto::empty_env >::result_type child2; typedef typename evaluator::impl< A3 , Context , proto::empty_env >::result_type child3; typedef typename evaluator::impl< A4 , Context , proto::empty_env >::result_type child4; typedef typename evaluator::impl< A5 , Context , proto::empty_env >::result_type child5; typedef typename evaluator::impl< A6 , Context , proto::empty_env >::result_type child6; typedef typename evaluator::impl< A7 , Context , proto::empty_env >::result_type child7; typedef typename evaluator::impl< A8 , Context , proto::empty_env >::result_type child8; typedef typename evaluator::impl< A9 , Context , proto::empty_env >::result_type child9; typedef typename evaluator::impl< A10 , Context , proto::empty_env >::result_type child10; typedef typename evaluator::impl< A11 , Context , proto::empty_env >::result_type child11; typedef typename evaluator::impl< A12 , Context , proto::empty_env >::result_type child12; typedef typename evaluator::impl< A13 , Context , proto::empty_env >::result_type child13; typedef typename evaluator::impl< A14 , Context , proto::empty_env >::result_type child14; typedef typename evaluator::impl< A15 , Context , proto::empty_env >::result_type child15; typedef typename evaluator::impl< A16 , Context , proto::empty_env >::result_type child16; typedef typename evaluator::impl< A17 , Context , proto::empty_env >::result_type child17; - typedef - typename boost::result_of< - child1( - child1 , child2 , child3 , child4 , child5 , child6 , child7 , child8 , child9 , child10 , child11 , child12 , child13 , child14 , child15 , child16 , child17 - ) - >::type - type; - }; - - - - - - - - template - struct mem_fun_ptr_eval - { - typedef typename evaluator::impl< A0 , Context , proto::empty_env >::result_type child0; typedef typename evaluator::impl< A1 , Context , proto::empty_env >::result_type child1; typedef typename evaluator::impl< A2 , Context , proto::empty_env >::result_type child2; typedef typename evaluator::impl< A3 , Context , proto::empty_env >::result_type child3; typedef typename evaluator::impl< A4 , Context , proto::empty_env >::result_type child4; typedef typename evaluator::impl< A5 , Context , proto::empty_env >::result_type child5; typedef typename evaluator::impl< A6 , Context , proto::empty_env >::result_type child6; typedef typename evaluator::impl< A7 , Context , proto::empty_env >::result_type child7; typedef typename evaluator::impl< A8 , Context , proto::empty_env >::result_type child8; typedef typename evaluator::impl< A9 , Context , proto::empty_env >::result_type child9; typedef typename evaluator::impl< A10 , Context , proto::empty_env >::result_type child10; typedef typename evaluator::impl< A11 , Context , proto::empty_env >::result_type child11; typedef typename evaluator::impl< A12 , Context , proto::empty_env >::result_type child12; typedef typename evaluator::impl< A13 , Context , proto::empty_env >::result_type child13; typedef typename evaluator::impl< A14 , Context , proto::empty_env >::result_type child14; typedef typename evaluator::impl< A15 , Context , proto::empty_env >::result_type child15; typedef typename evaluator::impl< A16 , Context , proto::empty_env >::result_type child16; typedef typename evaluator::impl< A17 , Context , proto::empty_env >::result_type child17; typedef typename evaluator::impl< A18 , Context , proto::empty_env >::result_type child18; - typedef - typename boost::result_of< - child1( - child1 , child2 , child3 , child4 , child5 , child6 , child7 , child8 , child9 , child10 , child11 , child12 , child13 , child14 , child15 , child16 , child17 , child18 - ) - >::type - type; - }; - - - - - - - - template - struct mem_fun_ptr_eval - { - typedef typename evaluator::impl< A0 , Context , proto::empty_env >::result_type child0; typedef typename evaluator::impl< A1 , Context , proto::empty_env >::result_type child1; typedef typename evaluator::impl< A2 , Context , proto::empty_env >::result_type child2; typedef typename evaluator::impl< A3 , Context , proto::empty_env >::result_type child3; typedef typename evaluator::impl< A4 , Context , proto::empty_env >::result_type child4; typedef typename evaluator::impl< A5 , Context , proto::empty_env >::result_type child5; typedef typename evaluator::impl< A6 , Context , proto::empty_env >::result_type child6; typedef typename evaluator::impl< A7 , Context , proto::empty_env >::result_type child7; typedef typename evaluator::impl< A8 , Context , proto::empty_env >::result_type child8; typedef typename evaluator::impl< A9 , Context , proto::empty_env >::result_type child9; typedef typename evaluator::impl< A10 , Context , proto::empty_env >::result_type child10; typedef typename evaluator::impl< A11 , Context , proto::empty_env >::result_type child11; typedef typename evaluator::impl< A12 , Context , proto::empty_env >::result_type child12; typedef typename evaluator::impl< A13 , Context , proto::empty_env >::result_type child13; typedef typename evaluator::impl< A14 , Context , proto::empty_env >::result_type child14; typedef typename evaluator::impl< A15 , Context , proto::empty_env >::result_type child15; typedef typename evaluator::impl< A16 , Context , proto::empty_env >::result_type child16; typedef typename evaluator::impl< A17 , Context , proto::empty_env >::result_type child17; typedef typename evaluator::impl< A18 , Context , proto::empty_env >::result_type child18; typedef typename evaluator::impl< A19 , Context , proto::empty_env >::result_type child19; - typedef - typename boost::result_of< - child1( - child1 , child2 , child3 , child4 , child5 , child6 , child7 , child8 , child9 , child10 , child11 , child12 , child13 , child14 , child15 , child16 , child17 , child18 , child19 - ) - >::type - type; - }; - - - - - - - - template - struct mem_fun_ptr_eval - { - typedef typename evaluator::impl< A0 , Context , proto::empty_env >::result_type child0; typedef typename evaluator::impl< A1 , Context , proto::empty_env >::result_type child1; typedef typename evaluator::impl< A2 , Context , proto::empty_env >::result_type child2; typedef typename evaluator::impl< A3 , Context , proto::empty_env >::result_type child3; typedef typename evaluator::impl< A4 , Context , proto::empty_env >::result_type child4; typedef typename evaluator::impl< A5 , Context , proto::empty_env >::result_type child5; typedef typename evaluator::impl< A6 , Context , proto::empty_env >::result_type child6; typedef typename evaluator::impl< A7 , Context , proto::empty_env >::result_type child7; typedef typename evaluator::impl< A8 , Context , proto::empty_env >::result_type child8; typedef typename evaluator::impl< A9 , Context , proto::empty_env >::result_type child9; typedef typename evaluator::impl< A10 , Context , proto::empty_env >::result_type child10; typedef typename evaluator::impl< A11 , Context , proto::empty_env >::result_type child11; typedef typename evaluator::impl< A12 , Context , proto::empty_env >::result_type child12; typedef typename evaluator::impl< A13 , Context , proto::empty_env >::result_type child13; typedef typename evaluator::impl< A14 , Context , proto::empty_env >::result_type child14; typedef typename evaluator::impl< A15 , Context , proto::empty_env >::result_type child15; typedef typename evaluator::impl< A16 , Context , proto::empty_env >::result_type child16; typedef typename evaluator::impl< A17 , Context , proto::empty_env >::result_type child17; typedef typename evaluator::impl< A18 , Context , proto::empty_env >::result_type child18; typedef typename evaluator::impl< A19 , Context , proto::empty_env >::result_type child19; typedef typename evaluator::impl< A20 , Context , proto::empty_env >::result_type child20; - typedef - typename boost::result_of< - child1( - child1 , child2 , child3 , child4 , child5 , child6 , child7 , child8 , child9 , child10 , child11 , child12 , child13 , child14 , child15 , child16 , child17 , child18 , child19 , child20 - ) - >::type - type; - }; - - - - - - - - template - struct mem_fun_ptr_eval - { - typedef typename evaluator::impl< A0 , Context , proto::empty_env >::result_type child0; typedef typename evaluator::impl< A1 , Context , proto::empty_env >::result_type child1; typedef typename evaluator::impl< A2 , Context , proto::empty_env >::result_type child2; typedef typename evaluator::impl< A3 , Context , proto::empty_env >::result_type child3; typedef typename evaluator::impl< A4 , Context , proto::empty_env >::result_type child4; typedef typename evaluator::impl< A5 , Context , proto::empty_env >::result_type child5; typedef typename evaluator::impl< A6 , Context , proto::empty_env >::result_type child6; typedef typename evaluator::impl< A7 , Context , proto::empty_env >::result_type child7; typedef typename evaluator::impl< A8 , Context , proto::empty_env >::result_type child8; typedef typename evaluator::impl< A9 , Context , proto::empty_env >::result_type child9; typedef typename evaluator::impl< A10 , Context , proto::empty_env >::result_type child10; typedef typename evaluator::impl< A11 , Context , proto::empty_env >::result_type child11; typedef typename evaluator::impl< A12 , Context , proto::empty_env >::result_type child12; typedef typename evaluator::impl< A13 , Context , proto::empty_env >::result_type child13; typedef typename evaluator::impl< A14 , Context , proto::empty_env >::result_type child14; typedef typename evaluator::impl< A15 , Context , proto::empty_env >::result_type child15; typedef typename evaluator::impl< A16 , Context , proto::empty_env >::result_type child16; typedef typename evaluator::impl< A17 , Context , proto::empty_env >::result_type child17; typedef typename evaluator::impl< A18 , Context , proto::empty_env >::result_type child18; typedef typename evaluator::impl< A19 , Context , proto::empty_env >::result_type child19; typedef typename evaluator::impl< A20 , Context , proto::empty_env >::result_type child20; typedef typename evaluator::impl< A21 , Context , proto::empty_env >::result_type child21; - typedef - typename boost::result_of< - child1( - child1 , child2 , child3 , child4 , child5 , child6 , child7 , child8 , child9 , child10 , child11 , child12 , child13 , child14 , child15 , child16 , child17 , child18 , child19 , child20 , child21 - ) - >::type - type; - }; - - - - - - - - template - struct mem_fun_ptr_eval - { - typedef typename evaluator::impl< A0 , Context , proto::empty_env >::result_type child0; typedef typename evaluator::impl< A1 , Context , proto::empty_env >::result_type child1; typedef typename evaluator::impl< A2 , Context , proto::empty_env >::result_type child2; typedef typename evaluator::impl< A3 , Context , proto::empty_env >::result_type child3; typedef typename evaluator::impl< A4 , Context , proto::empty_env >::result_type child4; typedef typename evaluator::impl< A5 , Context , proto::empty_env >::result_type child5; typedef typename evaluator::impl< A6 , Context , proto::empty_env >::result_type child6; typedef typename evaluator::impl< A7 , Context , proto::empty_env >::result_type child7; typedef typename evaluator::impl< A8 , Context , proto::empty_env >::result_type child8; typedef typename evaluator::impl< A9 , Context , proto::empty_env >::result_type child9; typedef typename evaluator::impl< A10 , Context , proto::empty_env >::result_type child10; typedef typename evaluator::impl< A11 , Context , proto::empty_env >::result_type child11; typedef typename evaluator::impl< A12 , Context , proto::empty_env >::result_type child12; typedef typename evaluator::impl< A13 , Context , proto::empty_env >::result_type child13; typedef typename evaluator::impl< A14 , Context , proto::empty_env >::result_type child14; typedef typename evaluator::impl< A15 , Context , proto::empty_env >::result_type child15; typedef typename evaluator::impl< A16 , Context , proto::empty_env >::result_type child16; typedef typename evaluator::impl< A17 , Context , proto::empty_env >::result_type child17; typedef typename evaluator::impl< A18 , Context , proto::empty_env >::result_type child18; typedef typename evaluator::impl< A19 , Context , proto::empty_env >::result_type child19; typedef typename evaluator::impl< A20 , Context , proto::empty_env >::result_type child20; typedef typename evaluator::impl< A21 , Context , proto::empty_env >::result_type child21; typedef typename evaluator::impl< A22 , Context , proto::empty_env >::result_type child22; - typedef - typename boost::result_of< - child1( - child1 , child2 , child3 , child4 , child5 , child6 , child7 , child8 , child9 , child10 , child11 , child12 , child13 , child14 , child15 , child16 , child17 , child18 , child19 , child20 , child21 , child22 - ) - >::type - type; - }; - - - - - - - - template - struct mem_fun_ptr_eval - { - typedef typename evaluator::impl< A0 , Context , proto::empty_env >::result_type child0; typedef typename evaluator::impl< A1 , Context , proto::empty_env >::result_type child1; typedef typename evaluator::impl< A2 , Context , proto::empty_env >::result_type child2; typedef typename evaluator::impl< A3 , Context , proto::empty_env >::result_type child3; typedef typename evaluator::impl< A4 , Context , proto::empty_env >::result_type child4; typedef typename evaluator::impl< A5 , Context , proto::empty_env >::result_type child5; typedef typename evaluator::impl< A6 , Context , proto::empty_env >::result_type child6; typedef typename evaluator::impl< A7 , Context , proto::empty_env >::result_type child7; typedef typename evaluator::impl< A8 , Context , proto::empty_env >::result_type child8; typedef typename evaluator::impl< A9 , Context , proto::empty_env >::result_type child9; typedef typename evaluator::impl< A10 , Context , proto::empty_env >::result_type child10; typedef typename evaluator::impl< A11 , Context , proto::empty_env >::result_type child11; typedef typename evaluator::impl< A12 , Context , proto::empty_env >::result_type child12; typedef typename evaluator::impl< A13 , Context , proto::empty_env >::result_type child13; typedef typename evaluator::impl< A14 , Context , proto::empty_env >::result_type child14; typedef typename evaluator::impl< A15 , Context , proto::empty_env >::result_type child15; typedef typename evaluator::impl< A16 , Context , proto::empty_env >::result_type child16; typedef typename evaluator::impl< A17 , Context , proto::empty_env >::result_type child17; typedef typename evaluator::impl< A18 , Context , proto::empty_env >::result_type child18; typedef typename evaluator::impl< A19 , Context , proto::empty_env >::result_type child19; typedef typename evaluator::impl< A20 , Context , proto::empty_env >::result_type child20; typedef typename evaluator::impl< A21 , Context , proto::empty_env >::result_type child21; typedef typename evaluator::impl< A22 , Context , proto::empty_env >::result_type child22; typedef typename evaluator::impl< A23 , Context , proto::empty_env >::result_type child23; - typedef - typename boost::result_of< - child1( - child1 , child2 , child3 , child4 , child5 , child6 , child7 , child8 , child9 , child10 , child11 , child12 , child13 , child14 , child15 , child16 , child17 , child18 , child19 , child20 , child21 , child22 , child23 - ) - >::type - type; - }; - - - - - - - - template - struct mem_fun_ptr_eval - { - typedef typename evaluator::impl< A0 , Context , proto::empty_env >::result_type child0; typedef typename evaluator::impl< A1 , Context , proto::empty_env >::result_type child1; typedef typename evaluator::impl< A2 , Context , proto::empty_env >::result_type child2; typedef typename evaluator::impl< A3 , Context , proto::empty_env >::result_type child3; typedef typename evaluator::impl< A4 , Context , proto::empty_env >::result_type child4; typedef typename evaluator::impl< A5 , Context , proto::empty_env >::result_type child5; typedef typename evaluator::impl< A6 , Context , proto::empty_env >::result_type child6; typedef typename evaluator::impl< A7 , Context , proto::empty_env >::result_type child7; typedef typename evaluator::impl< A8 , Context , proto::empty_env >::result_type child8; typedef typename evaluator::impl< A9 , Context , proto::empty_env >::result_type child9; typedef typename evaluator::impl< A10 , Context , proto::empty_env >::result_type child10; typedef typename evaluator::impl< A11 , Context , proto::empty_env >::result_type child11; typedef typename evaluator::impl< A12 , Context , proto::empty_env >::result_type child12; typedef typename evaluator::impl< A13 , Context , proto::empty_env >::result_type child13; typedef typename evaluator::impl< A14 , Context , proto::empty_env >::result_type child14; typedef typename evaluator::impl< A15 , Context , proto::empty_env >::result_type child15; typedef typename evaluator::impl< A16 , Context , proto::empty_env >::result_type child16; typedef typename evaluator::impl< A17 , Context , proto::empty_env >::result_type child17; typedef typename evaluator::impl< A18 , Context , proto::empty_env >::result_type child18; typedef typename evaluator::impl< A19 , Context , proto::empty_env >::result_type child19; typedef typename evaluator::impl< A20 , Context , proto::empty_env >::result_type child20; typedef typename evaluator::impl< A21 , Context , proto::empty_env >::result_type child21; typedef typename evaluator::impl< A22 , Context , proto::empty_env >::result_type child22; typedef typename evaluator::impl< A23 , Context , proto::empty_env >::result_type child23; typedef typename evaluator::impl< A24 , Context , proto::empty_env >::result_type child24; - typedef - typename boost::result_of< - child1( - child1 , child2 , child3 , child4 , child5 , child6 , child7 , child8 , child9 , child10 , child11 , child12 , child13 , child14 , child15 , child16 , child17 , child18 , child19 , child20 , child21 , child22 , child23 , child24 - ) - >::type - type; - }; - - - - - - - - template - struct mem_fun_ptr_eval - { - typedef typename evaluator::impl< A0 , Context , proto::empty_env >::result_type child0; typedef typename evaluator::impl< A1 , Context , proto::empty_env >::result_type child1; typedef typename evaluator::impl< A2 , Context , proto::empty_env >::result_type child2; typedef typename evaluator::impl< A3 , Context , proto::empty_env >::result_type child3; typedef typename evaluator::impl< A4 , Context , proto::empty_env >::result_type child4; typedef typename evaluator::impl< A5 , Context , proto::empty_env >::result_type child5; typedef typename evaluator::impl< A6 , Context , proto::empty_env >::result_type child6; typedef typename evaluator::impl< A7 , Context , proto::empty_env >::result_type child7; typedef typename evaluator::impl< A8 , Context , proto::empty_env >::result_type child8; typedef typename evaluator::impl< A9 , Context , proto::empty_env >::result_type child9; typedef typename evaluator::impl< A10 , Context , proto::empty_env >::result_type child10; typedef typename evaluator::impl< A11 , Context , proto::empty_env >::result_type child11; typedef typename evaluator::impl< A12 , Context , proto::empty_env >::result_type child12; typedef typename evaluator::impl< A13 , Context , proto::empty_env >::result_type child13; typedef typename evaluator::impl< A14 , Context , proto::empty_env >::result_type child14; typedef typename evaluator::impl< A15 , Context , proto::empty_env >::result_type child15; typedef typename evaluator::impl< A16 , Context , proto::empty_env >::result_type child16; typedef typename evaluator::impl< A17 , Context , proto::empty_env >::result_type child17; typedef typename evaluator::impl< A18 , Context , proto::empty_env >::result_type child18; typedef typename evaluator::impl< A19 , Context , proto::empty_env >::result_type child19; typedef typename evaluator::impl< A20 , Context , proto::empty_env >::result_type child20; typedef typename evaluator::impl< A21 , Context , proto::empty_env >::result_type child21; typedef typename evaluator::impl< A22 , Context , proto::empty_env >::result_type child22; typedef typename evaluator::impl< A23 , Context , proto::empty_env >::result_type child23; typedef typename evaluator::impl< A24 , Context , proto::empty_env >::result_type child24; typedef typename evaluator::impl< A25 , Context , proto::empty_env >::result_type child25; - typedef - typename boost::result_of< - child1( - child1 , child2 , child3 , child4 , child5 , child6 , child7 , child8 , child9 , child10 , child11 , child12 , child13 , child14 , child15 , child16 , child17 , child18 , child19 , child20 , child21 , child22 , child23 , child24 , child25 - ) - >::type - type; - }; - - - - - - - - template - struct mem_fun_ptr_eval - { - typedef typename evaluator::impl< A0 , Context , proto::empty_env >::result_type child0; typedef typename evaluator::impl< A1 , Context , proto::empty_env >::result_type child1; typedef typename evaluator::impl< A2 , Context , proto::empty_env >::result_type child2; typedef typename evaluator::impl< A3 , Context , proto::empty_env >::result_type child3; typedef typename evaluator::impl< A4 , Context , proto::empty_env >::result_type child4; typedef typename evaluator::impl< A5 , Context , proto::empty_env >::result_type child5; typedef typename evaluator::impl< A6 , Context , proto::empty_env >::result_type child6; typedef typename evaluator::impl< A7 , Context , proto::empty_env >::result_type child7; typedef typename evaluator::impl< A8 , Context , proto::empty_env >::result_type child8; typedef typename evaluator::impl< A9 , Context , proto::empty_env >::result_type child9; typedef typename evaluator::impl< A10 , Context , proto::empty_env >::result_type child10; typedef typename evaluator::impl< A11 , Context , proto::empty_env >::result_type child11; typedef typename evaluator::impl< A12 , Context , proto::empty_env >::result_type child12; typedef typename evaluator::impl< A13 , Context , proto::empty_env >::result_type child13; typedef typename evaluator::impl< A14 , Context , proto::empty_env >::result_type child14; typedef typename evaluator::impl< A15 , Context , proto::empty_env >::result_type child15; typedef typename evaluator::impl< A16 , Context , proto::empty_env >::result_type child16; typedef typename evaluator::impl< A17 , Context , proto::empty_env >::result_type child17; typedef typename evaluator::impl< A18 , Context , proto::empty_env >::result_type child18; typedef typename evaluator::impl< A19 , Context , proto::empty_env >::result_type child19; typedef typename evaluator::impl< A20 , Context , proto::empty_env >::result_type child20; typedef typename evaluator::impl< A21 , Context , proto::empty_env >::result_type child21; typedef typename evaluator::impl< A22 , Context , proto::empty_env >::result_type child22; typedef typename evaluator::impl< A23 , Context , proto::empty_env >::result_type child23; typedef typename evaluator::impl< A24 , Context , proto::empty_env >::result_type child24; typedef typename evaluator::impl< A25 , Context , proto::empty_env >::result_type child25; typedef typename evaluator::impl< A26 , Context , proto::empty_env >::result_type child26; - typedef - typename boost::result_of< - child1( - child1 , child2 , child3 , child4 , child5 , child6 , child7 , child8 , child9 , child10 , child11 , child12 , child13 , child14 , child15 , child16 , child17 , child18 , child19 , child20 , child21 , child22 , child23 , child24 , child25 , child26 - ) - >::type - type; - }; - - - - - - - - template - struct mem_fun_ptr_eval - { - typedef typename evaluator::impl< A0 , Context , proto::empty_env >::result_type child0; typedef typename evaluator::impl< A1 , Context , proto::empty_env >::result_type child1; typedef typename evaluator::impl< A2 , Context , proto::empty_env >::result_type child2; typedef typename evaluator::impl< A3 , Context , proto::empty_env >::result_type child3; typedef typename evaluator::impl< A4 , Context , proto::empty_env >::result_type child4; typedef typename evaluator::impl< A5 , Context , proto::empty_env >::result_type child5; typedef typename evaluator::impl< A6 , Context , proto::empty_env >::result_type child6; typedef typename evaluator::impl< A7 , Context , proto::empty_env >::result_type child7; typedef typename evaluator::impl< A8 , Context , proto::empty_env >::result_type child8; typedef typename evaluator::impl< A9 , Context , proto::empty_env >::result_type child9; typedef typename evaluator::impl< A10 , Context , proto::empty_env >::result_type child10; typedef typename evaluator::impl< A11 , Context , proto::empty_env >::result_type child11; typedef typename evaluator::impl< A12 , Context , proto::empty_env >::result_type child12; typedef typename evaluator::impl< A13 , Context , proto::empty_env >::result_type child13; typedef typename evaluator::impl< A14 , Context , proto::empty_env >::result_type child14; typedef typename evaluator::impl< A15 , Context , proto::empty_env >::result_type child15; typedef typename evaluator::impl< A16 , Context , proto::empty_env >::result_type child16; typedef typename evaluator::impl< A17 , Context , proto::empty_env >::result_type child17; typedef typename evaluator::impl< A18 , Context , proto::empty_env >::result_type child18; typedef typename evaluator::impl< A19 , Context , proto::empty_env >::result_type child19; typedef typename evaluator::impl< A20 , Context , proto::empty_env >::result_type child20; typedef typename evaluator::impl< A21 , Context , proto::empty_env >::result_type child21; typedef typename evaluator::impl< A22 , Context , proto::empty_env >::result_type child22; typedef typename evaluator::impl< A23 , Context , proto::empty_env >::result_type child23; typedef typename evaluator::impl< A24 , Context , proto::empty_env >::result_type child24; typedef typename evaluator::impl< A25 , Context , proto::empty_env >::result_type child25; typedef typename evaluator::impl< A26 , Context , proto::empty_env >::result_type child26; typedef typename evaluator::impl< A27 , Context , proto::empty_env >::result_type child27; - typedef - typename boost::result_of< - child1( - child1 , child2 , child3 , child4 , child5 , child6 , child7 , child8 , child9 , child10 , child11 , child12 , child13 , child14 , child15 , child16 , child17 , child18 , child19 , child20 , child21 , child22 , child23 , child24 , child25 , child26 , child27 - ) - >::type - type; - }; - - - - - - - - template - struct mem_fun_ptr_eval - { - typedef typename evaluator::impl< A0 , Context , proto::empty_env >::result_type child0; typedef typename evaluator::impl< A1 , Context , proto::empty_env >::result_type child1; typedef typename evaluator::impl< A2 , Context , proto::empty_env >::result_type child2; typedef typename evaluator::impl< A3 , Context , proto::empty_env >::result_type child3; typedef typename evaluator::impl< A4 , Context , proto::empty_env >::result_type child4; typedef typename evaluator::impl< A5 , Context , proto::empty_env >::result_type child5; typedef typename evaluator::impl< A6 , Context , proto::empty_env >::result_type child6; typedef typename evaluator::impl< A7 , Context , proto::empty_env >::result_type child7; typedef typename evaluator::impl< A8 , Context , proto::empty_env >::result_type child8; typedef typename evaluator::impl< A9 , Context , proto::empty_env >::result_type child9; typedef typename evaluator::impl< A10 , Context , proto::empty_env >::result_type child10; typedef typename evaluator::impl< A11 , Context , proto::empty_env >::result_type child11; typedef typename evaluator::impl< A12 , Context , proto::empty_env >::result_type child12; typedef typename evaluator::impl< A13 , Context , proto::empty_env >::result_type child13; typedef typename evaluator::impl< A14 , Context , proto::empty_env >::result_type child14; typedef typename evaluator::impl< A15 , Context , proto::empty_env >::result_type child15; typedef typename evaluator::impl< A16 , Context , proto::empty_env >::result_type child16; typedef typename evaluator::impl< A17 , Context , proto::empty_env >::result_type child17; typedef typename evaluator::impl< A18 , Context , proto::empty_env >::result_type child18; typedef typename evaluator::impl< A19 , Context , proto::empty_env >::result_type child19; typedef typename evaluator::impl< A20 , Context , proto::empty_env >::result_type child20; typedef typename evaluator::impl< A21 , Context , proto::empty_env >::result_type child21; typedef typename evaluator::impl< A22 , Context , proto::empty_env >::result_type child22; typedef typename evaluator::impl< A23 , Context , proto::empty_env >::result_type child23; typedef typename evaluator::impl< A24 , Context , proto::empty_env >::result_type child24; typedef typename evaluator::impl< A25 , Context , proto::empty_env >::result_type child25; typedef typename evaluator::impl< A26 , Context , proto::empty_env >::result_type child26; typedef typename evaluator::impl< A27 , Context , proto::empty_env >::result_type child27; typedef typename evaluator::impl< A28 , Context , proto::empty_env >::result_type child28; - typedef - typename boost::result_of< - child1( - child1 , child2 , child3 , child4 , child5 , child6 , child7 , child8 , child9 , child10 , child11 , child12 , child13 , child14 , child15 , child16 , child17 , child18 , child19 , child20 , child21 , child22 , child23 , child24 , child25 , child26 , child27 , child28 - ) - >::type - type; - }; - - - - - - - - template - struct mem_fun_ptr_eval - { - typedef typename evaluator::impl< A0 , Context , proto::empty_env >::result_type child0; typedef typename evaluator::impl< A1 , Context , proto::empty_env >::result_type child1; typedef typename evaluator::impl< A2 , Context , proto::empty_env >::result_type child2; typedef typename evaluator::impl< A3 , Context , proto::empty_env >::result_type child3; typedef typename evaluator::impl< A4 , Context , proto::empty_env >::result_type child4; typedef typename evaluator::impl< A5 , Context , proto::empty_env >::result_type child5; typedef typename evaluator::impl< A6 , Context , proto::empty_env >::result_type child6; typedef typename evaluator::impl< A7 , Context , proto::empty_env >::result_type child7; typedef typename evaluator::impl< A8 , Context , proto::empty_env >::result_type child8; typedef typename evaluator::impl< A9 , Context , proto::empty_env >::result_type child9; typedef typename evaluator::impl< A10 , Context , proto::empty_env >::result_type child10; typedef typename evaluator::impl< A11 , Context , proto::empty_env >::result_type child11; typedef typename evaluator::impl< A12 , Context , proto::empty_env >::result_type child12; typedef typename evaluator::impl< A13 , Context , proto::empty_env >::result_type child13; typedef typename evaluator::impl< A14 , Context , proto::empty_env >::result_type child14; typedef typename evaluator::impl< A15 , Context , proto::empty_env >::result_type child15; typedef typename evaluator::impl< A16 , Context , proto::empty_env >::result_type child16; typedef typename evaluator::impl< A17 , Context , proto::empty_env >::result_type child17; typedef typename evaluator::impl< A18 , Context , proto::empty_env >::result_type child18; typedef typename evaluator::impl< A19 , Context , proto::empty_env >::result_type child19; typedef typename evaluator::impl< A20 , Context , proto::empty_env >::result_type child20; typedef typename evaluator::impl< A21 , Context , proto::empty_env >::result_type child21; typedef typename evaluator::impl< A22 , Context , proto::empty_env >::result_type child22; typedef typename evaluator::impl< A23 , Context , proto::empty_env >::result_type child23; typedef typename evaluator::impl< A24 , Context , proto::empty_env >::result_type child24; typedef typename evaluator::impl< A25 , Context , proto::empty_env >::result_type child25; typedef typename evaluator::impl< A26 , Context , proto::empty_env >::result_type child26; typedef typename evaluator::impl< A27 , Context , proto::empty_env >::result_type child27; typedef typename evaluator::impl< A28 , Context , proto::empty_env >::result_type child28; typedef typename evaluator::impl< A29 , Context , proto::empty_env >::result_type child29; - typedef - typename boost::result_of< - child1( - child1 , child2 , child3 , child4 , child5 , child6 , child7 , child8 , child9 , child10 , child11 , child12 , child13 , child14 , child15 , child16 , child17 , child18 , child19 , child20 , child21 , child22 , child23 , child24 , child25 , child26 , child27 , child28 , child29 - ) - >::type - type; - }; - - - - - - - - template - struct mem_fun_ptr_eval - { - typedef typename evaluator::impl< A0 , Context , proto::empty_env >::result_type child0; typedef typename evaluator::impl< A1 , Context , proto::empty_env >::result_type child1; typedef typename evaluator::impl< A2 , Context , proto::empty_env >::result_type child2; typedef typename evaluator::impl< A3 , Context , proto::empty_env >::result_type child3; typedef typename evaluator::impl< A4 , Context , proto::empty_env >::result_type child4; typedef typename evaluator::impl< A5 , Context , proto::empty_env >::result_type child5; typedef typename evaluator::impl< A6 , Context , proto::empty_env >::result_type child6; typedef typename evaluator::impl< A7 , Context , proto::empty_env >::result_type child7; typedef typename evaluator::impl< A8 , Context , proto::empty_env >::result_type child8; typedef typename evaluator::impl< A9 , Context , proto::empty_env >::result_type child9; typedef typename evaluator::impl< A10 , Context , proto::empty_env >::result_type child10; typedef typename evaluator::impl< A11 , Context , proto::empty_env >::result_type child11; typedef typename evaluator::impl< A12 , Context , proto::empty_env >::result_type child12; typedef typename evaluator::impl< A13 , Context , proto::empty_env >::result_type child13; typedef typename evaluator::impl< A14 , Context , proto::empty_env >::result_type child14; typedef typename evaluator::impl< A15 , Context , proto::empty_env >::result_type child15; typedef typename evaluator::impl< A16 , Context , proto::empty_env >::result_type child16; typedef typename evaluator::impl< A17 , Context , proto::empty_env >::result_type child17; typedef typename evaluator::impl< A18 , Context , proto::empty_env >::result_type child18; typedef typename evaluator::impl< A19 , Context , proto::empty_env >::result_type child19; typedef typename evaluator::impl< A20 , Context , proto::empty_env >::result_type child20; typedef typename evaluator::impl< A21 , Context , proto::empty_env >::result_type child21; typedef typename evaluator::impl< A22 , Context , proto::empty_env >::result_type child22; typedef typename evaluator::impl< A23 , Context , proto::empty_env >::result_type child23; typedef typename evaluator::impl< A24 , Context , proto::empty_env >::result_type child24; typedef typename evaluator::impl< A25 , Context , proto::empty_env >::result_type child25; typedef typename evaluator::impl< A26 , Context , proto::empty_env >::result_type child26; typedef typename evaluator::impl< A27 , Context , proto::empty_env >::result_type child27; typedef typename evaluator::impl< A28 , Context , proto::empty_env >::result_type child28; typedef typename evaluator::impl< A29 , Context , proto::empty_env >::result_type child29; typedef typename evaluator::impl< A30 , Context , proto::empty_env >::result_type child30; - typedef - typename boost::result_of< - child1( - child1 , child2 , child3 , child4 , child5 , child6 , child7 , child8 , child9 , child10 , child11 , child12 , child13 , child14 , child15 , child16 , child17 , child18 , child19 , child20 , child21 , child22 , child23 , child24 , child25 , child26 , child27 , child28 , child29 , child30 - ) - >::type - type; - }; - - - - - - - - template - struct mem_fun_ptr_eval - { - typedef typename evaluator::impl< A0 , Context , proto::empty_env >::result_type child0; typedef typename evaluator::impl< A1 , Context , proto::empty_env >::result_type child1; typedef typename evaluator::impl< A2 , Context , proto::empty_env >::result_type child2; typedef typename evaluator::impl< A3 , Context , proto::empty_env >::result_type child3; typedef typename evaluator::impl< A4 , Context , proto::empty_env >::result_type child4; typedef typename evaluator::impl< A5 , Context , proto::empty_env >::result_type child5; typedef typename evaluator::impl< A6 , Context , proto::empty_env >::result_type child6; typedef typename evaluator::impl< A7 , Context , proto::empty_env >::result_type child7; typedef typename evaluator::impl< A8 , Context , proto::empty_env >::result_type child8; typedef typename evaluator::impl< A9 , Context , proto::empty_env >::result_type child9; typedef typename evaluator::impl< A10 , Context , proto::empty_env >::result_type child10; typedef typename evaluator::impl< A11 , Context , proto::empty_env >::result_type child11; typedef typename evaluator::impl< A12 , Context , proto::empty_env >::result_type child12; typedef typename evaluator::impl< A13 , Context , proto::empty_env >::result_type child13; typedef typename evaluator::impl< A14 , Context , proto::empty_env >::result_type child14; typedef typename evaluator::impl< A15 , Context , proto::empty_env >::result_type child15; typedef typename evaluator::impl< A16 , Context , proto::empty_env >::result_type child16; typedef typename evaluator::impl< A17 , Context , proto::empty_env >::result_type child17; typedef typename evaluator::impl< A18 , Context , proto::empty_env >::result_type child18; typedef typename evaluator::impl< A19 , Context , proto::empty_env >::result_type child19; typedef typename evaluator::impl< A20 , Context , proto::empty_env >::result_type child20; typedef typename evaluator::impl< A21 , Context , proto::empty_env >::result_type child21; typedef typename evaluator::impl< A22 , Context , proto::empty_env >::result_type child22; typedef typename evaluator::impl< A23 , Context , proto::empty_env >::result_type child23; typedef typename evaluator::impl< A24 , Context , proto::empty_env >::result_type child24; typedef typename evaluator::impl< A25 , Context , proto::empty_env >::result_type child25; typedef typename evaluator::impl< A26 , Context , proto::empty_env >::result_type child26; typedef typename evaluator::impl< A27 , Context , proto::empty_env >::result_type child27; typedef typename evaluator::impl< A28 , Context , proto::empty_env >::result_type child28; typedef typename evaluator::impl< A29 , Context , proto::empty_env >::result_type child29; typedef typename evaluator::impl< A30 , Context , proto::empty_env >::result_type child30; typedef typename evaluator::impl< A31 , Context , proto::empty_env >::result_type child31; - typedef - typename boost::result_of< - child1( - child1 , child2 , child3 , child4 , child5 , child6 , child7 , child8 , child9 , child10 , child11 , child12 , child13 , child14 , child15 , child16 , child17 , child18 , child19 , child20 , child21 , child22 , child23 , child24 , child25 , child26 , child27 , child28 , child29 , child30 , child31 - ) - >::type - type; - }; - - - - - - - - template - struct mem_fun_ptr_eval - { - typedef typename evaluator::impl< A0 , Context , proto::empty_env >::result_type child0; typedef typename evaluator::impl< A1 , Context , proto::empty_env >::result_type child1; typedef typename evaluator::impl< A2 , Context , proto::empty_env >::result_type child2; typedef typename evaluator::impl< A3 , Context , proto::empty_env >::result_type child3; typedef typename evaluator::impl< A4 , Context , proto::empty_env >::result_type child4; typedef typename evaluator::impl< A5 , Context , proto::empty_env >::result_type child5; typedef typename evaluator::impl< A6 , Context , proto::empty_env >::result_type child6; typedef typename evaluator::impl< A7 , Context , proto::empty_env >::result_type child7; typedef typename evaluator::impl< A8 , Context , proto::empty_env >::result_type child8; typedef typename evaluator::impl< A9 , Context , proto::empty_env >::result_type child9; typedef typename evaluator::impl< A10 , Context , proto::empty_env >::result_type child10; typedef typename evaluator::impl< A11 , Context , proto::empty_env >::result_type child11; typedef typename evaluator::impl< A12 , Context , proto::empty_env >::result_type child12; typedef typename evaluator::impl< A13 , Context , proto::empty_env >::result_type child13; typedef typename evaluator::impl< A14 , Context , proto::empty_env >::result_type child14; typedef typename evaluator::impl< A15 , Context , proto::empty_env >::result_type child15; typedef typename evaluator::impl< A16 , Context , proto::empty_env >::result_type child16; typedef typename evaluator::impl< A17 , Context , proto::empty_env >::result_type child17; typedef typename evaluator::impl< A18 , Context , proto::empty_env >::result_type child18; typedef typename evaluator::impl< A19 , Context , proto::empty_env >::result_type child19; typedef typename evaluator::impl< A20 , Context , proto::empty_env >::result_type child20; typedef typename evaluator::impl< A21 , Context , proto::empty_env >::result_type child21; typedef typename evaluator::impl< A22 , Context , proto::empty_env >::result_type child22; typedef typename evaluator::impl< A23 , Context , proto::empty_env >::result_type child23; typedef typename evaluator::impl< A24 , Context , proto::empty_env >::result_type child24; typedef typename evaluator::impl< A25 , Context , proto::empty_env >::result_type child25; typedef typename evaluator::impl< A26 , Context , proto::empty_env >::result_type child26; typedef typename evaluator::impl< A27 , Context , proto::empty_env >::result_type child27; typedef typename evaluator::impl< A28 , Context , proto::empty_env >::result_type child28; typedef typename evaluator::impl< A29 , Context , proto::empty_env >::result_type child29; typedef typename evaluator::impl< A30 , Context , proto::empty_env >::result_type child30; typedef typename evaluator::impl< A31 , Context , proto::empty_env >::result_type child31; typedef typename evaluator::impl< A32 , Context , proto::empty_env >::result_type child32; - typedef - typename boost::result_of< - child1( - child1 , child2 , child3 , child4 , child5 , child6 , child7 , child8 , child9 , child10 , child11 , child12 , child13 , child14 , child15 , child16 , child17 , child18 , child19 , child20 , child21 , child22 , child23 , child24 , child25 , child26 , child27 , child28 , child29 , child30 , child31 , child32 - ) - >::type - type; - }; - - - - - - - - template - struct mem_fun_ptr_eval - { - typedef typename evaluator::impl< A0 , Context , proto::empty_env >::result_type child0; typedef typename evaluator::impl< A1 , Context , proto::empty_env >::result_type child1; typedef typename evaluator::impl< A2 , Context , proto::empty_env >::result_type child2; typedef typename evaluator::impl< A3 , Context , proto::empty_env >::result_type child3; typedef typename evaluator::impl< A4 , Context , proto::empty_env >::result_type child4; typedef typename evaluator::impl< A5 , Context , proto::empty_env >::result_type child5; typedef typename evaluator::impl< A6 , Context , proto::empty_env >::result_type child6; typedef typename evaluator::impl< A7 , Context , proto::empty_env >::result_type child7; typedef typename evaluator::impl< A8 , Context , proto::empty_env >::result_type child8; typedef typename evaluator::impl< A9 , Context , proto::empty_env >::result_type child9; typedef typename evaluator::impl< A10 , Context , proto::empty_env >::result_type child10; typedef typename evaluator::impl< A11 , Context , proto::empty_env >::result_type child11; typedef typename evaluator::impl< A12 , Context , proto::empty_env >::result_type child12; typedef typename evaluator::impl< A13 , Context , proto::empty_env >::result_type child13; typedef typename evaluator::impl< A14 , Context , proto::empty_env >::result_type child14; typedef typename evaluator::impl< A15 , Context , proto::empty_env >::result_type child15; typedef typename evaluator::impl< A16 , Context , proto::empty_env >::result_type child16; typedef typename evaluator::impl< A17 , Context , proto::empty_env >::result_type child17; typedef typename evaluator::impl< A18 , Context , proto::empty_env >::result_type child18; typedef typename evaluator::impl< A19 , Context , proto::empty_env >::result_type child19; typedef typename evaluator::impl< A20 , Context , proto::empty_env >::result_type child20; typedef typename evaluator::impl< A21 , Context , proto::empty_env >::result_type child21; typedef typename evaluator::impl< A22 , Context , proto::empty_env >::result_type child22; typedef typename evaluator::impl< A23 , Context , proto::empty_env >::result_type child23; typedef typename evaluator::impl< A24 , Context , proto::empty_env >::result_type child24; typedef typename evaluator::impl< A25 , Context , proto::empty_env >::result_type child25; typedef typename evaluator::impl< A26 , Context , proto::empty_env >::result_type child26; typedef typename evaluator::impl< A27 , Context , proto::empty_env >::result_type child27; typedef typename evaluator::impl< A28 , Context , proto::empty_env >::result_type child28; typedef typename evaluator::impl< A29 , Context , proto::empty_env >::result_type child29; typedef typename evaluator::impl< A30 , Context , proto::empty_env >::result_type child30; typedef typename evaluator::impl< A31 , Context , proto::empty_env >::result_type child31; typedef typename evaluator::impl< A32 , Context , proto::empty_env >::result_type child32; typedef typename evaluator::impl< A33 , Context , proto::empty_env >::result_type child33; - typedef - typename boost::result_of< - child1( - child1 , child2 , child3 , child4 , child5 , child6 , child7 , child8 , child9 , child10 , child11 , child12 , child13 , child14 , child15 , child16 , child17 , child18 , child19 , child20 , child21 , child22 , child23 , child24 , child25 , child26 , child27 , child28 , child29 , child30 , child31 , child32 , child33 - ) - >::type - type; - }; - - - - - - - - template - struct mem_fun_ptr_eval - { - typedef typename evaluator::impl< A0 , Context , proto::empty_env >::result_type child0; typedef typename evaluator::impl< A1 , Context , proto::empty_env >::result_type child1; typedef typename evaluator::impl< A2 , Context , proto::empty_env >::result_type child2; typedef typename evaluator::impl< A3 , Context , proto::empty_env >::result_type child3; typedef typename evaluator::impl< A4 , Context , proto::empty_env >::result_type child4; typedef typename evaluator::impl< A5 , Context , proto::empty_env >::result_type child5; typedef typename evaluator::impl< A6 , Context , proto::empty_env >::result_type child6; typedef typename evaluator::impl< A7 , Context , proto::empty_env >::result_type child7; typedef typename evaluator::impl< A8 , Context , proto::empty_env >::result_type child8; typedef typename evaluator::impl< A9 , Context , proto::empty_env >::result_type child9; typedef typename evaluator::impl< A10 , Context , proto::empty_env >::result_type child10; typedef typename evaluator::impl< A11 , Context , proto::empty_env >::result_type child11; typedef typename evaluator::impl< A12 , Context , proto::empty_env >::result_type child12; typedef typename evaluator::impl< A13 , Context , proto::empty_env >::result_type child13; typedef typename evaluator::impl< A14 , Context , proto::empty_env >::result_type child14; typedef typename evaluator::impl< A15 , Context , proto::empty_env >::result_type child15; typedef typename evaluator::impl< A16 , Context , proto::empty_env >::result_type child16; typedef typename evaluator::impl< A17 , Context , proto::empty_env >::result_type child17; typedef typename evaluator::impl< A18 , Context , proto::empty_env >::result_type child18; typedef typename evaluator::impl< A19 , Context , proto::empty_env >::result_type child19; typedef typename evaluator::impl< A20 , Context , proto::empty_env >::result_type child20; typedef typename evaluator::impl< A21 , Context , proto::empty_env >::result_type child21; typedef typename evaluator::impl< A22 , Context , proto::empty_env >::result_type child22; typedef typename evaluator::impl< A23 , Context , proto::empty_env >::result_type child23; typedef typename evaluator::impl< A24 , Context , proto::empty_env >::result_type child24; typedef typename evaluator::impl< A25 , Context , proto::empty_env >::result_type child25; typedef typename evaluator::impl< A26 , Context , proto::empty_env >::result_type child26; typedef typename evaluator::impl< A27 , Context , proto::empty_env >::result_type child27; typedef typename evaluator::impl< A28 , Context , proto::empty_env >::result_type child28; typedef typename evaluator::impl< A29 , Context , proto::empty_env >::result_type child29; typedef typename evaluator::impl< A30 , Context , proto::empty_env >::result_type child30; typedef typename evaluator::impl< A31 , Context , proto::empty_env >::result_type child31; typedef typename evaluator::impl< A32 , Context , proto::empty_env >::result_type child32; typedef typename evaluator::impl< A33 , Context , proto::empty_env >::result_type child33; typedef typename evaluator::impl< A34 , Context , proto::empty_env >::result_type child34; - typedef - typename boost::result_of< - child1( - child1 , child2 , child3 , child4 , child5 , child6 , child7 , child8 , child9 , child10 , child11 , child12 , child13 , child14 , child15 , child16 , child17 , child18 , child19 , child20 , child21 , child22 , child23 , child24 , child25 , child26 , child27 , child28 , child29 , child30 , child31 , child32 , child33 , child34 - ) - >::type - type; - }; - - - - - - - - template - struct mem_fun_ptr_eval - { - typedef typename evaluator::impl< A0 , Context , proto::empty_env >::result_type child0; typedef typename evaluator::impl< A1 , Context , proto::empty_env >::result_type child1; typedef typename evaluator::impl< A2 , Context , proto::empty_env >::result_type child2; typedef typename evaluator::impl< A3 , Context , proto::empty_env >::result_type child3; typedef typename evaluator::impl< A4 , Context , proto::empty_env >::result_type child4; typedef typename evaluator::impl< A5 , Context , proto::empty_env >::result_type child5; typedef typename evaluator::impl< A6 , Context , proto::empty_env >::result_type child6; typedef typename evaluator::impl< A7 , Context , proto::empty_env >::result_type child7; typedef typename evaluator::impl< A8 , Context , proto::empty_env >::result_type child8; typedef typename evaluator::impl< A9 , Context , proto::empty_env >::result_type child9; typedef typename evaluator::impl< A10 , Context , proto::empty_env >::result_type child10; typedef typename evaluator::impl< A11 , Context , proto::empty_env >::result_type child11; typedef typename evaluator::impl< A12 , Context , proto::empty_env >::result_type child12; typedef typename evaluator::impl< A13 , Context , proto::empty_env >::result_type child13; typedef typename evaluator::impl< A14 , Context , proto::empty_env >::result_type child14; typedef typename evaluator::impl< A15 , Context , proto::empty_env >::result_type child15; typedef typename evaluator::impl< A16 , Context , proto::empty_env >::result_type child16; typedef typename evaluator::impl< A17 , Context , proto::empty_env >::result_type child17; typedef typename evaluator::impl< A18 , Context , proto::empty_env >::result_type child18; typedef typename evaluator::impl< A19 , Context , proto::empty_env >::result_type child19; typedef typename evaluator::impl< A20 , Context , proto::empty_env >::result_type child20; typedef typename evaluator::impl< A21 , Context , proto::empty_env >::result_type child21; typedef typename evaluator::impl< A22 , Context , proto::empty_env >::result_type child22; typedef typename evaluator::impl< A23 , Context , proto::empty_env >::result_type child23; typedef typename evaluator::impl< A24 , Context , proto::empty_env >::result_type child24; typedef typename evaluator::impl< A25 , Context , proto::empty_env >::result_type child25; typedef typename evaluator::impl< A26 , Context , proto::empty_env >::result_type child26; typedef typename evaluator::impl< A27 , Context , proto::empty_env >::result_type child27; typedef typename evaluator::impl< A28 , Context , proto::empty_env >::result_type child28; typedef typename evaluator::impl< A29 , Context , proto::empty_env >::result_type child29; typedef typename evaluator::impl< A30 , Context , proto::empty_env >::result_type child30; typedef typename evaluator::impl< A31 , Context , proto::empty_env >::result_type child31; typedef typename evaluator::impl< A32 , Context , proto::empty_env >::result_type child32; typedef typename evaluator::impl< A33 , Context , proto::empty_env >::result_type child33; typedef typename evaluator::impl< A34 , Context , proto::empty_env >::result_type child34; typedef typename evaluator::impl< A35 , Context , proto::empty_env >::result_type child35; - typedef - typename boost::result_of< - child1( - child1 , child2 , child3 , child4 , child5 , child6 , child7 , child8 , child9 , child10 , child11 , child12 , child13 , child14 , child15 , child16 , child17 , child18 , child19 , child20 , child21 , child22 , child23 , child24 , child25 , child26 , child27 , child28 , child29 , child30 , child31 , child32 , child33 , child34 , child35 - ) - >::type - type; - }; - - - - - - - - template - struct mem_fun_ptr_eval - { - typedef typename evaluator::impl< A0 , Context , proto::empty_env >::result_type child0; typedef typename evaluator::impl< A1 , Context , proto::empty_env >::result_type child1; typedef typename evaluator::impl< A2 , Context , proto::empty_env >::result_type child2; typedef typename evaluator::impl< A3 , Context , proto::empty_env >::result_type child3; typedef typename evaluator::impl< A4 , Context , proto::empty_env >::result_type child4; typedef typename evaluator::impl< A5 , Context , proto::empty_env >::result_type child5; typedef typename evaluator::impl< A6 , Context , proto::empty_env >::result_type child6; typedef typename evaluator::impl< A7 , Context , proto::empty_env >::result_type child7; typedef typename evaluator::impl< A8 , Context , proto::empty_env >::result_type child8; typedef typename evaluator::impl< A9 , Context , proto::empty_env >::result_type child9; typedef typename evaluator::impl< A10 , Context , proto::empty_env >::result_type child10; typedef typename evaluator::impl< A11 , Context , proto::empty_env >::result_type child11; typedef typename evaluator::impl< A12 , Context , proto::empty_env >::result_type child12; typedef typename evaluator::impl< A13 , Context , proto::empty_env >::result_type child13; typedef typename evaluator::impl< A14 , Context , proto::empty_env >::result_type child14; typedef typename evaluator::impl< A15 , Context , proto::empty_env >::result_type child15; typedef typename evaluator::impl< A16 , Context , proto::empty_env >::result_type child16; typedef typename evaluator::impl< A17 , Context , proto::empty_env >::result_type child17; typedef typename evaluator::impl< A18 , Context , proto::empty_env >::result_type child18; typedef typename evaluator::impl< A19 , Context , proto::empty_env >::result_type child19; typedef typename evaluator::impl< A20 , Context , proto::empty_env >::result_type child20; typedef typename evaluator::impl< A21 , Context , proto::empty_env >::result_type child21; typedef typename evaluator::impl< A22 , Context , proto::empty_env >::result_type child22; typedef typename evaluator::impl< A23 , Context , proto::empty_env >::result_type child23; typedef typename evaluator::impl< A24 , Context , proto::empty_env >::result_type child24; typedef typename evaluator::impl< A25 , Context , proto::empty_env >::result_type child25; typedef typename evaluator::impl< A26 , Context , proto::empty_env >::result_type child26; typedef typename evaluator::impl< A27 , Context , proto::empty_env >::result_type child27; typedef typename evaluator::impl< A28 , Context , proto::empty_env >::result_type child28; typedef typename evaluator::impl< A29 , Context , proto::empty_env >::result_type child29; typedef typename evaluator::impl< A30 , Context , proto::empty_env >::result_type child30; typedef typename evaluator::impl< A31 , Context , proto::empty_env >::result_type child31; typedef typename evaluator::impl< A32 , Context , proto::empty_env >::result_type child32; typedef typename evaluator::impl< A33 , Context , proto::empty_env >::result_type child33; typedef typename evaluator::impl< A34 , Context , proto::empty_env >::result_type child34; typedef typename evaluator::impl< A35 , Context , proto::empty_env >::result_type child35; typedef typename evaluator::impl< A36 , Context , proto::empty_env >::result_type child36; - typedef - typename boost::result_of< - child1( - child1 , child2 , child3 , child4 , child5 , child6 , child7 , child8 , child9 , child10 , child11 , child12 , child13 , child14 , child15 , child16 , child17 , child18 , child19 , child20 , child21 , child22 , child23 , child24 , child25 , child26 , child27 , child28 , child29 , child30 , child31 , child32 , child33 , child34 , child35 , child36 - ) - >::type - type; - }; - - - - - - - - template - struct mem_fun_ptr_eval - { - typedef typename evaluator::impl< A0 , Context , proto::empty_env >::result_type child0; typedef typename evaluator::impl< A1 , Context , proto::empty_env >::result_type child1; typedef typename evaluator::impl< A2 , Context , proto::empty_env >::result_type child2; typedef typename evaluator::impl< A3 , Context , proto::empty_env >::result_type child3; typedef typename evaluator::impl< A4 , Context , proto::empty_env >::result_type child4; typedef typename evaluator::impl< A5 , Context , proto::empty_env >::result_type child5; typedef typename evaluator::impl< A6 , Context , proto::empty_env >::result_type child6; typedef typename evaluator::impl< A7 , Context , proto::empty_env >::result_type child7; typedef typename evaluator::impl< A8 , Context , proto::empty_env >::result_type child8; typedef typename evaluator::impl< A9 , Context , proto::empty_env >::result_type child9; typedef typename evaluator::impl< A10 , Context , proto::empty_env >::result_type child10; typedef typename evaluator::impl< A11 , Context , proto::empty_env >::result_type child11; typedef typename evaluator::impl< A12 , Context , proto::empty_env >::result_type child12; typedef typename evaluator::impl< A13 , Context , proto::empty_env >::result_type child13; typedef typename evaluator::impl< A14 , Context , proto::empty_env >::result_type child14; typedef typename evaluator::impl< A15 , Context , proto::empty_env >::result_type child15; typedef typename evaluator::impl< A16 , Context , proto::empty_env >::result_type child16; typedef typename evaluator::impl< A17 , Context , proto::empty_env >::result_type child17; typedef typename evaluator::impl< A18 , Context , proto::empty_env >::result_type child18; typedef typename evaluator::impl< A19 , Context , proto::empty_env >::result_type child19; typedef typename evaluator::impl< A20 , Context , proto::empty_env >::result_type child20; typedef typename evaluator::impl< A21 , Context , proto::empty_env >::result_type child21; typedef typename evaluator::impl< A22 , Context , proto::empty_env >::result_type child22; typedef typename evaluator::impl< A23 , Context , proto::empty_env >::result_type child23; typedef typename evaluator::impl< A24 , Context , proto::empty_env >::result_type child24; typedef typename evaluator::impl< A25 , Context , proto::empty_env >::result_type child25; typedef typename evaluator::impl< A26 , Context , proto::empty_env >::result_type child26; typedef typename evaluator::impl< A27 , Context , proto::empty_env >::result_type child27; typedef typename evaluator::impl< A28 , Context , proto::empty_env >::result_type child28; typedef typename evaluator::impl< A29 , Context , proto::empty_env >::result_type child29; typedef typename evaluator::impl< A30 , Context , proto::empty_env >::result_type child30; typedef typename evaluator::impl< A31 , Context , proto::empty_env >::result_type child31; typedef typename evaluator::impl< A32 , Context , proto::empty_env >::result_type child32; typedef typename evaluator::impl< A33 , Context , proto::empty_env >::result_type child33; typedef typename evaluator::impl< A34 , Context , proto::empty_env >::result_type child34; typedef typename evaluator::impl< A35 , Context , proto::empty_env >::result_type child35; typedef typename evaluator::impl< A36 , Context , proto::empty_env >::result_type child36; typedef typename evaluator::impl< A37 , Context , proto::empty_env >::result_type child37; - typedef - typename boost::result_of< - child1( - child1 , child2 , child3 , child4 , child5 , child6 , child7 , child8 , child9 , child10 , child11 , child12 , child13 , child14 , child15 , child16 , child17 , child18 , child19 , child20 , child21 , child22 , child23 , child24 , child25 , child26 , child27 , child28 , child29 , child30 , child31 , child32 , child33 , child34 , child35 , child36 , child37 - ) - >::type - type; - }; - - - - - - - - template - struct mem_fun_ptr_eval - { - typedef typename evaluator::impl< A0 , Context , proto::empty_env >::result_type child0; typedef typename evaluator::impl< A1 , Context , proto::empty_env >::result_type child1; typedef typename evaluator::impl< A2 , Context , proto::empty_env >::result_type child2; typedef typename evaluator::impl< A3 , Context , proto::empty_env >::result_type child3; typedef typename evaluator::impl< A4 , Context , proto::empty_env >::result_type child4; typedef typename evaluator::impl< A5 , Context , proto::empty_env >::result_type child5; typedef typename evaluator::impl< A6 , Context , proto::empty_env >::result_type child6; typedef typename evaluator::impl< A7 , Context , proto::empty_env >::result_type child7; typedef typename evaluator::impl< A8 , Context , proto::empty_env >::result_type child8; typedef typename evaluator::impl< A9 , Context , proto::empty_env >::result_type child9; typedef typename evaluator::impl< A10 , Context , proto::empty_env >::result_type child10; typedef typename evaluator::impl< A11 , Context , proto::empty_env >::result_type child11; typedef typename evaluator::impl< A12 , Context , proto::empty_env >::result_type child12; typedef typename evaluator::impl< A13 , Context , proto::empty_env >::result_type child13; typedef typename evaluator::impl< A14 , Context , proto::empty_env >::result_type child14; typedef typename evaluator::impl< A15 , Context , proto::empty_env >::result_type child15; typedef typename evaluator::impl< A16 , Context , proto::empty_env >::result_type child16; typedef typename evaluator::impl< A17 , Context , proto::empty_env >::result_type child17; typedef typename evaluator::impl< A18 , Context , proto::empty_env >::result_type child18; typedef typename evaluator::impl< A19 , Context , proto::empty_env >::result_type child19; typedef typename evaluator::impl< A20 , Context , proto::empty_env >::result_type child20; typedef typename evaluator::impl< A21 , Context , proto::empty_env >::result_type child21; typedef typename evaluator::impl< A22 , Context , proto::empty_env >::result_type child22; typedef typename evaluator::impl< A23 , Context , proto::empty_env >::result_type child23; typedef typename evaluator::impl< A24 , Context , proto::empty_env >::result_type child24; typedef typename evaluator::impl< A25 , Context , proto::empty_env >::result_type child25; typedef typename evaluator::impl< A26 , Context , proto::empty_env >::result_type child26; typedef typename evaluator::impl< A27 , Context , proto::empty_env >::result_type child27; typedef typename evaluator::impl< A28 , Context , proto::empty_env >::result_type child28; typedef typename evaluator::impl< A29 , Context , proto::empty_env >::result_type child29; typedef typename evaluator::impl< A30 , Context , proto::empty_env >::result_type child30; typedef typename evaluator::impl< A31 , Context , proto::empty_env >::result_type child31; typedef typename evaluator::impl< A32 , Context , proto::empty_env >::result_type child32; typedef typename evaluator::impl< A33 , Context , proto::empty_env >::result_type child33; typedef typename evaluator::impl< A34 , Context , proto::empty_env >::result_type child34; typedef typename evaluator::impl< A35 , Context , proto::empty_env >::result_type child35; typedef typename evaluator::impl< A36 , Context , proto::empty_env >::result_type child36; typedef typename evaluator::impl< A37 , Context , proto::empty_env >::result_type child37; typedef typename evaluator::impl< A38 , Context , proto::empty_env >::result_type child38; - typedef - typename boost::result_of< - child1( - child1 , child2 , child3 , child4 , child5 , child6 , child7 , child8 , child9 , child10 , child11 , child12 , child13 , child14 , child15 , child16 , child17 , child18 , child19 , child20 , child21 , child22 , child23 , child24 , child25 , child26 , child27 , child28 , child29 , child30 , child31 , child32 , child33 , child34 , child35 , child36 , child37 , child38 - ) - >::type - type; - }; - - - - - - - - template - struct mem_fun_ptr_eval - { - typedef typename evaluator::impl< A0 , Context , proto::empty_env >::result_type child0; typedef typename evaluator::impl< A1 , Context , proto::empty_env >::result_type child1; typedef typename evaluator::impl< A2 , Context , proto::empty_env >::result_type child2; typedef typename evaluator::impl< A3 , Context , proto::empty_env >::result_type child3; typedef typename evaluator::impl< A4 , Context , proto::empty_env >::result_type child4; typedef typename evaluator::impl< A5 , Context , proto::empty_env >::result_type child5; typedef typename evaluator::impl< A6 , Context , proto::empty_env >::result_type child6; typedef typename evaluator::impl< A7 , Context , proto::empty_env >::result_type child7; typedef typename evaluator::impl< A8 , Context , proto::empty_env >::result_type child8; typedef typename evaluator::impl< A9 , Context , proto::empty_env >::result_type child9; typedef typename evaluator::impl< A10 , Context , proto::empty_env >::result_type child10; typedef typename evaluator::impl< A11 , Context , proto::empty_env >::result_type child11; typedef typename evaluator::impl< A12 , Context , proto::empty_env >::result_type child12; typedef typename evaluator::impl< A13 , Context , proto::empty_env >::result_type child13; typedef typename evaluator::impl< A14 , Context , proto::empty_env >::result_type child14; typedef typename evaluator::impl< A15 , Context , proto::empty_env >::result_type child15; typedef typename evaluator::impl< A16 , Context , proto::empty_env >::result_type child16; typedef typename evaluator::impl< A17 , Context , proto::empty_env >::result_type child17; typedef typename evaluator::impl< A18 , Context , proto::empty_env >::result_type child18; typedef typename evaluator::impl< A19 , Context , proto::empty_env >::result_type child19; typedef typename evaluator::impl< A20 , Context , proto::empty_env >::result_type child20; typedef typename evaluator::impl< A21 , Context , proto::empty_env >::result_type child21; typedef typename evaluator::impl< A22 , Context , proto::empty_env >::result_type child22; typedef typename evaluator::impl< A23 , Context , proto::empty_env >::result_type child23; typedef typename evaluator::impl< A24 , Context , proto::empty_env >::result_type child24; typedef typename evaluator::impl< A25 , Context , proto::empty_env >::result_type child25; typedef typename evaluator::impl< A26 , Context , proto::empty_env >::result_type child26; typedef typename evaluator::impl< A27 , Context , proto::empty_env >::result_type child27; typedef typename evaluator::impl< A28 , Context , proto::empty_env >::result_type child28; typedef typename evaluator::impl< A29 , Context , proto::empty_env >::result_type child29; typedef typename evaluator::impl< A30 , Context , proto::empty_env >::result_type child30; typedef typename evaluator::impl< A31 , Context , proto::empty_env >::result_type child31; typedef typename evaluator::impl< A32 , Context , proto::empty_env >::result_type child32; typedef typename evaluator::impl< A33 , Context , proto::empty_env >::result_type child33; typedef typename evaluator::impl< A34 , Context , proto::empty_env >::result_type child34; typedef typename evaluator::impl< A35 , Context , proto::empty_env >::result_type child35; typedef typename evaluator::impl< A36 , Context , proto::empty_env >::result_type child36; typedef typename evaluator::impl< A37 , Context , proto::empty_env >::result_type child37; typedef typename evaluator::impl< A38 , Context , proto::empty_env >::result_type child38; typedef typename evaluator::impl< A39 , Context , proto::empty_env >::result_type child39; - typedef - typename boost::result_of< - child1( - child1 , child2 , child3 , child4 , child5 , child6 , child7 , child8 , child9 , child10 , child11 , child12 , child13 , child14 , child15 , child16 , child17 , child18 , child19 , child20 , child21 , child22 , child23 , child24 , child25 , child26 , child27 , child28 , child29 , child30 , child31 , child32 , child33 , child34 , child35 , child36 , child37 , child38 , child39 - ) - >::type - type; - }; - - - - - - - - template - struct mem_fun_ptr_eval - { - typedef typename evaluator::impl< A0 , Context , proto::empty_env >::result_type child0; typedef typename evaluator::impl< A1 , Context , proto::empty_env >::result_type child1; typedef typename evaluator::impl< A2 , Context , proto::empty_env >::result_type child2; typedef typename evaluator::impl< A3 , Context , proto::empty_env >::result_type child3; typedef typename evaluator::impl< A4 , Context , proto::empty_env >::result_type child4; typedef typename evaluator::impl< A5 , Context , proto::empty_env >::result_type child5; typedef typename evaluator::impl< A6 , Context , proto::empty_env >::result_type child6; typedef typename evaluator::impl< A7 , Context , proto::empty_env >::result_type child7; typedef typename evaluator::impl< A8 , Context , proto::empty_env >::result_type child8; typedef typename evaluator::impl< A9 , Context , proto::empty_env >::result_type child9; typedef typename evaluator::impl< A10 , Context , proto::empty_env >::result_type child10; typedef typename evaluator::impl< A11 , Context , proto::empty_env >::result_type child11; typedef typename evaluator::impl< A12 , Context , proto::empty_env >::result_type child12; typedef typename evaluator::impl< A13 , Context , proto::empty_env >::result_type child13; typedef typename evaluator::impl< A14 , Context , proto::empty_env >::result_type child14; typedef typename evaluator::impl< A15 , Context , proto::empty_env >::result_type child15; typedef typename evaluator::impl< A16 , Context , proto::empty_env >::result_type child16; typedef typename evaluator::impl< A17 , Context , proto::empty_env >::result_type child17; typedef typename evaluator::impl< A18 , Context , proto::empty_env >::result_type child18; typedef typename evaluator::impl< A19 , Context , proto::empty_env >::result_type child19; typedef typename evaluator::impl< A20 , Context , proto::empty_env >::result_type child20; typedef typename evaluator::impl< A21 , Context , proto::empty_env >::result_type child21; typedef typename evaluator::impl< A22 , Context , proto::empty_env >::result_type child22; typedef typename evaluator::impl< A23 , Context , proto::empty_env >::result_type child23; typedef typename evaluator::impl< A24 , Context , proto::empty_env >::result_type child24; typedef typename evaluator::impl< A25 , Context , proto::empty_env >::result_type child25; typedef typename evaluator::impl< A26 , Context , proto::empty_env >::result_type child26; typedef typename evaluator::impl< A27 , Context , proto::empty_env >::result_type child27; typedef typename evaluator::impl< A28 , Context , proto::empty_env >::result_type child28; typedef typename evaluator::impl< A29 , Context , proto::empty_env >::result_type child29; typedef typename evaluator::impl< A30 , Context , proto::empty_env >::result_type child30; typedef typename evaluator::impl< A31 , Context , proto::empty_env >::result_type child31; typedef typename evaluator::impl< A32 , Context , proto::empty_env >::result_type child32; typedef typename evaluator::impl< A33 , Context , proto::empty_env >::result_type child33; typedef typename evaluator::impl< A34 , Context , proto::empty_env >::result_type child34; typedef typename evaluator::impl< A35 , Context , proto::empty_env >::result_type child35; typedef typename evaluator::impl< A36 , Context , proto::empty_env >::result_type child36; typedef typename evaluator::impl< A37 , Context , proto::empty_env >::result_type child37; typedef typename evaluator::impl< A38 , Context , proto::empty_env >::result_type child38; typedef typename evaluator::impl< A39 , Context , proto::empty_env >::result_type child39; typedef typename evaluator::impl< A40 , Context , proto::empty_env >::result_type child40; - typedef - typename boost::result_of< - child1( - child1 , child2 , child3 , child4 , child5 , child6 , child7 , child8 , child9 , child10 , child11 , child12 , child13 , child14 , child15 , child16 , child17 , child18 , child19 , child20 , child21 , child22 , child23 , child24 , child25 , child26 , child27 , child28 , child29 , child30 , child31 , child32 , child33 , child34 , child35 , child36 , child37 , child38 , child39 , child40 - ) - >::type - type; - }; - - - - - - - - template - struct mem_fun_ptr_eval - { - typedef typename evaluator::impl< A0 , Context , proto::empty_env >::result_type child0; typedef typename evaluator::impl< A1 , Context , proto::empty_env >::result_type child1; typedef typename evaluator::impl< A2 , Context , proto::empty_env >::result_type child2; typedef typename evaluator::impl< A3 , Context , proto::empty_env >::result_type child3; typedef typename evaluator::impl< A4 , Context , proto::empty_env >::result_type child4; typedef typename evaluator::impl< A5 , Context , proto::empty_env >::result_type child5; typedef typename evaluator::impl< A6 , Context , proto::empty_env >::result_type child6; typedef typename evaluator::impl< A7 , Context , proto::empty_env >::result_type child7; typedef typename evaluator::impl< A8 , Context , proto::empty_env >::result_type child8; typedef typename evaluator::impl< A9 , Context , proto::empty_env >::result_type child9; typedef typename evaluator::impl< A10 , Context , proto::empty_env >::result_type child10; typedef typename evaluator::impl< A11 , Context , proto::empty_env >::result_type child11; typedef typename evaluator::impl< A12 , Context , proto::empty_env >::result_type child12; typedef typename evaluator::impl< A13 , Context , proto::empty_env >::result_type child13; typedef typename evaluator::impl< A14 , Context , proto::empty_env >::result_type child14; typedef typename evaluator::impl< A15 , Context , proto::empty_env >::result_type child15; typedef typename evaluator::impl< A16 , Context , proto::empty_env >::result_type child16; typedef typename evaluator::impl< A17 , Context , proto::empty_env >::result_type child17; typedef typename evaluator::impl< A18 , Context , proto::empty_env >::result_type child18; typedef typename evaluator::impl< A19 , Context , proto::empty_env >::result_type child19; typedef typename evaluator::impl< A20 , Context , proto::empty_env >::result_type child20; typedef typename evaluator::impl< A21 , Context , proto::empty_env >::result_type child21; typedef typename evaluator::impl< A22 , Context , proto::empty_env >::result_type child22; typedef typename evaluator::impl< A23 , Context , proto::empty_env >::result_type child23; typedef typename evaluator::impl< A24 , Context , proto::empty_env >::result_type child24; typedef typename evaluator::impl< A25 , Context , proto::empty_env >::result_type child25; typedef typename evaluator::impl< A26 , Context , proto::empty_env >::result_type child26; typedef typename evaluator::impl< A27 , Context , proto::empty_env >::result_type child27; typedef typename evaluator::impl< A28 , Context , proto::empty_env >::result_type child28; typedef typename evaluator::impl< A29 , Context , proto::empty_env >::result_type child29; typedef typename evaluator::impl< A30 , Context , proto::empty_env >::result_type child30; typedef typename evaluator::impl< A31 , Context , proto::empty_env >::result_type child31; typedef typename evaluator::impl< A32 , Context , proto::empty_env >::result_type child32; typedef typename evaluator::impl< A33 , Context , proto::empty_env >::result_type child33; typedef typename evaluator::impl< A34 , Context , proto::empty_env >::result_type child34; typedef typename evaluator::impl< A35 , Context , proto::empty_env >::result_type child35; typedef typename evaluator::impl< A36 , Context , proto::empty_env >::result_type child36; typedef typename evaluator::impl< A37 , Context , proto::empty_env >::result_type child37; typedef typename evaluator::impl< A38 , Context , proto::empty_env >::result_type child38; typedef typename evaluator::impl< A39 , Context , proto::empty_env >::result_type child39; typedef typename evaluator::impl< A40 , Context , proto::empty_env >::result_type child40; typedef typename evaluator::impl< A41 , Context , proto::empty_env >::result_type child41; - typedef - typename boost::result_of< - child1( - child1 , child2 , child3 , child4 , child5 , child6 , child7 , child8 , child9 , child10 , child11 , child12 , child13 , child14 , child15 , child16 , child17 , child18 , child19 , child20 , child21 , child22 , child23 , child24 , child25 , child26 , child27 , child28 , child29 , child30 , child31 , child32 , child33 , child34 , child35 , child36 , child37 , child38 , child39 , child40 , child41 - ) - >::type - type; - }; - - - - - - - - template - struct mem_fun_ptr_eval - { - typedef typename evaluator::impl< A0 , Context , proto::empty_env >::result_type child0; typedef typename evaluator::impl< A1 , Context , proto::empty_env >::result_type child1; typedef typename evaluator::impl< A2 , Context , proto::empty_env >::result_type child2; typedef typename evaluator::impl< A3 , Context , proto::empty_env >::result_type child3; typedef typename evaluator::impl< A4 , Context , proto::empty_env >::result_type child4; typedef typename evaluator::impl< A5 , Context , proto::empty_env >::result_type child5; typedef typename evaluator::impl< A6 , Context , proto::empty_env >::result_type child6; typedef typename evaluator::impl< A7 , Context , proto::empty_env >::result_type child7; typedef typename evaluator::impl< A8 , Context , proto::empty_env >::result_type child8; typedef typename evaluator::impl< A9 , Context , proto::empty_env >::result_type child9; typedef typename evaluator::impl< A10 , Context , proto::empty_env >::result_type child10; typedef typename evaluator::impl< A11 , Context , proto::empty_env >::result_type child11; typedef typename evaluator::impl< A12 , Context , proto::empty_env >::result_type child12; typedef typename evaluator::impl< A13 , Context , proto::empty_env >::result_type child13; typedef typename evaluator::impl< A14 , Context , proto::empty_env >::result_type child14; typedef typename evaluator::impl< A15 , Context , proto::empty_env >::result_type child15; typedef typename evaluator::impl< A16 , Context , proto::empty_env >::result_type child16; typedef typename evaluator::impl< A17 , Context , proto::empty_env >::result_type child17; typedef typename evaluator::impl< A18 , Context , proto::empty_env >::result_type child18; typedef typename evaluator::impl< A19 , Context , proto::empty_env >::result_type child19; typedef typename evaluator::impl< A20 , Context , proto::empty_env >::result_type child20; typedef typename evaluator::impl< A21 , Context , proto::empty_env >::result_type child21; typedef typename evaluator::impl< A22 , Context , proto::empty_env >::result_type child22; typedef typename evaluator::impl< A23 , Context , proto::empty_env >::result_type child23; typedef typename evaluator::impl< A24 , Context , proto::empty_env >::result_type child24; typedef typename evaluator::impl< A25 , Context , proto::empty_env >::result_type child25; typedef typename evaluator::impl< A26 , Context , proto::empty_env >::result_type child26; typedef typename evaluator::impl< A27 , Context , proto::empty_env >::result_type child27; typedef typename evaluator::impl< A28 , Context , proto::empty_env >::result_type child28; typedef typename evaluator::impl< A29 , Context , proto::empty_env >::result_type child29; typedef typename evaluator::impl< A30 , Context , proto::empty_env >::result_type child30; typedef typename evaluator::impl< A31 , Context , proto::empty_env >::result_type child31; typedef typename evaluator::impl< A32 , Context , proto::empty_env >::result_type child32; typedef typename evaluator::impl< A33 , Context , proto::empty_env >::result_type child33; typedef typename evaluator::impl< A34 , Context , proto::empty_env >::result_type child34; typedef typename evaluator::impl< A35 , Context , proto::empty_env >::result_type child35; typedef typename evaluator::impl< A36 , Context , proto::empty_env >::result_type child36; typedef typename evaluator::impl< A37 , Context , proto::empty_env >::result_type child37; typedef typename evaluator::impl< A38 , Context , proto::empty_env >::result_type child38; typedef typename evaluator::impl< A39 , Context , proto::empty_env >::result_type child39; typedef typename evaluator::impl< A40 , Context , proto::empty_env >::result_type child40; typedef typename evaluator::impl< A41 , Context , proto::empty_env >::result_type child41; typedef typename evaluator::impl< A42 , Context , proto::empty_env >::result_type child42; - typedef - typename boost::result_of< - child1( - child1 , child2 , child3 , child4 , child5 , child6 , child7 , child8 , child9 , child10 , child11 , child12 , child13 , child14 , child15 , child16 , child17 , child18 , child19 , child20 , child21 , child22 , child23 , child24 , child25 , child26 , child27 , child28 , child29 , child30 , child31 , child32 , child33 , child34 , child35 , child36 , child37 , child38 , child39 , child40 , child41 , child42 - ) - >::type - type; - }; - - - - - - - - template - struct mem_fun_ptr_eval - { - typedef typename evaluator::impl< A0 , Context , proto::empty_env >::result_type child0; typedef typename evaluator::impl< A1 , Context , proto::empty_env >::result_type child1; typedef typename evaluator::impl< A2 , Context , proto::empty_env >::result_type child2; typedef typename evaluator::impl< A3 , Context , proto::empty_env >::result_type child3; typedef typename evaluator::impl< A4 , Context , proto::empty_env >::result_type child4; typedef typename evaluator::impl< A5 , Context , proto::empty_env >::result_type child5; typedef typename evaluator::impl< A6 , Context , proto::empty_env >::result_type child6; typedef typename evaluator::impl< A7 , Context , proto::empty_env >::result_type child7; typedef typename evaluator::impl< A8 , Context , proto::empty_env >::result_type child8; typedef typename evaluator::impl< A9 , Context , proto::empty_env >::result_type child9; typedef typename evaluator::impl< A10 , Context , proto::empty_env >::result_type child10; typedef typename evaluator::impl< A11 , Context , proto::empty_env >::result_type child11; typedef typename evaluator::impl< A12 , Context , proto::empty_env >::result_type child12; typedef typename evaluator::impl< A13 , Context , proto::empty_env >::result_type child13; typedef typename evaluator::impl< A14 , Context , proto::empty_env >::result_type child14; typedef typename evaluator::impl< A15 , Context , proto::empty_env >::result_type child15; typedef typename evaluator::impl< A16 , Context , proto::empty_env >::result_type child16; typedef typename evaluator::impl< A17 , Context , proto::empty_env >::result_type child17; typedef typename evaluator::impl< A18 , Context , proto::empty_env >::result_type child18; typedef typename evaluator::impl< A19 , Context , proto::empty_env >::result_type child19; typedef typename evaluator::impl< A20 , Context , proto::empty_env >::result_type child20; typedef typename evaluator::impl< A21 , Context , proto::empty_env >::result_type child21; typedef typename evaluator::impl< A22 , Context , proto::empty_env >::result_type child22; typedef typename evaluator::impl< A23 , Context , proto::empty_env >::result_type child23; typedef typename evaluator::impl< A24 , Context , proto::empty_env >::result_type child24; typedef typename evaluator::impl< A25 , Context , proto::empty_env >::result_type child25; typedef typename evaluator::impl< A26 , Context , proto::empty_env >::result_type child26; typedef typename evaluator::impl< A27 , Context , proto::empty_env >::result_type child27; typedef typename evaluator::impl< A28 , Context , proto::empty_env >::result_type child28; typedef typename evaluator::impl< A29 , Context , proto::empty_env >::result_type child29; typedef typename evaluator::impl< A30 , Context , proto::empty_env >::result_type child30; typedef typename evaluator::impl< A31 , Context , proto::empty_env >::result_type child31; typedef typename evaluator::impl< A32 , Context , proto::empty_env >::result_type child32; typedef typename evaluator::impl< A33 , Context , proto::empty_env >::result_type child33; typedef typename evaluator::impl< A34 , Context , proto::empty_env >::result_type child34; typedef typename evaluator::impl< A35 , Context , proto::empty_env >::result_type child35; typedef typename evaluator::impl< A36 , Context , proto::empty_env >::result_type child36; typedef typename evaluator::impl< A37 , Context , proto::empty_env >::result_type child37; typedef typename evaluator::impl< A38 , Context , proto::empty_env >::result_type child38; typedef typename evaluator::impl< A39 , Context , proto::empty_env >::result_type child39; typedef typename evaluator::impl< A40 , Context , proto::empty_env >::result_type child40; typedef typename evaluator::impl< A41 , Context , proto::empty_env >::result_type child41; typedef typename evaluator::impl< A42 , Context , proto::empty_env >::result_type child42; typedef typename evaluator::impl< A43 , Context , proto::empty_env >::result_type child43; - typedef - typename boost::result_of< - child1( - child1 , child2 , child3 , child4 , child5 , child6 , child7 , child8 , child9 , child10 , child11 , child12 , child13 , child14 , child15 , child16 , child17 , child18 , child19 , child20 , child21 , child22 , child23 , child24 , child25 , child26 , child27 , child28 , child29 , child30 , child31 , child32 , child33 , child34 , child35 , child36 , child37 , child38 , child39 , child40 , child41 , child42 , child43 - ) - >::type - type; - }; - - - - - - - - template - struct mem_fun_ptr_eval - { - typedef typename evaluator::impl< A0 , Context , proto::empty_env >::result_type child0; typedef typename evaluator::impl< A1 , Context , proto::empty_env >::result_type child1; typedef typename evaluator::impl< A2 , Context , proto::empty_env >::result_type child2; typedef typename evaluator::impl< A3 , Context , proto::empty_env >::result_type child3; typedef typename evaluator::impl< A4 , Context , proto::empty_env >::result_type child4; typedef typename evaluator::impl< A5 , Context , proto::empty_env >::result_type child5; typedef typename evaluator::impl< A6 , Context , proto::empty_env >::result_type child6; typedef typename evaluator::impl< A7 , Context , proto::empty_env >::result_type child7; typedef typename evaluator::impl< A8 , Context , proto::empty_env >::result_type child8; typedef typename evaluator::impl< A9 , Context , proto::empty_env >::result_type child9; typedef typename evaluator::impl< A10 , Context , proto::empty_env >::result_type child10; typedef typename evaluator::impl< A11 , Context , proto::empty_env >::result_type child11; typedef typename evaluator::impl< A12 , Context , proto::empty_env >::result_type child12; typedef typename evaluator::impl< A13 , Context , proto::empty_env >::result_type child13; typedef typename evaluator::impl< A14 , Context , proto::empty_env >::result_type child14; typedef typename evaluator::impl< A15 , Context , proto::empty_env >::result_type child15; typedef typename evaluator::impl< A16 , Context , proto::empty_env >::result_type child16; typedef typename evaluator::impl< A17 , Context , proto::empty_env >::result_type child17; typedef typename evaluator::impl< A18 , Context , proto::empty_env >::result_type child18; typedef typename evaluator::impl< A19 , Context , proto::empty_env >::result_type child19; typedef typename evaluator::impl< A20 , Context , proto::empty_env >::result_type child20; typedef typename evaluator::impl< A21 , Context , proto::empty_env >::result_type child21; typedef typename evaluator::impl< A22 , Context , proto::empty_env >::result_type child22; typedef typename evaluator::impl< A23 , Context , proto::empty_env >::result_type child23; typedef typename evaluator::impl< A24 , Context , proto::empty_env >::result_type child24; typedef typename evaluator::impl< A25 , Context , proto::empty_env >::result_type child25; typedef typename evaluator::impl< A26 , Context , proto::empty_env >::result_type child26; typedef typename evaluator::impl< A27 , Context , proto::empty_env >::result_type child27; typedef typename evaluator::impl< A28 , Context , proto::empty_env >::result_type child28; typedef typename evaluator::impl< A29 , Context , proto::empty_env >::result_type child29; typedef typename evaluator::impl< A30 , Context , proto::empty_env >::result_type child30; typedef typename evaluator::impl< A31 , Context , proto::empty_env >::result_type child31; typedef typename evaluator::impl< A32 , Context , proto::empty_env >::result_type child32; typedef typename evaluator::impl< A33 , Context , proto::empty_env >::result_type child33; typedef typename evaluator::impl< A34 , Context , proto::empty_env >::result_type child34; typedef typename evaluator::impl< A35 , Context , proto::empty_env >::result_type child35; typedef typename evaluator::impl< A36 , Context , proto::empty_env >::result_type child36; typedef typename evaluator::impl< A37 , Context , proto::empty_env >::result_type child37; typedef typename evaluator::impl< A38 , Context , proto::empty_env >::result_type child38; typedef typename evaluator::impl< A39 , Context , proto::empty_env >::result_type child39; typedef typename evaluator::impl< A40 , Context , proto::empty_env >::result_type child40; typedef typename evaluator::impl< A41 , Context , proto::empty_env >::result_type child41; typedef typename evaluator::impl< A42 , Context , proto::empty_env >::result_type child42; typedef typename evaluator::impl< A43 , Context , proto::empty_env >::result_type child43; typedef typename evaluator::impl< A44 , Context , proto::empty_env >::result_type child44; - typedef - typename boost::result_of< - child1( - child1 , child2 , child3 , child4 , child5 , child6 , child7 , child8 , child9 , child10 , child11 , child12 , child13 , child14 , child15 , child16 , child17 , child18 , child19 , child20 , child21 , child22 , child23 , child24 , child25 , child26 , child27 , child28 , child29 , child30 , child31 , child32 , child33 , child34 , child35 , child36 , child37 , child38 , child39 , child40 , child41 , child42 , child43 , child44 - ) - >::type - type; - }; - - - - - - - - template - struct mem_fun_ptr_eval - { - typedef typename evaluator::impl< A0 , Context , proto::empty_env >::result_type child0; typedef typename evaluator::impl< A1 , Context , proto::empty_env >::result_type child1; typedef typename evaluator::impl< A2 , Context , proto::empty_env >::result_type child2; typedef typename evaluator::impl< A3 , Context , proto::empty_env >::result_type child3; typedef typename evaluator::impl< A4 , Context , proto::empty_env >::result_type child4; typedef typename evaluator::impl< A5 , Context , proto::empty_env >::result_type child5; typedef typename evaluator::impl< A6 , Context , proto::empty_env >::result_type child6; typedef typename evaluator::impl< A7 , Context , proto::empty_env >::result_type child7; typedef typename evaluator::impl< A8 , Context , proto::empty_env >::result_type child8; typedef typename evaluator::impl< A9 , Context , proto::empty_env >::result_type child9; typedef typename evaluator::impl< A10 , Context , proto::empty_env >::result_type child10; typedef typename evaluator::impl< A11 , Context , proto::empty_env >::result_type child11; typedef typename evaluator::impl< A12 , Context , proto::empty_env >::result_type child12; typedef typename evaluator::impl< A13 , Context , proto::empty_env >::result_type child13; typedef typename evaluator::impl< A14 , Context , proto::empty_env >::result_type child14; typedef typename evaluator::impl< A15 , Context , proto::empty_env >::result_type child15; typedef typename evaluator::impl< A16 , Context , proto::empty_env >::result_type child16; typedef typename evaluator::impl< A17 , Context , proto::empty_env >::result_type child17; typedef typename evaluator::impl< A18 , Context , proto::empty_env >::result_type child18; typedef typename evaluator::impl< A19 , Context , proto::empty_env >::result_type child19; typedef typename evaluator::impl< A20 , Context , proto::empty_env >::result_type child20; typedef typename evaluator::impl< A21 , Context , proto::empty_env >::result_type child21; typedef typename evaluator::impl< A22 , Context , proto::empty_env >::result_type child22; typedef typename evaluator::impl< A23 , Context , proto::empty_env >::result_type child23; typedef typename evaluator::impl< A24 , Context , proto::empty_env >::result_type child24; typedef typename evaluator::impl< A25 , Context , proto::empty_env >::result_type child25; typedef typename evaluator::impl< A26 , Context , proto::empty_env >::result_type child26; typedef typename evaluator::impl< A27 , Context , proto::empty_env >::result_type child27; typedef typename evaluator::impl< A28 , Context , proto::empty_env >::result_type child28; typedef typename evaluator::impl< A29 , Context , proto::empty_env >::result_type child29; typedef typename evaluator::impl< A30 , Context , proto::empty_env >::result_type child30; typedef typename evaluator::impl< A31 , Context , proto::empty_env >::result_type child31; typedef typename evaluator::impl< A32 , Context , proto::empty_env >::result_type child32; typedef typename evaluator::impl< A33 , Context , proto::empty_env >::result_type child33; typedef typename evaluator::impl< A34 , Context , proto::empty_env >::result_type child34; typedef typename evaluator::impl< A35 , Context , proto::empty_env >::result_type child35; typedef typename evaluator::impl< A36 , Context , proto::empty_env >::result_type child36; typedef typename evaluator::impl< A37 , Context , proto::empty_env >::result_type child37; typedef typename evaluator::impl< A38 , Context , proto::empty_env >::result_type child38; typedef typename evaluator::impl< A39 , Context , proto::empty_env >::result_type child39; typedef typename evaluator::impl< A40 , Context , proto::empty_env >::result_type child40; typedef typename evaluator::impl< A41 , Context , proto::empty_env >::result_type child41; typedef typename evaluator::impl< A42 , Context , proto::empty_env >::result_type child42; typedef typename evaluator::impl< A43 , Context , proto::empty_env >::result_type child43; typedef typename evaluator::impl< A44 , Context , proto::empty_env >::result_type child44; typedef typename evaluator::impl< A45 , Context , proto::empty_env >::result_type child45; - typedef - typename boost::result_of< - child1( - child1 , child2 , child3 , child4 , child5 , child6 , child7 , child8 , child9 , child10 , child11 , child12 , child13 , child14 , child15 , child16 , child17 , child18 , child19 , child20 , child21 , child22 , child23 , child24 , child25 , child26 , child27 , child28 , child29 , child30 , child31 , child32 , child33 , child34 , child35 , child36 , child37 , child38 , child39 , child40 , child41 , child42 , child43 , child44 , child45 - ) - >::type - type; - }; - - - - - - - - template - struct mem_fun_ptr_eval - { - typedef typename evaluator::impl< A0 , Context , proto::empty_env >::result_type child0; typedef typename evaluator::impl< A1 , Context , proto::empty_env >::result_type child1; typedef typename evaluator::impl< A2 , Context , proto::empty_env >::result_type child2; typedef typename evaluator::impl< A3 , Context , proto::empty_env >::result_type child3; typedef typename evaluator::impl< A4 , Context , proto::empty_env >::result_type child4; typedef typename evaluator::impl< A5 , Context , proto::empty_env >::result_type child5; typedef typename evaluator::impl< A6 , Context , proto::empty_env >::result_type child6; typedef typename evaluator::impl< A7 , Context , proto::empty_env >::result_type child7; typedef typename evaluator::impl< A8 , Context , proto::empty_env >::result_type child8; typedef typename evaluator::impl< A9 , Context , proto::empty_env >::result_type child9; typedef typename evaluator::impl< A10 , Context , proto::empty_env >::result_type child10; typedef typename evaluator::impl< A11 , Context , proto::empty_env >::result_type child11; typedef typename evaluator::impl< A12 , Context , proto::empty_env >::result_type child12; typedef typename evaluator::impl< A13 , Context , proto::empty_env >::result_type child13; typedef typename evaluator::impl< A14 , Context , proto::empty_env >::result_type child14; typedef typename evaluator::impl< A15 , Context , proto::empty_env >::result_type child15; typedef typename evaluator::impl< A16 , Context , proto::empty_env >::result_type child16; typedef typename evaluator::impl< A17 , Context , proto::empty_env >::result_type child17; typedef typename evaluator::impl< A18 , Context , proto::empty_env >::result_type child18; typedef typename evaluator::impl< A19 , Context , proto::empty_env >::result_type child19; typedef typename evaluator::impl< A20 , Context , proto::empty_env >::result_type child20; typedef typename evaluator::impl< A21 , Context , proto::empty_env >::result_type child21; typedef typename evaluator::impl< A22 , Context , proto::empty_env >::result_type child22; typedef typename evaluator::impl< A23 , Context , proto::empty_env >::result_type child23; typedef typename evaluator::impl< A24 , Context , proto::empty_env >::result_type child24; typedef typename evaluator::impl< A25 , Context , proto::empty_env >::result_type child25; typedef typename evaluator::impl< A26 , Context , proto::empty_env >::result_type child26; typedef typename evaluator::impl< A27 , Context , proto::empty_env >::result_type child27; typedef typename evaluator::impl< A28 , Context , proto::empty_env >::result_type child28; typedef typename evaluator::impl< A29 , Context , proto::empty_env >::result_type child29; typedef typename evaluator::impl< A30 , Context , proto::empty_env >::result_type child30; typedef typename evaluator::impl< A31 , Context , proto::empty_env >::result_type child31; typedef typename evaluator::impl< A32 , Context , proto::empty_env >::result_type child32; typedef typename evaluator::impl< A33 , Context , proto::empty_env >::result_type child33; typedef typename evaluator::impl< A34 , Context , proto::empty_env >::result_type child34; typedef typename evaluator::impl< A35 , Context , proto::empty_env >::result_type child35; typedef typename evaluator::impl< A36 , Context , proto::empty_env >::result_type child36; typedef typename evaluator::impl< A37 , Context , proto::empty_env >::result_type child37; typedef typename evaluator::impl< A38 , Context , proto::empty_env >::result_type child38; typedef typename evaluator::impl< A39 , Context , proto::empty_env >::result_type child39; typedef typename evaluator::impl< A40 , Context , proto::empty_env >::result_type child40; typedef typename evaluator::impl< A41 , Context , proto::empty_env >::result_type child41; typedef typename evaluator::impl< A42 , Context , proto::empty_env >::result_type child42; typedef typename evaluator::impl< A43 , Context , proto::empty_env >::result_type child43; typedef typename evaluator::impl< A44 , Context , proto::empty_env >::result_type child44; typedef typename evaluator::impl< A45 , Context , proto::empty_env >::result_type child45; typedef typename evaluator::impl< A46 , Context , proto::empty_env >::result_type child46; - typedef - typename boost::result_of< - child1( - child1 , child2 , child3 , child4 , child5 , child6 , child7 , child8 , child9 , child10 , child11 , child12 , child13 , child14 , child15 , child16 , child17 , child18 , child19 , child20 , child21 , child22 , child23 , child24 , child25 , child26 , child27 , child28 , child29 , child30 , child31 , child32 , child33 , child34 , child35 , child36 , child37 , child38 , child39 , child40 , child41 , child42 , child43 , child44 , child45 , child46 - ) - >::type - type; - }; - - - - - - - - template - struct mem_fun_ptr_eval - { - typedef typename evaluator::impl< A0 , Context , proto::empty_env >::result_type child0; typedef typename evaluator::impl< A1 , Context , proto::empty_env >::result_type child1; typedef typename evaluator::impl< A2 , Context , proto::empty_env >::result_type child2; typedef typename evaluator::impl< A3 , Context , proto::empty_env >::result_type child3; typedef typename evaluator::impl< A4 , Context , proto::empty_env >::result_type child4; typedef typename evaluator::impl< A5 , Context , proto::empty_env >::result_type child5; typedef typename evaluator::impl< A6 , Context , proto::empty_env >::result_type child6; typedef typename evaluator::impl< A7 , Context , proto::empty_env >::result_type child7; typedef typename evaluator::impl< A8 , Context , proto::empty_env >::result_type child8; typedef typename evaluator::impl< A9 , Context , proto::empty_env >::result_type child9; typedef typename evaluator::impl< A10 , Context , proto::empty_env >::result_type child10; typedef typename evaluator::impl< A11 , Context , proto::empty_env >::result_type child11; typedef typename evaluator::impl< A12 , Context , proto::empty_env >::result_type child12; typedef typename evaluator::impl< A13 , Context , proto::empty_env >::result_type child13; typedef typename evaluator::impl< A14 , Context , proto::empty_env >::result_type child14; typedef typename evaluator::impl< A15 , Context , proto::empty_env >::result_type child15; typedef typename evaluator::impl< A16 , Context , proto::empty_env >::result_type child16; typedef typename evaluator::impl< A17 , Context , proto::empty_env >::result_type child17; typedef typename evaluator::impl< A18 , Context , proto::empty_env >::result_type child18; typedef typename evaluator::impl< A19 , Context , proto::empty_env >::result_type child19; typedef typename evaluator::impl< A20 , Context , proto::empty_env >::result_type child20; typedef typename evaluator::impl< A21 , Context , proto::empty_env >::result_type child21; typedef typename evaluator::impl< A22 , Context , proto::empty_env >::result_type child22; typedef typename evaluator::impl< A23 , Context , proto::empty_env >::result_type child23; typedef typename evaluator::impl< A24 , Context , proto::empty_env >::result_type child24; typedef typename evaluator::impl< A25 , Context , proto::empty_env >::result_type child25; typedef typename evaluator::impl< A26 , Context , proto::empty_env >::result_type child26; typedef typename evaluator::impl< A27 , Context , proto::empty_env >::result_type child27; typedef typename evaluator::impl< A28 , Context , proto::empty_env >::result_type child28; typedef typename evaluator::impl< A29 , Context , proto::empty_env >::result_type child29; typedef typename evaluator::impl< A30 , Context , proto::empty_env >::result_type child30; typedef typename evaluator::impl< A31 , Context , proto::empty_env >::result_type child31; typedef typename evaluator::impl< A32 , Context , proto::empty_env >::result_type child32; typedef typename evaluator::impl< A33 , Context , proto::empty_env >::result_type child33; typedef typename evaluator::impl< A34 , Context , proto::empty_env >::result_type child34; typedef typename evaluator::impl< A35 , Context , proto::empty_env >::result_type child35; typedef typename evaluator::impl< A36 , Context , proto::empty_env >::result_type child36; typedef typename evaluator::impl< A37 , Context , proto::empty_env >::result_type child37; typedef typename evaluator::impl< A38 , Context , proto::empty_env >::result_type child38; typedef typename evaluator::impl< A39 , Context , proto::empty_env >::result_type child39; typedef typename evaluator::impl< A40 , Context , proto::empty_env >::result_type child40; typedef typename evaluator::impl< A41 , Context , proto::empty_env >::result_type child41; typedef typename evaluator::impl< A42 , Context , proto::empty_env >::result_type child42; typedef typename evaluator::impl< A43 , Context , proto::empty_env >::result_type child43; typedef typename evaluator::impl< A44 , Context , proto::empty_env >::result_type child44; typedef typename evaluator::impl< A45 , Context , proto::empty_env >::result_type child45; typedef typename evaluator::impl< A46 , Context , proto::empty_env >::result_type child46; typedef typename evaluator::impl< A47 , Context , proto::empty_env >::result_type child47; - typedef - typename boost::result_of< - child1( - child1 , child2 , child3 , child4 , child5 , child6 , child7 , child8 , child9 , child10 , child11 , child12 , child13 , child14 , child15 , child16 , child17 , child18 , child19 , child20 , child21 , child22 , child23 , child24 , child25 , child26 , child27 , child28 , child29 , child30 , child31 , child32 , child33 , child34 , child35 , child36 , child37 , child38 , child39 , child40 , child41 , child42 , child43 , child44 , child45 , child46 , child47 - ) - >::type - type; - }; - - - - - - - - template - struct mem_fun_ptr_eval - { - typedef typename evaluator::impl< A0 , Context , proto::empty_env >::result_type child0; typedef typename evaluator::impl< A1 , Context , proto::empty_env >::result_type child1; typedef typename evaluator::impl< A2 , Context , proto::empty_env >::result_type child2; typedef typename evaluator::impl< A3 , Context , proto::empty_env >::result_type child3; typedef typename evaluator::impl< A4 , Context , proto::empty_env >::result_type child4; typedef typename evaluator::impl< A5 , Context , proto::empty_env >::result_type child5; typedef typename evaluator::impl< A6 , Context , proto::empty_env >::result_type child6; typedef typename evaluator::impl< A7 , Context , proto::empty_env >::result_type child7; typedef typename evaluator::impl< A8 , Context , proto::empty_env >::result_type child8; typedef typename evaluator::impl< A9 , Context , proto::empty_env >::result_type child9; typedef typename evaluator::impl< A10 , Context , proto::empty_env >::result_type child10; typedef typename evaluator::impl< A11 , Context , proto::empty_env >::result_type child11; typedef typename evaluator::impl< A12 , Context , proto::empty_env >::result_type child12; typedef typename evaluator::impl< A13 , Context , proto::empty_env >::result_type child13; typedef typename evaluator::impl< A14 , Context , proto::empty_env >::result_type child14; typedef typename evaluator::impl< A15 , Context , proto::empty_env >::result_type child15; typedef typename evaluator::impl< A16 , Context , proto::empty_env >::result_type child16; typedef typename evaluator::impl< A17 , Context , proto::empty_env >::result_type child17; typedef typename evaluator::impl< A18 , Context , proto::empty_env >::result_type child18; typedef typename evaluator::impl< A19 , Context , proto::empty_env >::result_type child19; typedef typename evaluator::impl< A20 , Context , proto::empty_env >::result_type child20; typedef typename evaluator::impl< A21 , Context , proto::empty_env >::result_type child21; typedef typename evaluator::impl< A22 , Context , proto::empty_env >::result_type child22; typedef typename evaluator::impl< A23 , Context , proto::empty_env >::result_type child23; typedef typename evaluator::impl< A24 , Context , proto::empty_env >::result_type child24; typedef typename evaluator::impl< A25 , Context , proto::empty_env >::result_type child25; typedef typename evaluator::impl< A26 , Context , proto::empty_env >::result_type child26; typedef typename evaluator::impl< A27 , Context , proto::empty_env >::result_type child27; typedef typename evaluator::impl< A28 , Context , proto::empty_env >::result_type child28; typedef typename evaluator::impl< A29 , Context , proto::empty_env >::result_type child29; typedef typename evaluator::impl< A30 , Context , proto::empty_env >::result_type child30; typedef typename evaluator::impl< A31 , Context , proto::empty_env >::result_type child31; typedef typename evaluator::impl< A32 , Context , proto::empty_env >::result_type child32; typedef typename evaluator::impl< A33 , Context , proto::empty_env >::result_type child33; typedef typename evaluator::impl< A34 , Context , proto::empty_env >::result_type child34; typedef typename evaluator::impl< A35 , Context , proto::empty_env >::result_type child35; typedef typename evaluator::impl< A36 , Context , proto::empty_env >::result_type child36; typedef typename evaluator::impl< A37 , Context , proto::empty_env >::result_type child37; typedef typename evaluator::impl< A38 , Context , proto::empty_env >::result_type child38; typedef typename evaluator::impl< A39 , Context , proto::empty_env >::result_type child39; typedef typename evaluator::impl< A40 , Context , proto::empty_env >::result_type child40; typedef typename evaluator::impl< A41 , Context , proto::empty_env >::result_type child41; typedef typename evaluator::impl< A42 , Context , proto::empty_env >::result_type child42; typedef typename evaluator::impl< A43 , Context , proto::empty_env >::result_type child43; typedef typename evaluator::impl< A44 , Context , proto::empty_env >::result_type child44; typedef typename evaluator::impl< A45 , Context , proto::empty_env >::result_type child45; typedef typename evaluator::impl< A46 , Context , proto::empty_env >::result_type child46; typedef typename evaluator::impl< A47 , Context , proto::empty_env >::result_type child47; typedef typename evaluator::impl< A48 , Context , proto::empty_env >::result_type child48; - typedef - typename boost::result_of< - child1( - child1 , child2 , child3 , child4 , child5 , child6 , child7 , child8 , child9 , child10 , child11 , child12 , child13 , child14 , child15 , child16 , child17 , child18 , child19 , child20 , child21 , child22 , child23 , child24 , child25 , child26 , child27 , child28 , child29 , child30 , child31 , child32 , child33 , child34 , child35 , child36 , child37 , child38 , child39 , child40 , child41 , child42 , child43 , child44 , child45 , child46 , child47 , child48 - ) - >::type - type; - }; - - - - - - - - template - struct mem_fun_ptr_eval - { - typedef typename evaluator::impl< A0 , Context , proto::empty_env >::result_type child0; typedef typename evaluator::impl< A1 , Context , proto::empty_env >::result_type child1; typedef typename evaluator::impl< A2 , Context , proto::empty_env >::result_type child2; typedef typename evaluator::impl< A3 , Context , proto::empty_env >::result_type child3; typedef typename evaluator::impl< A4 , Context , proto::empty_env >::result_type child4; typedef typename evaluator::impl< A5 , Context , proto::empty_env >::result_type child5; typedef typename evaluator::impl< A6 , Context , proto::empty_env >::result_type child6; typedef typename evaluator::impl< A7 , Context , proto::empty_env >::result_type child7; typedef typename evaluator::impl< A8 , Context , proto::empty_env >::result_type child8; typedef typename evaluator::impl< A9 , Context , proto::empty_env >::result_type child9; typedef typename evaluator::impl< A10 , Context , proto::empty_env >::result_type child10; typedef typename evaluator::impl< A11 , Context , proto::empty_env >::result_type child11; typedef typename evaluator::impl< A12 , Context , proto::empty_env >::result_type child12; typedef typename evaluator::impl< A13 , Context , proto::empty_env >::result_type child13; typedef typename evaluator::impl< A14 , Context , proto::empty_env >::result_type child14; typedef typename evaluator::impl< A15 , Context , proto::empty_env >::result_type child15; typedef typename evaluator::impl< A16 , Context , proto::empty_env >::result_type child16; typedef typename evaluator::impl< A17 , Context , proto::empty_env >::result_type child17; typedef typename evaluator::impl< A18 , Context , proto::empty_env >::result_type child18; typedef typename evaluator::impl< A19 , Context , proto::empty_env >::result_type child19; typedef typename evaluator::impl< A20 , Context , proto::empty_env >::result_type child20; typedef typename evaluator::impl< A21 , Context , proto::empty_env >::result_type child21; typedef typename evaluator::impl< A22 , Context , proto::empty_env >::result_type child22; typedef typename evaluator::impl< A23 , Context , proto::empty_env >::result_type child23; typedef typename evaluator::impl< A24 , Context , proto::empty_env >::result_type child24; typedef typename evaluator::impl< A25 , Context , proto::empty_env >::result_type child25; typedef typename evaluator::impl< A26 , Context , proto::empty_env >::result_type child26; typedef typename evaluator::impl< A27 , Context , proto::empty_env >::result_type child27; typedef typename evaluator::impl< A28 , Context , proto::empty_env >::result_type child28; typedef typename evaluator::impl< A29 , Context , proto::empty_env >::result_type child29; typedef typename evaluator::impl< A30 , Context , proto::empty_env >::result_type child30; typedef typename evaluator::impl< A31 , Context , proto::empty_env >::result_type child31; typedef typename evaluator::impl< A32 , Context , proto::empty_env >::result_type child32; typedef typename evaluator::impl< A33 , Context , proto::empty_env >::result_type child33; typedef typename evaluator::impl< A34 , Context , proto::empty_env >::result_type child34; typedef typename evaluator::impl< A35 , Context , proto::empty_env >::result_type child35; typedef typename evaluator::impl< A36 , Context , proto::empty_env >::result_type child36; typedef typename evaluator::impl< A37 , Context , proto::empty_env >::result_type child37; typedef typename evaluator::impl< A38 , Context , proto::empty_env >::result_type child38; typedef typename evaluator::impl< A39 , Context , proto::empty_env >::result_type child39; typedef typename evaluator::impl< A40 , Context , proto::empty_env >::result_type child40; typedef typename evaluator::impl< A41 , Context , proto::empty_env >::result_type child41; typedef typename evaluator::impl< A42 , Context , proto::empty_env >::result_type child42; typedef typename evaluator::impl< A43 , Context , proto::empty_env >::result_type child43; typedef typename evaluator::impl< A44 , Context , proto::empty_env >::result_type child44; typedef typename evaluator::impl< A45 , Context , proto::empty_env >::result_type child45; typedef typename evaluator::impl< A46 , Context , proto::empty_env >::result_type child46; typedef typename evaluator::impl< A47 , Context , proto::empty_env >::result_type child47; typedef typename evaluator::impl< A48 , Context , proto::empty_env >::result_type child48; typedef typename evaluator::impl< A49 , Context , proto::empty_env >::result_type child49; - typedef - typename boost::result_of< - child1( - child1 , child2 , child3 , child4 , child5 , child6 , child7 , child8 , child9 , child10 , child11 , child12 , child13 , child14 , child15 , child16 , child17 , child18 , child19 , child20 , child21 , child22 , child23 , child24 , child25 , child26 , child27 , child28 , child29 , child30 , child31 , child32 , child33 , child34 , child35 , child36 , child37 , child38 , child39 , child40 , child41 , child42 , child43 , child44 , child45 , child46 , child47 , child48 , child49 - ) - >::type - type; - }; - } - struct mem_fun_ptr_eval - { - template - struct result; - - - - - - - - template - struct result - : result - {}; - template - struct result - : result_of::mem_fun_ptr_eval - {}; - template - typename result_of::mem_fun_ptr_eval::type - operator()( - A0 const& a0 , A1 const& a1 - , Context const & ctx - ) const - { - return - ( - get_pointer(boost::phoenix::eval(a0, ctx)) - ->*boost::phoenix::eval(a1, ctx) - )( - - ); - } - - - - - - - - - template - struct result - : result - {}; - template - struct result - : result_of::mem_fun_ptr_eval - {}; - template - typename result_of::mem_fun_ptr_eval::type - operator()( - A0 const& a0 , A1 const& a1 , A2 const& a2 - , Context const & ctx - ) const - { - return - ( - get_pointer(boost::phoenix::eval(a0, ctx)) - ->*boost::phoenix::eval(a1, ctx) - )( - boost::phoenix::eval(a2, ctx) - ); - } - - - - - - - - - template - struct result - : result - {}; - template - struct result - : result_of::mem_fun_ptr_eval - {}; - template - typename result_of::mem_fun_ptr_eval::type - operator()( - A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 - , Context const & ctx - ) const - { - return - ( - get_pointer(boost::phoenix::eval(a0, ctx)) - ->*boost::phoenix::eval(a1, ctx) - )( - boost::phoenix::eval(a2, ctx) , boost::phoenix::eval(a3, ctx) - ); - } - - - - - - - - - template - struct result - : result - {}; - template - struct result - : result_of::mem_fun_ptr_eval - {}; - template - typename result_of::mem_fun_ptr_eval::type - operator()( - A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 - , Context const & ctx - ) const - { - return - ( - get_pointer(boost::phoenix::eval(a0, ctx)) - ->*boost::phoenix::eval(a1, ctx) - )( - boost::phoenix::eval(a2, ctx) , boost::phoenix::eval(a3, ctx) , boost::phoenix::eval(a4, ctx) - ); - } - - - - - - - - - template - struct result - : result - {}; - template - struct result - : result_of::mem_fun_ptr_eval - {}; - template - typename result_of::mem_fun_ptr_eval::type - operator()( - A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 - , Context const & ctx - ) const - { - return - ( - get_pointer(boost::phoenix::eval(a0, ctx)) - ->*boost::phoenix::eval(a1, ctx) - )( - boost::phoenix::eval(a2, ctx) , boost::phoenix::eval(a3, ctx) , boost::phoenix::eval(a4, ctx) , boost::phoenix::eval(a5, ctx) - ); - } - - - - - - - - - template - struct result - : result - {}; - template - struct result - : result_of::mem_fun_ptr_eval - {}; - template - typename result_of::mem_fun_ptr_eval::type - operator()( - A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 - , Context const & ctx - ) const - { - return - ( - get_pointer(boost::phoenix::eval(a0, ctx)) - ->*boost::phoenix::eval(a1, ctx) - )( - boost::phoenix::eval(a2, ctx) , boost::phoenix::eval(a3, ctx) , boost::phoenix::eval(a4, ctx) , boost::phoenix::eval(a5, ctx) , boost::phoenix::eval(a6, ctx) - ); - } - - - - - - - - - template - struct result - : result - {}; - template - struct result - : result_of::mem_fun_ptr_eval - {}; - template - typename result_of::mem_fun_ptr_eval::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 - , Context const & ctx - ) const - { - return - ( - get_pointer(boost::phoenix::eval(a0, ctx)) - ->*boost::phoenix::eval(a1, ctx) - )( - boost::phoenix::eval(a2, ctx) , boost::phoenix::eval(a3, ctx) , boost::phoenix::eval(a4, ctx) , boost::phoenix::eval(a5, ctx) , boost::phoenix::eval(a6, ctx) , boost::phoenix::eval(a7, ctx) - ); - } - - - - - - - - - template - struct result - : result - {}; - template - struct result - : result_of::mem_fun_ptr_eval - {}; - template - typename result_of::mem_fun_ptr_eval::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 - , Context const & ctx - ) const - { - return - ( - get_pointer(boost::phoenix::eval(a0, ctx)) - ->*boost::phoenix::eval(a1, ctx) - )( - boost::phoenix::eval(a2, ctx) , boost::phoenix::eval(a3, ctx) , boost::phoenix::eval(a4, ctx) , boost::phoenix::eval(a5, ctx) , boost::phoenix::eval(a6, ctx) , boost::phoenix::eval(a7, ctx) , boost::phoenix::eval(a8, ctx) - ); - } - - - - - - - - - template - struct result - : result - {}; - template - struct result - : result_of::mem_fun_ptr_eval - {}; - template - typename result_of::mem_fun_ptr_eval::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 - , Context const & ctx - ) const - { - return - ( - get_pointer(boost::phoenix::eval(a0, ctx)) - ->*boost::phoenix::eval(a1, ctx) - )( - boost::phoenix::eval(a2, ctx) , boost::phoenix::eval(a3, ctx) , boost::phoenix::eval(a4, ctx) , boost::phoenix::eval(a5, ctx) , boost::phoenix::eval(a6, ctx) , boost::phoenix::eval(a7, ctx) , boost::phoenix::eval(a8, ctx) , boost::phoenix::eval(a9, ctx) - ); - } - - - - - - - - - template - struct result - : result - {}; - template - struct result - : result_of::mem_fun_ptr_eval - {}; - template - typename result_of::mem_fun_ptr_eval::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 , A10 const& a10 - , Context const & ctx - ) const - { - return - ( - get_pointer(boost::phoenix::eval(a0, ctx)) - ->*boost::phoenix::eval(a1, ctx) - )( - boost::phoenix::eval(a2, ctx) , boost::phoenix::eval(a3, ctx) , boost::phoenix::eval(a4, ctx) , boost::phoenix::eval(a5, ctx) , boost::phoenix::eval(a6, ctx) , boost::phoenix::eval(a7, ctx) , boost::phoenix::eval(a8, ctx) , boost::phoenix::eval(a9, ctx) , boost::phoenix::eval(a10, ctx) - ); - } - - - - - - - - - template - struct result - : result - {}; - template - struct result - : result_of::mem_fun_ptr_eval - {}; - template - typename result_of::mem_fun_ptr_eval::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 , A10 const& a10 , A11 const& a11 - , Context const & ctx - ) const - { - return - ( - get_pointer(boost::phoenix::eval(a0, ctx)) - ->*boost::phoenix::eval(a1, ctx) - )( - boost::phoenix::eval(a2, ctx) , boost::phoenix::eval(a3, ctx) , boost::phoenix::eval(a4, ctx) , boost::phoenix::eval(a5, ctx) , boost::phoenix::eval(a6, ctx) , boost::phoenix::eval(a7, ctx) , boost::phoenix::eval(a8, ctx) , boost::phoenix::eval(a9, ctx) , boost::phoenix::eval(a10, ctx) , boost::phoenix::eval(a11, ctx) - ); - } - - - - - - - - - template - struct result - : result - {}; - template - struct result - : result_of::mem_fun_ptr_eval - {}; - template - typename result_of::mem_fun_ptr_eval::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 , A10 const& a10 , A11 const& a11 , A12 const& a12 - , Context const & ctx - ) const - { - return - ( - get_pointer(boost::phoenix::eval(a0, ctx)) - ->*boost::phoenix::eval(a1, ctx) - )( - boost::phoenix::eval(a2, ctx) , boost::phoenix::eval(a3, ctx) , boost::phoenix::eval(a4, ctx) , boost::phoenix::eval(a5, ctx) , boost::phoenix::eval(a6, ctx) , boost::phoenix::eval(a7, ctx) , boost::phoenix::eval(a8, ctx) , boost::phoenix::eval(a9, ctx) , boost::phoenix::eval(a10, ctx) , boost::phoenix::eval(a11, ctx) , boost::phoenix::eval(a12, ctx) - ); - } - - - - - - - - - template - struct result - : result - {}; - template - struct result - : result_of::mem_fun_ptr_eval - {}; - template - typename result_of::mem_fun_ptr_eval::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 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 - , Context const & ctx - ) const - { - return - ( - get_pointer(boost::phoenix::eval(a0, ctx)) - ->*boost::phoenix::eval(a1, ctx) - )( - boost::phoenix::eval(a2, ctx) , boost::phoenix::eval(a3, ctx) , boost::phoenix::eval(a4, ctx) , boost::phoenix::eval(a5, ctx) , boost::phoenix::eval(a6, ctx) , boost::phoenix::eval(a7, ctx) , boost::phoenix::eval(a8, ctx) , boost::phoenix::eval(a9, ctx) , boost::phoenix::eval(a10, ctx) , boost::phoenix::eval(a11, ctx) , boost::phoenix::eval(a12, ctx) , boost::phoenix::eval(a13, ctx) - ); - } - - - - - - - - - template - struct result - : result - {}; - template - struct result - : result_of::mem_fun_ptr_eval - {}; - template - typename result_of::mem_fun_ptr_eval::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 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 - , Context const & ctx - ) const - { - return - ( - get_pointer(boost::phoenix::eval(a0, ctx)) - ->*boost::phoenix::eval(a1, ctx) - )( - boost::phoenix::eval(a2, ctx) , boost::phoenix::eval(a3, ctx) , boost::phoenix::eval(a4, ctx) , boost::phoenix::eval(a5, ctx) , boost::phoenix::eval(a6, ctx) , boost::phoenix::eval(a7, ctx) , boost::phoenix::eval(a8, ctx) , boost::phoenix::eval(a9, ctx) , boost::phoenix::eval(a10, ctx) , boost::phoenix::eval(a11, ctx) , boost::phoenix::eval(a12, ctx) , boost::phoenix::eval(a13, ctx) , boost::phoenix::eval(a14, ctx) - ); - } - - - - - - - - - template - struct result - : result - {}; - template - struct result - : result_of::mem_fun_ptr_eval - {}; - template - typename result_of::mem_fun_ptr_eval::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 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 - , Context const & ctx - ) const - { - return - ( - get_pointer(boost::phoenix::eval(a0, ctx)) - ->*boost::phoenix::eval(a1, ctx) - )( - boost::phoenix::eval(a2, ctx) , boost::phoenix::eval(a3, ctx) , boost::phoenix::eval(a4, ctx) , boost::phoenix::eval(a5, ctx) , boost::phoenix::eval(a6, ctx) , boost::phoenix::eval(a7, ctx) , boost::phoenix::eval(a8, ctx) , boost::phoenix::eval(a9, ctx) , boost::phoenix::eval(a10, ctx) , boost::phoenix::eval(a11, ctx) , boost::phoenix::eval(a12, ctx) , boost::phoenix::eval(a13, ctx) , boost::phoenix::eval(a14, ctx) , boost::phoenix::eval(a15, ctx) - ); - } - - - - - - - - - template - struct result - : result - {}; - template - struct result - : result_of::mem_fun_ptr_eval - {}; - template - typename result_of::mem_fun_ptr_eval::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 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 - , Context const & ctx - ) const - { - return - ( - get_pointer(boost::phoenix::eval(a0, ctx)) - ->*boost::phoenix::eval(a1, ctx) - )( - boost::phoenix::eval(a2, ctx) , boost::phoenix::eval(a3, ctx) , boost::phoenix::eval(a4, ctx) , boost::phoenix::eval(a5, ctx) , boost::phoenix::eval(a6, ctx) , boost::phoenix::eval(a7, ctx) , boost::phoenix::eval(a8, ctx) , boost::phoenix::eval(a9, ctx) , boost::phoenix::eval(a10, ctx) , boost::phoenix::eval(a11, ctx) , boost::phoenix::eval(a12, ctx) , boost::phoenix::eval(a13, ctx) , boost::phoenix::eval(a14, ctx) , boost::phoenix::eval(a15, ctx) , boost::phoenix::eval(a16, ctx) - ); - } - - - - - - - - - template - struct result - : result - {}; - template - struct result - : result_of::mem_fun_ptr_eval - {}; - template - typename result_of::mem_fun_ptr_eval::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 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 - , Context const & ctx - ) const - { - return - ( - get_pointer(boost::phoenix::eval(a0, ctx)) - ->*boost::phoenix::eval(a1, ctx) - )( - boost::phoenix::eval(a2, ctx) , boost::phoenix::eval(a3, ctx) , boost::phoenix::eval(a4, ctx) , boost::phoenix::eval(a5, ctx) , boost::phoenix::eval(a6, ctx) , boost::phoenix::eval(a7, ctx) , boost::phoenix::eval(a8, ctx) , boost::phoenix::eval(a9, ctx) , boost::phoenix::eval(a10, ctx) , boost::phoenix::eval(a11, ctx) , boost::phoenix::eval(a12, ctx) , boost::phoenix::eval(a13, ctx) , boost::phoenix::eval(a14, ctx) , boost::phoenix::eval(a15, ctx) , boost::phoenix::eval(a16, ctx) , boost::phoenix::eval(a17, ctx) - ); - } - - - - - - - - - template - struct result - : result - {}; - template - struct result - : result_of::mem_fun_ptr_eval - {}; - template - typename result_of::mem_fun_ptr_eval::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 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 - , Context const & ctx - ) const - { - return - ( - get_pointer(boost::phoenix::eval(a0, ctx)) - ->*boost::phoenix::eval(a1, ctx) - )( - boost::phoenix::eval(a2, ctx) , boost::phoenix::eval(a3, ctx) , boost::phoenix::eval(a4, ctx) , boost::phoenix::eval(a5, ctx) , boost::phoenix::eval(a6, ctx) , boost::phoenix::eval(a7, ctx) , boost::phoenix::eval(a8, ctx) , boost::phoenix::eval(a9, ctx) , boost::phoenix::eval(a10, ctx) , boost::phoenix::eval(a11, ctx) , boost::phoenix::eval(a12, ctx) , boost::phoenix::eval(a13, ctx) , boost::phoenix::eval(a14, ctx) , boost::phoenix::eval(a15, ctx) , boost::phoenix::eval(a16, ctx) , boost::phoenix::eval(a17, ctx) , boost::phoenix::eval(a18, ctx) - ); - } - - - - - - - - - template - struct result - : result - {}; - template - struct result - : result_of::mem_fun_ptr_eval - {}; - template - typename result_of::mem_fun_ptr_eval::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 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 - , Context const & ctx - ) const - { - return - ( - get_pointer(boost::phoenix::eval(a0, ctx)) - ->*boost::phoenix::eval(a1, ctx) - )( - boost::phoenix::eval(a2, ctx) , boost::phoenix::eval(a3, ctx) , boost::phoenix::eval(a4, ctx) , boost::phoenix::eval(a5, ctx) , boost::phoenix::eval(a6, ctx) , boost::phoenix::eval(a7, ctx) , boost::phoenix::eval(a8, ctx) , boost::phoenix::eval(a9, ctx) , boost::phoenix::eval(a10, ctx) , boost::phoenix::eval(a11, ctx) , boost::phoenix::eval(a12, ctx) , boost::phoenix::eval(a13, ctx) , boost::phoenix::eval(a14, ctx) , boost::phoenix::eval(a15, ctx) , boost::phoenix::eval(a16, ctx) , boost::phoenix::eval(a17, ctx) , boost::phoenix::eval(a18, ctx) , boost::phoenix::eval(a19, ctx) - ); - } - - - - - - - - - template - struct result - : result - {}; - template - struct result - : result_of::mem_fun_ptr_eval - {}; - template - typename result_of::mem_fun_ptr_eval::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 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 - , Context const & ctx - ) const - { - return - ( - get_pointer(boost::phoenix::eval(a0, ctx)) - ->*boost::phoenix::eval(a1, ctx) - )( - boost::phoenix::eval(a2, ctx) , boost::phoenix::eval(a3, ctx) , boost::phoenix::eval(a4, ctx) , boost::phoenix::eval(a5, ctx) , boost::phoenix::eval(a6, ctx) , boost::phoenix::eval(a7, ctx) , boost::phoenix::eval(a8, ctx) , boost::phoenix::eval(a9, ctx) , boost::phoenix::eval(a10, ctx) , boost::phoenix::eval(a11, ctx) , boost::phoenix::eval(a12, ctx) , boost::phoenix::eval(a13, ctx) , boost::phoenix::eval(a14, ctx) , boost::phoenix::eval(a15, ctx) , boost::phoenix::eval(a16, ctx) , boost::phoenix::eval(a17, ctx) , boost::phoenix::eval(a18, ctx) , boost::phoenix::eval(a19, ctx) , boost::phoenix::eval(a20, ctx) - ); - } - - - - - - - - - template - struct result - : result - {}; - template - struct result - : result_of::mem_fun_ptr_eval - {}; - template - typename result_of::mem_fun_ptr_eval::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 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 - , Context const & ctx - ) const - { - return - ( - get_pointer(boost::phoenix::eval(a0, ctx)) - ->*boost::phoenix::eval(a1, ctx) - )( - boost::phoenix::eval(a2, ctx) , boost::phoenix::eval(a3, ctx) , boost::phoenix::eval(a4, ctx) , boost::phoenix::eval(a5, ctx) , boost::phoenix::eval(a6, ctx) , boost::phoenix::eval(a7, ctx) , boost::phoenix::eval(a8, ctx) , boost::phoenix::eval(a9, ctx) , boost::phoenix::eval(a10, ctx) , boost::phoenix::eval(a11, ctx) , boost::phoenix::eval(a12, ctx) , boost::phoenix::eval(a13, ctx) , boost::phoenix::eval(a14, ctx) , boost::phoenix::eval(a15, ctx) , boost::phoenix::eval(a16, ctx) , boost::phoenix::eval(a17, ctx) , boost::phoenix::eval(a18, ctx) , boost::phoenix::eval(a19, ctx) , boost::phoenix::eval(a20, ctx) , boost::phoenix::eval(a21, ctx) - ); - } - - - - - - - - - template - struct result - : result - {}; - template - struct result - : result_of::mem_fun_ptr_eval - {}; - template - typename result_of::mem_fun_ptr_eval::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 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 - , Context const & ctx - ) const - { - return - ( - get_pointer(boost::phoenix::eval(a0, ctx)) - ->*boost::phoenix::eval(a1, ctx) - )( - boost::phoenix::eval(a2, ctx) , boost::phoenix::eval(a3, ctx) , boost::phoenix::eval(a4, ctx) , boost::phoenix::eval(a5, ctx) , boost::phoenix::eval(a6, ctx) , boost::phoenix::eval(a7, ctx) , boost::phoenix::eval(a8, ctx) , boost::phoenix::eval(a9, ctx) , boost::phoenix::eval(a10, ctx) , boost::phoenix::eval(a11, ctx) , boost::phoenix::eval(a12, ctx) , boost::phoenix::eval(a13, ctx) , boost::phoenix::eval(a14, ctx) , boost::phoenix::eval(a15, ctx) , boost::phoenix::eval(a16, ctx) , boost::phoenix::eval(a17, ctx) , boost::phoenix::eval(a18, ctx) , boost::phoenix::eval(a19, ctx) , boost::phoenix::eval(a20, ctx) , boost::phoenix::eval(a21, ctx) , boost::phoenix::eval(a22, ctx) - ); - } - - - - - - - - - template - struct result - : result - {}; - template - struct result - : result_of::mem_fun_ptr_eval - {}; - template - typename result_of::mem_fun_ptr_eval::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 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 - , Context const & ctx - ) const - { - return - ( - get_pointer(boost::phoenix::eval(a0, ctx)) - ->*boost::phoenix::eval(a1, ctx) - )( - boost::phoenix::eval(a2, ctx) , boost::phoenix::eval(a3, ctx) , boost::phoenix::eval(a4, ctx) , boost::phoenix::eval(a5, ctx) , boost::phoenix::eval(a6, ctx) , boost::phoenix::eval(a7, ctx) , boost::phoenix::eval(a8, ctx) , boost::phoenix::eval(a9, ctx) , boost::phoenix::eval(a10, ctx) , boost::phoenix::eval(a11, ctx) , boost::phoenix::eval(a12, ctx) , boost::phoenix::eval(a13, ctx) , boost::phoenix::eval(a14, ctx) , boost::phoenix::eval(a15, ctx) , boost::phoenix::eval(a16, ctx) , boost::phoenix::eval(a17, ctx) , boost::phoenix::eval(a18, ctx) , boost::phoenix::eval(a19, ctx) , boost::phoenix::eval(a20, ctx) , boost::phoenix::eval(a21, ctx) , boost::phoenix::eval(a22, ctx) , boost::phoenix::eval(a23, ctx) - ); - } - - - - - - - - - template - struct result - : result - {}; - template - struct result - : result_of::mem_fun_ptr_eval - {}; - template - typename result_of::mem_fun_ptr_eval::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 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 - , Context const & ctx - ) const - { - return - ( - get_pointer(boost::phoenix::eval(a0, ctx)) - ->*boost::phoenix::eval(a1, ctx) - )( - boost::phoenix::eval(a2, ctx) , boost::phoenix::eval(a3, ctx) , boost::phoenix::eval(a4, ctx) , boost::phoenix::eval(a5, ctx) , boost::phoenix::eval(a6, ctx) , boost::phoenix::eval(a7, ctx) , boost::phoenix::eval(a8, ctx) , boost::phoenix::eval(a9, ctx) , boost::phoenix::eval(a10, ctx) , boost::phoenix::eval(a11, ctx) , boost::phoenix::eval(a12, ctx) , boost::phoenix::eval(a13, ctx) , boost::phoenix::eval(a14, ctx) , boost::phoenix::eval(a15, ctx) , boost::phoenix::eval(a16, ctx) , boost::phoenix::eval(a17, ctx) , boost::phoenix::eval(a18, ctx) , boost::phoenix::eval(a19, ctx) , boost::phoenix::eval(a20, ctx) , boost::phoenix::eval(a21, ctx) , boost::phoenix::eval(a22, ctx) , boost::phoenix::eval(a23, ctx) , boost::phoenix::eval(a24, ctx) - ); - } - - - - - - - - - template - struct result - : result - {}; - template - struct result - : result_of::mem_fun_ptr_eval - {}; - template - typename result_of::mem_fun_ptr_eval::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 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 - , Context const & ctx - ) const - { - return - ( - get_pointer(boost::phoenix::eval(a0, ctx)) - ->*boost::phoenix::eval(a1, ctx) - )( - boost::phoenix::eval(a2, ctx) , boost::phoenix::eval(a3, ctx) , boost::phoenix::eval(a4, ctx) , boost::phoenix::eval(a5, ctx) , boost::phoenix::eval(a6, ctx) , boost::phoenix::eval(a7, ctx) , boost::phoenix::eval(a8, ctx) , boost::phoenix::eval(a9, ctx) , boost::phoenix::eval(a10, ctx) , boost::phoenix::eval(a11, ctx) , boost::phoenix::eval(a12, ctx) , boost::phoenix::eval(a13, ctx) , boost::phoenix::eval(a14, ctx) , boost::phoenix::eval(a15, ctx) , boost::phoenix::eval(a16, ctx) , boost::phoenix::eval(a17, ctx) , boost::phoenix::eval(a18, ctx) , boost::phoenix::eval(a19, ctx) , boost::phoenix::eval(a20, ctx) , boost::phoenix::eval(a21, ctx) , boost::phoenix::eval(a22, ctx) , boost::phoenix::eval(a23, ctx) , boost::phoenix::eval(a24, ctx) , boost::phoenix::eval(a25, ctx) - ); - } - - - - - - - - - template - struct result - : result - {}; - template - struct result - : result_of::mem_fun_ptr_eval - {}; - template - typename result_of::mem_fun_ptr_eval::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 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 - , Context const & ctx - ) const - { - return - ( - get_pointer(boost::phoenix::eval(a0, ctx)) - ->*boost::phoenix::eval(a1, ctx) - )( - boost::phoenix::eval(a2, ctx) , boost::phoenix::eval(a3, ctx) , boost::phoenix::eval(a4, ctx) , boost::phoenix::eval(a5, ctx) , boost::phoenix::eval(a6, ctx) , boost::phoenix::eval(a7, ctx) , boost::phoenix::eval(a8, ctx) , boost::phoenix::eval(a9, ctx) , boost::phoenix::eval(a10, ctx) , boost::phoenix::eval(a11, ctx) , boost::phoenix::eval(a12, ctx) , boost::phoenix::eval(a13, ctx) , boost::phoenix::eval(a14, ctx) , boost::phoenix::eval(a15, ctx) , boost::phoenix::eval(a16, ctx) , boost::phoenix::eval(a17, ctx) , boost::phoenix::eval(a18, ctx) , boost::phoenix::eval(a19, ctx) , boost::phoenix::eval(a20, ctx) , boost::phoenix::eval(a21, ctx) , boost::phoenix::eval(a22, ctx) , boost::phoenix::eval(a23, ctx) , boost::phoenix::eval(a24, ctx) , boost::phoenix::eval(a25, ctx) , boost::phoenix::eval(a26, ctx) - ); - } - - - - - - - - - template - struct result - : result - {}; - template - struct result - : result_of::mem_fun_ptr_eval - {}; - template - typename result_of::mem_fun_ptr_eval::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 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 - , Context const & ctx - ) const - { - return - ( - get_pointer(boost::phoenix::eval(a0, ctx)) - ->*boost::phoenix::eval(a1, ctx) - )( - boost::phoenix::eval(a2, ctx) , boost::phoenix::eval(a3, ctx) , boost::phoenix::eval(a4, ctx) , boost::phoenix::eval(a5, ctx) , boost::phoenix::eval(a6, ctx) , boost::phoenix::eval(a7, ctx) , boost::phoenix::eval(a8, ctx) , boost::phoenix::eval(a9, ctx) , boost::phoenix::eval(a10, ctx) , boost::phoenix::eval(a11, ctx) , boost::phoenix::eval(a12, ctx) , boost::phoenix::eval(a13, ctx) , boost::phoenix::eval(a14, ctx) , boost::phoenix::eval(a15, ctx) , boost::phoenix::eval(a16, ctx) , boost::phoenix::eval(a17, ctx) , boost::phoenix::eval(a18, ctx) , boost::phoenix::eval(a19, ctx) , boost::phoenix::eval(a20, ctx) , boost::phoenix::eval(a21, ctx) , boost::phoenix::eval(a22, ctx) , boost::phoenix::eval(a23, ctx) , boost::phoenix::eval(a24, ctx) , boost::phoenix::eval(a25, ctx) , boost::phoenix::eval(a26, ctx) , boost::phoenix::eval(a27, ctx) - ); - } - - - - - - - - - template - struct result - : result - {}; - template - struct result - : result_of::mem_fun_ptr_eval - {}; - template - typename result_of::mem_fun_ptr_eval::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 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 - , Context const & ctx - ) const - { - return - ( - get_pointer(boost::phoenix::eval(a0, ctx)) - ->*boost::phoenix::eval(a1, ctx) - )( - boost::phoenix::eval(a2, ctx) , boost::phoenix::eval(a3, ctx) , boost::phoenix::eval(a4, ctx) , boost::phoenix::eval(a5, ctx) , boost::phoenix::eval(a6, ctx) , boost::phoenix::eval(a7, ctx) , boost::phoenix::eval(a8, ctx) , boost::phoenix::eval(a9, ctx) , boost::phoenix::eval(a10, ctx) , boost::phoenix::eval(a11, ctx) , boost::phoenix::eval(a12, ctx) , boost::phoenix::eval(a13, ctx) , boost::phoenix::eval(a14, ctx) , boost::phoenix::eval(a15, ctx) , boost::phoenix::eval(a16, ctx) , boost::phoenix::eval(a17, ctx) , boost::phoenix::eval(a18, ctx) , boost::phoenix::eval(a19, ctx) , boost::phoenix::eval(a20, ctx) , boost::phoenix::eval(a21, ctx) , boost::phoenix::eval(a22, ctx) , boost::phoenix::eval(a23, ctx) , boost::phoenix::eval(a24, ctx) , boost::phoenix::eval(a25, ctx) , boost::phoenix::eval(a26, ctx) , boost::phoenix::eval(a27, ctx) , boost::phoenix::eval(a28, ctx) - ); - } - - - - - - - - - template - struct result - : result - {}; - template - struct result - : result_of::mem_fun_ptr_eval - {}; - template - typename result_of::mem_fun_ptr_eval::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 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 - , Context const & ctx - ) const - { - return - ( - get_pointer(boost::phoenix::eval(a0, ctx)) - ->*boost::phoenix::eval(a1, ctx) - )( - boost::phoenix::eval(a2, ctx) , boost::phoenix::eval(a3, ctx) , boost::phoenix::eval(a4, ctx) , boost::phoenix::eval(a5, ctx) , boost::phoenix::eval(a6, ctx) , boost::phoenix::eval(a7, ctx) , boost::phoenix::eval(a8, ctx) , boost::phoenix::eval(a9, ctx) , boost::phoenix::eval(a10, ctx) , boost::phoenix::eval(a11, ctx) , boost::phoenix::eval(a12, ctx) , boost::phoenix::eval(a13, ctx) , boost::phoenix::eval(a14, ctx) , boost::phoenix::eval(a15, ctx) , boost::phoenix::eval(a16, ctx) , boost::phoenix::eval(a17, ctx) , boost::phoenix::eval(a18, ctx) , boost::phoenix::eval(a19, ctx) , boost::phoenix::eval(a20, ctx) , boost::phoenix::eval(a21, ctx) , boost::phoenix::eval(a22, ctx) , boost::phoenix::eval(a23, ctx) , boost::phoenix::eval(a24, ctx) , boost::phoenix::eval(a25, ctx) , boost::phoenix::eval(a26, ctx) , boost::phoenix::eval(a27, ctx) , boost::phoenix::eval(a28, ctx) , boost::phoenix::eval(a29, ctx) - ); - } - - - - - - - - - template - struct result - : result - {}; - template - struct result - : result_of::mem_fun_ptr_eval - {}; - template - typename result_of::mem_fun_ptr_eval::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 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 - , Context const & ctx - ) const - { - return - ( - get_pointer(boost::phoenix::eval(a0, ctx)) - ->*boost::phoenix::eval(a1, ctx) - )( - boost::phoenix::eval(a2, ctx) , boost::phoenix::eval(a3, ctx) , boost::phoenix::eval(a4, ctx) , boost::phoenix::eval(a5, ctx) , boost::phoenix::eval(a6, ctx) , boost::phoenix::eval(a7, ctx) , boost::phoenix::eval(a8, ctx) , boost::phoenix::eval(a9, ctx) , boost::phoenix::eval(a10, ctx) , boost::phoenix::eval(a11, ctx) , boost::phoenix::eval(a12, ctx) , boost::phoenix::eval(a13, ctx) , boost::phoenix::eval(a14, ctx) , boost::phoenix::eval(a15, ctx) , boost::phoenix::eval(a16, ctx) , boost::phoenix::eval(a17, ctx) , boost::phoenix::eval(a18, ctx) , boost::phoenix::eval(a19, ctx) , boost::phoenix::eval(a20, ctx) , boost::phoenix::eval(a21, ctx) , boost::phoenix::eval(a22, ctx) , boost::phoenix::eval(a23, ctx) , boost::phoenix::eval(a24, ctx) , boost::phoenix::eval(a25, ctx) , boost::phoenix::eval(a26, ctx) , boost::phoenix::eval(a27, ctx) , boost::phoenix::eval(a28, ctx) , boost::phoenix::eval(a29, ctx) , boost::phoenix::eval(a30, ctx) - ); - } - - - - - - - - - template - struct result - : result - {}; - template - struct result - : result_of::mem_fun_ptr_eval - {}; - template - typename result_of::mem_fun_ptr_eval::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 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 - , Context const & ctx - ) const - { - return - ( - get_pointer(boost::phoenix::eval(a0, ctx)) - ->*boost::phoenix::eval(a1, ctx) - )( - boost::phoenix::eval(a2, ctx) , boost::phoenix::eval(a3, ctx) , boost::phoenix::eval(a4, ctx) , boost::phoenix::eval(a5, ctx) , boost::phoenix::eval(a6, ctx) , boost::phoenix::eval(a7, ctx) , boost::phoenix::eval(a8, ctx) , boost::phoenix::eval(a9, ctx) , boost::phoenix::eval(a10, ctx) , boost::phoenix::eval(a11, ctx) , boost::phoenix::eval(a12, ctx) , boost::phoenix::eval(a13, ctx) , boost::phoenix::eval(a14, ctx) , boost::phoenix::eval(a15, ctx) , boost::phoenix::eval(a16, ctx) , boost::phoenix::eval(a17, ctx) , boost::phoenix::eval(a18, ctx) , boost::phoenix::eval(a19, ctx) , boost::phoenix::eval(a20, ctx) , boost::phoenix::eval(a21, ctx) , boost::phoenix::eval(a22, ctx) , boost::phoenix::eval(a23, ctx) , boost::phoenix::eval(a24, ctx) , boost::phoenix::eval(a25, ctx) , boost::phoenix::eval(a26, ctx) , boost::phoenix::eval(a27, ctx) , boost::phoenix::eval(a28, ctx) , boost::phoenix::eval(a29, ctx) , boost::phoenix::eval(a30, ctx) , boost::phoenix::eval(a31, ctx) - ); - } - - - - - - - - - template - struct result - : result - {}; - template - struct result - : result_of::mem_fun_ptr_eval - {}; - template - typename result_of::mem_fun_ptr_eval::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 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 - , Context const & ctx - ) const - { - return - ( - get_pointer(boost::phoenix::eval(a0, ctx)) - ->*boost::phoenix::eval(a1, ctx) - )( - boost::phoenix::eval(a2, ctx) , boost::phoenix::eval(a3, ctx) , boost::phoenix::eval(a4, ctx) , boost::phoenix::eval(a5, ctx) , boost::phoenix::eval(a6, ctx) , boost::phoenix::eval(a7, ctx) , boost::phoenix::eval(a8, ctx) , boost::phoenix::eval(a9, ctx) , boost::phoenix::eval(a10, ctx) , boost::phoenix::eval(a11, ctx) , boost::phoenix::eval(a12, ctx) , boost::phoenix::eval(a13, ctx) , boost::phoenix::eval(a14, ctx) , boost::phoenix::eval(a15, ctx) , boost::phoenix::eval(a16, ctx) , boost::phoenix::eval(a17, ctx) , boost::phoenix::eval(a18, ctx) , boost::phoenix::eval(a19, ctx) , boost::phoenix::eval(a20, ctx) , boost::phoenix::eval(a21, ctx) , boost::phoenix::eval(a22, ctx) , boost::phoenix::eval(a23, ctx) , boost::phoenix::eval(a24, ctx) , boost::phoenix::eval(a25, ctx) , boost::phoenix::eval(a26, ctx) , boost::phoenix::eval(a27, ctx) , boost::phoenix::eval(a28, ctx) , boost::phoenix::eval(a29, ctx) , boost::phoenix::eval(a30, ctx) , boost::phoenix::eval(a31, ctx) , boost::phoenix::eval(a32, ctx) - ); - } - - - - - - - - - template - struct result - : result - {}; - template - struct result - : result_of::mem_fun_ptr_eval - {}; - template - typename result_of::mem_fun_ptr_eval::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 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 - , Context const & ctx - ) const - { - return - ( - get_pointer(boost::phoenix::eval(a0, ctx)) - ->*boost::phoenix::eval(a1, ctx) - )( - boost::phoenix::eval(a2, ctx) , boost::phoenix::eval(a3, ctx) , boost::phoenix::eval(a4, ctx) , boost::phoenix::eval(a5, ctx) , boost::phoenix::eval(a6, ctx) , boost::phoenix::eval(a7, ctx) , boost::phoenix::eval(a8, ctx) , boost::phoenix::eval(a9, ctx) , boost::phoenix::eval(a10, ctx) , boost::phoenix::eval(a11, ctx) , boost::phoenix::eval(a12, ctx) , boost::phoenix::eval(a13, ctx) , boost::phoenix::eval(a14, ctx) , boost::phoenix::eval(a15, ctx) , boost::phoenix::eval(a16, ctx) , boost::phoenix::eval(a17, ctx) , boost::phoenix::eval(a18, ctx) , boost::phoenix::eval(a19, ctx) , boost::phoenix::eval(a20, ctx) , boost::phoenix::eval(a21, ctx) , boost::phoenix::eval(a22, ctx) , boost::phoenix::eval(a23, ctx) , boost::phoenix::eval(a24, ctx) , boost::phoenix::eval(a25, ctx) , boost::phoenix::eval(a26, ctx) , boost::phoenix::eval(a27, ctx) , boost::phoenix::eval(a28, ctx) , boost::phoenix::eval(a29, ctx) , boost::phoenix::eval(a30, ctx) , boost::phoenix::eval(a31, ctx) , boost::phoenix::eval(a32, ctx) , boost::phoenix::eval(a33, ctx) - ); - } - - - - - - - - - template - struct result - : result - {}; - template - struct result - : result_of::mem_fun_ptr_eval - {}; - template - typename result_of::mem_fun_ptr_eval::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 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 - , Context const & ctx - ) const - { - return - ( - get_pointer(boost::phoenix::eval(a0, ctx)) - ->*boost::phoenix::eval(a1, ctx) - )( - boost::phoenix::eval(a2, ctx) , boost::phoenix::eval(a3, ctx) , boost::phoenix::eval(a4, ctx) , boost::phoenix::eval(a5, ctx) , boost::phoenix::eval(a6, ctx) , boost::phoenix::eval(a7, ctx) , boost::phoenix::eval(a8, ctx) , boost::phoenix::eval(a9, ctx) , boost::phoenix::eval(a10, ctx) , boost::phoenix::eval(a11, ctx) , boost::phoenix::eval(a12, ctx) , boost::phoenix::eval(a13, ctx) , boost::phoenix::eval(a14, ctx) , boost::phoenix::eval(a15, ctx) , boost::phoenix::eval(a16, ctx) , boost::phoenix::eval(a17, ctx) , boost::phoenix::eval(a18, ctx) , boost::phoenix::eval(a19, ctx) , boost::phoenix::eval(a20, ctx) , boost::phoenix::eval(a21, ctx) , boost::phoenix::eval(a22, ctx) , boost::phoenix::eval(a23, ctx) , boost::phoenix::eval(a24, ctx) , boost::phoenix::eval(a25, ctx) , boost::phoenix::eval(a26, ctx) , boost::phoenix::eval(a27, ctx) , boost::phoenix::eval(a28, ctx) , boost::phoenix::eval(a29, ctx) , boost::phoenix::eval(a30, ctx) , boost::phoenix::eval(a31, ctx) , boost::phoenix::eval(a32, ctx) , boost::phoenix::eval(a33, ctx) , boost::phoenix::eval(a34, ctx) - ); - } - - - - - - - - - template - struct result - : result - {}; - template - struct result - : result_of::mem_fun_ptr_eval - {}; - template - typename result_of::mem_fun_ptr_eval::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 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 - , Context const & ctx - ) const - { - return - ( - get_pointer(boost::phoenix::eval(a0, ctx)) - ->*boost::phoenix::eval(a1, ctx) - )( - boost::phoenix::eval(a2, ctx) , boost::phoenix::eval(a3, ctx) , boost::phoenix::eval(a4, ctx) , boost::phoenix::eval(a5, ctx) , boost::phoenix::eval(a6, ctx) , boost::phoenix::eval(a7, ctx) , boost::phoenix::eval(a8, ctx) , boost::phoenix::eval(a9, ctx) , boost::phoenix::eval(a10, ctx) , boost::phoenix::eval(a11, ctx) , boost::phoenix::eval(a12, ctx) , boost::phoenix::eval(a13, ctx) , boost::phoenix::eval(a14, ctx) , boost::phoenix::eval(a15, ctx) , boost::phoenix::eval(a16, ctx) , boost::phoenix::eval(a17, ctx) , boost::phoenix::eval(a18, ctx) , boost::phoenix::eval(a19, ctx) , boost::phoenix::eval(a20, ctx) , boost::phoenix::eval(a21, ctx) , boost::phoenix::eval(a22, ctx) , boost::phoenix::eval(a23, ctx) , boost::phoenix::eval(a24, ctx) , boost::phoenix::eval(a25, ctx) , boost::phoenix::eval(a26, ctx) , boost::phoenix::eval(a27, ctx) , boost::phoenix::eval(a28, ctx) , boost::phoenix::eval(a29, ctx) , boost::phoenix::eval(a30, ctx) , boost::phoenix::eval(a31, ctx) , boost::phoenix::eval(a32, ctx) , boost::phoenix::eval(a33, ctx) , boost::phoenix::eval(a34, ctx) , boost::phoenix::eval(a35, ctx) - ); - } - - - - - - - - - template - struct result - : result - {}; - template - struct result - : result_of::mem_fun_ptr_eval - {}; - template - typename result_of::mem_fun_ptr_eval::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 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36 - , Context const & ctx - ) const - { - return - ( - get_pointer(boost::phoenix::eval(a0, ctx)) - ->*boost::phoenix::eval(a1, ctx) - )( - boost::phoenix::eval(a2, ctx) , boost::phoenix::eval(a3, ctx) , boost::phoenix::eval(a4, ctx) , boost::phoenix::eval(a5, ctx) , boost::phoenix::eval(a6, ctx) , boost::phoenix::eval(a7, ctx) , boost::phoenix::eval(a8, ctx) , boost::phoenix::eval(a9, ctx) , boost::phoenix::eval(a10, ctx) , boost::phoenix::eval(a11, ctx) , boost::phoenix::eval(a12, ctx) , boost::phoenix::eval(a13, ctx) , boost::phoenix::eval(a14, ctx) , boost::phoenix::eval(a15, ctx) , boost::phoenix::eval(a16, ctx) , boost::phoenix::eval(a17, ctx) , boost::phoenix::eval(a18, ctx) , boost::phoenix::eval(a19, ctx) , boost::phoenix::eval(a20, ctx) , boost::phoenix::eval(a21, ctx) , boost::phoenix::eval(a22, ctx) , boost::phoenix::eval(a23, ctx) , boost::phoenix::eval(a24, ctx) , boost::phoenix::eval(a25, ctx) , boost::phoenix::eval(a26, ctx) , boost::phoenix::eval(a27, ctx) , boost::phoenix::eval(a28, ctx) , boost::phoenix::eval(a29, ctx) , boost::phoenix::eval(a30, ctx) , boost::phoenix::eval(a31, ctx) , boost::phoenix::eval(a32, ctx) , boost::phoenix::eval(a33, ctx) , boost::phoenix::eval(a34, ctx) , boost::phoenix::eval(a35, ctx) , boost::phoenix::eval(a36, ctx) - ); - } - - - - - - - - - template - struct result - : result - {}; - template - struct result - : result_of::mem_fun_ptr_eval - {}; - template - typename result_of::mem_fun_ptr_eval::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 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36 , A37 const& a37 - , Context const & ctx - ) const - { - return - ( - get_pointer(boost::phoenix::eval(a0, ctx)) - ->*boost::phoenix::eval(a1, ctx) - )( - boost::phoenix::eval(a2, ctx) , boost::phoenix::eval(a3, ctx) , boost::phoenix::eval(a4, ctx) , boost::phoenix::eval(a5, ctx) , boost::phoenix::eval(a6, ctx) , boost::phoenix::eval(a7, ctx) , boost::phoenix::eval(a8, ctx) , boost::phoenix::eval(a9, ctx) , boost::phoenix::eval(a10, ctx) , boost::phoenix::eval(a11, ctx) , boost::phoenix::eval(a12, ctx) , boost::phoenix::eval(a13, ctx) , boost::phoenix::eval(a14, ctx) , boost::phoenix::eval(a15, ctx) , boost::phoenix::eval(a16, ctx) , boost::phoenix::eval(a17, ctx) , boost::phoenix::eval(a18, ctx) , boost::phoenix::eval(a19, ctx) , boost::phoenix::eval(a20, ctx) , boost::phoenix::eval(a21, ctx) , boost::phoenix::eval(a22, ctx) , boost::phoenix::eval(a23, ctx) , boost::phoenix::eval(a24, ctx) , boost::phoenix::eval(a25, ctx) , boost::phoenix::eval(a26, ctx) , boost::phoenix::eval(a27, ctx) , boost::phoenix::eval(a28, ctx) , boost::phoenix::eval(a29, ctx) , boost::phoenix::eval(a30, ctx) , boost::phoenix::eval(a31, ctx) , boost::phoenix::eval(a32, ctx) , boost::phoenix::eval(a33, ctx) , boost::phoenix::eval(a34, ctx) , boost::phoenix::eval(a35, ctx) , boost::phoenix::eval(a36, ctx) , boost::phoenix::eval(a37, ctx) - ); - } - - - - - - - - - template - struct result - : result - {}; - template - struct result - : result_of::mem_fun_ptr_eval - {}; - template - typename result_of::mem_fun_ptr_eval::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 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36 , A37 const& a37 , A38 const& a38 - , Context const & ctx - ) const - { - return - ( - get_pointer(boost::phoenix::eval(a0, ctx)) - ->*boost::phoenix::eval(a1, ctx) - )( - boost::phoenix::eval(a2, ctx) , boost::phoenix::eval(a3, ctx) , boost::phoenix::eval(a4, ctx) , boost::phoenix::eval(a5, ctx) , boost::phoenix::eval(a6, ctx) , boost::phoenix::eval(a7, ctx) , boost::phoenix::eval(a8, ctx) , boost::phoenix::eval(a9, ctx) , boost::phoenix::eval(a10, ctx) , boost::phoenix::eval(a11, ctx) , boost::phoenix::eval(a12, ctx) , boost::phoenix::eval(a13, ctx) , boost::phoenix::eval(a14, ctx) , boost::phoenix::eval(a15, ctx) , boost::phoenix::eval(a16, ctx) , boost::phoenix::eval(a17, ctx) , boost::phoenix::eval(a18, ctx) , boost::phoenix::eval(a19, ctx) , boost::phoenix::eval(a20, ctx) , boost::phoenix::eval(a21, ctx) , boost::phoenix::eval(a22, ctx) , boost::phoenix::eval(a23, ctx) , boost::phoenix::eval(a24, ctx) , boost::phoenix::eval(a25, ctx) , boost::phoenix::eval(a26, ctx) , boost::phoenix::eval(a27, ctx) , boost::phoenix::eval(a28, ctx) , boost::phoenix::eval(a29, ctx) , boost::phoenix::eval(a30, ctx) , boost::phoenix::eval(a31, ctx) , boost::phoenix::eval(a32, ctx) , boost::phoenix::eval(a33, ctx) , boost::phoenix::eval(a34, ctx) , boost::phoenix::eval(a35, ctx) , boost::phoenix::eval(a36, ctx) , boost::phoenix::eval(a37, ctx) , boost::phoenix::eval(a38, ctx) - ); - } - - - - - - - - - template - struct result - : result - {}; - template - struct result - : result_of::mem_fun_ptr_eval - {}; - template - typename result_of::mem_fun_ptr_eval::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 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36 , A37 const& a37 , A38 const& a38 , A39 const& a39 - , Context const & ctx - ) const - { - return - ( - get_pointer(boost::phoenix::eval(a0, ctx)) - ->*boost::phoenix::eval(a1, ctx) - )( - boost::phoenix::eval(a2, ctx) , boost::phoenix::eval(a3, ctx) , boost::phoenix::eval(a4, ctx) , boost::phoenix::eval(a5, ctx) , boost::phoenix::eval(a6, ctx) , boost::phoenix::eval(a7, ctx) , boost::phoenix::eval(a8, ctx) , boost::phoenix::eval(a9, ctx) , boost::phoenix::eval(a10, ctx) , boost::phoenix::eval(a11, ctx) , boost::phoenix::eval(a12, ctx) , boost::phoenix::eval(a13, ctx) , boost::phoenix::eval(a14, ctx) , boost::phoenix::eval(a15, ctx) , boost::phoenix::eval(a16, ctx) , boost::phoenix::eval(a17, ctx) , boost::phoenix::eval(a18, ctx) , boost::phoenix::eval(a19, ctx) , boost::phoenix::eval(a20, ctx) , boost::phoenix::eval(a21, ctx) , boost::phoenix::eval(a22, ctx) , boost::phoenix::eval(a23, ctx) , boost::phoenix::eval(a24, ctx) , boost::phoenix::eval(a25, ctx) , boost::phoenix::eval(a26, ctx) , boost::phoenix::eval(a27, ctx) , boost::phoenix::eval(a28, ctx) , boost::phoenix::eval(a29, ctx) , boost::phoenix::eval(a30, ctx) , boost::phoenix::eval(a31, ctx) , boost::phoenix::eval(a32, ctx) , boost::phoenix::eval(a33, ctx) , boost::phoenix::eval(a34, ctx) , boost::phoenix::eval(a35, ctx) , boost::phoenix::eval(a36, ctx) , boost::phoenix::eval(a37, ctx) , boost::phoenix::eval(a38, ctx) , boost::phoenix::eval(a39, ctx) - ); - } - - - - - - - - - template - struct result - : result - {}; - template - struct result - : result_of::mem_fun_ptr_eval - {}; - template - typename result_of::mem_fun_ptr_eval::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 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36 , A37 const& a37 , A38 const& a38 , A39 const& a39 , A40 const& a40 - , Context const & ctx - ) const - { - return - ( - get_pointer(boost::phoenix::eval(a0, ctx)) - ->*boost::phoenix::eval(a1, ctx) - )( - boost::phoenix::eval(a2, ctx) , boost::phoenix::eval(a3, ctx) , boost::phoenix::eval(a4, ctx) , boost::phoenix::eval(a5, ctx) , boost::phoenix::eval(a6, ctx) , boost::phoenix::eval(a7, ctx) , boost::phoenix::eval(a8, ctx) , boost::phoenix::eval(a9, ctx) , boost::phoenix::eval(a10, ctx) , boost::phoenix::eval(a11, ctx) , boost::phoenix::eval(a12, ctx) , boost::phoenix::eval(a13, ctx) , boost::phoenix::eval(a14, ctx) , boost::phoenix::eval(a15, ctx) , boost::phoenix::eval(a16, ctx) , boost::phoenix::eval(a17, ctx) , boost::phoenix::eval(a18, ctx) , boost::phoenix::eval(a19, ctx) , boost::phoenix::eval(a20, ctx) , boost::phoenix::eval(a21, ctx) , boost::phoenix::eval(a22, ctx) , boost::phoenix::eval(a23, ctx) , boost::phoenix::eval(a24, ctx) , boost::phoenix::eval(a25, ctx) , boost::phoenix::eval(a26, ctx) , boost::phoenix::eval(a27, ctx) , boost::phoenix::eval(a28, ctx) , boost::phoenix::eval(a29, ctx) , boost::phoenix::eval(a30, ctx) , boost::phoenix::eval(a31, ctx) , boost::phoenix::eval(a32, ctx) , boost::phoenix::eval(a33, ctx) , boost::phoenix::eval(a34, ctx) , boost::phoenix::eval(a35, ctx) , boost::phoenix::eval(a36, ctx) , boost::phoenix::eval(a37, ctx) , boost::phoenix::eval(a38, ctx) , boost::phoenix::eval(a39, ctx) , boost::phoenix::eval(a40, ctx) - ); - } - - - - - - - - - template - struct result - : result - {}; - template - struct result - : result_of::mem_fun_ptr_eval - {}; - template - typename result_of::mem_fun_ptr_eval::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 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36 , A37 const& a37 , A38 const& a38 , A39 const& a39 , A40 const& a40 , A41 const& a41 - , Context const & ctx - ) const - { - return - ( - get_pointer(boost::phoenix::eval(a0, ctx)) - ->*boost::phoenix::eval(a1, ctx) - )( - boost::phoenix::eval(a2, ctx) , boost::phoenix::eval(a3, ctx) , boost::phoenix::eval(a4, ctx) , boost::phoenix::eval(a5, ctx) , boost::phoenix::eval(a6, ctx) , boost::phoenix::eval(a7, ctx) , boost::phoenix::eval(a8, ctx) , boost::phoenix::eval(a9, ctx) , boost::phoenix::eval(a10, ctx) , boost::phoenix::eval(a11, ctx) , boost::phoenix::eval(a12, ctx) , boost::phoenix::eval(a13, ctx) , boost::phoenix::eval(a14, ctx) , boost::phoenix::eval(a15, ctx) , boost::phoenix::eval(a16, ctx) , boost::phoenix::eval(a17, ctx) , boost::phoenix::eval(a18, ctx) , boost::phoenix::eval(a19, ctx) , boost::phoenix::eval(a20, ctx) , boost::phoenix::eval(a21, ctx) , boost::phoenix::eval(a22, ctx) , boost::phoenix::eval(a23, ctx) , boost::phoenix::eval(a24, ctx) , boost::phoenix::eval(a25, ctx) , boost::phoenix::eval(a26, ctx) , boost::phoenix::eval(a27, ctx) , boost::phoenix::eval(a28, ctx) , boost::phoenix::eval(a29, ctx) , boost::phoenix::eval(a30, ctx) , boost::phoenix::eval(a31, ctx) , boost::phoenix::eval(a32, ctx) , boost::phoenix::eval(a33, ctx) , boost::phoenix::eval(a34, ctx) , boost::phoenix::eval(a35, ctx) , boost::phoenix::eval(a36, ctx) , boost::phoenix::eval(a37, ctx) , boost::phoenix::eval(a38, ctx) , boost::phoenix::eval(a39, ctx) , boost::phoenix::eval(a40, ctx) , boost::phoenix::eval(a41, ctx) - ); - } - - - - - - - - - template - struct result - : result - {}; - template - struct result - : result_of::mem_fun_ptr_eval - {}; - template - typename result_of::mem_fun_ptr_eval::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 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36 , A37 const& a37 , A38 const& a38 , A39 const& a39 , A40 const& a40 , A41 const& a41 , A42 const& a42 - , Context const & ctx - ) const - { - return - ( - get_pointer(boost::phoenix::eval(a0, ctx)) - ->*boost::phoenix::eval(a1, ctx) - )( - boost::phoenix::eval(a2, ctx) , boost::phoenix::eval(a3, ctx) , boost::phoenix::eval(a4, ctx) , boost::phoenix::eval(a5, ctx) , boost::phoenix::eval(a6, ctx) , boost::phoenix::eval(a7, ctx) , boost::phoenix::eval(a8, ctx) , boost::phoenix::eval(a9, ctx) , boost::phoenix::eval(a10, ctx) , boost::phoenix::eval(a11, ctx) , boost::phoenix::eval(a12, ctx) , boost::phoenix::eval(a13, ctx) , boost::phoenix::eval(a14, ctx) , boost::phoenix::eval(a15, ctx) , boost::phoenix::eval(a16, ctx) , boost::phoenix::eval(a17, ctx) , boost::phoenix::eval(a18, ctx) , boost::phoenix::eval(a19, ctx) , boost::phoenix::eval(a20, ctx) , boost::phoenix::eval(a21, ctx) , boost::phoenix::eval(a22, ctx) , boost::phoenix::eval(a23, ctx) , boost::phoenix::eval(a24, ctx) , boost::phoenix::eval(a25, ctx) , boost::phoenix::eval(a26, ctx) , boost::phoenix::eval(a27, ctx) , boost::phoenix::eval(a28, ctx) , boost::phoenix::eval(a29, ctx) , boost::phoenix::eval(a30, ctx) , boost::phoenix::eval(a31, ctx) , boost::phoenix::eval(a32, ctx) , boost::phoenix::eval(a33, ctx) , boost::phoenix::eval(a34, ctx) , boost::phoenix::eval(a35, ctx) , boost::phoenix::eval(a36, ctx) , boost::phoenix::eval(a37, ctx) , boost::phoenix::eval(a38, ctx) , boost::phoenix::eval(a39, ctx) , boost::phoenix::eval(a40, ctx) , boost::phoenix::eval(a41, ctx) , boost::phoenix::eval(a42, ctx) - ); - } - - - - - - - - - template - struct result - : result - {}; - template - struct result - : result_of::mem_fun_ptr_eval - {}; - template - typename result_of::mem_fun_ptr_eval::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 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36 , A37 const& a37 , A38 const& a38 , A39 const& a39 , A40 const& a40 , A41 const& a41 , A42 const& a42 , A43 const& a43 - , Context const & ctx - ) const - { - return - ( - get_pointer(boost::phoenix::eval(a0, ctx)) - ->*boost::phoenix::eval(a1, ctx) - )( - boost::phoenix::eval(a2, ctx) , boost::phoenix::eval(a3, ctx) , boost::phoenix::eval(a4, ctx) , boost::phoenix::eval(a5, ctx) , boost::phoenix::eval(a6, ctx) , boost::phoenix::eval(a7, ctx) , boost::phoenix::eval(a8, ctx) , boost::phoenix::eval(a9, ctx) , boost::phoenix::eval(a10, ctx) , boost::phoenix::eval(a11, ctx) , boost::phoenix::eval(a12, ctx) , boost::phoenix::eval(a13, ctx) , boost::phoenix::eval(a14, ctx) , boost::phoenix::eval(a15, ctx) , boost::phoenix::eval(a16, ctx) , boost::phoenix::eval(a17, ctx) , boost::phoenix::eval(a18, ctx) , boost::phoenix::eval(a19, ctx) , boost::phoenix::eval(a20, ctx) , boost::phoenix::eval(a21, ctx) , boost::phoenix::eval(a22, ctx) , boost::phoenix::eval(a23, ctx) , boost::phoenix::eval(a24, ctx) , boost::phoenix::eval(a25, ctx) , boost::phoenix::eval(a26, ctx) , boost::phoenix::eval(a27, ctx) , boost::phoenix::eval(a28, ctx) , boost::phoenix::eval(a29, ctx) , boost::phoenix::eval(a30, ctx) , boost::phoenix::eval(a31, ctx) , boost::phoenix::eval(a32, ctx) , boost::phoenix::eval(a33, ctx) , boost::phoenix::eval(a34, ctx) , boost::phoenix::eval(a35, ctx) , boost::phoenix::eval(a36, ctx) , boost::phoenix::eval(a37, ctx) , boost::phoenix::eval(a38, ctx) , boost::phoenix::eval(a39, ctx) , boost::phoenix::eval(a40, ctx) , boost::phoenix::eval(a41, ctx) , boost::phoenix::eval(a42, ctx) , boost::phoenix::eval(a43, ctx) - ); - } - - - - - - - - - template - struct result - : result - {}; - template - struct result - : result_of::mem_fun_ptr_eval - {}; - template - typename result_of::mem_fun_ptr_eval::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 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36 , A37 const& a37 , A38 const& a38 , A39 const& a39 , A40 const& a40 , A41 const& a41 , A42 const& a42 , A43 const& a43 , A44 const& a44 - , Context const & ctx - ) const - { - return - ( - get_pointer(boost::phoenix::eval(a0, ctx)) - ->*boost::phoenix::eval(a1, ctx) - )( - boost::phoenix::eval(a2, ctx) , boost::phoenix::eval(a3, ctx) , boost::phoenix::eval(a4, ctx) , boost::phoenix::eval(a5, ctx) , boost::phoenix::eval(a6, ctx) , boost::phoenix::eval(a7, ctx) , boost::phoenix::eval(a8, ctx) , boost::phoenix::eval(a9, ctx) , boost::phoenix::eval(a10, ctx) , boost::phoenix::eval(a11, ctx) , boost::phoenix::eval(a12, ctx) , boost::phoenix::eval(a13, ctx) , boost::phoenix::eval(a14, ctx) , boost::phoenix::eval(a15, ctx) , boost::phoenix::eval(a16, ctx) , boost::phoenix::eval(a17, ctx) , boost::phoenix::eval(a18, ctx) , boost::phoenix::eval(a19, ctx) , boost::phoenix::eval(a20, ctx) , boost::phoenix::eval(a21, ctx) , boost::phoenix::eval(a22, ctx) , boost::phoenix::eval(a23, ctx) , boost::phoenix::eval(a24, ctx) , boost::phoenix::eval(a25, ctx) , boost::phoenix::eval(a26, ctx) , boost::phoenix::eval(a27, ctx) , boost::phoenix::eval(a28, ctx) , boost::phoenix::eval(a29, ctx) , boost::phoenix::eval(a30, ctx) , boost::phoenix::eval(a31, ctx) , boost::phoenix::eval(a32, ctx) , boost::phoenix::eval(a33, ctx) , boost::phoenix::eval(a34, ctx) , boost::phoenix::eval(a35, ctx) , boost::phoenix::eval(a36, ctx) , boost::phoenix::eval(a37, ctx) , boost::phoenix::eval(a38, ctx) , boost::phoenix::eval(a39, ctx) , boost::phoenix::eval(a40, ctx) , boost::phoenix::eval(a41, ctx) , boost::phoenix::eval(a42, ctx) , boost::phoenix::eval(a43, ctx) , boost::phoenix::eval(a44, ctx) - ); - } - - - - - - - - - template - struct result - : result - {}; - template - struct result - : result_of::mem_fun_ptr_eval - {}; - template - typename result_of::mem_fun_ptr_eval::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 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36 , A37 const& a37 , A38 const& a38 , A39 const& a39 , A40 const& a40 , A41 const& a41 , A42 const& a42 , A43 const& a43 , A44 const& a44 , A45 const& a45 - , Context const & ctx - ) const - { - return - ( - get_pointer(boost::phoenix::eval(a0, ctx)) - ->*boost::phoenix::eval(a1, ctx) - )( - boost::phoenix::eval(a2, ctx) , boost::phoenix::eval(a3, ctx) , boost::phoenix::eval(a4, ctx) , boost::phoenix::eval(a5, ctx) , boost::phoenix::eval(a6, ctx) , boost::phoenix::eval(a7, ctx) , boost::phoenix::eval(a8, ctx) , boost::phoenix::eval(a9, ctx) , boost::phoenix::eval(a10, ctx) , boost::phoenix::eval(a11, ctx) , boost::phoenix::eval(a12, ctx) , boost::phoenix::eval(a13, ctx) , boost::phoenix::eval(a14, ctx) , boost::phoenix::eval(a15, ctx) , boost::phoenix::eval(a16, ctx) , boost::phoenix::eval(a17, ctx) , boost::phoenix::eval(a18, ctx) , boost::phoenix::eval(a19, ctx) , boost::phoenix::eval(a20, ctx) , boost::phoenix::eval(a21, ctx) , boost::phoenix::eval(a22, ctx) , boost::phoenix::eval(a23, ctx) , boost::phoenix::eval(a24, ctx) , boost::phoenix::eval(a25, ctx) , boost::phoenix::eval(a26, ctx) , boost::phoenix::eval(a27, ctx) , boost::phoenix::eval(a28, ctx) , boost::phoenix::eval(a29, ctx) , boost::phoenix::eval(a30, ctx) , boost::phoenix::eval(a31, ctx) , boost::phoenix::eval(a32, ctx) , boost::phoenix::eval(a33, ctx) , boost::phoenix::eval(a34, ctx) , boost::phoenix::eval(a35, ctx) , boost::phoenix::eval(a36, ctx) , boost::phoenix::eval(a37, ctx) , boost::phoenix::eval(a38, ctx) , boost::phoenix::eval(a39, ctx) , boost::phoenix::eval(a40, ctx) , boost::phoenix::eval(a41, ctx) , boost::phoenix::eval(a42, ctx) , boost::phoenix::eval(a43, ctx) , boost::phoenix::eval(a44, ctx) , boost::phoenix::eval(a45, ctx) - ); - } - - - - - - - - - template - struct result - : result - {}; - template - struct result - : result_of::mem_fun_ptr_eval - {}; - template - typename result_of::mem_fun_ptr_eval::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 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36 , A37 const& a37 , A38 const& a38 , A39 const& a39 , A40 const& a40 , A41 const& a41 , A42 const& a42 , A43 const& a43 , A44 const& a44 , A45 const& a45 , A46 const& a46 - , Context const & ctx - ) const - { - return - ( - get_pointer(boost::phoenix::eval(a0, ctx)) - ->*boost::phoenix::eval(a1, ctx) - )( - boost::phoenix::eval(a2, ctx) , boost::phoenix::eval(a3, ctx) , boost::phoenix::eval(a4, ctx) , boost::phoenix::eval(a5, ctx) , boost::phoenix::eval(a6, ctx) , boost::phoenix::eval(a7, ctx) , boost::phoenix::eval(a8, ctx) , boost::phoenix::eval(a9, ctx) , boost::phoenix::eval(a10, ctx) , boost::phoenix::eval(a11, ctx) , boost::phoenix::eval(a12, ctx) , boost::phoenix::eval(a13, ctx) , boost::phoenix::eval(a14, ctx) , boost::phoenix::eval(a15, ctx) , boost::phoenix::eval(a16, ctx) , boost::phoenix::eval(a17, ctx) , boost::phoenix::eval(a18, ctx) , boost::phoenix::eval(a19, ctx) , boost::phoenix::eval(a20, ctx) , boost::phoenix::eval(a21, ctx) , boost::phoenix::eval(a22, ctx) , boost::phoenix::eval(a23, ctx) , boost::phoenix::eval(a24, ctx) , boost::phoenix::eval(a25, ctx) , boost::phoenix::eval(a26, ctx) , boost::phoenix::eval(a27, ctx) , boost::phoenix::eval(a28, ctx) , boost::phoenix::eval(a29, ctx) , boost::phoenix::eval(a30, ctx) , boost::phoenix::eval(a31, ctx) , boost::phoenix::eval(a32, ctx) , boost::phoenix::eval(a33, ctx) , boost::phoenix::eval(a34, ctx) , boost::phoenix::eval(a35, ctx) , boost::phoenix::eval(a36, ctx) , boost::phoenix::eval(a37, ctx) , boost::phoenix::eval(a38, ctx) , boost::phoenix::eval(a39, ctx) , boost::phoenix::eval(a40, ctx) , boost::phoenix::eval(a41, ctx) , boost::phoenix::eval(a42, ctx) , boost::phoenix::eval(a43, ctx) , boost::phoenix::eval(a44, ctx) , boost::phoenix::eval(a45, ctx) , boost::phoenix::eval(a46, ctx) - ); - } - - - - - - - - - template - struct result - : result - {}; - template - struct result - : result_of::mem_fun_ptr_eval - {}; - template - typename result_of::mem_fun_ptr_eval::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 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36 , A37 const& a37 , A38 const& a38 , A39 const& a39 , A40 const& a40 , A41 const& a41 , A42 const& a42 , A43 const& a43 , A44 const& a44 , A45 const& a45 , A46 const& a46 , A47 const& a47 - , Context const & ctx - ) const - { - return - ( - get_pointer(boost::phoenix::eval(a0, ctx)) - ->*boost::phoenix::eval(a1, ctx) - )( - boost::phoenix::eval(a2, ctx) , boost::phoenix::eval(a3, ctx) , boost::phoenix::eval(a4, ctx) , boost::phoenix::eval(a5, ctx) , boost::phoenix::eval(a6, ctx) , boost::phoenix::eval(a7, ctx) , boost::phoenix::eval(a8, ctx) , boost::phoenix::eval(a9, ctx) , boost::phoenix::eval(a10, ctx) , boost::phoenix::eval(a11, ctx) , boost::phoenix::eval(a12, ctx) , boost::phoenix::eval(a13, ctx) , boost::phoenix::eval(a14, ctx) , boost::phoenix::eval(a15, ctx) , boost::phoenix::eval(a16, ctx) , boost::phoenix::eval(a17, ctx) , boost::phoenix::eval(a18, ctx) , boost::phoenix::eval(a19, ctx) , boost::phoenix::eval(a20, ctx) , boost::phoenix::eval(a21, ctx) , boost::phoenix::eval(a22, ctx) , boost::phoenix::eval(a23, ctx) , boost::phoenix::eval(a24, ctx) , boost::phoenix::eval(a25, ctx) , boost::phoenix::eval(a26, ctx) , boost::phoenix::eval(a27, ctx) , boost::phoenix::eval(a28, ctx) , boost::phoenix::eval(a29, ctx) , boost::phoenix::eval(a30, ctx) , boost::phoenix::eval(a31, ctx) , boost::phoenix::eval(a32, ctx) , boost::phoenix::eval(a33, ctx) , boost::phoenix::eval(a34, ctx) , boost::phoenix::eval(a35, ctx) , boost::phoenix::eval(a36, ctx) , boost::phoenix::eval(a37, ctx) , boost::phoenix::eval(a38, ctx) , boost::phoenix::eval(a39, ctx) , boost::phoenix::eval(a40, ctx) , boost::phoenix::eval(a41, ctx) , boost::phoenix::eval(a42, ctx) , boost::phoenix::eval(a43, ctx) , boost::phoenix::eval(a44, ctx) , boost::phoenix::eval(a45, ctx) , boost::phoenix::eval(a46, ctx) , boost::phoenix::eval(a47, ctx) - ); - } - - - - - - - - - template - struct result - : result - {}; - template - struct result - : result_of::mem_fun_ptr_eval - {}; - template - typename result_of::mem_fun_ptr_eval::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 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36 , A37 const& a37 , A38 const& a38 , A39 const& a39 , A40 const& a40 , A41 const& a41 , A42 const& a42 , A43 const& a43 , A44 const& a44 , A45 const& a45 , A46 const& a46 , A47 const& a47 , A48 const& a48 - , Context const & ctx - ) const - { - return - ( - get_pointer(boost::phoenix::eval(a0, ctx)) - ->*boost::phoenix::eval(a1, ctx) - )( - boost::phoenix::eval(a2, ctx) , boost::phoenix::eval(a3, ctx) , boost::phoenix::eval(a4, ctx) , boost::phoenix::eval(a5, ctx) , boost::phoenix::eval(a6, ctx) , boost::phoenix::eval(a7, ctx) , boost::phoenix::eval(a8, ctx) , boost::phoenix::eval(a9, ctx) , boost::phoenix::eval(a10, ctx) , boost::phoenix::eval(a11, ctx) , boost::phoenix::eval(a12, ctx) , boost::phoenix::eval(a13, ctx) , boost::phoenix::eval(a14, ctx) , boost::phoenix::eval(a15, ctx) , boost::phoenix::eval(a16, ctx) , boost::phoenix::eval(a17, ctx) , boost::phoenix::eval(a18, ctx) , boost::phoenix::eval(a19, ctx) , boost::phoenix::eval(a20, ctx) , boost::phoenix::eval(a21, ctx) , boost::phoenix::eval(a22, ctx) , boost::phoenix::eval(a23, ctx) , boost::phoenix::eval(a24, ctx) , boost::phoenix::eval(a25, ctx) , boost::phoenix::eval(a26, ctx) , boost::phoenix::eval(a27, ctx) , boost::phoenix::eval(a28, ctx) , boost::phoenix::eval(a29, ctx) , boost::phoenix::eval(a30, ctx) , boost::phoenix::eval(a31, ctx) , boost::phoenix::eval(a32, ctx) , boost::phoenix::eval(a33, ctx) , boost::phoenix::eval(a34, ctx) , boost::phoenix::eval(a35, ctx) , boost::phoenix::eval(a36, ctx) , boost::phoenix::eval(a37, ctx) , boost::phoenix::eval(a38, ctx) , boost::phoenix::eval(a39, ctx) , boost::phoenix::eval(a40, ctx) , boost::phoenix::eval(a41, ctx) , boost::phoenix::eval(a42, ctx) , boost::phoenix::eval(a43, ctx) , boost::phoenix::eval(a44, ctx) , boost::phoenix::eval(a45, ctx) , boost::phoenix::eval(a46, ctx) , boost::phoenix::eval(a47, ctx) , boost::phoenix::eval(a48, ctx) - ); - } - - - - - - - - - template - struct result - : result - {}; - template - struct result - : result_of::mem_fun_ptr_eval - {}; - template - typename result_of::mem_fun_ptr_eval::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 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36 , A37 const& a37 , A38 const& a38 , A39 const& a39 , A40 const& a40 , A41 const& a41 , A42 const& a42 , A43 const& a43 , A44 const& a44 , A45 const& a45 , A46 const& a46 , A47 const& a47 , A48 const& a48 , A49 const& a49 - , Context const & ctx - ) const - { - return - ( - get_pointer(boost::phoenix::eval(a0, ctx)) - ->*boost::phoenix::eval(a1, ctx) - )( - boost::phoenix::eval(a2, ctx) , boost::phoenix::eval(a3, ctx) , boost::phoenix::eval(a4, ctx) , boost::phoenix::eval(a5, ctx) , boost::phoenix::eval(a6, ctx) , boost::phoenix::eval(a7, ctx) , boost::phoenix::eval(a8, ctx) , boost::phoenix::eval(a9, ctx) , boost::phoenix::eval(a10, ctx) , boost::phoenix::eval(a11, ctx) , boost::phoenix::eval(a12, ctx) , boost::phoenix::eval(a13, ctx) , boost::phoenix::eval(a14, ctx) , boost::phoenix::eval(a15, ctx) , boost::phoenix::eval(a16, ctx) , boost::phoenix::eval(a17, ctx) , boost::phoenix::eval(a18, ctx) , boost::phoenix::eval(a19, ctx) , boost::phoenix::eval(a20, ctx) , boost::phoenix::eval(a21, ctx) , boost::phoenix::eval(a22, ctx) , boost::phoenix::eval(a23, ctx) , boost::phoenix::eval(a24, ctx) , boost::phoenix::eval(a25, ctx) , boost::phoenix::eval(a26, ctx) , boost::phoenix::eval(a27, ctx) , boost::phoenix::eval(a28, ctx) , boost::phoenix::eval(a29, ctx) , boost::phoenix::eval(a30, ctx) , boost::phoenix::eval(a31, ctx) , boost::phoenix::eval(a32, ctx) , boost::phoenix::eval(a33, ctx) , boost::phoenix::eval(a34, ctx) , boost::phoenix::eval(a35, ctx) , boost::phoenix::eval(a36, ctx) , boost::phoenix::eval(a37, ctx) , boost::phoenix::eval(a38, ctx) , boost::phoenix::eval(a39, ctx) , boost::phoenix::eval(a40, ctx) , boost::phoenix::eval(a41, ctx) , boost::phoenix::eval(a42, ctx) , boost::phoenix::eval(a43, ctx) , boost::phoenix::eval(a44, ctx) , boost::phoenix::eval(a45, ctx) , boost::phoenix::eval(a46, ctx) , boost::phoenix::eval(a47, ctx) , boost::phoenix::eval(a48, ctx) , boost::phoenix::eval(a49, ctx) - ); - } - - }; - template - struct default_actions::when - : call - {}; -}} diff --git a/include/boost/phoenix/scope/detail/dynamic.hpp b/include/boost/phoenix/scope/detail/cpp03/dynamic.hpp similarity index 96% rename from include/boost/phoenix/scope/detail/dynamic.hpp rename to include/boost/phoenix/scope/detail/cpp03/dynamic.hpp index ed571e1..664b896 100644 --- a/include/boost/phoenix/scope/detail/dynamic.hpp +++ b/include/boost/phoenix/scope/detail/cpp03/dynamic.hpp @@ -5,7 +5,7 @@ #include -#include +#include #endif #else @@ -44,7 +44,7 @@ #define BOOST_PHOENIX_ITERATION_PARAMS \ (3, (1, BOOST_PHOENIX_DYNAMIC_LIMIT, \ - )) + )) #include BOOST_PHOENIX_ITERATE() #undef BOOST_PHOENIX_SCOPE_DYNAMIC_MEMBER diff --git a/include/boost/phoenix/scope/detail/cpp03/lambda.hpp b/include/boost/phoenix/scope/detail/cpp03/lambda.hpp new file mode 100644 index 0000000..6f9690d --- /dev/null +++ b/include/boost/phoenix/scope/detail/cpp03/lambda.hpp @@ -0,0 +1,39 @@ + +#if !defined(BOOST_PHOENIX_DONT_USE_PREPROCESSED_FILES) + +#include +#include + +#else + +#if defined(__WAVE__) && defined(BOOST_PHOENIX_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 2, line: 0, output: "preprocessed/lambda_" BOOST_PHOENIX_LIMIT_STR ".hpp") +#endif + +/*============================================================================== + Copyright (c) 2001-2010 Joel de Guzman + Copyright (c) 2004 Daniel Wallin + Copyright (c) 2010 Thomas Heller + Copyright (c) 2016 Kohei Takahashi + + 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) +==============================================================================*/ + +#if defined(__WAVE__) && defined(BOOST_PHOENIX_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 1) +#endif + +#define BOOST_PHOENIX_SCOPE_ACTOR_GEN_NAME lambda_actor_gen +#define BOOST_PHOENIX_SCOPE_ACTOR_GEN_FUNCTION operator() +#define BOOST_PHOENIX_SCOPE_ACTOR_GEN_CONST const + #include +#undef BOOST_PHOENIX_SCOPE_ACTOR_GEN_NAME +#undef BOOST_PHOENIX_SCOPE_ACTOR_GEN_FUNCTION +#undef BOOST_PHOENIX_SCOPE_ACTOR_GEN_CONST + +#if defined(__WAVE__) && defined(BOOST_PHOENIX_CREATE_PREPROCESSED_FILES) +#pragma wave option(output: null) +#endif + +#endif diff --git a/include/boost/phoenix/scope/detail/local_gen.hpp b/include/boost/phoenix/scope/detail/cpp03/local_gen.hpp similarity index 98% rename from include/boost/phoenix/scope/detail/local_gen.hpp rename to include/boost/phoenix/scope/detail/cpp03/local_gen.hpp index e422332..4c3918f 100644 --- a/include/boost/phoenix/scope/detail/local_gen.hpp +++ b/include/boost/phoenix/scope/detail/cpp03/local_gen.hpp @@ -35,7 +35,7 @@ #define BOOST_PHOENIX_ITERATION_PARAMS \ (3, (1, BOOST_PHOENIX_LOCAL_LIMIT, \ - )) + )) #include BOOST_PHOENIX_ITERATE() #else diff --git a/include/boost/phoenix/scope/detail/make_locals.hpp b/include/boost/phoenix/scope/detail/cpp03/make_locals.hpp similarity index 96% rename from include/boost/phoenix/scope/detail/make_locals.hpp rename to include/boost/phoenix/scope/detail/cpp03/make_locals.hpp index 5b311a6..414e4a6 100644 --- a/include/boost/phoenix/scope/detail/make_locals.hpp +++ b/include/boost/phoenix/scope/detail/cpp03/make_locals.hpp @@ -5,7 +5,7 @@ #include -#include +#include #endif #else @@ -63,7 +63,7 @@ #define BOOST_PHOENIX_ITERATION_PARAMS \ (3, (1, BOOST_PHOENIX_LOCAL_LIMIT, \ - )) + )) #include BOOST_PHOENIX_ITERATE() #if defined(__WAVE__) && defined(BOOST_PHOENIX_CREATE_PREPROCESSED_FILES) diff --git a/include/boost/phoenix/scope/detail/preprocessed/dynamic.hpp b/include/boost/phoenix/scope/detail/cpp03/preprocessed/dynamic.hpp similarity index 65% rename from include/boost/phoenix/scope/detail/preprocessed/dynamic.hpp rename to include/boost/phoenix/scope/detail/cpp03/preprocessed/dynamic.hpp index 435108e..a1a03fe 100644 --- a/include/boost/phoenix/scope/detail/preprocessed/dynamic.hpp +++ b/include/boost/phoenix/scope/detail/cpp03/preprocessed/dynamic.hpp @@ -9,15 +9,15 @@ #define BOOST_PHOENIX_PREPROCESSED_DYNAMIC #if BOOST_PHOENIX_LIMIT <= 10 -#include +#include #elif BOOST_PHOENIX_LIMIT <= 20 -#include +#include #elif BOOST_PHOENIX_LIMIT <= 30 -#include +#include #elif BOOST_PHOENIX_LIMIT <= 40 -#include +#include #elif BOOST_PHOENIX_LIMIT <= 50 -#include +#include #else #error "BOOST_PHOENIX_LIMIT out of bounds for preprocessed headers" #endif diff --git a/include/boost/phoenix/scope/detail/preprocessed/dynamic_10.hpp b/include/boost/phoenix/scope/detail/cpp03/preprocessed/dynamic_10.hpp similarity index 100% rename from include/boost/phoenix/scope/detail/preprocessed/dynamic_10.hpp rename to include/boost/phoenix/scope/detail/cpp03/preprocessed/dynamic_10.hpp diff --git a/include/boost/phoenix/scope/detail/preprocessed/dynamic_20.hpp b/include/boost/phoenix/scope/detail/cpp03/preprocessed/dynamic_20.hpp similarity index 100% rename from include/boost/phoenix/scope/detail/preprocessed/dynamic_20.hpp rename to include/boost/phoenix/scope/detail/cpp03/preprocessed/dynamic_20.hpp diff --git a/include/boost/phoenix/scope/detail/preprocessed/dynamic_30.hpp b/include/boost/phoenix/scope/detail/cpp03/preprocessed/dynamic_30.hpp similarity index 100% rename from include/boost/phoenix/scope/detail/preprocessed/dynamic_30.hpp rename to include/boost/phoenix/scope/detail/cpp03/preprocessed/dynamic_30.hpp diff --git a/include/boost/phoenix/scope/detail/preprocessed/dynamic_40.hpp b/include/boost/phoenix/scope/detail/cpp03/preprocessed/dynamic_40.hpp similarity index 100% rename from include/boost/phoenix/scope/detail/preprocessed/dynamic_40.hpp rename to include/boost/phoenix/scope/detail/cpp03/preprocessed/dynamic_40.hpp diff --git a/include/boost/phoenix/scope/detail/preprocessed/dynamic_50.hpp b/include/boost/phoenix/scope/detail/cpp03/preprocessed/dynamic_50.hpp similarity index 100% rename from include/boost/phoenix/scope/detail/preprocessed/dynamic_50.hpp rename to include/boost/phoenix/scope/detail/cpp03/preprocessed/dynamic_50.hpp diff --git a/include/boost/phoenix/scope/preprocessed/lambda.hpp b/include/boost/phoenix/scope/detail/cpp03/preprocessed/lambda.hpp similarity index 66% rename from include/boost/phoenix/scope/preprocessed/lambda.hpp rename to include/boost/phoenix/scope/detail/cpp03/preprocessed/lambda.hpp index 40ffaba..1176b6d 100644 --- a/include/boost/phoenix/scope/preprocessed/lambda.hpp +++ b/include/boost/phoenix/scope/detail/cpp03/preprocessed/lambda.hpp @@ -9,15 +9,15 @@ #define BOOST_PHOENIX_PREPROCESSED_SCOPE_LAMBDA_HPP #if BOOST_PHOENIX_LIMIT <= 10 -#include +#include #elif BOOST_PHOENIX_LIMIT <= 20 -#include +#include #elif BOOST_PHOENIX_LIMIT <= 30 -#include +#include #elif BOOST_PHOENIX_LIMIT <= 40 -#include +#include #elif BOOST_PHOENIX_LIMIT <= 50 -#include +#include #else #error "BOOST_PHOENIX_LIMIT out of bounds for preprocessed headers" #endif diff --git a/include/boost/phoenix/scope/preprocessed/lambda_10.hpp b/include/boost/phoenix/scope/detail/cpp03/preprocessed/lambda_10.hpp similarity index 100% rename from include/boost/phoenix/scope/preprocessed/lambda_10.hpp rename to include/boost/phoenix/scope/detail/cpp03/preprocessed/lambda_10.hpp diff --git a/include/boost/phoenix/scope/preprocessed/lambda_20.hpp b/include/boost/phoenix/scope/detail/cpp03/preprocessed/lambda_20.hpp similarity index 100% rename from include/boost/phoenix/scope/preprocessed/lambda_20.hpp rename to include/boost/phoenix/scope/detail/cpp03/preprocessed/lambda_20.hpp diff --git a/include/boost/phoenix/scope/preprocessed/lambda_30.hpp b/include/boost/phoenix/scope/detail/cpp03/preprocessed/lambda_30.hpp similarity index 100% rename from include/boost/phoenix/scope/preprocessed/lambda_30.hpp rename to include/boost/phoenix/scope/detail/cpp03/preprocessed/lambda_30.hpp diff --git a/include/boost/phoenix/scope/preprocessed/lambda_40.hpp b/include/boost/phoenix/scope/detail/cpp03/preprocessed/lambda_40.hpp similarity index 100% rename from include/boost/phoenix/scope/preprocessed/lambda_40.hpp rename to include/boost/phoenix/scope/detail/cpp03/preprocessed/lambda_40.hpp diff --git a/include/boost/phoenix/scope/preprocessed/lambda_50.hpp b/include/boost/phoenix/scope/detail/cpp03/preprocessed/lambda_50.hpp similarity index 100% rename from include/boost/phoenix/scope/preprocessed/lambda_50.hpp rename to include/boost/phoenix/scope/detail/cpp03/preprocessed/lambda_50.hpp diff --git a/include/boost/phoenix/scope/detail/preprocessed/make_locals.hpp b/include/boost/phoenix/scope/detail/cpp03/preprocessed/make_locals.hpp similarity index 64% rename from include/boost/phoenix/scope/detail/preprocessed/make_locals.hpp rename to include/boost/phoenix/scope/detail/cpp03/preprocessed/make_locals.hpp index d1be8bf..27b82c8 100644 --- a/include/boost/phoenix/scope/detail/preprocessed/make_locals.hpp +++ b/include/boost/phoenix/scope/detail/cpp03/preprocessed/make_locals.hpp @@ -9,15 +9,15 @@ #define BOOST_PHOENIX_PREPROCESSED_MAKE_LOCALS #if BOOST_PHOENIX_LIMIT <= 10 -#include +#include #elif BOOST_PHOENIX_LIMIT <= 20 -#include +#include #elif BOOST_PHOENIX_LIMIT <= 30 -#include +#include #elif BOOST_PHOENIX_LIMIT <= 40 -#include +#include #elif BOOST_PHOENIX_LIMIT <= 50 -#include +#include #else #error "BOOST_PHOENIX_LIMIT out of bounds for preprocessed headers" #endif diff --git a/include/boost/phoenix/scope/detail/preprocessed/make_locals_10.hpp b/include/boost/phoenix/scope/detail/cpp03/preprocessed/make_locals_10.hpp similarity index 100% rename from include/boost/phoenix/scope/detail/preprocessed/make_locals_10.hpp rename to include/boost/phoenix/scope/detail/cpp03/preprocessed/make_locals_10.hpp diff --git a/include/boost/phoenix/scope/detail/preprocessed/make_locals_20.hpp b/include/boost/phoenix/scope/detail/cpp03/preprocessed/make_locals_20.hpp similarity index 100% rename from include/boost/phoenix/scope/detail/preprocessed/make_locals_20.hpp rename to include/boost/phoenix/scope/detail/cpp03/preprocessed/make_locals_20.hpp diff --git a/include/boost/phoenix/scope/detail/preprocessed/make_locals_30.hpp b/include/boost/phoenix/scope/detail/cpp03/preprocessed/make_locals_30.hpp similarity index 100% rename from include/boost/phoenix/scope/detail/preprocessed/make_locals_30.hpp rename to include/boost/phoenix/scope/detail/cpp03/preprocessed/make_locals_30.hpp diff --git a/include/boost/phoenix/scope/detail/preprocessed/make_locals_40.hpp b/include/boost/phoenix/scope/detail/cpp03/preprocessed/make_locals_40.hpp similarity index 100% rename from include/boost/phoenix/scope/detail/preprocessed/make_locals_40.hpp rename to include/boost/phoenix/scope/detail/cpp03/preprocessed/make_locals_40.hpp diff --git a/include/boost/phoenix/scope/detail/preprocessed/make_locals_50.hpp b/include/boost/phoenix/scope/detail/cpp03/preprocessed/make_locals_50.hpp similarity index 100% rename from include/boost/phoenix/scope/detail/preprocessed/make_locals_50.hpp rename to include/boost/phoenix/scope/detail/cpp03/preprocessed/make_locals_50.hpp diff --git a/include/boost/phoenix/scope/dynamic.hpp b/include/boost/phoenix/scope/dynamic.hpp index 82653f5..a6df51f 100644 --- a/include/boost/phoenix/scope/dynamic.hpp +++ b/include/boost/phoenix/scope/dynamic.hpp @@ -162,15 +162,19 @@ namespace boost { namespace phoenix struct default_actions::when : call {}; - + +#if defined(BOOST_PHOENIX_NO_VARIADIC_SCOPE) template < BOOST_PHOENIX_typename_A_void(BOOST_PHOENIX_DYNAMIC_LIMIT) , typename Dummy = void > struct dynamic; - + // Bring in the rest ... - #include + #include +#else + // TODO: +#endif }} #endif diff --git a/include/boost/phoenix/scope/lambda.hpp b/include/boost/phoenix/scope/lambda.hpp index 8221966..2b22db9 100644 --- a/include/boost/phoenix/scope/lambda.hpp +++ b/include/boost/phoenix/scope/lambda.hpp @@ -1,3 +1,13 @@ +/*============================================================================== + Copyright (c) 2001-2010 Joel de Guzman + Copyright (c) 2004 Daniel Wallin + Copyright (c) 2010 Thomas Heller + Copyright (c) 2016 Kohei Takahashi + + 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) +==============================================================================*/ + #ifndef BOOST_PHOENIX_SCOPE_LAMBDA_HPP #define BOOST_PHOENIX_SCOPE_LAMBDA_HPP @@ -11,27 +21,6 @@ #include #include -#if !defined(BOOST_PHOENIX_DONT_USE_PREPROCESSED_FILES) - -#include - -#else - -#if defined(__WAVE__) && defined(BOOST_PHOENIX_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 2, line: 0, output: "preprocessed/lambda_" BOOST_PHOENIX_LIMIT_STR ".hpp") -#endif -/*============================================================================== - Copyright (c) 2001-2010 Joel de Guzman - Copyright (c) 2004 Daniel Wallin - 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) -==============================================================================*/ -#if defined(__WAVE__) && defined(BOOST_PHOENIX_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 1) -#endif - BOOST_PHOENIX_DEFINE_EXPRESSION( (boost)(phoenix)(lambda_actor) , (proto::terminal) // Locals @@ -362,21 +351,17 @@ namespace boost { namespace phoenix struct lambda_local_gen : lambda_actor_gen<> { +#if defined(BOOST_PHOENIX_NO_VARIADIC_SCOPE) lambda_actor_gen<> const operator()() const { return lambda_actor_gen<>(); } -#define BOOST_PHOENIX_SCOPE_ACTOR_GEN_NAME lambda_actor_gen -#define BOOST_PHOENIX_SCOPE_ACTOR_GEN_FUNCTION operator() -#define BOOST_PHOENIX_SCOPE_ACTOR_GEN_CONST const - #include -#undef BOOST_PHOENIX_SCOPE_ACTOR_GEN_NAME -#undef BOOST_PHOENIX_SCOPE_ACTOR_GEN_FUNCTION -#undef BOOST_PHOENIX_SCOPE_ACTOR_GEN_CONST - - + #include +#else + // TODO: +#endif }; typedef lambda_local_gen lambda_type; @@ -384,10 +369,4 @@ namespace boost { namespace phoenix }} -#if defined(__WAVE__) && defined(BOOST_PHOENIX_CREATE_PREPROCESSED_FILES) -#pragma wave option(output: null) -#endif - -#endif - #endif diff --git a/include/boost/phoenix/scope/let.hpp b/include/boost/phoenix/scope/let.hpp index 14c6a15..5a43871 100644 --- a/include/boost/phoenix/scope/let.hpp +++ b/include/boost/phoenix/scope/let.hpp @@ -153,6 +153,7 @@ namespace boost { namespace phoenix : call {}; +#if defined(BOOST_PHOENIX_NO_VARIADIC_SCOPE) template struct let_actor_gen { @@ -193,10 +194,13 @@ namespace boost { namespace phoenix #define BOOST_PHOENIX_SCOPE_ACTOR_GEN_NAME let_actor_gen #define BOOST_PHOENIX_SCOPE_ACTOR_GEN_FUNCTION let #define BOOST_PHOENIX_SCOPE_ACTOR_GEN_CONST - #include + #include #undef BOOST_PHOENIX_SCOPE_ACTOR_GEN_NAME #undef BOOST_PHOENIX_SCOPE_ACTOR_GEN_FUNCTION #undef BOOST_PHOENIX_SCOPE_ACTOR_GEN_CONST +#else + // TODO: +#endif template struct is_nullary::when