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

Testing

Regression Tests

A group of volunteers donate CPU cycles and large amounts of disk space to collectively produce the regression testing result tables. Various Boost repository versions are tested for the benefit of library developers and interested users:

Version Developers
Develop branch Summary Unresolved Issues
Master branch Summary Unresolved Issues

Snapshots

Snapshots are used for quality control checks.  The Unix tarballs and Windows zipballs are identical except for the line endings exported from Git.

Because the snapshots represent work-in-process, they may not be suitable for production use.

Version Download Documentation
Master branch Sourceforge, JFrog.io. Documentation
Develop branch Sourceforge, JFrog.io. Documentation

The Git master branch can be checked out from https://github.com/boostorg/boost.

Inspection Reports

The Boost snapshots are inspected daily to detect problems such as missing copyrights or licenses. The Boost Inspection Report tells all!

Version
Develop branch
Master branch

More about regression tests

Will all Boost libraries work with your compiler?  Unfortunately, the answer is "it depends". See the regression testing results to see exactly what works and what doesn't.

Boost libraries rely on modern C++ features such as templates and the C++ Standard Library.  Most modern compilers support those major features fairly well. But even today, years after the adoption of the C++ Standard, some compilers still don't support important minor features like partial template specialization.

Boost library authors often expend a great deal of effort trying to work around compiler deficiencies.  Nevertheless, some libraries will not compile at all with certain compilers or may have crippled functionality.  Even if the current release of a compiler supports a boost library, older versions of the compiler may not work properly.

Boost releases are run through regression tests which automatically generates compiler status tables for various platforms. Unless otherwise indicated, the C++ Standard Library implementation is the one shipped with the compiler.

Warnings:

  • These tables are not a good indication of a particular compiler's compliance with the C++ Standard.  The Boost libraries often contain workarounds which mask compiler deficiencies.
  • Some regression tests are run only occasionally, and so are relatively out-of-date.  Check the date and revision in the column heading.

The development code is being updated several times a day, so it may contain bug fixes, compiler workarounds, new features, and even whole new libraries. It may be unstable, however.

A list of some of the organizations helping with testing is listed on the Acknowledgements page.