|
|||||||||||
|
Re: Eyeballs needed on new reference counted pointer template
From: Warren Young <mysqlpp(at)etr-usa.com>
Date: Thu Aug 16 2007 - 05:23:41 EDT
Well, funny you should bring give that example. The template we are discussing in this thread was created to solve the single-threaded version of the same problem. This comes up when someone runs a query, gets some Rows, then wants to get a new result set without copying the Row data to a new data structure just to work around the existing dependency of Row on the Result that created it. This is a common need when details of the second query depend on the results of the first. This problem is now solved; Rows no longer require their creator to outlive them. The atomic inc/dec issue brought up by Joseph Artsimovich is all that prevents the problem in your example from being solved, too. The question is, does it *need* to be solved? Obviously I think the singlethread variant of this problem does need to be solved. But in light of the bottleneck argument I gave in my response to Joseph, you can guess that I'm not seeing the value in solving the multi-thread variant. So, tell me why I'm wrong. Why is it helpful to send off Rows to a second thread while the first reuses the Result object for a new query? > http://www.artima.com/cppsource/safebool.html Thanks for the link, this was most helpful. > I think the latest Boost.SharedPtr actually uses a pointer to member Are you endorsing this difference, or just pointing it out? > With a safe bool there's no need for operator! Actually, I don't see why it was needed with the existing scheme, but it was necessary to make something compile. I don't remember the details. -- MySQL++ Mailing List For list archives: http://lists.mysql.com/plusplus To unsubscribe: http://lists.mysql.com/plusplus?unsub=lists@pantek.comReceived on Thu Aug 16 12:31:21 2007 This archive was generated by hypermail 2.1.8 : Sun Oct 07 2007 - 10:03:02 EDT |
||||||||||
|
|||||||||||