GSoC/GCI Archive
Google Summer of Code 2010

Boost C++ Libraries

Web Page:

Mailing List:

Boost provides free peer-reviewed portable C++ source libraries. We emphasize libraries that work well with the C++ Standard Library. Boost libraries are intended to be widely useful and usable across a broad spectrum of applications. The Boost license encourages both commercial and non-commercial use. We aim to establish "existing practice" and provide reference implementations so that Boost libraries are suitable for eventual standardization. Ten Boost libraries are already included in the C++ Standards Committee's Library Technical Report (TR1) and will become part of the forthcoming C++ Standard.


  • Bits & Ints Library Handling binary data is a very tricky task and is very easy to do mistakes when hard-coding this type of algorithm. Making a library wich helps in manipulating of binary data would be very helpful because it could be used in a widely types of applications sice neither C++ nor Boost have utilities for performing bitwise logical operations on bitstrings. This application proposes a comprehensive set of these algorithms and data structures and intend to be useful, portable and efficient.
  • Bits and Ints This is a proposal for the Bits and Ints project listed on the boost wiki page. The proposal includes bit mask creation utilities and data structures which are extensions of those bit masks.
  • Boost.Process Library - improve and finish it. In Google Summer of Code 2006, the implementation of a library to handle process was proposed and accepted by Google and Boost community. Unfortunately, this library was never finished. My proposal aims to recover the work already done, suggesting some alterations that can be done to improve and finish it.
  • Graph operations My proposal is to implement some graph binary operations (sum, difference, intersection, join and disjoint union of two graphs) in Boost.Graph library.
  • GSoC - Boost - Sweepline Algorithm Robust generic implementation of sweepline algorithm for solving 2D Voronoi diagram and Delaunay triangulation problems.
  • Heaps & Queues my proposal is to implement a library of heap data structures. the library should incude intrusive and non-intrusive implementations, node-based heaps and container adaptors.
  • Implementing some new algorithms in Boost String Algorithms and binding BGL to Python As has been discussed in the mailing-list thread "Some new ideas for this year's GSoC", in this proposal I suggest to implement some string searching algorithms (such as Rabin-Karp, KMP, BM, suffix arrays etc.) as well as document them with benchmarks so the user knows which one to choose for which purpose. The current find_first(), find_last() etc. functions will also be optimized to use the new implementations. Additionally, I am willing to extend the bindings to Python of BGL.
  • Quasi-random number generators This proposal suggests an extension to the existing Boost.Random library. Currently, Boost.Random lacks low discrepancy sequence generators, even though low discrepancy sequences are particularly important for quasi random Monte Carlo integration approximations, because they enable algorithms to converge approximately the order of magnitude faster.
  • Rewrite of Boost.Phoenix This project is aiming for a re-implementation of the Boost.Phoenix library. While already accepted as a main citizen of Boost, there are several things to consider before all conditions are met. The main requirement is a rewrite with the help of Boost.Proto. This proposal summarizes the requirements and previous ideas, which will be necessary to port phoenix to proto. Additionally a schedule for possible milestones will be proposed.