more/getting_started/detail/distro.rst
Dave Abrahams 08bd857c51 Fixes from Javier Estrada
[SVN r36566]
2007-01-03 03:22:11 +00:00

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's def.hpp header in

    boostpythondef.hpp.

  • Some libraries have an “aggregate header” in boost that #includes all of the library's other headers. For example, Boost.Python's aggregate header is

    boostpython.hpp.

  • Most libraries place private headers in a subdirectory called detail, or aux_. Don't expect to find anything you can use in these directories.

It's important to note the following:

  1. The path to the boost root directory (often ) is sometimes referred to as $BOOST_ROOT in documentation and mailing lists .

  2. To compile anything in Boost, you need a directory containing the boost subdirectory in your #include path.

  3. Since all of Boost's header files have the .hpp extension, and live in the boost 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.

  4. Don't be distracted by the doc subdirectory; it only contains a subset of the Boost documentation. Start with libsindex.html if you're looking for the whole enchilada.