[SVN r36566]
3.0 KiB
The Boost Distribution
This is a sketch of the resulting directory structure:
- .................The “boost root directory”
-
index.htm .........A copy of www.boost.org starts here boost .........................All Boost Header files libs ............Tests, .cpps, docs, etc., by library index.html ........Library documentation starts here algorithm any array …more libraries… status .........................Boost-wide test suite tools ...........Utilities, e.g. bjam, quickbook, bcp more ..........................Policy documents, etc. doc ...............A subset of all Boost library docs
Header Organization
The organization of Boost library headers isn't entirely uniform, but most libraries follow a few patterns:
Some older libraries and most very small libraries place all public headers directly into
boost
.Most libraries' public headers live in a subdirectory of
boost
, named after the library. For example, you'll find the Python library'sdef.hpp
header inboost
python
def.hpp
.Some libraries have an “aggregate header” in
boost
that#include
s all of the library's other headers. For example, Boost.Python's aggregate header isboost
python.hpp
.Most libraries place private headers in a subdirectory called
detail
, oraux_
. Don't expect to find anything you can use in these directories.
It's important to note the following:
The path to the boost root directory (often ) is sometimes referred to as
$BOOST_ROOT
in documentation and mailing lists .To compile anything in Boost, you need a directory containing the
boost
subdirectory in your#include
path.Since all of Boost's header files have the
.hpp
extension, and live in theboost
subdirectory of the boost root, your Boost#include
directives will look like:#include <boost/whatever.hpp>
or
#include "boost/whatever.hpp"
depending on your preference regarding the use of angle bracket includes.
Don't be distracted by the
doc
subdirectory; it only contains a subset of the Boost documentation. Start withlibs
index.html
if you're looking for the whole enchilada.