On 4/10/16 4:58 PM, Vladimir Batov wrote:
Phil,
On 04/11/2016 07:41 AM, Phil Bouchard wrote:
On 04/10/2016 04:07 PM, Artyom Beilis wrote:
3. What happens when root_ptr is deleted and node_ptr exists? Does use of node_ptr lead to undefined behavior? If so it should be marked as big warning.
You can't construct a node_ptr without a root_ptr so node_ptrs are always instantiated after a root_ptr.
To begin with, I feel that your main argument in favor of your library compared to the std::shared_ptr is that your library takes care of cycles.
This is my take on the library from a quick reading of the documentation. So as far as I'm concerned you've passed the first major hurdle that most submitters can't pass. You've managed to summarize the purpose and motivation for the library succintly enough for someone to determine in a couple of minutes whether it addresses a problem that he currently has. I should say that documentation for many boost library fail to do this - so in this sense you are ahead of the game. I am personally yet to be convinced that the cycles-related
problem is actually as big as you make it. More so, std::shared_ptr does manage cycles with weak_ptr and discipline. ;-)
And as I see it, this is the crux of the debate. Does the facility if offers worth the extra "overhead" that any library entails? Well, that's what we're here to debate! Robert Ramey