Boost C++ Libraries

#

“...one of the most highly regarded and expertly designed C++ library projects in the world.” — Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

# Welcome to Boost.org! 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) as a step toward becoming part of a future C++ Standard. More Boost libraries are proposed for the upcoming TR2. Getting started: Boost works on almost any modern operating system, including UNIX and Windows variants. Follow the Getting Started Guide to download and install Boost. Popular Linux and Unix distributions such as Fedora, Debian, and NetBSD include pre-built Boost packages. Boost may also already be available on your organization's internal web server. Background: The Background Information page has introductory material to help those educating their organization about Boost. ## Participation 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. 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 ### December 5, 2005 - Version 1.33.1 #### Updated Libraries Any Library: Cast to reference types introduced in 1.33.0 is now documented on `any_cast` documentation page. Config Library: Don't undef BOOST_LIB_TOOLSET after use. Boost.Python: The build now assumes Python 2.4 by default, rather than 2.2 Support Python that's built without Unicode support Support for wrapping classes with overloaded address-of (`&`) operators Smart Pointer Library: Fixed problems under Metrowerks CodeWarrior on PowerPC (Mac OS X) with inlining on, GNU GCC on PowerPC 64. Regex Library: Fixed the supplied makefiles, and other small compiler specific changes. Refer to the regex history page for more information on these and other small changes. Iostreams Library: Improved the interface for accessing a chain's components, added `is_open` members to the file and file descriptor devices, fixed memory-mapped files on Windows, and made minor changes to the documentation. Functional/Hash Library: Fixed the points example. Multi-index Containers Library: Fixed a problem with multithreaded code, and other minor changes. Refer to the library release notes for further details. Graph Library: Fixed a problem with the relaxed heap on x86 Linux (fixes bug in `dijkstra_shortest_paths`). Fixed problems with `cuthill_mckee_ordering` and `king_ordering` producing no results. Added `color_map` parameter to `dijkstra_shortest_paths`. Signals Library: Fixed problems with the use of Signals across shared library boundaries. Thread library: `read_write_mutex` has been removed due to problems with deadlocks. Wave library (V1.2.1) Fixed a couple of problems, refer to the change log for further details. #### Supported Compilers Boost is tested on a wide range of compilers and platforms. Since Boost libraries rely on modern C++ features not available in all compilers, not all Boost libraries will work with every compiler. The following compilers and platforms have been extensively tested with Boost, although many other compilers and platforms will work as well. For more information, see the regression test results. New for this release: Support for building with the newest STLport-5.0 was added. The support includes building with MinGW Runtime 3.8 plus STLport-5.0 improved to support wide character operations. Apple GCC 4.0, HP Tru64 C++, and Microsoft Visual C++ 8.0 are supported platforms. We have added an experimental autoconf-like `configure` script for Unix-like systems: run `configure --help` for more information. Apple GCC 3.3, 4.0 on Mac OS X. Borland C++ 5.6.4 on Windows. GNU C++ 2.95.3 (with and without STLport), 3.2.x., 3.3.x, 3.4.x, 4.0.x on Windows, Linux and Solaris. HP C++ for Tru64 UNIX 7.1. Intel C++ 8.1, 9.0 on Windows, Linux. Metrowerks CodeWarrior 8.3, 9.4, 9.5 on Mac OS X and Windows. Microsoft Visual C++ 6.0 (sp5, with and without STLport), 7.0, 7.1, 8.0. Note: Boost does not support the non-standard "Safe" C++ Library shipping with Visual C++ 8.0, which may result in many spurious warnings from Boost headers and other standards-conforming C++ code. To suppress these warnings, define the macro `_SCL_SECURE_NO_DEPRECATE`. #### Acknowledgements Douglas Gregor managed this release. A great number of people contributed their time and expertise to make this release possible. Special thanks go to Aleksey Gurtovoy and Misha Bergal, who managed to keep the regression testing system working throughout the release process; David Abrahams, Beman Dawes, Aleksey Gurtovoy, Bronek Kozicki, Rene Rivera and Jonathan Turkanis for greatly improving the quality of this release; Rene Rivera for the new Boost web page design; and Zoltan "cad" Juhasz for the new Boost logo. |