98 lines
2.6 KiB
Plaintext
98 lines
2.6 KiB
Plaintext
[/==============================================================================
|
|
Copyright (C) 2001-2011 Joel de Guzman
|
|
Copyright (C) 2006 Dan Marsden
|
|
|
|
Use, modification and distribution is subject to 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)
|
|
===============================================================================/]
|
|
[section Organization]
|
|
|
|
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:
|
|
|
|
[heading Layers]
|
|
|
|
[:[$images/fusion_org.png]]
|
|
|
|
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.
|
|
|
|
[heading 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
|
|
* container
|
|
* deque
|
|
* list
|
|
* map
|
|
* set
|
|
* vector
|
|
* generation
|
|
* mpl
|
|
* functional
|
|
* adapter
|
|
* generation
|
|
* invocation
|
|
* sequence
|
|
* comparison
|
|
* intrinsic
|
|
* io
|
|
* iterator
|
|
* support
|
|
|
|
[heading 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`
|
|
[footnote Modules may contain smaller components. Header file
|
|
information for each component will be provided as part of the
|
|
component's documentation.].
|
|
|
|
[endsect]
|