forked from boostorg/fusion
fixes const-correctness
[SVN r38222]
This commit is contained in:
@ -32,7 +32,9 @@ namespace boost { namespace fusion
|
||||
{
|
||||
Function fnc_transformed;
|
||||
|
||||
typedef typename detail::uncr<Function>::type function;
|
||||
typedef typename detail::qf_c<Function>::type function_c;
|
||||
typedef typename detail::qf<Function>::type function;
|
||||
|
||||
typedef typename detail::call_param<Function>::type func_const_fwd_t;
|
||||
|
||||
public:
|
||||
@ -45,7 +47,7 @@ namespace boost { namespace fusion
|
||||
struct result;
|
||||
|
||||
typedef typename boost::result_of<
|
||||
function const (fusion::vector0 &) >::type call_const_0_result;
|
||||
function_c(fusion::vector0 &) >::type call_const_0_result;
|
||||
|
||||
inline call_const_0_result operator()() const
|
||||
{
|
||||
@ -54,7 +56,7 @@ namespace boost { namespace fusion
|
||||
}
|
||||
|
||||
typedef typename boost::result_of<
|
||||
function (fusion::vector0 &) >::type call_0_result;
|
||||
function(fusion::vector0 &) >::type call_0_result;
|
||||
|
||||
inline call_0_result operator()()
|
||||
{
|
||||
@ -95,20 +97,20 @@ namespace boost
|
||||
|
||||
template <class Self, BOOST_PP_ENUM_PARAMS(N,typename T)>
|
||||
struct result< Self const (BOOST_PP_ENUM_PARAMS(N,T)) >
|
||||
: boost::result_of< function const (
|
||||
: boost::result_of< function_c(
|
||||
BOOST_PP_CAT(fusion::vector,N)< BOOST_PP_ENUM_BINARY_PARAMS(N,
|
||||
typename detail::cref<T,>::type BOOST_PP_INTERCEPT) > & )>
|
||||
{ };
|
||||
|
||||
template <class Self, BOOST_PP_ENUM_PARAMS(N,typename T)>
|
||||
struct result< Self (BOOST_PP_ENUM_PARAMS(N,T)) >
|
||||
: boost::result_of< function (
|
||||
: boost::result_of< function(
|
||||
BOOST_PP_CAT(fusion::vector,N)< BOOST_PP_ENUM_BINARY_PARAMS(N,
|
||||
typename detail::cref<T,>::type BOOST_PP_INTERCEPT) > & )>
|
||||
{ };
|
||||
|
||||
template <BOOST_PP_ENUM_PARAMS(N,typename T)>
|
||||
inline typename boost::result_of<function(BOOST_PP_CAT(fusion::vector,N)
|
||||
inline typename boost::result_of<function_c(BOOST_PP_CAT(fusion::vector,N)
|
||||
<BOOST_PP_ENUM_BINARY_PARAMS(N,T,const& BOOST_PP_INTERCEPT)> & )>::type
|
||||
operator()(BOOST_PP_ENUM_BINARY_PARAMS(N,T,const& a)) const
|
||||
{
|
||||
|
Reference in New Issue
Block a user