]> git.proxmox.com Git - ceph.git/blame - ceph/src/boost/libs/fusion/doc/organization.qbk
bump version to 12.2.2-pve1
[ceph.git] / ceph / src / boost / libs / fusion / doc / organization.qbk
CommitLineData
7c673cae
FG
1[/==============================================================================
2 Copyright (C) 2001-2011 Joel de Guzman
3 Copyright (C) 2006 Dan Marsden
4
5 Use, modification and distribution is subject to the Boost Software
6 License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
7 http://www.boost.org/LICENSE_1_0.txt)
8===============================================================================/]
9[section Organization]
10
11The library is organized into layers of modules, with each module addressing a particular
12area of responsibility. A module may not depend on modules in higher layers.
13
14The library is organized in three layers:
15
16[heading Layers]
17
18[:[$images/fusion_org.png]]
19
20The entire library is found in the `"boost/fusion"` directory. Modules are
21organized in directories. Each module has its own header file placed in
22the same directory with the actual module-directory. For example, there
23exists `"boost/fusion/support.hpp"` in the same directory as
24"boost/fusion/support". Everything, except those found inside "detail"
25directories, is public.
26
27There is also a `"boost/fusion/include/"` directory that contains all the
28headers to all the components and modules. If you are unsure where to
29find a specific component or module, or don't want to fuss with
30hierarchy and nesting, use this.
31
32The library is header-only. There is no need to build object files to
33link against.
34
35[heading Directory]
36
37* tuple
38* algorithm
39 * auxiliary
40 * iteration
41 * query
42 * transformation
43* adapted
44 * adt
45 * array
46 * boost::array
47 * boost::tuple
48 * mpl
49 * std_pair
50 * std_tuple
51 * struct
52* view
53 * filter_view
54 * flatten_view
55 * iterator_range
56 * joint_view
57 * nview
58 * repetitive_view
59 * reverse_view
60 * single_view
61 * transform_view
62 * zip_view
63* container
64 * deque
65 * list
66 * map
67 * set
68 * vector
69 * generation
70* mpl
71* functional
72 * adapter
73 * generation
74 * invocation
75* sequence
76 * comparison
77 * intrinsic
78 * io
79* iterator
80* support
81
82[heading Example]
83
84If, for example, you want to use `list`, depending on the granularity that
85you desire, you may do so by including one of
86
87 #include <boost/fusion/container.hpp>
88 #include <boost/fusion/include/container.hpp>
89 #include <boost/fusion/container/list.hpp>
90 #include <boost/fusion/include/list.hpp>
91
92The first includes all containers The second includes only `list`
93[footnote Modules may contain smaller components. Header file
94information for each component will be provided as part of the
95component's documentation.].
96
97[endsect]