$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
Subject: Re: [boost] Design conventions; passing functors
From: vicente.botet (vicente.botet_at_[hidden])
Date: 2008-11-15 19:44:09
----- Original Message -----
From: "Steven Watanabe" <watanabesj_at_[hidden]>
To: <boost_at_[hidden]>
Sent: Saturday, November 15, 2008 11:44 PM
Subject: Re: [boost] Design conventions; passing functors
>
> AMDG
>
> vicente.botet wrote:
>>>> it is always
>>>> possible to create another function object that just
>>>> stores a reference to the original function object.
>>>>
>>
>> Is not this the role of boost::ref?
>>
>
> std::ref provides a forwarding operator(). boost::ref does not.
Thanks Steven to pointing it out. Do you know why boost::ref does not? Do the author of boost.ref plan to provides the forwarding operator()?
Could someone explain me how this works for the Boost.Thread library? >From the Boost.Thread documentation
"Launching threads
A new thread is launched by passing an object of a callable type that can be invoked with no parameters to the constructor. The object is then copied into internal storage, and invoked on the newly-created thread of execution. If the object must not (or cannot) be copied, then boost::ref can be used to pass in a reference to the function object. In this case, the user of Boost.Thread must ensure that the referred-to object outlives the newly-created thread of execution. "
Take in account that Boost.Thread do some kind of move semantics emulation.
Thanks in advance,
Vicente