mirror of
https://github.com/boostorg/fusion.git
synced 2025-07-14 04:46:38 +02:00
69 lines
1.8 KiB
Plaintext
69 lines
1.8 KiB
Plaintext
![]() |
[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]
|