.. Copyright David Abrahams 2006. Distributed under the Boost .. Software License, Version 1.0. (See accompanying .. file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) The Boost Distribution ====================== This is a sketch of the resulting directory structure: .. parsed-literal:: |boost_ver-bold|\ |//| .................\ *The “boost root directory”* **index.htm** .........\ *A copy of www.boost.org starts here* **boost**\ |//| .........................\ *All Boost Header files* |precompiled-dir| **libs**\ |//| ............\ *Tests, .cpp*\ s\ *, 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* .. sidebar:: Header Organization .. class:: pre-wrap 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 .. parsed-literal:: ``boost``\ |/|\ ``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 is .. parsed-literal:: ``boost``\ |/|\ ``python.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: .. _Boost root directory: 1. The path to the **boost root directory** (often |default-root|) 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. |include-paths| 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: .. parsed-literal:: #include or .. parsed-literal:: #include "boost/\ *whatever*\ .hpp" depending on your preference regarding the use of angle bracket includes. |forward-slashes| 4. Don't be distracted by the ``doc``\ |/| subdirectory; it only contains a subset of the Boost documentation. Start with ``libs``\ |/|\ ``index.html`` if you're looking for the whole enchilada.