Boost logo

Boost :

From: shunsuke (pstade.mb_at_[hidden])
Date: 2007-01-25 11:36:52


Hi, gurus.

I have one question about 'result_of':

template<class F>
struct forward
{
    template<class A>
    // typename boost::result_of<F(A&)>::type // (1)
    typename boost::result_of<F const(A&)>::type // (2)
    operator()(A& a) const
    {
        return m_f(a);
    }

    explicit forward(F f) : m_f(f)
    { }

private:
    F m_f;
};

(1) or (2).. which is right?
In fact, (2) fails to compile if 'F' is a function pointer type;
because const function-pointer specialization is missing.

Regards,

-- 
Shunsuke Sogame

Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk