Boost Libraries
- array - STL compliant
container wrapper for arrays of constant size from
Nicolai Josuttis.
- call_traits -
Defines types for passing parameters from John Maddock,
Howard Hinnant, et al.
- compose - Functional
composition adapters for the STL from Nicolai Josuttis.
- compressed_pair
- Empty member optimization from John Maddock, Howard
Hinnant, et al.
- concept check
- Tools for generic programming from Jeremy Siek.
- config - Helps boost
library developers adapt to compiler idiosyncrasies; not
intended for library users.
- conversion - Numeric,
polymorphic, and lexical casts from Dave Abrahams and
Kevlin Henney.
- dir_it - A set of file
system directory level iterators from Dietmar Kühl.
- functional - Enhanced
function object adaptors from Mark Rodgers.
- graph -
Generic graph components and algorithms from Jeremy Siek
and a University of Notre Dame team.
- integer - Headers to ease
dealing with integral types.
- iterator adaptors
- Adapt a base type into a standard conforming iterator,
and more, from Dave Abrahams, Jeremy Siek, and John
Potter.
- operators - Templates
ease arithmetic classes and iterators from Dave Abrahams
and Jeremy Siek.
- pool - Memory pool management from
Steve Cleary.
- property map
- Concepts defining interfaces which map key objects to
value objects from Jeremy Siek.
- python - Reflects C++
classes and functions into Python, from Dave
Abrahams.
- random - A complete
system for random number generation from Jens Maurer.
- rational - A rational
number class from Paul Moore.
- regex - Regular expression
library from John Maddock.
- smart_ptr - Four smart
pointer classes from Greg Colvin and Beman Dawes.
- static_assert
- Static assertions (compile time assertions) from John
Maddock.
- test - Support for program testing and
execution from Beman Dawes.
- timer - Event timer,
progress timer, and progress display classes from Beman
Dawes.
- type_traits -
Templates for fundamental properties of types from John
Maddock, Steve Cleary, et al.
- utility - Class noncopyable
plus next(), prior(), and tie()
function templates from Dave Abrahams and others.
See Compiler Status
to find out what library works with which compiler.
See Header Dependencies to find
out what other headers each boost header includes.
Obsolete Libraries
- min_rand - a random
number generator class from Beman Dawes. Replaced by random.
Beta Libraries
- array_traits -
tools to treat built-in arrays more like STL containers
from Dietmar Kühl. Also see array.
- heaps - a heap of
priority queues from Dietmar Kühl.
.zip file
You may download all of boost
as a single boost_all.zip file. As many boost headers
include other boost headers, installing one at at time is painful.
This is a first try at making installation easier.
If you don't already have a .zip file decoder, download one
from the Info-ZIP
web site. The .zip format is used for distribution because there
are free decoders and encoders available for many, many different
platforms. Many commercial compress/archive utilities also
support this format.
Unix/Linux hints: boost_all.zip is built on a Win32 platform,
so the line endings are wrong for Unix/Linux. Use the -a
option when unzipping with InfoZip for Unix/Linux friendly line
endings. Also note that a Linux user reports his decoder
required renaming boost_all.zip to boost_all.ZIP.
CVS archive
For those who have CVS installed, the libraries can also be
downloaded from the public CVS repository. The general procedure
goes something like this:
cvs -d:pserver:anonymous@cvs.boost.sourceforge.net:/cvsroot/boost login
[Hit <return> when it asks for a password]
cvs -z3 -d:pserver:anonymous@cvs.boost.sourceforge.net:/cvsroot/boost checkout boost
cvs -d:pserver:anonymous@cvs.boost.sourceforge.net:/cvsroot/boost logout
Installing Boost Libraries
Many boost libraries are implemented entirely within their
header files. The only preparation for their use is to add
the path for the parent directory of the boost header sub-directory
to your compiler's list of #include search directories.
For example, using Windows 2000, if you have unzipped
release 1.18.1 from boost_all.zip into the top level
directory of your C drive, for Borland, GCC, and Metrowerks
compilers add '-Ic:/boost_1_18_1' to the compiler command
line, and for the Microsoft compiler add '/I "c:/boost_1_18_1"'.
For IDE's, add 'c:/boost_1_18_1' (or whatever you have
renamed it to) to the search list using the appropriate GUI
dialog.
A few boost libraries are implemented by separate source
files, and thus require compilation on your system to link
properly. Boost does not currently have an overall "build"
or "make" mechanism in place. Some of the individual
libraries do include make and/or project files for various
compilers.
Revised 08 Mar 2001