
Hello to all, as time's almost over for this year's Summer of Code, I'll join my fellow SoCers in presenting the resulting projects. I've been working on what was entitled a "Generic tree container" in the original Boost SoC suggestions wiki; but having discovered that most people were looking much more for some unifying concepts dealing with the similarities found in the vast diversity of existing tree designs, I sought to expand the scope of my work towards e.g. all kinds of search trees that my original proposal hadn't covered. I believe that I've distilled a couple of quite powerful concepts from the resources I reviewed; but as you might guess, this took more time than anticipated so that I can only present a very incomplete implementation of what I came up with. The code can be obtained via svn from https://www.boost-consulting.com:8443/svn/main/boost/soc/2006/tree/trunk or viewed in a browser at https://boost-consulting.com:8443/trac/soc/browser/boost/soc/2006/tree/trunk At the moment, there is only an unbalanced binary tree (including a "cursor" class), a couple of traversal and search algorithms, plus a "searcher" adaptor. For more information about the individual components, please refer to the documentation at http://www.unet.univie.ac.at/~a0057324/php/soc2006/doc/html/ Again, please keep in mind that neither code nor documentation are complete enough to be regarded a proper tree framework library -- which I intend them to be eventually, however. For now, I'll again join other SoCers, this time trying to catch some sun; I'll be leaving tomorrow (22nd) morning (CEST) for about a week of vacations. After that, I'll have another month until my university classes start again, which coincides with the deadline for TR2 submission. Now I know the following might seem a little ambitious, but: given the amount of literature and newsgroup/mailing list posts dealing with trees and C++, there seems to have been interest in an STL tree component about since the standard came out. So I'd like to try to refine especially the conceptual documentation parts first when I come back, implement what's still missing, and, with the help of some more experienced souls than I am, submit a proposal for TR2... (Or am I just dreaming?) Any comments very welcome. Grateful for an awesome experience, Bernhard

First of all, Congratulations and have fun in your vacations :) On 8/21/06, Bernhard Reiter <ockham@gmx.net> wrote:
At the moment, there is only an unbalanced binary tree (including a "cursor" class), a couple of traversal and search algorithms, plus a "searcher" adaptor. For more information about the individual components, please refer to the documentation at http://www.unet.univie.ac.at/~a0057324/php/soc2006/doc/html/
I like your ideas and the approach you have taken. Please continue to develop the library after the SoC dealine. I have read your docs and came up with some minor issues. * Why do you want to change the stl standard way of specifiing unique and non unique containers? I suggest the use of: searcher<tree_t>, mutlisearcher<tree_t> instead of: searcher<true,tree_t>, searcher<false,tree_t> * Why parity() (a cursor function) returns a int instead of a bool?
The code can be obtained via svn from https://www.boost-consulting.com:8443/svn/main/boost/soc/2006/tree/trunk or viewed in a browser at https://boost-consulting.com:8443/trac/soc/browser/boost/soc/2006/tree/trunk
The SoC svn have some issues with public access. Can you upload a .zip to the Boost Vault. I am eager to look at your code. Best regards Matias

Matias Capeletto wrote:
The SoC svn have some issues with public access. Can you upload a .zip to the Boost Vault. I am eager to look at your code.
I've taken the liberty of packaging the SoC final version an uploaded into the vault as tree-soc2006.zip <http://boost-consulting.com/vault/index.php?directory=Containers> -- -- Grafik - Don't Assume Anything -- Redshift Software, Inc. - http://redshift-software.com -- rrivera/acm.org - grafik/redshift-software.com -- 102708583/icq - grafikrobot/aim - grafikrobot/yahoo
participants (3)
-
Bernhard Reiter
-
Matias Capeletto
-
Rene Rivera