Boost logo

Boost Users :

Subject: Re: [Boost-users] How to figure out if a boost class does lazy copy or not?
From: Peng Yu (pengyu.ut_at_[hidden])
Date: 2010-06-13 07:58:18


On Sat, Jun 12, 2010 at 6:43 PM, Steven Watanabe <watanabesj_at_[hidden]> wrote:
> AMDG
>
> Peng Yu wrote:
>>
>> I need to construct some container in a function and return it. I
>> think that some container in boost follow lazy copy sematics but some
>> don't.
>>
>
> Meaning copy on write?  I don't think that any containers in
> Boost use copy on write.
>
>> For example, if tr1::unordered_map uses lazy copy, then I can return
>> an object of tr1::unordered_map. Otherwise, I should return
>> boost::shared_ptr<tr1::unordered_map>.
>>
>
> Are you sure that RVO isn't enough?

I don't know. Does anybody know if RVO is enough?

If tr1::unordered_map is returned from a function A, and the function
A is called by function B, which does something on the returned
tr1::unordered_map and returned it as well. Considering this chain
continues many levels, Z->...->B->A. Does RVO work for this case?

-- 
Regards,
Peng

Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net