c++boost.gif (8819 bytes) Welcome to Boost.org!

Libraries
. Documentation:
      Current release
      Nighly CVS
License
Getting Started
. 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++...

Official Branch Sites
Spirit

Unofficial Branch Sites
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. 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 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.

Search Boost

Google
Search www.boost.org Search lists.boost.org

Latest News

January 26, 2004 - Version 1.31.0

New License

A unified Boost Software License has been developed and will gradually replace the individual licenses for most Boost libraries. The new license offers better legal protection for both users and developers, and should speed user's legal reviews of Boost libraries. Dave Abrahams led the Boost effort to develop better licensing. The legal team was led by Diane Cabell, Director, Clinical Programs, Berkman Center for Internet & Society, Harvard Law School. Devin Smith, attorney, Nixon Peabody LLP, wrote the Boost License. Eva Chan, Harvard Law School, contributed analysis of issues and drafts of various legal documents.
Please Note: Many of the Boost libraries are still using earlier licenses, though all conform to the Boost License Requirements. After this release we will begin an effort to move toward uniform use of the new license.

Build and Installation

  • New Getting Started procedures ease download and installation, from Rene Rivera and others.
  • Improved support for libraries requiring separate compilation, from John Maddock and others.

New Libraries

  • enable_if: Selective inclusion of function template overloads, from Jaakko Järvi, Jeremiah Willcock, and Andrew Lumsdaine. This is an important new technique which exploits the SFINAE (substitution-failure-is-not-an-error) principle. 
  • Variant Library: Safe, generic, stack-based discriminated union container, from Eric Friedman and Itay Maman.

Updated Libraries

  • Compose: This library has been deprecated and will be removed in a future release. Use Bind or Lambda instead.
  • Date Time Library: A whole host of bug fixes, new features, and documentation improvements. See Date Time Change History for details.
  • Filesystem Library: Several added functions, including improved checking for directory and file name portability.
  • Iterator Library: Major version upgrade, with interface as proposed for the C++ library TR, including an improved iterator_adaptor design plus several new components, from David Abrahams, Jeremy Siek, and Thomas Witt.
  • MultiArray: The multi_array class template now provides an element-preserving resize operation as well as default construction (see the reference manual for more information).
  • Python Library:
    • Support for Python 2.3 and Intel C++ on Linux
    • Container Indexing Suite added.
    • injected constructors and wrapped function objects.
    • wrapping static data members.
    • std::wstring conversions.
    • Improved keyword arguments
    • Better error messages, including name demangling for GCC.
    • Simpler build procedure.
    • ...and more...
  • Random Number Library: Interface changed to match the C++ TR proposal, from Jens Maurer.
  • Regex: Completely new matching algorithm is now much faster than before, plus a selection of new features and enhancements.
  • Boost.Spirit 1.8.0:
    • Multiple grammar start rules
    • Multiple Scanner rules (no more scanner business woes)
    • More dynamic parsers
    • Predefined actors
    • Numerous bug fixes and QOI stuff
    • ...and more...
    Starting from Spirit v1.8.0, ill conforming compilers will no longer be supported. If you are still using one of these older compilers, please use Spirit v1.6.x. See Spirit's Site for more details.
  • Test Library:
    • Free function template based test case
    • Custom exception translators support in execution monitor and register_exception_translator added for unit test framework
    • Added support for multi-module unit tests in automatic registration facility
    • Floating point comparison algorithm reworked (Is not backward compatible!!!)
    • Added support for custom users predicate returning both boolean result code and possibly error message
    • Documentation structure rework and update
    For complete list of changes see Test Library release notes

Miscellaneous

  • Expanded testing and fixes for non-conforming compilers.
  • Web site hosting now provided by SourceForge.

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 "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 #includes.
  • 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_ptrs to Python.

March 19, 2003 - Version 1.30.0

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.

Revised 13 January, 2004

© Copyright Beman Dawes, David Abrahams, 1998-2003.

Use, modification, and distribution is subject to the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at www.boost.org/LICENSE_1_0.txt)