diff --git a/include/boost/fusion/functional/invocation/invoke.hpp b/include/boost/fusion/functional/invocation/invoke.hpp index bac695cc..f021d923 100644 --- a/include/boost/fusion/functional/invocation/invoke.hpp +++ b/include/boost/fusion/functional/invocation/invoke.hpp @@ -1,8 +1,8 @@ /*============================================================================= - Copyright (c) 2005-2006 João Abecasis + Copyright (c) 2005-2006 Joao Abecasis Copyright (c) 2006-2007 Tobias Schwinger - - Use modification and distribution are subject to the Boost Software + + Use modification and distribution are subject to 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). ==============================================================================*/ @@ -71,21 +71,21 @@ namespace boost { namespace fusion { namespace ft = function_types; - template< - typename Function, class Sequence, + template< + typename Function, class Sequence, int N = result_of::size::value, bool CBI = ft::is_callable_builtin::value, bool RandomAccess = traits::is_random_access::value > struct invoke_impl; - template + template struct invoke_param_types; template struct invoke_data_member; - template + template struct invoke_mem_fn; #define BOOST_PP_FILENAME_1 @@ -116,7 +116,7 @@ namespace boost { namespace fusion invoke_mem_fn, invoke_data_member >, mpl::identity< invoke_nonmember_builtin< - Function,Sequence,1,RandomAccess> > + Function,Sequence,1,RandomAccess> > >::type { }; @@ -139,7 +139,7 @@ namespace boost { namespace fusion public: - typedef typename boost::add_reference::type + typedef typename boost::add_reference::type result_type; static inline result_type call(T C::* f, Sequence & s) @@ -154,10 +154,10 @@ namespace boost { namespace fusion { template struct invoke { - typedef typename detail::invoke_impl< + typedef typename detail::invoke_impl< typename boost::remove_reference::type, Sequence >::result_type type; - }; + }; } template @@ -242,7 +242,7 @@ namespace boost { namespace fusion public: typedef typename boost::result_of< - Function(BOOST_PP_ENUM_PARAMS(N,typename seq::T)) + Function(BOOST_PP_ENUM_PARAMS(N,typename seq::T)) >::type result_type; template @@ -274,7 +274,7 @@ namespace boost { namespace fusion typename seq::I0 i0 = fusion::begin(s); BOOST_PP_REPEAT_FROM_TO(1,N,M,~) - return (that_ptr< typename mpl::front< + return (that_ptr< typename mpl::front< ft::parameter_types >::type >::get(*i0)->*f)(BOOST_PP_ENUM_SHIFTED_PARAMS(N,*i)); } @@ -302,5 +302,5 @@ namespace boost { namespace fusion #undef N #endif // defined(BOOST_PP_IS_ITERATING) -#endif +#endif diff --git a/include/boost/fusion/functional/invocation/invoke_function_object.hpp b/include/boost/fusion/functional/invocation/invoke_function_object.hpp index f0f6e4eb..24c02c2b 100644 --- a/include/boost/fusion/functional/invocation/invoke_function_object.hpp +++ b/include/boost/fusion/functional/invocation/invoke_function_object.hpp @@ -1,8 +1,8 @@ /*============================================================================= - Copyright (c) 2005-2006 João Abecasis + Copyright (c) 2005-2006 Joao Abecasis Copyright (c) 2006-2007 Tobias Schwinger - - Use modification and distribution are subject to the Boost Software + + Use modification and distribution are subject to 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). ==============================================================================*/ @@ -51,14 +51,14 @@ namespace boost { namespace fusion namespace detail { - template< - class Function, class Sequence, + template< + class Function, class Sequence, int N = result_of::size::value, - bool RandomAccess = traits::is_random_access::value + bool RandomAccess = traits::is_random_access::value > struct invoke_function_object_impl; - template + template struct invoke_function_object_param_types; #define BOOST_PP_FILENAME_1 \ @@ -72,10 +72,10 @@ namespace boost { namespace fusion { template struct invoke_function_object { - typedef typename detail::invoke_function_object_impl< + typedef typename detail::invoke_function_object_impl< typename boost::remove_reference::type, Sequence >::result_type type; - }; + }; } template @@ -114,7 +114,7 @@ namespace boost { namespace fusion typedef typename boost::result_of< #define M(z,j,data) \ - typename result_of::at_c::type + typename result_of::at_c::type Function (BOOST_PP_ENUM(N,M,~)) >::type result_type; #undef M @@ -154,7 +154,7 @@ namespace boost { namespace fusion } }; - template + template struct invoke_function_object_param_types { #if N > 0 @@ -173,5 +173,5 @@ namespace boost { namespace fusion #undef N #endif // defined(BOOST_PP_IS_ITERATING) -#endif +#endif diff --git a/include/boost/fusion/functional/invocation/invoke_procedure.hpp b/include/boost/fusion/functional/invocation/invoke_procedure.hpp index 31822ade..502b38aa 100644 --- a/include/boost/fusion/functional/invocation/invoke_procedure.hpp +++ b/include/boost/fusion/functional/invocation/invoke_procedure.hpp @@ -1,8 +1,8 @@ /*============================================================================= - Copyright (c) 2005-2006 João Abecasis + Copyright (c) 2005-2006 Joao Abecasis Copyright (c) 2006-2007 Tobias Schwinger - - Use modification and distribution are subject to the Boost Software + + Use modification and distribution are subject to 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). ==============================================================================*/ @@ -58,8 +58,8 @@ namespace boost { namespace fusion { namespace ft = function_types; - template< - typename Function, class Sequence, + template< + typename Function, class Sequence, int N = result_of::size::value, bool MFP = ft::is_member_function_pointer::value, bool RandomAccess = traits::is_random_access::value @@ -167,5 +167,5 @@ namespace boost { namespace fusion #undef N #endif // defined(BOOST_PP_IS_ITERATING) -#endif +#endif