On 03/12/2016 02:03 PM, Rob Stewart wrote:
My point is that there are many components and techniques needed to use your library, which makes it complex and, I imagine, will lead to confusion.
I guess the "container style" one could be replaced easily by the "root style": struct list : block_proxy { public: list() : root(*this) {} [...] private: block_ptr<node> root; }; With: struct list { public: list() {} [...] private: proxy_ptr<node> root; }; Please forget about the "container style" then.
I am not accounting for any optimization, specially for block_ptr<> because I don't even use move semantics yet, etc.
If that's the case, don't bother reporting comparisons between the different components and approaches. Unless you're measuring the right things correctly, the measurements are mostly useless.
Ok.