
----- Original Message ----- From: "Darren Cook" <darren@dcook.org>
From: Christopher DIggins
Without that algorithms, etc. are harder to write, and the tree is much harder to manage.
I've been following this discussion but not the code: I hope a high-quality boost tree library would have ways to choose which pointers each node maintains; even if that means separate containers for each.
IMO it would be simpler and cleaner to have two separate binary tree implementation. One which inherently supports traversal, and one which doesn't. As you point out the trade-off for inherent traversal would be extra memory usage. As Joao mentioned you can still traverse trees without built-in traversal using adapters. So if I understand you correctly then this is an acceptable compromise for a boost library. Would others be amenable to such a compromise I wonder? Also I can't help but wonder if preorder / postorder traversal is really important as part of a tree? I have only ever used inorder, and I have trouble imagining a scenario where other traversals are important. Anyone have some use cases for me? Thanks, Christopher Diggins Object Oriented Template Library (OOTL) http://www.ootl.org