Files
boost_fusion/doc/html/fusion/organization.html
Joel de Guzman e9fd448376 fixed documentation bug
[SVN r42116]
2007-12-17 09:27:42 +00:00

231 lines
8.7 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Organization</title>
<link rel="stylesheet" href="../../../../../doc/html/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../index.html" title="Chapter 1. Fusion 2.0">
<link rel="up" href="../index.html" title="Chapter 1. Fusion 2.0">
<link rel="prev" href="quick_start.html" title="Quick Start">
<link rel="next" href="support.html" title="Support">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
<td align="center"><a href="../../../../../index.htm">Home</a></td>
<td align="center"><a href="../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="../../../../../people/people.htm">People</a></td>
<td align="center"><a href="../../../../../more/faq.htm">FAQ</a></td>
<td align="center"><a href="../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="quick_start.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="support.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="fusion.organization"></a><a href="organization.html" title="Organization">Organization</a></h2></div></div></div>
<p>
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.
</p>
<p>
The library is organized in three layers:
</p>
<a name="fusion.organization.layers"></a><h3>
<a name="id459044"></a>
<a href="organization.html#fusion.organization.layers">Layers</a>
</h3>
<div class="blockquote"><blockquote class="blockquote">
<p>
</p>
<p>
<span class="inlinemediaobject"><img src="../images/fusion_org.png" alt="fusion_org"></span>
</p>
<p>
</p>
</blockquote></div>
<p>
The entire library is found in the <tt class="computeroutput"><span class="string">"boost/fusion"</span></tt>
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 <tt class="computeroutput"><span class="string">"boost/fusion/support.hpp"</span></tt>
in the same directory as "boost/fusion/support". Everything, except
those found inside "detail" directories, is public.
</p>
<p>
There is also a <tt class="computeroutput"><span class="string">"boost/fusion/include/"</span></tt>
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.
</p>
<p>
The library is header-only. There is no need to build object files to link
against.
</p>
<a name="fusion.organization.directory"></a><h3>
<a name="id459143"></a>
<a href="organization.html#fusion.organization.directory">Directory</a>
</h3>
<div class="itemizedlist"><ul type="disc">
<li>
tuple
</li>
<li>
algorithm
<div class="itemizedlist"><ul type="circle">
<li>
iteration
</li>
<li>
query
</li>
<li>
transformation
</li>
</ul></div>
</li>
<li>
adapted
<div class="itemizedlist"><ul type="circle">
<li>
array
</li>
<li>
mpl
</li>
<li>
boost::tuple
</li>
<li>
std_pair
</li>
<li>
struct
</li>
<li>
variant
</li>
</ul></div>
</li>
<li>
view
<div class="itemizedlist"><ul type="circle">
<li>
filter_view
</li>
<li>
iterator_range
</li>
<li>
joint_view
</li>
<li>
reverse_view
</li>
<li>
single_view
</li>
<li>
transform_view
</li>
<li>
zip_view
</li>
</ul></div>
</li>
<li>
container
<div class="itemizedlist"><ul type="circle">
<li>
deque
</li>
<li>
list
</li>
<li>
map
</li>
<li>
set
</li>
<li>
vector
</li>
<li>
generation
</li>
</ul></div>
</li>
<li>
mpl
</li>
<li>
functional
</li>
<li>
sequence
<div class="itemizedlist"><ul type="circle">
<li>
comparison
</li>
<li>
intrinsic
</li>
<li>
io
</li>
</ul></div>
</li>
<li>
iterator
</li>
<li>
support
</li>
</ul></div>
<a name="fusion.organization.example"></a><h3>
<a name="id459322"></a>
<a href="organization.html#fusion.organization.example">Example</a>
</h3>
<p>
If, for example, you want to use <tt class="computeroutput"><span class="identifier">list</span></tt>,
depending on the granularity that you desire, you may do so by including one
of
</p>
<pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">container</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">container</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">container</span><span class="special">/</span><span class="identifier">list</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">list</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<p>
The first includes all containers The second includes only <tt class="computeroutput"><span class="identifier">list</span></tt>
<sup>[<a name="id459620" href="#ftn.id459620">3</a>]</sup>
.
</p>
<div class="footnotes">
<br><hr width="100" align="left">
<div class="footnote"><p><sup>[<a name="ftn.id459620" href="#id459620">3</a>] </sup>
Modules may contain smaller components. Header file information for each
component will be provided as part of the component's documentation.
</p></div>
</div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="quick_start.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="support.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>