
Jose wrote:
Yes, Btree as in http://en.wikipedia.org/wiki/B-tree I think a Btree would be a nice addition to Boost.
I am looking for a generic B-tree that I can use to store any C++ object, with variable length key and data fields
I considered submitting a Boost B-tree a long time ago, and did a trial implementation. But I ran into a lot of issues, so scraped it. At the beginning of the past summer I looked at B-trees again, this time using the Lehman and Yao locking algorithm. It looks doable, but would take more time than I have available. I also came to the conclusion that C++0x Concepts would be a great help in the design. There are a bunch of types involved, and I was having a trouble getting the interrelationships right. With Concepts, the compiler will tell me if I mess up, speeding the development process. Because my interest is high performance B-trees with binary data formats portable to any system (regardless of compiler, endianness, alignment, or other constraints), I was not trying to handle any random C++ object. I was, however, designing in the ability to handle variable length key and data fields. If you have experience implementing C++ B-trees and are interested in submitting something to Boost, I'd like to hear you ideas. --Beman