[GSoC] Advanced data structures library

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). Thank you in advance for your help, Rui Gonçalves

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.
Hi Rui, 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).
This project is definitely more time consuming than difficult, although getting the interfaces "just right" can be quite challenging. Boost doesn't really have any conventions beyond what's posted here [1]. If you haven't already, you might look here [2] for hints on writing good proposals. Andrew Sutton andrew.n.sutton@gmail.com [1] http://www.boost.org/development/requirements.html [2] https://svn.boost.org/trac/boost/wiki/SoCHints

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.

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.
That's an interesting idea. If there was a reasonable proposal would you be able and/or willing to mentor it? Andrew Sutton andrew.n.sutton@gmail.com

On 03/30/2010 12:13 AM, Andrew Sutton wrote:
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.
That's an interesting idea. If there was a reasonable proposal would you be able and/or willing to mentor it?
I'm afraid, I won't have enough time to mentor.
participants (3)
-
Andrew Sutton
-
Andrey Semashev
-
Rui Gonçalves