[tree?] STL like tree data structure in boost?

hi, any idea if there is in boost a similar tree data structure such as Kasper Peeters's tree.hh http://tree.phi-sci.com/ ? thanks Nil

Nil Geisweiller wrote:
any idea if there is in boost a similar tree data structure such as Kasper Peeters's tree.hh http://tree.phi-sci.com/ ?
Bernhard Reiter seems to be actively developing a Boost.Tree library: https://svn.boost.org/svn/boost/sandbox/SOC/2006/tree https://svn.boost.org/svn/boost/sandbox/SOC/2006/tree/doc/html Does anyone know whether it is a good idea to use this library? Regards, Thomas

The following thread might also be interesting: http://lists.boost.org/Archives/boost/2009/07/153719.php

that one is interesting too, it is in some regard an extension of Kasper's tree.hh http://code.google.com/p/treetree/ Nil On Mon, Nov 2, 2009 at 10:46 PM, Thomas Klimpel <Thomas.Klimpel@synopsys.com> wrote:
Thomas Klimpel wrote
https://svn.boost.org/svn/boost/sandbox/SOC/2006/tree
https://svn.boost.org/svn/boost/sandbox/SOC/2006/tree/doc/html
https://svn.boost.org/svn/boost/sandbox/SOC/2006/tree/trunk/libs/tree/doc/ht... _______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost

I could'nt check the boost vault, but anyway, just wanted to say this one has a sweet design IMO : http://www.datasoftsolutions.net/tree_container_library/stl_compatibility/ov... Pierre --- En date de : Lun 2.11.09, Nil Geisweiller <ngeiswei@googlemail.com> a écrit : De: Nil Geisweiller <ngeiswei@googlemail.com> Objet: Re: [boost] [tree?] STL like tree data structure in boost? À: boost@lists.boost.org Date: Lundi 2 Novembre 2009, 13h00 that one is interesting too, it is in some regard an extension of Kasper's tree.hh http://code.google.com/p/treetree/ Nil On Mon, Nov 2, 2009 at 10:46 PM, Thomas Klimpel <Thomas.Klimpel@synopsys.com> wrote:
Thomas Klimpel wrote
https://svn.boost.org/svn/boost/sandbox/SOC/2006/tree
https://svn.boost.org/svn/boost/sandbox/SOC/2006/tree/doc/html
https://svn.boost.org/svn/boost/sandbox/SOC/2006/tree/trunk/libs/tree/doc/ht... _______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost

Am Montag, den 02.11.2009, 21:28 +0100 schrieb Thomas Klimpel:
Bernhard Reiter seems to be actively developing a Boost.Tree library:
yes i am! (see below)
https://svn.boost.org/svn/boost/sandbox/SOC/2006/tree
https://svn.boost.org/svn/boost/sandbox/SOC/2006/tree/doc/html
Does anyone know whether it is a good idea to use this library?
well, sort of. since i started working on this, there've been a lot of changes and refinements in my design, which lead to delays. anyway, i'd sure appreciate if people tried out the current state -- binary_tree should work quite ok now, as should forest, though the latter is still lacking algorithms due to some previous issues and recent restructuring.
The following thread might also be interesting: http://lists.boost.org/Archives/boost/2009/07/153719.php
i didn't follow that discussion, but i'm about doing what people seem to have been asking for back then: focus on an actual tree api (built around concepts), ie provide data structures like binary_tree (and eg forest built around it), algorithms such as successor(preorder, cursor), and cursors as the tree equivalent to stl iterators. most tree designs i've seen out there give you a (n-ary) tree and a rather fat interface with iterators for any given purpose (ordering), while i'm rather trying to untangle things -- which has been tedious at times, but rewards you with components that are supposed to be more generic, such as forest being a binary_tree based adaptor, or the ascending_cursor adaptor (which implements the textbook example of an explicit stack based ascending cursor as an adaptor wrapped around a descending cursor, allowing it to be used in algorithms requiring ascending cursors). For balanced trees, there will be balance (also wrapped around binary_tree) so yeah, i hope my attempt is what is closer to the boost way, but i'm afraid there's still some (sometimes pioneering) work ahead in order to refine the design (and concepts) while optimising the implementation -- the past two weeks svn logs can possibly give you an idea. that said, i'd be more than happy about some feedback about my work! kind regards, bernhard
Regards, Thomas

Nil Geisweiller wrote:
hi,
any idea if there is in boost a similar tree data structure such as Kasper Peeters's tree.hh http://tree.phi-sci.com/ ?
Dan Marsden presented a Traversal Library at boostcon 2008 that IMHO would replace the need for an explicit tree data structure. It's based on the "Scrap Your Boiler Plate" paper that recognizes that most programs already possess tree-like structure and more generally have "data structures built from rich mutually-recursive data types". It's intent is to abstract out the generic traversal mechanics allowing the programmer to focus on the "reason for traversal". I'm not sure where this library stands, or if Dan has continued development. Jeff
participants (5)
-
Bernhard Reiter
-
Jeff Flinn
-
Nil Geisweiller
-
Pierre Morcello
-
Thomas Klimpel