Boost logo

Boost :

From: Peter Dimov (pdimov_at_[hidden])
Date: 2004-03-08 14:38:43


David Abrahams wrote:
>>> It seems to me that, since I know that binding to an rvalue is
>>> required, we ought to have a way to say "force this to be a const
>>> ref". I thought of something like
>>>
>>> std::for_each(
>>> make_difference_iterator(p->second.begin())
>>> , make_difference_iterator(p->second.end())
>>> , boost::bind(&fu::writeVInt, &prox, boost::cref(_1)));
>>> ^^^^^^^^^^^^ ^
>>>
>>> I know it's not pretty, but it sorta does what we want. Thoughts?
>>
>> Have you tried to implement it? ;-)
>
> 'course not! ;-)
>
> Is it hard?

Doesn't seem easy at first sight, even if we limit ourselves to 100%
conforming compilers.

>> The current bind way to work around the above problem is to use an
>> adaptor that fixes its signature to, for example, void(fu const &).
>> Choices are function<void(fu const &)> and make_adaptable<void, fu
>> const &> (in boost/bind/make_adaptable.hpp).
>
> Huh! Where's make_adaptable documented?

I could've sworn that it was documented in bind.html. But it's not. It's
only listed in the "files" section. Another one for the to-do list.


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