
On 03/28/2010 11:57 PM, Rui Gonçalves wrote:
Hello,
I'm new to this community. My name is Rui Gonçalves and I'm thinking about submitting an application to Boost in Google Summer of Code. In particular, due to my own programming interests in data structures, generic programming and abstraction layer developing in general, I would be very happy in developing an advanced data structures library. As suggested in the ideias page, it would have includes various types of heaps and queues. I haven't had time to look at all different libraries, but if there is some known data structure with implementation needed, I would not mind implementing that too. I had a look at the /boost/pending available implementations. A lot of code could be reused / ported; however, I think that the source code could be more standardized between heap implementations. I'm thinking in a STL-like implementation, like:
template< class T, class Heap = binary_heap<T>, class Compare = less<T> > class priority_queue;
template< class T, class Container = vector<T>, class Compare = less<T> > class fibonacci_heap;
I already looked in books for some more obscure details of each algorithm, and haven't found anything excessively difficult. This seems a rather simple project (although I recognize it can take some time). Is there some convention or requirements for data structures in Boost? Is there any difficulty that I should be aware of but didn't notice, or any detail about GSoC that I should know? (I'm new to that program and I feel kind of lost).
FWIW, I would really like to see an improvement of Boost.Intrusive, especially in the field of efficient heaps and queues, rather than have yet another container library in Boost. Just my 2 cents.