Files

99 lines
2.6 KiB
Plaintext
Raw Permalink Normal View History

[/==============================================================================
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)
===============================================================================/]
2006-08-22 15:57:13 +00:00
[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
2007-11-06 10:09:38 +00:00
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
2007-11-06 10:09:38 +00:00
"boost/fusion/support". Everything, except those found inside "detail"
directories, is public.
There is also a `"boost/fusion/include/"` directory that contains all the
2007-11-06 10:09:38 +00:00
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.
2006-08-22 15:57:13 +00:00
[heading Directory]
* tuple
* algorithm
2015-01-12 23:34:13 +09:00
* auxiliary
2006-08-22 15:57:13 +00:00
* iteration
* query
* transformation
2007-11-06 10:09:38 +00:00
* adapted
2015-01-12 23:34:13 +09:00
* adt
2007-11-06 10:09:38 +00:00
* array
2015-01-12 23:34:13 +09:00
* boost::array
2007-11-06 10:09:38 +00:00
* boost::tuple
2015-01-12 23:34:13 +09:00
* mpl
2007-11-06 10:09:38 +00:00
* std_pair
2015-01-12 23:34:13 +09:00
* std_tuple
2007-11-06 10:09:38 +00:00
* struct
* view
* filter_view
2015-01-12 23:34:13 +09:00
* flatten_view
2007-11-06 10:09:38 +00:00
* iterator_range
* joint_view
2015-01-12 23:34:13 +09:00
* nview
* repetitive_view
2007-11-06 10:09:38 +00:00
* reverse_view
* single_view
* transform_view
* zip_view
2022-09-26 08:11:49 +08:00
* identity_view
2007-11-06 10:09:38 +00:00
* container
* deque
* list
* map
* set
* vector
2007-11-06 11:40:27 +00:00
* generation
2007-11-06 10:09:38 +00:00
* mpl
* functional
2015-01-12 23:34:13 +09:00
* adapter
* generation
* invocation
2006-08-22 15:57:13 +00:00
* sequence
* comparison
* intrinsic
* io
* iterator
* support
[heading Example]
2007-11-06 10:09:38 +00:00
If, for example, you want to use `list`, depending on the granularity that
2006-08-22 15:57:13 +00:00
you desire, you may do so by including one of
2007-11-06 10:09:38 +00:00
#include <boost/fusion/container.hpp>
2007-11-06 11:40:27 +00:00
#include <boost/fusion/include/container.hpp>
2007-11-06 10:09:38 +00:00
#include <boost/fusion/container/list.hpp>
2007-11-06 11:40:27 +00:00
#include <boost/fusion/include/list.hpp>
2007-11-06 10:09:38 +00:00
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.].
2006-08-22 15:57:13 +00:00
[endsect]