# Welcome to Boost.org!

Libraries . Documentation . Download . Install & Build . Regression Tests: General Info Test Summary Mailing Lists and newsgroups . Boost (Developers) . Boost Users . Project-Specific . Announcements . Discussion Policy Support . FAQ . Request Support . Report Bugs . Suggest Features . Commercial Support . Also: Mailing Lists About . Formal Reviews . Review Schedule . Requirements . Guidelines . Submissions Other Resources . Files (members only) . Main CVS . Sandbox CVS . Tools . People . Moderators . More Boost... . More C++... Unofficial . Wiki . Chinese mirror
| 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. One goal is to establish "existing practice" and provide reference implementations so that the Boost libraries are suitable for eventual standardization. Some of the libraries have already been proposed for inclusion in the C++ Standards Committee's upcoming C++ Standard Library Technical Report. Although Boost was begun by members of the C++ Standards Committee Library Working Group, membership has expanded to include nearly two thousand members of the C++ community at large. ## Membership If you are interested in becoming a member of Boost, please do so by joining our main developers mailing list. Discussions include both technical and site-related issues, and members are encouraged to participate in formal reviews of proposed libraries. There is also a users mailing list. Both the main Boost developers list and the users list are also accessible as newsgroups. ## Search Boost
| Search www.boost.org Search lists.boost.org
## Latest News August 19, 2003 - Version 1.30.2 (bugfix release) Boost Consulting is now hosting Boost CVS mirrors - see our download page. Backported changes to the config system, to better handle new compiler releases. Bugs in regression reporting in subproject tests were fixed. Tests are now run in the context of the user's PATH environment settings msvc-stlport and intel-win32-stlport toolsets now build static libraries with multithreading enabled, to be compatible with the STLPort builds. intel-win32 toolset now handles `wchar_t` correctly when intel is installed over msvc6. Backported fixes from the main trunk which prevent errors building the Boost.Test library in its default configuration. Backported portability improvements for checked_delete. Locale support for metrowerks (requiring a statically-linked runtime) is more uniformly handled. Backported conversion/lexical_cast's `wchar_t` fixes from the main trunk. intel-linux-tools: added `rt` to FINDLIBS in order to make the `clock_gettime()` function available (backport of a patch in CVS HEAD). regression/compiler_status.cpp: backported fixes in error log links generation. August 12, 2003 - ALERT Significant problems were found in the 1.30.1 release, so it has been withdrawn from the website. These problems mostly take the form of missing files due to an error by the release manager in using CVS to tag the release. We expect to release Version 1.30.2 in a few days. Stay tuned. Until then, you may want to get the `RC_1_30_0` branch (which, with only very slight modification, will become version 1.30.2) from our CVS repository or the CVS mirror at Boost Consulting. August 4, 2003 - Version 1.30.1 (bugfix release) Fixes were made to the following libraries: The Boost.Lambda library is now usable with gcc-2.95.2 Boost.Spirit: Fixed. Using MSVC++6 (SP5), calling the assign action with a string value on parsers using the file_iterator will not work. Fixed: using assign semantic action in a grammar with a multi_pass iterator adaptor applied to an std::istream_iterator resulted in a failure to compile under msvc 7.0. Fixed: There is a bug in the "range_run<CharT>::set (range<CharT> const& r)" function in the "boost\spirit\utility\impl\chset\range_run.ipp". Fixed: handling of trailing whitespace bug (ast_parse/pt_parse related) Fixed: comment_p and end of data bug Fixed: Most trailing space bug: Fixed: `chset<>::operator~(range<>)` bug, `operator&(chset<>, range<>)` bug, `operator&(range<>, chset<>)` bug, Fixed: `impl::detach_clear` bug Fixed: mismatch closure return type bug Fixed: `access_node_d[]` and `access_match_d[]` iterator bugs Fixed a bug regarding threadsafety of Phoenix/Spirit closures. The Boost Template Metaprogramming Library (MPL)'s typeof implementation is now compatible with Metrowerks CodeWarrior Pro8. Boost.Function: workaround for the new Borland patch (version 0x564) and MSVC++ .NET 2003. Boost.Config, Boost.Format, and Boost.Regex have been adjusted to avoid warnings with GCC-3.3, and Boost.Format also now works with string types other than `std::string`. Smart Pointers `checked_delete` now works on more platforms Compatibility with the SunPro compiler Added missing `#include`s. Boost.Python warning suppression for finicky compilers fixed a crashing bug in the `raw_function` facility when no keyword arguments were passed. Improved conversion of NULL `shared_ptr`s to Python. March 19, 2003 - Version 1.30.0 Filesystem Library added - Portable paths, iteration over directories, and other useful filesystem operations, from Beman Dawes. Optional Library added - A discriminated-union wrapper for optional values, from Fernando Cacciola. Interval Library added - Extends the usual arithmetic functions to mathematical intervals, from Guillaume Melquiond, Hervé Brönnimann and Sylvain Pion. MPL added - Template metaprogramming framework of compile-time algorithms, sequences and metafunction classes, from Aleksey Gurtovoy. Spirit Library added - An LL (unlimited lookahead) parser framework that represents parsers directly as EBNF grammars in inlined C++ source code, complete with semantic actions, ASTs and much more, from Joel de Guzman and team. Smart Pointers Library - cast functions are now spelled static_pointer_cast / dynamic_pointer_cast ; enable_shared_from_this added; shared_ptr::shared_ptr(), shared_ptr::reset(), weak_ptr::weak_ptr(), weak_ptr::reset() no longer throw; get_deleter added; weak_ptr::get() removed; make_shared is now spelled weak_ptr::lock() ; intrusive_ptr documentation added; some experimental undocumented shared_ptr features have been removed; a page describing some smart pointer programming techniques has been added. boost/assert.hpp, boost/current_function.hpp, boost/throw_exception.hpp, boost/checked_delete.hpp have been documented. Date-Time Library - several fixes and small additions including an interface change to partial_date. See Date-Time Change History for more details. Function Library - added support for assignment to zero (to clear) and comparison against zero (to check if empty). Operators Library - now takes advantage of named return value optimization (NRVO) when available, from Daniel Frey. Regression Tests - Much expanded, plus a very nice summary page from Rene Rivera. Test Library - introduced following new facilities: Automatic registration of unit tests XML log format XML report format BOOST_CHECK_NO_THROW test tool BOOST_BITWISE_CHECK test tool For complete list of changes see Test Library release notes Documentation for some Boost libraries has been converted to a new format allowing PDF and Unix man pages to be generated along with HTML. Many fixes and enhancements to other libraries. October 10, 2002 - Version 1.29.0 Date-Time Library added - Dates, times, leap seconds, infinity, and more, from Jeff Garland. Dynamic Bitset added - A runtime sized version of the `std::bitset` class from Jeremy Siek and Chuck Allison. Format Library added - Type-safe 'printf-like' format operations, from Samuel Krempp. Function Library: Major syntactic changes have been made. Some old syntax and little-used features have been deprecated (and will be removed shortly), and the syntax for the `boost::function` class template has been greatly improved on conforming compilers. Please see the compatibility note for more information. Multi-array Library added - Multidimensional containers and adaptors for arrays of contiguous data, from Ron Garcia. Preprocessor Library: Major upgrade, from Paul Mensonides. Python Library - Version 2 is released, from Dave Abrahams and others. This is a major rewrite which works on many more compilers and platforms, with a completely new interface and lots of new features. Boost.Python v2 requires Python 2.2 or later. Signals Library added - Managed signals & slots callback implementation, from Doug Gregor. Test Library: Major new version, including full unit test capabilities, from Gennadiy Rozental. uBLAS Library added - Basic linear algebra for dense, packed and sparse matrices, from Joerg Walter and Mathias Koch. May 15, 2002 - Version 1.28.0 The Boost mailing lists are now also accessible as newsgroups. A powerful mailing list archive has been contributed by the ActiveState Programmer Network. Lambda Library added, from Jaakko Järvi and Gary Powell. Define small unnamed function objects at the actual call site: `for_each(a.begin(), a.end(), std::cout << _1 << ' ');` I/O State Saver Library added - Save I/O state to prevent jumbled data, from Daryle Walker. Configuration Library: User code should not use BOOST_NO_LIMITS. Random Number Library: Avoid compiler warnings Smart Pointers Library: Added shared_polymorphic_cast and shared_polymorphic_downcast. Function Library: Now supports function objects with the unary `&` operator overloaded. Utility Library: Added `addressof()` function. The usual small fixes and tweaks. February 5, 2002 - Version 1.27.0 Python Library: Scott Snyder contributed inplace operator support. Integer Library: Daryle Walker contributed enhancements to the type selection templates, and added new compile-time bit mask, binary logarithm, and extrema templates. Function Library: user may request that `boost::function` objects store a reference to a function object target instead of a copy, using `ref`. Stateless objects are optimized so that they require no dynamic storage. Quaternions: added support for GCC 2.95.x. Octonions: added support for GCC 2.95.x. Smart Pointers Library: Peter Dimov contributed a new implementation that fixes some bugs and adds some features including thread safety when manipulating the use count, custom delete functions, a new weak_ptr, and shared_static_cast and shared_dynamic_cast. Preprocessor Library: changed macro prefix from BOOST_PREPROCESSOR to BOOST_PP, added support for list data structure manipulation, added examples, made library ANSI C friendly, added generalized repetition and iteration primitives, improved reference manual. Threads Library: Mac Carbon implementation contributed by Mac Murrett. Minor fixes to many libraries.

Revised 12 August, 2003