Boost logo

Boost :

From: shunsuke (pstade.mb_at_[hidden])
Date: 2007-11-21 21:53:32


Joel de Guzman wrote:
> Well, it's just for that specific case. Did you intend the
> transform to be generic? I didn't think so when you had
> it hard coded to int. I guess, it really depends on what
> your intent is. A transform cannot, in general, return a
> reference. What if the input is computed on the fly,
> like, say:
>
> mpl::vector_c<int, 1, 2, 3>
>
> ?

Yes, a FunctionObject return type is often orthogonal to deref type of sequence.
In such case, a higher-order function is needed to avoid dangling:
    make_function_returning_value(identity_returning_reference())

Well, my question is more primitive:
   What is "value_at"?

The current implementation is:
   value_at of transform_view returns boost::result_of<F(value_at of its underlying sequence)>::type

I couldn't understand what this implementation wants to do.

I tend to think `value_at` of transform_view should be the same as
`result_of::deref` of transform_view.
I'm not sure, though.

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