Update of /cvsroot/boost/boost/boost/fusion/functional/invocation
In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv14206
Modified Files:
invoke_function_object.hpp
Log Message:
simplifies code (minor changes)
Index: invoke_function_object.hpp
===================================================================
RCS file:
/cvsroot/boost/boost/boost/fusion/functional/invocation/invoke_function_object.hpp,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -d -r1.4 -r1.5
--- invoke_function_object.hpp 13 Jul 2007 15:12:14 -0000 1.4
+++ invoke_function_object.hpp 13 Jul 2007 16:26:50 -0000 1.5
@@ -19,8 +19,6 @@
#include <boost/utility/result_of.hpp>
-#include <boost/blank.hpp>
-
#include <boost/type_traits/remove_reference.hpp>
#include <boost/type_traits/remove_const.hpp>
@@ -59,10 +57,7 @@
int N = result_of::size<Sequence>::value,
bool RandomAccess = traits::is_random_access<Sequence>::value
>
- struct invoke_function_object_impl
- {
- typedef boost::blank result;
- };
+ struct invoke_function_object_impl;
template <class Sequence, int N>
struct invoke_function_object_param_types;
@@ -77,10 +72,11 @@
namespace result_of
{
template <class Function, class Sequence> struct invoke_function_object
- : detail::invoke_function_object_impl<
+ {
+ typedef typename detail::invoke_function_object_impl<
typename boost::remove_reference<Function>::type, Sequence
- >::result
- { };
+ >::result_type type;
+ };
}
template <class Function, class Sequence>
@@ -117,16 +113,15 @@
{
public:
- struct result
+ typedef typename boost::result_of<
#define M(z,j,data)
\
typename boost::remove_reference<
\
typename result_of::value_at_c<Sequence,j>::type >::type
- : boost::result_of< Function (BOOST_PP_ENUM(N,M,~)) >
+ Function (BOOST_PP_ENUM(N,M,~)) >::type result_type;
#undef M
- { };
template <class F>
- static inline typename result::type
+ static inline result_type
call(F & f, Sequence & s)
{
#define M(z,j,data) fusion::at_c<j>(s)
@@ -141,13 +136,12 @@
private:
typedef invoke_function_object_param_types<Sequence,N> seq;
public:
- struct result
- : boost::result_of<
- Function (BOOST_PP_ENUM_PARAMS(N,typename seq::T)) >
- { };
+ typedef typename boost::result_of<
+ Function (BOOST_PP_ENUM_PARAMS(N,typename seq::T))
+ >::type result_type;
template <class F>
- static inline typename result::type
+ static inline result_type
call(F & f, Sequence & s)
{
#if N > 0
-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Boost-cvs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/boost-cvs