Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

Organization
PrevUpHomeNext

The library is organized into layers of modules, with each module addressing a particular area of responsibility. A module may not depend on modules in higher layers.

The library is organized in three layers:

Layers

fusion_org

The entire library is found in the "boost/fusion" directory. Modules are organized in directories. Each module has its own header file placed in the same directory with the actual module-directory. For example, there exists "boost/fusion/support.hpp" in the same directory as "boost/fusion/support". Everything, except those found inside "detail" directories, is public.

There is also a "boost/fusion/include/" directory that contains all the headers to all the components and modules. If you are unsure where to find a specific component or module, or don't want to fuss with hierarchy and nesting, use this.

The library is header-only. There is no need to build object files to link against.

Directory

  • tuple
  • algorithm
    • auxiliary
    • iteration
    • query
    • transformation
  • adapted
    • adt
    • array
    • boost::array
    • boost::tuple
    • mpl
    • std_pair
    • std_tuple
    • struct
  • view
    • filter_view
    • flatten_view
    • iterator_range
    • joint_view
    • nview
    • repetitive_view
    • reverse_view
    • single_view
    • transform_view
    • zip_view
    • identity_view
  • container
    • deque
    • list
    • map
    • set
    • vector
    • generation
  • mpl
  • functional
    • adapter
    • generation
    • invocation
  • sequence
    • comparison
    • intrinsic
    • io
  • iterator
  • support

Example

If, for example, you want to use list, depending on the granularity that you desire, you may do so by including one of

#include <boost/fusion/container.hpp>
#include <boost/fusion/include/container.hpp>
#include <boost/fusion/container/list.hpp>
#include <boost/fusion/include/list.hpp>

The first includes all containers The second includes only list [4].



[4] Modules may contain smaller components. Header file information for each component will be provided as part of the component's documentation.


PrevUpHomeNext