Conversation
Make code friendly for debugging.
…Count -> LEAF_COUNT, NODE_COUNT)
|
Access to a member of unions that wasn't recently assigned is UB in C++. For reliability it would be better to remove |
…ete instead of allocate/deallocate. Removed excess "friend class" declarations. NodePtr changed to avoid potential undefined behavior.
removed Allocator from template arguments, removed pointer based ctor in favor of reference based one.
|
Should it be backported and, if yes, into which branches ? |
|
Usually, we don't backport refactoring commits. If you think it's really needed, I may agree with backporting into v5 only. |
|
The main goal of this PR is not the refactoring. It is about debugging experience, which was close to impossible. |
|
I agree with Vlad - old artifacts, invented by skidder to support use of a tree in memory manager, cause a lot of problems with debugging. I see no problems backporting this as deep as possible - even to v.3. |
|
OK, I don't mind (except maybe v3 which is nearly end-of-life). I just suppose that the need of debugging there may be over-estimated, given the last bugfix in this class was about 20 years ago. And even if we have something fixed in master/v5, it can be easily backported "as is". |
|
Let me clarify - it is not about debugging |
|
@hvlad +1 |
Maked it usabe with debugger, removed a lot of casts and a few other misc improvemens.