Files
fusion/doc/organization.qbk

69 lines
1.8 KiB
Plaintext
Raw Normal View History

[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. The
library is header-only. There is no need to build object files to link
against.
[heading Directory]
* tuple
* algorithm
* iteration
* query
* transformation
* sequence
* adapted
* array
* mpl
* std_pair
* comparison
* container
* list
* map
* set
* vector
* conversion
* generation
* intrinsic
* io
* utility
* view
* filter_view
* iterator_range
* joint_view
* reverse_view
* single_view
* transform_view
* zip_view
* 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/sequence.hpp>
#include <boost/fusion/sequence/container.hpp>
#include <boost/fusion/sequence/container/list.hpp>
The first includes all sequences. The second includes all of sequence
containers. The third 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]