On 04/03/2016 11:15 AM, Larry Evans wrote:
Unify is somewhat clarified by:
http://philippeb8.github.io/root_ptr/root_ptr/rationale.html#root_ptr.ration...
But that raises another question. The pair of side-by-side diagrams suggest that when the lower non-inherited node_ptr acquires a pointer to the upper non-inherited node_ptr, then the "corresponding" node_proxy's likewise acquire similar pointers. Now what happens when the direction is reversed? Is there then a cycle between the node_proxy's?
Good question. There can be no cycle between node_proxy's because it uses an intrusive list. You can rearrange intrusive list elements however you want and you will never have a cycle.
BTW, it would also help if the root_ptr box on top of both a node_proxy and node_ptr box signifies that the subboxes are contained in the single root_ptr box. Only by looking at the code here:
https://github.com/philippeb8/root_ptr/blob/master/include/boost/smart_ptr/r...
was I sure this is what was meant.
I'll add a bold box around the root_ptrs. Thanks for the notice.