
At 08:27 2005-05-31, you wrote:
There's a pretty nice implementation of COW objects in the Adobe Open Source library (http://opensource.adobe.com). You might take a look at that. I saw it. Honestly, after I implemented COW myself :) Do you want to say it's no sence to double existing things?
A compiler that implements NRVO (Named Return Value Optimization) can return an object (essentially) by const reference without any special COW wrapper classes. Agree, this is not the best example for such a compiler. AFAIK VC++ doesn't implement this optimization.
Also, some C++ Standard Library implementations use a reference-counted std::string implementation, so this extra effort would be wasted. STLport and Dinkumware (I suppose most widely used) doesn't belong to that implementations. That's why personally I require COW-wrapper.
IIRC there was an article written with the title something like "Pessimization" which discussed the drawbacks to COW in a multi-threading/tasking world. It's one of the reasons that quit using that paradigm. I think you need to re-evaluate your "requirement"
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
Victor A. Wagner Jr. http://rudbek.com The five most dangerous words in the English language: "There oughta be a law"