# Boost C++ Libraries

# Welcome to Boost.org!

Libraries
• Documentation
• Download
• Install & Build
• Compiler Status

Mailing Lists
and newsgroups
• Boost (Developers)
• Boost Users
• Announcements
• Discussion Policy

Support
• FAQ
• Request Support
• Report Bugs
• Suggest Features
• Also: Mailing Lists

About
• Formal Reviews
• Review Schedule
• Requirements
• Guidelines
• Submissions

Other Resources
• Files (members only)
• CVS Repository
• Wiki (unofficial)
• People
• Moderators
• More...

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 Search www.boost.org

## Latest News

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.

November 30, 2001 - Version 1.26.0

- Common Factor Library added. Greatest common divisor and least common multiple, from Daryle Walker.
- Preprocessor Library added. Preprocessor metaprogramming tools including repetition and recursion, from Vesa Karvonen.
- Iterator Adaptor Library: Added generator iterator adaptor, from Jens Maurer.
- Random Number Library: Removed iterator interface. Fixed overflows in uniform_int<>. Both changes cause random number sequences to differ compared to previous boost releases.
- operators.hpp: Improvements from Daryle and Helmut Ziesel
- Boost.Build: Continuing improvements, including pre-built Boost.Jam executables.
- Minor fixes to a number of other libraries.

November 5, 2001 - Version 1.25.1

- Boost Build System: Continued improvements.
- Config Library: Continued refinements.
- Graph Library: Final cleanup for upcoming the Boost Graph Library book.
- Thread Library: Minor fixes - tests now pass on most Win32 and POSIX systems including Linux and Solaris. Semaphore removed as too error prone.
- Function Library: direct support for member function pointers and documentation updates.
- Boost-Users mailing list has been created to address topics of interest to users of Boost libraries.
- Boost Wiki web added. Provides a place for Boost users to openly discuss and document the use of Boost libraries. It is not officially maintained by Boost developers.

October 1, 2001 - Version 1.25.0

- Thread Library added. Portable C++ multi-programming at last, from William Kempf.
- Base From Member added to Utility Library. Support for the base from member idiom, from Daryle Walker.
- Bind and mem_fn added - Generalized binders for function/object/pointers and member functions, from Peter Dimov.
- Array Library: Minor updates, from Nico Josuttis.
- Config Library: major redesign with much improved and automated configuration of Boost libraries for specific compilers, from John Maddock.
- Random Number Library: Fixed bug when copying normal_distribution and improved the documentation, from Michael Stevens and Jens Maurer.
- Special functions, octonions, quaternions updated, now useable with many more compilers, plus three new special functions, from Hubert Holin, Eric Ford, and others.
- Tokenizer Library: fixes/enhancements to escaped_list_separator based on empty fields and tokens comments from Johan Nillson and Jens Maurer.
- Coming Soon - A mailing list for Boost users!

Revised 09 May, 2002