Welcome to Boost.org!
The Boost web site provides free peer-reviewed portable C++ source libraries. The emphasis is on libraries which work well with the C++ Standard Library. The libraries are intended to be widely useful, and are in regular use by thousands of programmers across a broad spectrum of applications.
A further goal is to establish "existing practice" and provide reference implementations so that Boost libraries are suitable for eventual standardization. Ten Boost libraries will be included in the C++ Standards Committee's upcoming C++ Standard Library Technical Report as a step toward becoming part of a future C++ Standard.
Although Boost was begun by members of the C++ Standards Committee Library Working Group, participation has expanded to include thousands of programmers from the C++ community at large.
Participation
If you are interested in participating in Boost, please join our main developers mailing list. Discussions are highly technical, and list members are encouraged to participate in formal reviews of proposed libraries. There is also a users mailing list, and several project specific lists.
Both the main Boost developers list and the users list are also accessible as newsgroups.
Latest News
??? - Version 1.33.0
New Libraries
- iostreams: Framework for defining streams, stream buffers and i/o filters, from Jonathan Turkanis.
- functional/hash: A TR1 hash function object that can be extended to hash user defined types, from Daniel James.
- Pointer Container Library: Containers for storing heap-allocated polymorphic objects to ease OO-programming, from Thorsten Ottosen.
- Wave: Standards conformant implementation of the mandated C99/C++ preprocessor functionality packed behind an easy to use iterator interface, from Hartmut Kaiser.
Updated Libraries
- Assignment
Library: Support for Pointer Container
Library and new efficient functions
ref_list_of()
andcref_list_of()
for generating anonymous ranges. -
Date-Time
Library:
- Added local time and time zone classes.
- Added format-based Input/Output facets.
- For a complete list of changes, see the library change history.
-
Graph Library:
Introduced several new algorithms and improved existing
algorithms:
- Experimenta l Python bindings, from Doug Gregor and Indiana University.
- floyd warshall all pairs shortest paths, from Lauren Foutz and Scott Hill.
- astar search, from Kristopher Beevers and Jufeng Peng.
- fruchterman reingold force directed layout, from Doug Gregor and Indiana University.
- biconnected components and articulation points, from Jeremy Siek, Janusz Piwowarski, and Doug Gregor.
- sequential vertex coloring has been updated, tested, and documented.
- gursoy atun layout, from Jeremiah Willcock and Doug Gregor of Indiana University.
- king ordering, from D. Kevin McGrath of Indiana University.
- cuthill mckee ordering has been recast as an invocation of breadth first search and now supports graphs with multiple components.
- dijkstra shortest paths now uses a relaxed heap [61] as its priority queue, improving its complexity to O(V log V) and improving real-world performance for larger graphs.
read graphviz
now has a new, Spirit-based parser that works for all graph types and supports arbitrary properties on the graph, from Ron Garcia. The old, Bison-based GraphViz reader has been deprecated and will be removed in a future Boost release.write graphviz
also supports dynamic properties.- See the history for additional changes and bug fixes.
-
Multi-index
Containers Library:
- New hashed indices.
- Added serialization support.
- For a complete list of changes, see the library release notes.
- Property Map
Library: Introduced the
dynamic properties
class, which provides dynamically-typed access to a set of property maps. - Range Library: Minor
addition of convenience functions to
iterator range
likefront(), back()
andoperator[]()
. - Regex Library:
- Rewritten front end parser now supports (?imsx-imsx) constructs, plus lookbehind assertions and conditional expressions.
- Thin wrapper classes improve integration with MFC/ATL code.
- Full (optional) Unicode support via the ICU library.
- Signals Library: added slot blocking/unblocking, from Frantz Maerten. Huge improvements to signal invocation performance from Robert Zeh.
Acknowledgements
Douglas Gregor managed this release.