Peter Dimov wrote:
 >Have you tried? ;-)

Nope, I'm afraid I'd mess it up - as in the point below.

 >Nope. You still need the counter mutex penalty. See example 2, that modifies
 >two different shared_ptr instances, with well defined results. Those two
 >instances can well share a count.

Ahhh..., I didn't see that.
point: The reference count is per object allocated, not per pointer.

 >Yep. But a well designed program doesn't need this construct. The extra
 >overhead would only "help" badly designed programs, but everyone will have
 >to pay.

Right, I was still operating under the idea that you could make it
work with just one mutex per shared_ptr.

 >I'm pretty sure that there are programs where the unnecessary
 >synchronization overhead would be unacceptable. But these cases are much
 >rarer than one might think.

Yeah, I'd have thought so too.

But I'm currently sharing the QTs between threads and messed something
up b/c the threaded version (with >1 thread) takes many times as long as
the serial version... And I was tired of having to recompile pretty
much everything in the project b/c I'd changed a basic container.

That's another thread for another group.

 >Depends on what you mean by "a technical reason". It is very controversial
 >whether the cost of an extra template parameter can be considered a
 >technical reason. :-)

Fair enough.  Since writing template code is always a struggle between
me and the compiler I can see the desire to avoid adding extra
template parameters.



TJ
-- 
Trey Jackson
[EMAIL PROTECTED]

"... at this point, the elephant is looking like an irate Roseanne."
-- Fran Drescher
_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost

Reply via email to