diff options
author | Anas Nashif <anas.nashif@intel.com> | 2012-10-30 12:57:26 -0700 |
---|---|---|
committer | Anas Nashif <anas.nashif@intel.com> | 2012-10-30 12:57:26 -0700 |
commit | 1a78a62555be32868418fe52f8e330c9d0f95d5a (patch) | |
tree | d3765a80e7d3b9640ec2e930743630cd6b9fce2b /libs/fusion/doc/html | |
download | boost-1a78a62555be32868418fe52f8e330c9d0f95d5a.tar.gz boost-1a78a62555be32868418fe52f8e330c9d0f95d5a.tar.bz2 boost-1a78a62555be32868418fe52f8e330c9d0f95d5a.zip |
Imported Upstream version 1.49.0upstream/1.49.0
Diffstat (limited to 'libs/fusion/doc/html')
295 files changed, 44856 insertions, 0 deletions
diff --git a/libs/fusion/doc/html/fusion/acknowledgements.html b/libs/fusion/doc/html/fusion/acknowledgements.html new file mode 100755 index 0000000000..16a3f4fcd2 --- /dev/null +++ b/libs/fusion/doc/html/fusion/acknowledgements.html @@ -0,0 +1,58 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Acknowledgements</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="prev" href="change_log.html" title="Change log"> +<link rel="next" href="references.html" title="References"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="change_log.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="references.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h2 class="title" style="clear: both"> +<a name="fusion.acknowledgements"></a><a class="link" href="acknowledgements.html" title="Acknowledgements">Acknowledgements</a> +</h2></div></div></div> +<p> + Special thanks to David Abrahams, Douglas Gregor, Hartmut Kaiser, Aleksey Gurtovoy, + Peder Holt, Daniel Wallin, Jaakko Jarvi, Jeremiah Willcock, Dan Marsden, Eric + Niebler, Joao Abecasis and Andy Little. These people are instrumental in the + design and development of Fusion. + </p> +<p> + Special thanks to Ronald Garcia, the review manager and to all the people in + the boost community who participated in the review: Andreas Pokorny, Andreas + Huber, Jeff Flinn, David Abrahams, Pedro Lamarao, Larry Evans, Ryan Gallagher, + Andy Little, Gennadiy Rozental, Tobias Schwinger, Joao Abecasis, Eric Niebler, + Oleg Abrosimov, Gary Powell, Eric Friedman, Darren Cook, Martin Bonner and + Douglas Gregor. + </p> +</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-2006, 2011 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="change_log.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="references.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/adapted.html b/libs/fusion/doc/html/fusion/adapted.html new file mode 100755 index 0000000000..564b5bf60c --- /dev/null +++ b/libs/fusion/doc/html/fusion/adapted.html @@ -0,0 +1,102 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Adapted</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="prev" href="view/repetitive_view.html" title="repetitive_view"> +<link rel="next" href="adapted/array.html" title="Array"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="view/repetitive_view.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="adapted/array.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h2 class="title" style="clear: both"> +<a name="fusion.adapted"></a><a class="link" href="adapted.html" title="Adapted">Adapted</a> +</h2></div></div></div> +<div class="toc"><dl> +<dt><span class="section"><a href="adapted/array.html">Array</a></span></dt> +<dt><span class="section"><a href="adapted/std__pair.html">std::pair</a></span></dt> +<dt><span class="section"><a href="adapted/mpl_sequence.html">mpl sequence</a></span></dt> +<dt><span class="section"><a href="adapted/boost__array.html">boost::array</a></span></dt> +<dt><span class="section"><a href="adapted/boost__tuple.html">boost::tuple</a></span></dt> +<dt><span class="section"><a href="adapted/adapt_struct.html">BOOST_FUSION_ADAPT_STRUCT</a></span></dt> +<dt><span class="section"><a href="adapted/adapt_tpl_struct.html">BOOST_FUSION_ADAPT_TPL_STRUCT</a></span></dt> +<dt><span class="section"><a href="adapted/adapt_struct_named.html">BOOST_FUSION_ADAPT_STRUCT_NAMED</a></span></dt> +<dt><span class="section"><a href="adapted/adapt_assoc.html">BOOST_FUSION_ADAPT_ASSOC_STRUCT</a></span></dt> +<dt><span class="section"><a href="adapted/adapt_assoc_tpl_struct.html">BOOST_FUSION_ADAPT_ASSOC_TPL_STRUCT</a></span></dt> +<dt><span class="section"><a href="adapted/adapt_assoc_struct_named.html">BOOST_FUSION_ADAPT_ASSOC_STRUCT_NAMED</a></span></dt> +<dt><span class="section"><a href="adapted/adapt_adt.html">BOOST_FUSION_ADAPT_ADT</a></span></dt> +<dt><span class="section"><a href="adapted/adapt_tpl_adt.html">BOOST_FUSION_ADAPT_TPL_ADT</a></span></dt> +<dt><span class="section"><a href="adapted/adapt_assoc_adt.html">BOOST_FUSION_ADAPT_ASSOC_ADT</a></span></dt> +<dt><span class="section"><a href="adapted/adapt_assoc_tpl_adt.html">BOOST_FUSION_ADAPT_ASSOC_TPL_ADT</a></span></dt> +<dt><span class="section"><a href="adapted/define_struct.html">BOOST_FUSION_DEFINE_STRUCT</a></span></dt> +<dt><span class="section"><a href="adapted/define_tpl_struct.html">BOOST_FUSION_DEFINE_TPL_STRUCT</a></span></dt> +<dt><span class="section"><a href="adapted/define_assoc_struct.html">BOOST_FUSION_DEFINE_ASSOC_STRUCT</a></span></dt> +<dt><span class="section"><a href="adapted/define_assoc_tpl_struct.html">BOOST_FUSION_DEFINE_ASSOC_TPL_STRUCT</a></span></dt> +</dl></div> +<p> + Fusion provides a couple of adapters for other sequences such as arrays, <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span></code>, + <a href="http://www.boost.org/libs/mpl/index.html" target="_top">MPL</a> sequences, + and <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span></code>. These adapters are written using Fusion's + non-intrusive <a class="link" href="extension.html" title="Extension">Extension</a> mechanism. + If you wish to use these sequences with fusion, simply include the necessary + files and they will be regarded as first-class, fully conforming fusion sequences. + </p> +<p> + Fusion also provides various schemes to make it easy for the user to adapt + various data structures, non-intrusively, as full fledged Fusion sequences. + </p> +<h4> +<a name="fusion.adapted.h0"></a> + <span><a name="fusion.adapted.header"></a></span><a class="link" href="adapted.html#fusion.adapted.header">Header</a> + </h4> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">adapted</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">adapted</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<p> + Fusion sequences may also be adapted as fully conforming <a href="http://www.boost.org/libs/mpl/index.html" target="_top">MPL</a> + sequences (see <a class="link" href="sequence/intrinsic.html" title="Intrinsic">Intrinsics</a>). + That way, we can have 2-way adaptation to and from <a href="http://www.boost.org/libs/mpl/index.html" target="_top">MPL</a> + and Fusion. To make Fusion sequences fully conforming <a href="http://www.boost.org/libs/mpl/index.html" target="_top">MPL</a> + sequences, include: + </p> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">mpl</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<p> + If you want bi-directional adaptation to and from <a href="http://www.boost.org/libs/mpl/index.html" target="_top">MPL</a> + and Fusion, simply include: + </p> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</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">mpl</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<p> + The header includes all the necessary headers. + </p> +</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-2006, 2011 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="view/repetitive_view.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="adapted/array.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/adapted/adapt_adt.html b/libs/fusion/doc/html/fusion/adapted/adapt_adt.html new file mode 100755 index 0000000000..066ec4040c --- /dev/null +++ b/libs/fusion/doc/html/fusion/adapted/adapt_adt.html @@ -0,0 +1,166 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>BOOST_FUSION_ADAPT_ADT</title> +<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../adapted.html" title="Adapted"> +<link rel="prev" href="adapt_assoc_struct_named.html" title="BOOST_FUSION_ADAPT_ASSOC_STRUCT_NAMED"> +<link rel="next" href="adapt_tpl_adt.html" title="BOOST_FUSION_ADAPT_TPL_ADT"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="adapt_assoc_struct_named.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapted.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="adapt_tpl_adt.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h3 class="title"> +<a name="fusion.adapted.adapt_adt"></a><a class="link" href="adapt_adt.html" title="BOOST_FUSION_ADAPT_ADT">BOOST_FUSION_ADAPT_ADT</a> +</h3></div></div></div> +<p> + BOOST_FUSION_ADAPT_ADT is a macro than can be used to generate all the necessary + boilerplate to adapt an arbitrary class type as a model of <a class="link" href="../sequence/concepts/random_access_sequence.html" title="Random Access Sequence">Random + Access Sequence</a>. + </p> +<h5> +<a name="fusion.adapted.adapt_adt.h0"></a> + <span><a name="fusion.adapted.adapt_adt.synopsis"></a></span><a class="link" href="adapt_adt.html#fusion.adapted.adapt_adt.synopsis">Synopsis</a> + </h5> +<pre class="programlisting"><span class="identifier">BOOST_FUSION_ADAPT_ADT</span><span class="special">(</span> + <span class="identifier">type_name</span><span class="special">,</span> + <span class="special">(</span><span class="identifier">attribute_type0</span><span class="special">,</span> <span class="identifier">attribute_const_type0</span><span class="special">,</span> <span class="identifier">get_expr0</span><span class="special">,</span> <span class="identifier">set_expr0</span><span class="special">)</span> + <span class="special">(</span><span class="identifier">attribute_type1</span><span class="special">,</span> <span class="identifier">attribute_const_type1</span><span class="special">,</span> <span class="identifier">get_expr1</span><span class="special">,</span> <span class="identifier">set_expr1</span><span class="special">)</span> + <span class="special">...</span> + <span class="special">)</span> +</pre> +<h5> +<a name="fusion.adapted.adapt_adt.h1"></a> + <span><a name="fusion.adapted.adapt_adt.expression_semantics"></a></span><a class="link" href="adapt_adt.html#fusion.adapted.adapt_adt.expression_semantics">Expression + Semantics</a> + </h5> +<p> + The above macro generates the necessary code to adapt <code class="computeroutput"><span class="identifier">type_name</span></code> + as a model of <a class="link" href="../sequence/concepts/random_access_sequence.html" title="Random Access Sequence">Random + Access Sequence</a>. The sequence of <code class="literal">(attribute_type<span class="emphasis"><em>N</em></span>, + attribute_const_type<span class="emphasis"><em>N</em></span>, get_expr<span class="emphasis"><em>N</em></span>, + set_expr<span class="emphasis"><em>N</em></span>)</code> quadruples declares the types, + const types, get-expressions and set-expressions of the elements that are + part of the adapted fusion sequence. <code class="literal">get_expr<span class="emphasis"><em>N</em></span></code> + is the expression that is invoked to get the <span class="emphasis"><em>N</em></span>th element + of an instance of <code class="computeroutput"><span class="identifier">type_name</span></code>. + This expression may access a variable named <code class="computeroutput"><span class="identifier">obj</span></code> + of type <code class="computeroutput"><span class="identifier">type_name</span><span class="special">&</span></code> + or <code class="computeroutput"><span class="identifier">type_name</span> <span class="keyword">const</span><span class="special">&</span></code> which represents the underlying instance + of <code class="computeroutput"><span class="identifier">type_name</span></code>. <code class="literal">attribute_type<span class="emphasis"><em>N</em></span></code> + and <code class="literal">attribute_const_type<span class="emphasis"><em>N</em></span></code> may specify + the types that <code class="literal">get_expr<span class="emphasis"><em>N</em></span></code> denotes + to. <code class="literal">set_expr<span class="emphasis"><em>N</em></span></code> is the expression that + is invoked to set the <span class="emphasis"><em>N</em></span>th element of an instance of + <code class="computeroutput"><span class="identifier">type_name</span></code>. This expression + may access variables named <code class="computeroutput"><span class="identifier">obj</span></code> + of type <code class="computeroutput"><span class="identifier">type_name</span><span class="special">&</span></code>, + which represent the corresponding instance of <code class="computeroutput"><span class="identifier">type_name</span></code>, + and <code class="computeroutput"><span class="identifier">val</span></code> of an arbitrary const-qualified + reference template type parameter <code class="computeroutput"><span class="identifier">Val</span></code>, + which represents the right operand of the assignment expression. + </p> +<p> + The actual return type of fusion's intrinsic sequence access (meta-)functions + when in invoked with (an instance of) <code class="computeroutput"><span class="identifier">type_name</span></code> + is a proxy type. This type is implicitly convertible to the attribute type + via <code class="literal">get_expr<span class="emphasis"><em>N</em></span></code> and forwards assignment + to the underlying element via <code class="literal">set_expr<span class="emphasis"><em>N</em></span></code>. + The value type (that is the type returned by <a class="link" href="../iterator/metafunctions/value_of.html" title="value_of"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">value_of</span></code></a>, <a class="link" href="../sequence/intrinsic/metafunctions/value_at.html" title="value_at"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">value_at</span></code></a> and <a class="link" href="../sequence/intrinsic/metafunctions/value_at_c.html" title="value_at_c"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">value_at_c</span></code></a>) of the <span class="emphasis"><em>N</em></span>th + element is <code class="literal">attribute_type<span class="emphasis"><em>N</em></span></code> with const-qualifier + and reference removed. + </p> +<p> + The macro should be used at global scope, and <code class="computeroutput"><span class="identifier">type_name</span></code> + should be the fully namespace qualified name of the class type to be adapted. + </p> +<h5> +<a name="fusion.adapted.adapt_adt.h2"></a> + <span><a name="fusion.adapted.adapt_adt.header"></a></span><a class="link" href="adapt_adt.html#fusion.adapted.adapt_adt.header">Header</a> + </h5> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">adapted</span><span class="special">/</span><span class="identifier">adt</span><span class="special">/</span><span class="identifier">adapt_adt</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">adapt_adt</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h5> +<a name="fusion.adapted.adapt_adt.h3"></a> + <span><a name="fusion.adapted.adapt_adt.example"></a></span><a class="link" href="adapt_adt.html#fusion.adapted.adapt_adt.example">Example</a> + </h5> +<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">demo</span> +<span class="special">{</span> + <span class="keyword">struct</span> <span class="identifier">employee</span> + <span class="special">{</span> + <span class="keyword">private</span><span class="special">:</span> + <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">name</span><span class="special">;</span> + <span class="keyword">int</span> <span class="identifier">age</span><span class="special">;</span> + + <span class="keyword">public</span><span class="special">:</span> + <span class="keyword">void</span> <span class="identifier">set_name</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">n</span><span class="special">)</span> + <span class="special">{</span> + <span class="identifier">name</span><span class="special">=</span><span class="identifier">n</span><span class="special">;</span> + <span class="special">}</span> + + <span class="keyword">void</span> <span class="identifier">set_age</span><span class="special">(</span><span class="keyword">int</span> <span class="identifier">a</span><span class="special">)</span> + <span class="special">{</span> + <span class="identifier">age</span><span class="special">=</span><span class="identifier">a</span><span class="special">;</span> + <span class="special">}</span> + + <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">get_name</span><span class="special">()</span><span class="keyword">const</span> + <span class="special">{</span> + <span class="keyword">return</span> <span class="identifier">name</span><span class="special">;</span> + <span class="special">}</span> + + <span class="keyword">int</span> <span class="identifier">get_age</span><span class="special">()</span><span class="keyword">const</span> + <span class="special">{</span> + <span class="keyword">return</span> <span class="identifier">age</span><span class="special">;</span> + <span class="special">}</span> + <span class="special">};</span> +<span class="special">}</span> + +<span class="identifier">BOOST_FUSION_ADAPT_ADT</span><span class="special">(</span> + <span class="identifier">demo</span><span class="special">::</span><span class="identifier">employee</span><span class="special">,</span> + <span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="keyword">const</span><span class="special">&,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="keyword">const</span><span class="special">&,</span> <span class="identifier">obj</span><span class="special">.</span><span class="identifier">get_name</span><span class="special">(),</span> <span class="identifier">obj</span><span class="special">.</span><span class="identifier">set_name</span><span class="special">(</span><span class="identifier">val</span><span class="special">))</span> + <span class="special">(</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">int</span><span class="special">,</span> <span class="identifier">obj</span><span class="special">.</span><span class="identifier">get_age</span><span class="special">(),</span> <span class="identifier">obj</span><span class="special">.</span><span class="identifier">set_age</span><span class="special">(</span><span class="identifier">val</span><span class="special">)))</span> + +<span class="identifier">demo</span><span class="special">::</span><span class="identifier">employee</span> <span class="identifier">e</span><span class="special">;</span> +<span class="identifier">front</span><span class="special">(</span><span class="identifier">e</span><span class="special">)=</span><span class="string">"Edward Norton"</span><span class="special">;</span> +<span class="identifier">back</span><span class="special">(</span><span class="identifier">e</span><span class="special">)=</span><span class="number">41</span><span class="special">;</span> +<span class="comment">//Prints 'Edward Norton is 41 years old'</span> +<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special"><<</span> <span class="identifier">e</span><span class="special">.</span><span class="identifier">get_name</span><span class="special">()</span> <span class="special"><<</span> <span class="string">" is "</span> <span class="special"><<</span> <span class="identifier">e</span><span class="special">.</span><span class="identifier">get_age</span><span class="special">()</span> <span class="special"><<</span> <span class="string">" years old"</span> <span class="special"><<</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span> +</pre> +<h5> +<a name="fusion.adapted.adapt_adt.h4"></a> + <span><a name="fusion.adapted.adapt_adt.see_also"></a></span><a class="link" href="adapt_adt.html#fusion.adapted.adapt_adt.see_also">See + also</a> + </h5> +<p> + <a class="link" href="../notes.html#fusion.notes.adt_attribute_proxy"><code class="computeroutput"><span class="identifier">adt_attribute_proxy</span></code></a> + </p> +</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-2006, 2011 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="adapt_assoc_struct_named.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapted.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="adapt_tpl_adt.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/adapted/adapt_assoc.html b/libs/fusion/doc/html/fusion/adapted/adapt_assoc.html new file mode 100755 index 0000000000..843cd0b5ee --- /dev/null +++ b/libs/fusion/doc/html/fusion/adapted/adapt_assoc.html @@ -0,0 +1,117 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>BOOST_FUSION_ADAPT_ASSOC_STRUCT</title> +<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../adapted.html" title="Adapted"> +<link rel="prev" href="adapt_struct_named.html" title="BOOST_FUSION_ADAPT_STRUCT_NAMED"> +<link rel="next" href="adapt_assoc_tpl_struct.html" title="BOOST_FUSION_ADAPT_ASSOC_TPL_STRUCT"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="adapt_struct_named.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapted.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="adapt_assoc_tpl_struct.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h3 class="title"> +<a name="fusion.adapted.adapt_assoc"></a><a class="link" href="adapt_assoc.html" title="BOOST_FUSION_ADAPT_ASSOC_STRUCT">BOOST_FUSION_ADAPT_ASSOC_STRUCT</a> +</h3></div></div></div> +<h5> +<a name="fusion.adapted.adapt_assoc.h0"></a> + <span><a name="fusion.adapted.adapt_assoc.description"></a></span><a class="link" href="adapt_assoc.html#fusion.adapted.adapt_assoc.description">Description</a> + </h5> +<p> + BOOST_FUSION_ADAPT_ASSOC_STRUCT is a macro that can be used to generate all + the necessary boilerplate to make an arbitrary struct a model of <a class="link" href="../sequence/concepts/random_access_sequence.html" title="Random Access Sequence">Random + Access Sequence</a> and <a class="link" href="../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative + Sequence</a>. + </p> +<h5> +<a name="fusion.adapted.adapt_assoc.h1"></a> + <span><a name="fusion.adapted.adapt_assoc.synopsis"></a></span><a class="link" href="adapt_assoc.html#fusion.adapted.adapt_assoc.synopsis">Synopsis</a> + </h5> +<pre class="programlisting"><span class="identifier">BOOST_FUSION_ADAPT_ASSOC_STRUCT</span><span class="special">(</span> + <span class="identifier">struct_name</span><span class="special">,</span> + <span class="special">(</span><span class="identifier">member_type0</span><span class="special">,</span> <span class="identifier">member_name0</span><span class="special">,</span> <span class="identifier">key_type0</span><span class="special">)</span> + <span class="special">(</span><span class="identifier">member_type1</span><span class="special">,</span> <span class="identifier">member_name1</span><span class="special">,</span> <span class="identifier">key_type1</span><span class="special">)</span> + <span class="special">...</span> + <span class="special">)</span> +</pre> +<h5> +<a name="fusion.adapted.adapt_assoc.h2"></a> + <span><a name="fusion.adapted.adapt_assoc.semantics"></a></span><a class="link" href="adapt_assoc.html#fusion.adapted.adapt_assoc.semantics">Semantics</a> + </h5> +<p> + The above macro generates the necessary code to adapt <code class="computeroutput"><span class="identifier">struct_name</span></code> + as a model of <a class="link" href="../sequence/concepts/random_access_sequence.html" title="Random Access Sequence">Random + Access Sequence</a> and <a class="link" href="../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative + Sequence</a>. The sequence of <code class="computeroutput"><span class="special">(</span><span class="identifier">member_typeN</span><span class="special">,</span> + <span class="identifier">member_nameN</span><span class="special">,</span> + <span class="identifier">key_typeN</span><span class="special">)</span></code> + triples declares the type, name and key type of each of the struct members + that are part of the sequence. + </p> +<p> + The macro should be used at global scope, and <code class="computeroutput"><span class="identifier">struct_name</span></code> + should be the fully namespace qualified name of the struct to be adapted. + </p> +<h5> +<a name="fusion.adapted.adapt_assoc.h3"></a> + <span><a name="fusion.adapted.adapt_assoc.header"></a></span><a class="link" href="adapt_assoc.html#fusion.adapted.adapt_assoc.header">Header</a> + </h5> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">adapted</span><span class="special">/</span><span class="keyword">struct</span><span class="special">/</span><span class="identifier">adapt_assoc_struct</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">adapt_assoc_struct</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h5> +<a name="fusion.adapted.adapt_assoc.h4"></a> + <span><a name="fusion.adapted.adapt_assoc.example"></a></span><a class="link" href="adapt_assoc.html#fusion.adapted.adapt_assoc.example">Example</a> + </h5> +<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">demo</span> +<span class="special">{</span> + <span class="keyword">struct</span> <span class="identifier">employee</span> + <span class="special">{</span> + <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">name</span><span class="special">;</span> + <span class="keyword">int</span> <span class="identifier">age</span><span class="special">;</span> + <span class="special">};</span> +<span class="special">}</span> + +<span class="keyword">namespace</span> <span class="identifier">keys</span> +<span class="special">{</span> + <span class="keyword">struct</span> <span class="identifier">name</span><span class="special">;</span> + <span class="keyword">struct</span> <span class="identifier">age</span><span class="special">;</span> +<span class="special">}</span> + +<span class="comment">// demo::employee is now a Fusion sequence.</span> +<span class="comment">// It is also an associative sequence with</span> +<span class="comment">// keys keys::name and keys::age present.</span> +<span class="identifier">BOOST_FUSION_ADAPT_ASSOC_STRUCT</span><span class="special">(</span> + <span class="identifier">demo</span><span class="special">::</span><span class="identifier">employee</span><span class="special">,</span> + <span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">,</span> <span class="identifier">name</span><span class="special">,</span> <span class="identifier">keys</span><span class="special">::</span><span class="identifier">name</span><span class="special">)</span> + <span class="special">(</span><span class="keyword">int</span><span class="special">,</span> <span class="identifier">age</span><span class="special">,</span> <span class="identifier">keys</span><span class="special">::</span><span class="identifier">age</span><span class="special">))</span> +</pre> +</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-2006, 2011 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="adapt_struct_named.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapted.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="adapt_assoc_tpl_struct.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/adapted/adapt_assoc_adt.html b/libs/fusion/doc/html/fusion/adapted/adapt_assoc_adt.html new file mode 100755 index 0000000000..59ef76b4f2 --- /dev/null +++ b/libs/fusion/doc/html/fusion/adapted/adapt_assoc_adt.html @@ -0,0 +1,176 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>BOOST_FUSION_ADAPT_ASSOC_ADT</title> +<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../adapted.html" title="Adapted"> +<link rel="prev" href="adapt_tpl_adt.html" title="BOOST_FUSION_ADAPT_TPL_ADT"> +<link rel="next" href="adapt_assoc_tpl_adt.html" title="BOOST_FUSION_ADAPT_ASSOC_TPL_ADT"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="adapt_tpl_adt.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapted.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="adapt_assoc_tpl_adt.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h3 class="title"> +<a name="fusion.adapted.adapt_assoc_adt"></a><a class="link" href="adapt_assoc_adt.html" title="BOOST_FUSION_ADAPT_ASSOC_ADT">BOOST_FUSION_ADAPT_ASSOC_ADT</a> +</h3></div></div></div> +<p> + BOOST_FUSION_ADAPT_ASSOC_ADT is a macro than can be used to generate all + the necessary boilerplate to adapt an arbitrary class type as a model of + <a class="link" href="../sequence/concepts/random_access_sequence.html" title="Random Access Sequence">Random Access + Sequence</a> and <a class="link" href="../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative + Sequence</a>. + </p> +<h5> +<a name="fusion.adapted.adapt_assoc_adt.h0"></a> + <span><a name="fusion.adapted.adapt_assoc_adt.synopsis"></a></span><a class="link" href="adapt_assoc_adt.html#fusion.adapted.adapt_assoc_adt.synopsis">Synopsis</a> + </h5> +<pre class="programlisting"><span class="identifier">BOOST_FUSION_ADAPT_ASSOC_ADT</span><span class="special">(</span> + <span class="identifier">type_name</span><span class="special">,</span> + <span class="special">(</span><span class="identifier">attribute_type0</span><span class="special">,</span> <span class="identifier">attribute_const_type0</span><span class="special">,</span> <span class="identifier">get_expr0</span><span class="special">,</span> <span class="identifier">set_expr0</span><span class="special">,</span> <span class="identifier">key_type0</span><span class="special">)</span> + <span class="special">(</span><span class="identifier">attribute_type1</span><span class="special">,</span> <span class="identifier">attribute_const_type1</span><span class="special">,</span> <span class="identifier">get_expr1</span><span class="special">,</span> <span class="identifier">set_expr1</span><span class="special">,</span> <span class="identifier">key_type1</span><span class="special">)</span> + <span class="special">...</span> + <span class="special">)</span> +</pre> +<h5> +<a name="fusion.adapted.adapt_assoc_adt.h1"></a> + <span><a name="fusion.adapted.adapt_assoc_adt.expression_semantics"></a></span><a class="link" href="adapt_assoc_adt.html#fusion.adapted.adapt_assoc_adt.expression_semantics">Expression + Semantics</a> + </h5> +<p> + The above macro generates the necessary code to adapt <code class="computeroutput"><span class="identifier">type_name</span></code> + as a model of <a class="link" href="../sequence/concepts/random_access_sequence.html" title="Random Access Sequence">Random + Access Sequence</a> and <a class="link" href="../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative + Sequence</a>. The sequence of <code class="literal">(attribute_type<span class="emphasis"><em>N</em></span>, + attribute_const_type<span class="emphasis"><em>N</em></span>, get_expr<span class="emphasis"><em>N</em></span>, + set_expr<span class="emphasis"><em>N</em></span>, key_type<span class="emphasis"><em>N</em></span>)</code> + 5-tuples declares the types, const types, get-expressions, set-expressions + and key types of the elements that are part of the adapted fusion sequence. + <code class="literal">get_expr<span class="emphasis"><em>N</em></span></code> is the expression that + is invoked to get the <span class="emphasis"><em>N</em></span>th element of an instance of + <code class="computeroutput"><span class="identifier">type_name</span></code>. This expression + may access a variable named <code class="computeroutput"><span class="identifier">obj</span></code> + of type <code class="computeroutput"><span class="identifier">type_name</span><span class="special">&</span></code> + or <code class="computeroutput"><span class="identifier">type_name</span> <span class="keyword">const</span><span class="special">&</span></code> which represents the underlying instance + of <code class="computeroutput"><span class="identifier">type_name</span></code>. <code class="literal">attribute_type<span class="emphasis"><em>N</em></span></code> + and <code class="literal">attribute_const_type<span class="emphasis"><em>N</em></span></code> may specify + the types that <code class="literal">get_expr<span class="emphasis"><em>N</em></span></code> denotes + to. <code class="literal">set_expr<span class="emphasis"><em>N</em></span></code> is the expression that + is invoked to set the <span class="emphasis"><em>N</em></span>th element of an instance of + <code class="computeroutput"><span class="identifier">type_name</span></code>. This expression + may access variables named <code class="computeroutput"><span class="identifier">obj</span></code> + of type <code class="computeroutput"><span class="identifier">type_name</span><span class="special">&</span></code>, + which represent the corresponding instance of <code class="computeroutput"><span class="identifier">type_name</span></code>, + and <code class="computeroutput"><span class="identifier">val</span></code> of an arbitrary const-qualified + reference template type parameter <code class="computeroutput"><span class="identifier">Val</span></code>, + which represents the right operand of the assignment expression. + </p> +<p> + The actual return type of fusion's intrinsic sequence access (meta-)functions + when in invoked with (an instance of) <code class="computeroutput"><span class="identifier">type_name</span></code> + is a proxy type. This type is implicitly convertible to the attribute type + via <code class="literal">get_expr<span class="emphasis"><em>N</em></span></code> and forwards assignment + to the underlying element via <code class="literal">set_expr<span class="emphasis"><em>N</em></span></code>. + The value type (that is the type returned by <a class="link" href="../iterator/metafunctions/value_of.html" title="value_of"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">value_of</span></code></a>, <a class="link" href="../iterator/metafunctions/value_of_data.html" title="value_of_data"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">value_of_data</span></code></a>, <a class="link" href="../sequence/intrinsic/metafunctions/value_at.html" title="value_at"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">value_at</span></code></a>, <a class="link" href="../sequence/intrinsic/metafunctions/value_at_c.html" title="value_at_c"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">value_at_c</span></code></a> and <a class="link" href="../sequence/intrinsic/metafunctions/value_at_key.html" title="value_at_key"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">value_at_key</span></code></a>) of the <span class="emphasis"><em>N</em></span>th + element is <code class="literal">attribute_type<span class="emphasis"><em>N</em></span></code> with const-qualifier + and reference removed. + </p> +<p> + The macro should be used at global scope, and <code class="computeroutput"><span class="identifier">type_name</span></code> + should be the fully namespace qualified name of the class type to be adapted. + </p> +<h5> +<a name="fusion.adapted.adapt_assoc_adt.h2"></a> + <span><a name="fusion.adapted.adapt_assoc_adt.header"></a></span><a class="link" href="adapt_assoc_adt.html#fusion.adapted.adapt_assoc_adt.header">Header</a> + </h5> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">adapted</span><span class="special">/</span><span class="identifier">adt</span><span class="special">/</span><span class="identifier">adapt_assoc_adt</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">adapt_assoc_adt</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h5> +<a name="fusion.adapted.adapt_assoc_adt.h3"></a> + <span><a name="fusion.adapted.adapt_assoc_adt.example"></a></span><a class="link" href="adapt_assoc_adt.html#fusion.adapted.adapt_assoc_adt.example">Example</a> + </h5> +<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">demo</span> +<span class="special">{</span> + <span class="keyword">struct</span> <span class="identifier">employee</span> + <span class="special">{</span> + <span class="keyword">private</span><span class="special">:</span> + <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">name</span><span class="special">;</span> + <span class="keyword">int</span> <span class="identifier">age</span><span class="special">;</span> + + <span class="keyword">public</span><span class="special">:</span> + <span class="keyword">void</span> <span class="identifier">set_name</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">n</span><span class="special">)</span> + <span class="special">{</span> + <span class="identifier">name</span><span class="special">=</span><span class="identifier">n</span><span class="special">;</span> + <span class="special">}</span> + + <span class="keyword">void</span> <span class="identifier">set_age</span><span class="special">(</span><span class="keyword">int</span> <span class="identifier">a</span><span class="special">)</span> + <span class="special">{</span> + <span class="identifier">age</span><span class="special">=</span><span class="identifier">a</span><span class="special">;</span> + <span class="special">}</span> + + <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">get_name</span><span class="special">()</span><span class="keyword">const</span> + <span class="special">{</span> + <span class="keyword">return</span> <span class="identifier">name</span><span class="special">;</span> + <span class="special">}</span> + + <span class="keyword">int</span> <span class="identifier">get_age</span><span class="special">()</span><span class="keyword">const</span> + <span class="special">{</span> + <span class="keyword">return</span> <span class="identifier">age</span><span class="special">;</span> + <span class="special">}</span> + <span class="special">};</span> +<span class="special">}</span> + +<span class="keyword">namespace</span> <span class="identifier">keys</span> +<span class="special">{</span> + <span class="keyword">struct</span> <span class="identifier">name</span><span class="special">;</span> + <span class="keyword">struct</span> <span class="identifier">age</span><span class="special">;</span> +<span class="special">}</span> + +<span class="identifier">BOOST_FUSION_ADAPT_ASSOC_ADT</span><span class="special">(</span> + <span class="identifier">demo</span><span class="special">::</span><span class="identifier">employee</span><span class="special">,</span> + <span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="keyword">const</span><span class="special">&,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="keyword">const</span><span class="special">&,</span> <span class="identifier">obj</span><span class="special">.</span><span class="identifier">get_name</span><span class="special">(),</span> <span class="identifier">obj</span><span class="special">.</span><span class="identifier">set_name</span><span class="special">(</span><span class="identifier">val</span><span class="special">),</span> <span class="identifier">keys</span><span class="special">::</span><span class="identifier">name</span><span class="special">)</span> + <span class="special">(</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">int</span><span class="special">,</span> <span class="identifier">obj</span><span class="special">.</span><span class="identifier">get_age</span><span class="special">(),</span> <span class="identifier">obj</span><span class="special">.</span><span class="identifier">set_age</span><span class="special">(</span><span class="identifier">val</span><span class="special">),</span> <span class="identifier">keys</span><span class="special">::</span><span class="identifier">age</span><span class="special">))</span> + +<span class="identifier">demo</span><span class="special">::</span><span class="identifier">employee</span> <span class="identifier">e</span><span class="special">;</span> +<span class="identifier">at_key</span><span class="special"><</span><span class="identifier">keys</span><span class="special">::</span><span class="identifier">name</span><span class="special">>(</span><span class="identifier">e</span><span class="special">)=</span><span class="string">"Edward Norton"</span><span class="special">;</span> +<span class="identifier">at_key</span><span class="special"><</span><span class="identifier">keys</span><span class="special">::</span><span class="identifier">age</span><span class="special">>(</span><span class="identifier">e</span><span class="special">)=</span><span class="number">41</span><span class="special">;</span> +<span class="comment">//Prints 'Edward Norton is 41 years old'</span> +<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special"><<</span> <span class="identifier">e</span><span class="special">.</span><span class="identifier">get_name</span><span class="special">()</span> <span class="special"><<</span> <span class="string">" is "</span> <span class="special"><<</span> <span class="identifier">e</span><span class="special">.</span><span class="identifier">get_age</span><span class="special">()</span> <span class="special"><<</span> <span class="string">" years old"</span> <span class="special"><<</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span> +</pre> +<h5> +<a name="fusion.adapted.adapt_assoc_adt.h4"></a> + <span><a name="fusion.adapted.adapt_assoc_adt.see_also"></a></span><a class="link" href="adapt_assoc_adt.html#fusion.adapted.adapt_assoc_adt.see_also">See + also</a> + </h5> +<p> + <a class="link" href="../notes.html#fusion.notes.adt_attribute_proxy"><code class="computeroutput"><span class="identifier">adt_attribute_proxy</span></code></a> + </p> +</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-2006, 2011 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="adapt_tpl_adt.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapted.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="adapt_assoc_tpl_adt.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/adapted/adapt_assoc_struct_named.html b/libs/fusion/doc/html/fusion/adapted/adapt_assoc_struct_named.html new file mode 100755 index 0000000000..78598cce8c --- /dev/null +++ b/libs/fusion/doc/html/fusion/adapted/adapt_assoc_struct_named.html @@ -0,0 +1,133 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>BOOST_FUSION_ADAPT_ASSOC_STRUCT_NAMED</title> +<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../adapted.html" title="Adapted"> +<link rel="prev" href="adapt_assoc_tpl_struct.html" title="BOOST_FUSION_ADAPT_ASSOC_TPL_STRUCT"> +<link rel="next" href="adapt_adt.html" title="BOOST_FUSION_ADAPT_ADT"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="adapt_assoc_tpl_struct.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapted.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="adapt_adt.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h3 class="title"> +<a name="fusion.adapted.adapt_assoc_struct_named"></a><a class="link" href="adapt_assoc_struct_named.html" title="BOOST_FUSION_ADAPT_ASSOC_STRUCT_NAMED">BOOST_FUSION_ADAPT_ASSOC_STRUCT_NAMED</a> +</h3></div></div></div> +<h5> +<a name="fusion.adapted.adapt_assoc_struct_named.h0"></a> + <span><a name="fusion.adapted.adapt_assoc_struct_named.description"></a></span><a class="link" href="adapt_assoc_struct_named.html#fusion.adapted.adapt_assoc_struct_named.description">Description</a> + </h5> +<p> + BOOST_FUSION_ADAPT_ASSOC_STRUCT_NAMED and BOOST_FUSION_ADAPT_ASSOC_STRUCT_NAMED_NS + are macros that can be used to generate all the necessary boilerplate to + make an arbitrary struct a model of <a class="link" href="../sequence/concepts/random_access_sequence.html" title="Random Access Sequence">Random + Access Sequence</a> and <a class="link" href="../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative + Sequence</a>. The given struct is adapted using the given name. + </p> +<h5> +<a name="fusion.adapted.adapt_assoc_struct_named.h1"></a> + <span><a name="fusion.adapted.adapt_assoc_struct_named.synopsis"></a></span><a class="link" href="adapt_assoc_struct_named.html#fusion.adapted.adapt_assoc_struct_named.synopsis">Synopsis</a> + </h5> +<pre class="programlisting"><span class="identifier">BOOST_FUSION_ADAPT_ASSOC_STRUCT_NAMED</span><span class="special">(</span> + <span class="identifier">struct_name</span><span class="special">,</span> <span class="identifier">adapted_name</span><span class="special">,</span> + <span class="special">(</span><span class="identifier">member_type0</span><span class="special">,</span> <span class="identifier">member_name0</span><span class="special">,</span> <span class="identifier">key_type0</span><span class="special">)</span> + <span class="special">(</span><span class="identifier">member_type1</span><span class="special">,</span> <span class="identifier">member_name1</span><span class="special">,</span> <span class="identifier">key_type1</span><span class="special">)</span> + <span class="special">...</span> + <span class="special">)</span> + +<span class="identifier">BOOST_FUSION_ADAPT_ASSOC_STRUCT_NAMED_NS</span><span class="special">(</span> + <span class="identifier">struct_name</span><span class="special">,</span> + <span class="special">(</span><span class="identifier">namespace0</span><span class="special">)(</span><span class="identifier">namespace1</span><span class="special">)...,</span> + <span class="identifier">adapted_name</span><span class="special">,</span> + <span class="special">(</span><span class="identifier">member_type0</span><span class="special">,</span> <span class="identifier">member_name0</span><span class="special">,</span> <span class="identifier">key_type0</span><span class="special">)</span> + <span class="special">(</span><span class="identifier">member_type1</span><span class="special">,</span> <span class="identifier">member_name1</span><span class="special">,</span> <span class="identifier">key_type1</span><span class="special">)</span> + <span class="special">...</span> + <span class="special">)</span> +</pre> +<h5> +<a name="fusion.adapted.adapt_assoc_struct_named.h2"></a> + <span><a name="fusion.adapted.adapt_assoc_struct_named.semantics"></a></span><a class="link" href="adapt_assoc_struct_named.html#fusion.adapted.adapt_assoc_struct_named.semantics">Semantics</a> + </h5> +<p> + The above macros generate the necessary code to adapt <code class="computeroutput"><span class="identifier">struct_name</span></code> + as a model of <a class="link" href="../sequence/concepts/random_access_sequence.html" title="Random Access Sequence">Random + Access Sequence</a> and <a class="link" href="../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative + Sequence</a> while using <code class="computeroutput"><span class="identifier">adapted_name</span></code> + as the name of the adapted struct. The sequence <code class="computeroutput"><span class="special">(</span><span class="identifier">namespace0</span><span class="special">)(</span><span class="identifier">namespace1</span><span class="special">)...</span></code> + declares the namespace for <code class="computeroutput"><span class="identifier">adapted_name</span></code>. + It yields to a fully qualified name for <code class="computeroutput"><span class="identifier">adapted_name</span></code> + of <code class="computeroutput"><span class="identifier">namespace0</span><span class="special">::</span><span class="identifier">namespace1</span><span class="special">::...</span> + <span class="identifier">adapted_name</span></code>. If an empty namespace + sequence is given (that is a macro that expands to nothing), the adapted + view is placed in the global namespace. If no namespace sequence is given + (i.e. <code class="computeroutput"><span class="identifier">BOOST_FUSION_ADAPT_STRUCT_ASSOC_NAMED</span></code>), + the adapted view is placed in the namespace <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">fusion</span><span class="special">::</span><span class="identifier">adapted</span></code>. + The sequence of <code class="computeroutput"><span class="special">(</span><span class="identifier">member_typeN</span><span class="special">,</span> <span class="identifier">member_nameN</span><span class="special">,</span> <span class="identifier">key_typeN</span><span class="special">)</span></code> triples declares the type, name and key + type of each of the struct members that are part of the sequence. + </p> +<p> + The macros should be used at global scope, and <code class="computeroutput"><span class="identifier">struct_name</span></code> + should be the fully namespace qualified name of the struct to be converted. + </p> +<h5> +<a name="fusion.adapted.adapt_assoc_struct_named.h3"></a> + <span><a name="fusion.adapted.adapt_assoc_struct_named.header"></a></span><a class="link" href="adapt_assoc_struct_named.html#fusion.adapted.adapt_assoc_struct_named.header">Header</a> + </h5> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">adapted</span><span class="special">/</span><span class="keyword">struct</span><span class="special">/</span><span class="identifier">adapt_assoc_struct_named</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">adapt_assoc_struct_named</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h5> +<a name="fusion.adapted.adapt_assoc_struct_named.h4"></a> + <span><a name="fusion.adapted.adapt_assoc_struct_named.example"></a></span><a class="link" href="adapt_assoc_struct_named.html#fusion.adapted.adapt_assoc_struct_named.example">Example</a> + </h5> +<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">demo</span> +<span class="special">{</span> + <span class="keyword">struct</span> <span class="identifier">employee</span> + <span class="special">{</span> + <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">name</span><span class="special">;</span> + <span class="keyword">int</span> <span class="identifier">age</span><span class="special">;</span> + <span class="special">};</span> +<span class="special">}</span> + +<span class="keyword">namespace</span> <span class="identifier">keys</span> +<span class="special">{</span> + <span class="keyword">struct</span> <span class="identifier">name</span><span class="special">;</span> + <span class="keyword">struct</span> <span class="identifier">age</span><span class="special">;</span> +<span class="special">}</span> + +<span class="comment">// boost::fusion::adapted::adapted_employee is now a Fusion sequence</span> +<span class="comment">// referring to demo::employee</span> +<span class="identifier">BOOST_FUSION_ADAPT_ASSOC_STRUCT_NAMED</span><span class="special">(</span> + <span class="identifier">demo</span><span class="special">::</span><span class="identifier">employee</span><span class="special">,</span> <span class="identifier">adapted_employee</span><span class="special">,</span> + <span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">,</span> <span class="identifier">name</span><span class="special">,</span> <span class="identifier">keys</span><span class="special">::</span><span class="identifier">name</span><span class="special">)</span> + <span class="special">(</span><span class="keyword">int</span><span class="special">,</span> <span class="identifier">age</span><span class="special">,</span> <span class="identifier">keys</span><span class="special">::</span><span class="identifier">age</span><span class="special">))</span> +</pre> +</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-2006, 2011 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="adapt_assoc_tpl_struct.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapted.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="adapt_adt.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/adapted/adapt_assoc_tpl_adt.html b/libs/fusion/doc/html/fusion/adapted/adapt_assoc_tpl_adt.html new file mode 100755 index 0000000000..0ebeb7ee0b --- /dev/null +++ b/libs/fusion/doc/html/fusion/adapted/adapt_assoc_tpl_adt.html @@ -0,0 +1,184 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>BOOST_FUSION_ADAPT_ASSOC_TPL_ADT</title> +<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../adapted.html" title="Adapted"> +<link rel="prev" href="adapt_assoc_adt.html" title="BOOST_FUSION_ADAPT_ASSOC_ADT"> +<link rel="next" href="define_struct.html" title="BOOST_FUSION_DEFINE_STRUCT"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="adapt_assoc_adt.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapted.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="define_struct.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h3 class="title"> +<a name="fusion.adapted.adapt_assoc_tpl_adt"></a><a class="link" href="adapt_assoc_tpl_adt.html" title="BOOST_FUSION_ADAPT_ASSOC_TPL_ADT">BOOST_FUSION_ADAPT_ASSOC_TPL_ADT</a> +</h3></div></div></div> +<p> + BOOST_FUSION_ADAPT_ASSOC_TPL_ADT is a macro than can be used to generate + all the necessary boilerplate to adapt an arbitrary template class type as + a model of <a class="link" href="../sequence/concepts/random_access_sequence.html" title="Random Access Sequence">Random + Access Sequence</a> and <a class="link" href="../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative + Sequence</a>. + </p> +<h5> +<a name="fusion.adapted.adapt_assoc_tpl_adt.h0"></a> + <span><a name="fusion.adapted.adapt_assoc_tpl_adt.synopsis"></a></span><a class="link" href="adapt_assoc_tpl_adt.html#fusion.adapted.adapt_assoc_tpl_adt.synopsis">Synopsis</a> + </h5> +<pre class="programlisting"><span class="identifier">BOOST_FUSION_ADAPT_ASSOC_TPL_ADT</span><span class="special">(</span> + <span class="special">(</span><span class="identifier">template_param0</span><span class="special">)(</span><span class="identifier">template_param1</span><span class="special">)...,</span> + <span class="special">(</span><span class="identifier">type_name</span><span class="special">)</span> <span class="special">(</span><span class="identifier">specialization_param0</span><span class="special">)(</span><span class="identifier">specialization_param1</span><span class="special">)...,</span> + <span class="special">(</span><span class="identifier">attribute_type0</span><span class="special">,</span> <span class="identifier">attribute_const_type0</span><span class="special">,</span> <span class="identifier">get_expr0</span><span class="special">,</span> <span class="identifier">set_expr0</span><span class="special">,</span> <span class="identifier">key_type0</span><span class="special">)</span> + <span class="special">(</span><span class="identifier">attribute_type1</span><span class="special">,</span> <span class="identifier">attribute_const_type1</span><span class="special">,</span> <span class="identifier">get_expr1</span><span class="special">,</span> <span class="identifier">set_expr1</span><span class="special">,</span> <span class="identifier">key_type1</span><span class="special">)</span> + <span class="special">...</span> + <span class="special">)</span> +</pre> +<h5> +<a name="fusion.adapted.adapt_assoc_tpl_adt.h1"></a> + <span><a name="fusion.adapted.adapt_assoc_tpl_adt.expression_semantics"></a></span><a class="link" href="adapt_assoc_tpl_adt.html#fusion.adapted.adapt_assoc_tpl_adt.expression_semantics">Expression + Semantics</a> + </h5> +<p> + The above macro generates the necessary code to adapt <code class="computeroutput"><span class="identifier">type_name</span></code> + or an arbitrary specialization of <code class="computeroutput"><span class="identifier">type_name</span></code> + as a model of <a class="link" href="../sequence/concepts/random_access_sequence.html" title="Random Access Sequence">Random + Access Sequence</a> and <a class="link" href="../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative + Sequence</a>. The sequence <code class="computeroutput"><span class="special">(</span><span class="identifier">template_param0</span><span class="special">)(</span><span class="identifier">template_param1</span><span class="special">)...</span></code> + declares the names of the template type parameters used. The sequence <code class="computeroutput"><span class="special">(</span><span class="identifier">specialization_param0</span><span class="special">)(</span><span class="identifier">specialization_param1</span><span class="special">)...</span></code> declares the template parameters of the + actual specialization of <code class="computeroutput"><span class="identifier">type_name</span></code> + that is adapted as a fusion sequence. The sequence of <code class="literal">(attribute_type<span class="emphasis"><em>N</em></span>, + attribute_const_type<span class="emphasis"><em>N</em></span>, get_expr<span class="emphasis"><em>N</em></span>, + set_expr<span class="emphasis"><em>N</em></span>, key_type<span class="emphasis"><em>N</em></span>)</code> + 5-tuples declares the types, const types, get-expressions, set-expressions + and key types of the elements that are part of the adapted fusion sequence. + <code class="literal">get_expr<span class="emphasis"><em>N</em></span></code> is the expression that + is invoked to get the <span class="emphasis"><em>N</em></span>th element of an instance of + <code class="computeroutput"><span class="identifier">type_name</span></code>. This expression + may access a variable named <code class="computeroutput"><span class="identifier">obj</span></code> + of type <code class="computeroutput"><span class="identifier">type_name</span><span class="special">&</span></code> + or <code class="computeroutput"><span class="identifier">type_name</span> <span class="keyword">const</span><span class="special">&</span></code> which represents the underlying instance + of <code class="computeroutput"><span class="identifier">type_name</span></code>. <code class="literal">attribute_type<span class="emphasis"><em>N</em></span></code> + and <code class="literal">attribute_const_type<span class="emphasis"><em>N</em></span></code> may specify + the types that <code class="literal">get_expr<span class="emphasis"><em>N</em></span></code> denotes + to. <code class="literal">set_expr<span class="emphasis"><em>N</em></span></code> is the expression that + is invoked to set the <span class="emphasis"><em>N</em></span>th element of an instance of + <code class="computeroutput"><span class="identifier">type_name</span></code>. This expression + may access variables named <code class="computeroutput"><span class="identifier">obj</span></code> + of type <code class="computeroutput"><span class="identifier">type_name</span><span class="special">&</span></code>, + which represent the corresponding instance of <code class="computeroutput"><span class="identifier">type_name</span></code>, + and <code class="computeroutput"><span class="identifier">val</span></code> of an arbitrary const-qualified + reference template type parameter <code class="computeroutput"><span class="identifier">Val</span></code>, + which represents the right operand of the assignment expression. + </p> +<p> + The actual return type of fusion's intrinsic sequence access (meta-)functions + when in invoked with (an instance of) <code class="computeroutput"><span class="identifier">type_name</span></code> + is a proxy type. This type is implicitly convertible to the attribute type + via <code class="literal">get_expr<span class="emphasis"><em>N</em></span></code> and forwards assignment + to the underlying element via <code class="literal">set_expr<span class="emphasis"><em>N</em></span></code>. + The value type (that is the type returned by <a class="link" href="../iterator/metafunctions/value_of.html" title="value_of"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">value_of</span></code></a>, <a class="link" href="../iterator/metafunctions/value_of_data.html" title="value_of_data"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">value_of_data</span></code></a>, <a class="link" href="../sequence/intrinsic/metafunctions/value_at.html" title="value_at"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">value_at</span></code></a>, <a class="link" href="../sequence/intrinsic/metafunctions/value_at_c.html" title="value_at_c"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">value_at_c</span></code></a> and <a class="link" href="../sequence/intrinsic/metafunctions/value_at_key.html" title="value_at_key"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">value_at_key</span></code></a>) of the <span class="emphasis"><em>N</em></span>th + element is <code class="literal">attribute_type<span class="emphasis"><em>N</em></span></code> with const-qualifier + and reference removed. + </p> +<p> + The macro should be used at global scope, and <code class="computeroutput"><span class="identifier">type_name</span></code> + should be the fully namespace qualified name of the template class type to + be adapted. + </p> +<h5> +<a name="fusion.adapted.adapt_assoc_tpl_adt.h2"></a> + <span><a name="fusion.adapted.adapt_assoc_tpl_adt.header"></a></span><a class="link" href="adapt_assoc_tpl_adt.html#fusion.adapted.adapt_assoc_tpl_adt.header">Header</a> + </h5> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">adapted</span><span class="special">/</span><span class="identifier">adt</span><span class="special">/</span><span class="identifier">adapt_assoc_adt</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">adapt_assoc_adt</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h5> +<a name="fusion.adapted.adapt_assoc_tpl_adt.h3"></a> + <span><a name="fusion.adapted.adapt_assoc_tpl_adt.example"></a></span><a class="link" href="adapt_assoc_tpl_adt.html#fusion.adapted.adapt_assoc_tpl_adt.example">Example</a> + </h5> +<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">demo</span> +<span class="special">{</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Name</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Age</span><span class="special">></span> + <span class="keyword">struct</span> <span class="identifier">employee</span> + <span class="special">{</span> + <span class="keyword">private</span><span class="special">:</span> + <span class="identifier">Name</span> <span class="identifier">name</span><span class="special">;</span> + <span class="identifier">Age</span> <span class="identifier">age</span><span class="special">;</span> + + <span class="keyword">public</span><span class="special">:</span> + <span class="keyword">void</span> <span class="identifier">set_name</span><span class="special">(</span><span class="identifier">Name</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">n</span><span class="special">)</span> + <span class="special">{</span> + <span class="identifier">name</span><span class="special">=</span><span class="identifier">n</span><span class="special">;</span> + <span class="special">}</span> + + <span class="keyword">void</span> <span class="identifier">set_age</span><span class="special">(</span><span class="identifier">Age</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">a</span><span class="special">)</span> + <span class="special">{</span> + <span class="identifier">age</span><span class="special">=</span><span class="identifier">a</span><span class="special">;</span> + <span class="special">}</span> + + <span class="identifier">Name</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">get_name</span><span class="special">()</span><span class="keyword">const</span> + <span class="special">{</span> + <span class="keyword">return</span> <span class="identifier">name</span><span class="special">;</span> + <span class="special">}</span> + + <span class="identifier">Age</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">get_age</span><span class="special">()</span><span class="keyword">const</span> + <span class="special">{</span> + <span class="keyword">return</span> <span class="identifier">age</span><span class="special">;</span> + <span class="special">}</span> + <span class="special">};</span> +<span class="special">}</span> + +<span class="keyword">namespace</span> <span class="identifier">keys</span> +<span class="special">{</span> + <span class="keyword">struct</span> <span class="identifier">name</span><span class="special">;</span> + <span class="keyword">struct</span> <span class="identifier">age</span><span class="special">;</span> +<span class="special">}</span> + +<span class="identifier">BOOST_FUSION_ADAPT_ASSOC_TPL_ADT</span><span class="special">(</span> + <span class="special">(</span><span class="identifier">Name</span><span class="special">)(</span><span class="identifier">Age</span><span class="special">),</span> + <span class="special">(</span><span class="identifier">demo</span><span class="special">::</span><span class="identifier">employee</span><span class="special">)</span> <span class="special">(</span><span class="identifier">Name</span><span class="special">)(</span><span class="identifier">Age</span><span class="special">),</span> + <span class="special">(</span><span class="identifier">Name</span> <span class="keyword">const</span><span class="special">&,</span> <span class="identifier">Name</span> <span class="keyword">const</span><span class="special">&,</span> <span class="identifier">obj</span><span class="special">.</span><span class="identifier">get_name</span><span class="special">(),</span> <span class="identifier">obj</span><span class="special">.</span><span class="identifier">set_name</span><span class="special">(</span><span class="identifier">val</span><span class="special">),</span> <span class="identifier">keys</span><span class="special">::</span><span class="identifier">name</span><span class="special">)</span> + <span class="special">(</span><span class="identifier">Age</span> <span class="keyword">const</span><span class="special">&,</span> <span class="identifier">Age</span> <span class="keyword">const</span><span class="special">&,</span> <span class="identifier">obj</span><span class="special">.</span><span class="identifier">get_age</span><span class="special">(),</span> <span class="identifier">obj</span><span class="special">.</span><span class="identifier">set_age</span><span class="special">(</span><span class="identifier">val</span><span class="special">),</span> <span class="identifier">keys</span><span class="special">::</span><span class="identifier">age</span><span class="special">))</span> + +<span class="identifier">demo</span><span class="special">::</span><span class="identifier">employee</span><span class="special"><</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">,</span> <span class="keyword">int</span><span class="special">></span> <span class="identifier">e</span><span class="special">;</span> +<span class="identifier">at_key</span><span class="special"><</span><span class="identifier">keys</span><span class="special">::</span><span class="identifier">name</span><span class="special">>(</span><span class="identifier">e</span><span class="special">)=</span><span class="string">"Edward Norton"</span><span class="special">;</span> +<span class="identifier">at_key</span><span class="special"><</span><span class="identifier">keys</span><span class="special">::</span><span class="identifier">age</span><span class="special">>(</span><span class="identifier">e</span><span class="special">)=</span><span class="number">41</span><span class="special">;</span> +<span class="comment">//Prints 'Edward Norton is 41 years old'</span> +<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special"><<</span> <span class="identifier">e</span><span class="special">.</span><span class="identifier">get_name</span><span class="special">()</span> <span class="special"><<</span> <span class="string">" is "</span> <span class="special"><<</span> <span class="identifier">e</span><span class="special">.</span><span class="identifier">get_age</span><span class="special">()</span> <span class="special"><<</span> <span class="string">" years old"</span> <span class="special"><<</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span> +</pre> +<h5> +<a name="fusion.adapted.adapt_assoc_tpl_adt.h4"></a> + <span><a name="fusion.adapted.adapt_assoc_tpl_adt.see_also"></a></span><a class="link" href="adapt_assoc_tpl_adt.html#fusion.adapted.adapt_assoc_tpl_adt.see_also">See + also</a> + </h5> +<p> + <a class="link" href="../notes.html#fusion.notes.adt_attribute_proxy"><code class="computeroutput"><span class="identifier">adt_attribute_proxy</span></code></a> + </p> +</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-2006, 2011 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="adapt_assoc_adt.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapted.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="define_struct.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/adapted/adapt_assoc_tpl_struct.html b/libs/fusion/doc/html/fusion/adapted/adapt_assoc_tpl_struct.html new file mode 100755 index 0000000000..e5b29be634 --- /dev/null +++ b/libs/fusion/doc/html/fusion/adapted/adapt_assoc_tpl_struct.html @@ -0,0 +1,125 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>BOOST_FUSION_ADAPT_ASSOC_TPL_STRUCT</title> +<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../adapted.html" title="Adapted"> +<link rel="prev" href="adapt_assoc.html" title="BOOST_FUSION_ADAPT_ASSOC_STRUCT"> +<link rel="next" href="adapt_assoc_struct_named.html" title="BOOST_FUSION_ADAPT_ASSOC_STRUCT_NAMED"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="adapt_assoc.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapted.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="adapt_assoc_struct_named.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h3 class="title"> +<a name="fusion.adapted.adapt_assoc_tpl_struct"></a><a class="link" href="adapt_assoc_tpl_struct.html" title="BOOST_FUSION_ADAPT_ASSOC_TPL_STRUCT">BOOST_FUSION_ADAPT_ASSOC_TPL_STRUCT</a> +</h3></div></div></div> +<h5> +<a name="fusion.adapted.adapt_assoc_tpl_struct.h0"></a> + <span><a name="fusion.adapted.adapt_assoc_tpl_struct.description"></a></span><a class="link" href="adapt_assoc_tpl_struct.html#fusion.adapted.adapt_assoc_tpl_struct.description">Description</a> + </h5> +<p> + BOOST_FUSION_ADAPT_ASSOC_TPL_STRUCT is a macro that can be used to generate + all the necessary boilerplate to make an arbitrary template struct a model + of <a class="link" href="../sequence/concepts/random_access_sequence.html" title="Random Access Sequence">Random + Access Sequence</a> and <a class="link" href="../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative + Sequence</a>. + </p> +<h5> +<a name="fusion.adapted.adapt_assoc_tpl_struct.h1"></a> + <span><a name="fusion.adapted.adapt_assoc_tpl_struct.synopsis"></a></span><a class="link" href="adapt_assoc_tpl_struct.html#fusion.adapted.adapt_assoc_tpl_struct.synopsis">Synopsis</a> + </h5> +<pre class="programlisting"><span class="identifier">BOOST_FUSION_ADAPT_ASSOC_TPL_STRUCT</span><span class="special">(</span> + <span class="special">(</span><span class="identifier">template_param0</span><span class="special">)(</span><span class="identifier">template_param1</span><span class="special">)...,</span> + <span class="special">(</span><span class="identifier">struct_name</span><span class="special">)</span> <span class="special">(</span><span class="identifier">specialization_param0</span><span class="special">)(</span><span class="identifier">specialization_param1</span><span class="special">)...,</span> + <span class="special">(</span><span class="identifier">member_type0</span><span class="special">,</span> <span class="identifier">member_name0</span><span class="special">,</span> <span class="identifier">key_type0</span><span class="special">)</span> + <span class="special">(</span><span class="identifier">member_type1</span><span class="special">,</span> <span class="identifier">member_name1</span><span class="special">,</span> <span class="identifier">key_type1</span><span class="special">)</span> + <span class="special">...</span> + <span class="special">)</span> +</pre> +<h5> +<a name="fusion.adapted.adapt_assoc_tpl_struct.h2"></a> + <span><a name="fusion.adapted.adapt_assoc_tpl_struct.semantics"></a></span><a class="link" href="adapt_assoc_tpl_struct.html#fusion.adapted.adapt_assoc_tpl_struct.semantics">Semantics</a> + </h5> +<p> + The above macro generates the necessary code to adapt <code class="computeroutput"><span class="identifier">struct_name</span></code> + or an arbitrary specialization of <code class="computeroutput"><span class="identifier">struct_name</span></code> + as a model of <a class="link" href="../sequence/concepts/random_access_sequence.html" title="Random Access Sequence">Random + Access Sequence</a> and <a class="link" href="../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative + Sequence</a>. The sequence <code class="computeroutput"><span class="special">(</span><span class="identifier">template_param0</span><span class="special">)(</span><span class="identifier">template_param1</span><span class="special">)...</span></code> + declares the names of the template type parameters used. The sequence <code class="computeroutput"><span class="special">(</span><span class="identifier">specialization_param0</span><span class="special">)(</span><span class="identifier">specialization_param1</span><span class="special">)...</span></code> declares the template parameters of the + actual specialization of <code class="computeroutput"><span class="identifier">struct_name</span></code> + that is adapted as a fusion sequence. The sequence of <code class="computeroutput"><span class="special">(</span><span class="identifier">member_typeN</span><span class="special">,</span> + <span class="identifier">member_nameN</span><span class="special">,</span> + <span class="identifier">key_typeN</span><span class="special">)</span></code> + triples declares the type, name and key type of each of the struct members + that are part of the sequence. + </p> +<p> + The macro should be used at global scope, and <code class="computeroutput"><span class="identifier">struct_name</span></code> + should be the fully namespace qualified name of the struct to be adapted. + </p> +<h5> +<a name="fusion.adapted.adapt_assoc_tpl_struct.h3"></a> + <span><a name="fusion.adapted.adapt_assoc_tpl_struct.header"></a></span><a class="link" href="adapt_assoc_tpl_struct.html#fusion.adapted.adapt_assoc_tpl_struct.header">Header</a> + </h5> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">adapted</span><span class="special">/</span><span class="keyword">struct</span><span class="special">/</span><span class="identifier">adapt_assoc_struct</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">adapt_assoc_struct</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h5> +<a name="fusion.adapted.adapt_assoc_tpl_struct.h4"></a> + <span><a name="fusion.adapted.adapt_assoc_tpl_struct.example"></a></span><a class="link" href="adapt_assoc_tpl_struct.html#fusion.adapted.adapt_assoc_tpl_struct.example">Example</a> + </h5> +<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">demo</span> +<span class="special">{</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Name</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Age</span><span class="special">></span> + <span class="keyword">struct</span> <span class="identifier">employee</span> + <span class="special">{</span> + <span class="identifier">Name</span> <span class="identifier">name</span><span class="special">;</span> + <span class="identifier">Age</span> <span class="identifier">age</span><span class="special">;</span> + <span class="special">};</span> +<span class="special">}</span> + +<span class="keyword">namespace</span> <span class="identifier">keys</span> +<span class="special">{</span> + <span class="keyword">struct</span> <span class="identifier">name</span><span class="special">;</span> + <span class="keyword">struct</span> <span class="identifier">age</span><span class="special">;</span> +<span class="special">}</span> + +<span class="comment">// Any instantiated demo::employee is now a Fusion sequence.</span> +<span class="comment">// It is also an associative sequence with</span> +<span class="comment">// keys keys::name and keys::age present.</span> +<span class="identifier">BOOST_FUSION_ADAPT_ASSOC_TPL_STRUCT</span><span class="special">(</span> + <span class="special">(</span><span class="identifier">Name</span><span class="special">)(</span><span class="identifier">Age</span><span class="special">),</span> + <span class="special">(</span><span class="identifier">demo</span><span class="special">::</span><span class="identifier">employee</span><span class="special">)</span> <span class="special">(</span><span class="identifier">Name</span><span class="special">)(</span><span class="identifier">Age</span><span class="special">),</span> + <span class="special">(</span><span class="identifier">Name</span><span class="special">,</span> <span class="identifier">name</span><span class="special">,</span> <span class="identifier">keys</span><span class="special">::</span><span class="identifier">name</span><span class="special">)</span> + <span class="special">(</span><span class="identifier">Age</span><span class="special">,</span> <span class="identifier">age</span><span class="special">,</span> <span class="identifier">keys</span><span class="special">::</span><span class="identifier">age</span><span class="special">))</span> +</pre> +</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-2006, 2011 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="adapt_assoc.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapted.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="adapt_assoc_struct_named.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/adapted/adapt_struct.html b/libs/fusion/doc/html/fusion/adapted/adapt_struct.html new file mode 100755 index 0000000000..a6fd5bfd3f --- /dev/null +++ b/libs/fusion/doc/html/fusion/adapted/adapt_struct.html @@ -0,0 +1,106 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>BOOST_FUSION_ADAPT_STRUCT</title> +<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../adapted.html" title="Adapted"> +<link rel="prev" href="boost__tuple.html" title="boost::tuple"> +<link rel="next" href="adapt_tpl_struct.html" title="BOOST_FUSION_ADAPT_TPL_STRUCT"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="boost__tuple.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapted.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="adapt_tpl_struct.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h3 class="title"> +<a name="fusion.adapted.adapt_struct"></a><a class="link" href="adapt_struct.html" title="BOOST_FUSION_ADAPT_STRUCT">BOOST_FUSION_ADAPT_STRUCT</a> +</h3></div></div></div> +<h5> +<a name="fusion.adapted.adapt_struct.h0"></a> + <span><a name="fusion.adapted.adapt_struct.description"></a></span><a class="link" href="adapt_struct.html#fusion.adapted.adapt_struct.description">Description</a> + </h5> +<p> + BOOST_FUSION_ADAPT_STRUCT is a macro that can be used to generate all the + necessary boilerplate to make an arbitrary struct a model of <a class="link" href="../sequence/concepts/random_access_sequence.html" title="Random Access Sequence">Random + Access Sequence</a>. + </p> +<h5> +<a name="fusion.adapted.adapt_struct.h1"></a> + <span><a name="fusion.adapted.adapt_struct.synopsis"></a></span><a class="link" href="adapt_struct.html#fusion.adapted.adapt_struct.synopsis">Synopsis</a> + </h5> +<pre class="programlisting"><span class="identifier">BOOST_FUSION_ADAPT_STRUCT</span><span class="special">(</span> + <span class="identifier">struct_name</span><span class="special">,</span> + <span class="special">(</span><span class="identifier">member_type0</span><span class="special">,</span> <span class="identifier">member_name0</span><span class="special">)</span> + <span class="special">(</span><span class="identifier">member_type1</span><span class="special">,</span> <span class="identifier">member_name1</span><span class="special">)</span> + <span class="special">...</span> + <span class="special">)</span> +</pre> +<h5> +<a name="fusion.adapted.adapt_struct.h2"></a> + <span><a name="fusion.adapted.adapt_struct.semantics"></a></span><a class="link" href="adapt_struct.html#fusion.adapted.adapt_struct.semantics">Semantics</a> + </h5> +<p> + The above macro generates the necessary code to adapt <code class="computeroutput"><span class="identifier">struct_name</span></code> + as a model of <a class="link" href="../sequence/concepts/random_access_sequence.html" title="Random Access Sequence">Random + Access Sequence</a>. The sequence of <code class="computeroutput"><span class="special">(</span><span class="identifier">member_typeN</span><span class="special">,</span> + <span class="identifier">member_nameN</span><span class="special">)</span></code> + pairs declares the type and names of each of the struct members that are + part of the sequence. + </p> +<p> + The macro should be used at global scope, and <code class="computeroutput"><span class="identifier">struct_name</span></code> + should be the fully namespace qualified name of the struct to be adapted. + </p> +<h5> +<a name="fusion.adapted.adapt_struct.h3"></a> + <span><a name="fusion.adapted.adapt_struct.header"></a></span><a class="link" href="adapt_struct.html#fusion.adapted.adapt_struct.header">Header</a> + </h5> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">adapted</span><span class="special">/</span><span class="keyword">struct</span><span class="special">/</span><span class="identifier">adapt_struct</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">adapt_struct</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h5> +<a name="fusion.adapted.adapt_struct.h4"></a> + <span><a name="fusion.adapted.adapt_struct.example"></a></span><a class="link" href="adapt_struct.html#fusion.adapted.adapt_struct.example">Example</a> + </h5> +<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">demo</span> +<span class="special">{</span> + <span class="keyword">struct</span> <span class="identifier">employee</span> + <span class="special">{</span> + <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">name</span><span class="special">;</span> + <span class="keyword">int</span> <span class="identifier">age</span><span class="special">;</span> + <span class="special">};</span> +<span class="special">}</span> + +<span class="comment">// demo::employee is now a Fusion sequence</span> +<span class="identifier">BOOST_FUSION_ADAPT_STRUCT</span><span class="special">(</span> + <span class="identifier">demo</span><span class="special">::</span><span class="identifier">employee</span><span class="special">,</span> + <span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">,</span> <span class="identifier">name</span><span class="special">)</span> + <span class="special">(</span><span class="keyword">int</span><span class="special">,</span> <span class="identifier">age</span><span class="special">))</span> +</pre> +</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-2006, 2011 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="boost__tuple.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapted.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="adapt_tpl_struct.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/adapted/adapt_struct_named.html b/libs/fusion/doc/html/fusion/adapted/adapt_struct_named.html new file mode 100755 index 0000000000..0371cf3e76 --- /dev/null +++ b/libs/fusion/doc/html/fusion/adapted/adapt_struct_named.html @@ -0,0 +1,125 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>BOOST_FUSION_ADAPT_STRUCT_NAMED</title> +<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../adapted.html" title="Adapted"> +<link rel="prev" href="adapt_tpl_struct.html" title="BOOST_FUSION_ADAPT_TPL_STRUCT"> +<link rel="next" href="adapt_assoc.html" title="BOOST_FUSION_ADAPT_ASSOC_STRUCT"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="adapt_tpl_struct.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapted.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="adapt_assoc.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h3 class="title"> +<a name="fusion.adapted.adapt_struct_named"></a><a class="link" href="adapt_struct_named.html" title="BOOST_FUSION_ADAPT_STRUCT_NAMED">BOOST_FUSION_ADAPT_STRUCT_NAMED</a> +</h3></div></div></div> +<h5> +<a name="fusion.adapted.adapt_struct_named.h0"></a> + <span><a name="fusion.adapted.adapt_struct_named.description"></a></span><a class="link" href="adapt_struct_named.html#fusion.adapted.adapt_struct_named.description">Description</a> + </h5> +<p> + BOOST_FUSION_ADAPT_STRUCT_NAMED and BOOST_FUSION_ADAPT_STRUCT_NAMED_NS are + macros that can be used to generate all the necessary boilerplate to make + an arbitrary struct a model of <a class="link" href="../sequence/concepts/random_access_sequence.html" title="Random Access Sequence">Random + Access Sequence</a>. The given struct is adapted using the given name. + </p> +<h5> +<a name="fusion.adapted.adapt_struct_named.h1"></a> + <span><a name="fusion.adapted.adapt_struct_named.synopsis"></a></span><a class="link" href="adapt_struct_named.html#fusion.adapted.adapt_struct_named.synopsis">Synopsis</a> + </h5> +<pre class="programlisting"><span class="identifier">BOOST_FUSION_ADAPT_STRUCT_NAMED</span><span class="special">(</span> + <span class="identifier">struct_name</span><span class="special">,</span> <span class="identifier">adapted_name</span><span class="special">,</span> + <span class="special">(</span><span class="identifier">member_type0</span><span class="special">,</span> <span class="identifier">member_name0</span><span class="special">)</span> + <span class="special">(</span><span class="identifier">member_type1</span><span class="special">,</span> <span class="identifier">member_name1</span><span class="special">)</span> + <span class="special">...</span> + <span class="special">)</span> + +<span class="identifier">BOOST_FUSION_ADAPT_STRUCT_NAMED_NS</span><span class="special">(</span> + <span class="identifier">struct_name</span><span class="special">,</span> + <span class="special">(</span><span class="identifier">namespace0</span><span class="special">)(</span><span class="identifier">namespace1</span><span class="special">)...,</span> + <span class="identifier">adapted_name</span><span class="special">,</span> + <span class="special">(</span><span class="identifier">member_type0</span><span class="special">,</span> <span class="identifier">member_name0</span><span class="special">)</span> + <span class="special">(</span><span class="identifier">member_type1</span><span class="special">,</span> <span class="identifier">member_name1</span><span class="special">)</span> + <span class="special">...</span> + <span class="special">)</span> +</pre> +<h5> +<a name="fusion.adapted.adapt_struct_named.h2"></a> + <span><a name="fusion.adapted.adapt_struct_named.semantics"></a></span><a class="link" href="adapt_struct_named.html#fusion.adapted.adapt_struct_named.semantics">Semantics</a> + </h5> +<p> + The above macros generate the necessary code to adapt <code class="computeroutput"><span class="identifier">struct_name</span></code> + as a model of <a class="link" href="../sequence/concepts/random_access_sequence.html" title="Random Access Sequence">Random + Access Sequence</a> while using <code class="computeroutput"><span class="identifier">adapted_name</span></code> + as the name of the adapted struct. The sequence <code class="computeroutput"><span class="special">(</span><span class="identifier">namespace0</span><span class="special">)(</span><span class="identifier">namespace1</span><span class="special">)...</span></code> + declares the namespace for <code class="computeroutput"><span class="identifier">adapted_name</span></code>. + It yields to a fully qualified name for <code class="computeroutput"><span class="identifier">adapted_name</span></code> + of <code class="computeroutput"><span class="identifier">namespace0</span><span class="special">::</span><span class="identifier">namespace1</span><span class="special">::...</span> + <span class="identifier">adapted_name</span></code>. If an empty namespace + sequence is given (that is a macro that expands to nothing), the adapted + view is placed in the global namespace. If no namespace sequence is given + (i.e. <code class="computeroutput"><span class="identifier">BOOST_FUSION_ADAPT_STRUCT_NAMED</span></code>), + the adapted view is placed in the namespace <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">fusion</span><span class="special">::</span><span class="identifier">adapted</span></code>. + The sequence of <code class="computeroutput"><span class="special">(</span><span class="identifier">member_typeN</span><span class="special">,</span> <span class="identifier">member_nameN</span><span class="special">)</span></code> pairs declares the type and names of each + of the struct members that are part of the sequence. + </p> +<p> + The macros should be used at global scope, and <code class="computeroutput"><span class="identifier">struct_name</span></code> + should be the fully namespace qualified name of the struct to be converted. + </p> +<h5> +<a name="fusion.adapted.adapt_struct_named.h3"></a> + <span><a name="fusion.adapted.adapt_struct_named.header"></a></span><a class="link" href="adapt_struct_named.html#fusion.adapted.adapt_struct_named.header">Header</a> + </h5> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">adapted</span><span class="special">/</span><span class="keyword">struct</span><span class="special">/</span><span class="identifier">adapt_struct_named</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">adapt_struct_named</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h5> +<a name="fusion.adapted.adapt_struct_named.h4"></a> + <span><a name="fusion.adapted.adapt_struct_named.example"></a></span><a class="link" href="adapt_struct_named.html#fusion.adapted.adapt_struct_named.example">Example</a> + </h5> +<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">demo</span> +<span class="special">{</span> + <span class="keyword">struct</span> <span class="identifier">employee</span> + <span class="special">{</span> + <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">name</span><span class="special">;</span> + <span class="keyword">int</span> <span class="identifier">age</span><span class="special">;</span> + <span class="special">};</span> +<span class="special">}</span> + +<span class="comment">// boost::fusion::adapted::adapted_employee is now a Fusion sequence</span> +<span class="comment">// referring to demo::employee</span> +<span class="identifier">BOOST_FUSION_ADAPT_STRUCT_NAMED</span><span class="special">(</span> + <span class="identifier">demo</span><span class="special">::</span><span class="identifier">employee</span><span class="special">,</span> <span class="identifier">adapted_employee</span><span class="special">,</span> + <span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">,</span> <span class="identifier">name</span><span class="special">)</span> + <span class="special">(</span><span class="keyword">int</span><span class="special">,</span> <span class="identifier">age</span><span class="special">))</span> +</pre> +</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-2006, 2011 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="adapt_tpl_struct.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapted.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="adapt_assoc.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/adapted/adapt_tpl_adt.html b/libs/fusion/doc/html/fusion/adapted/adapt_tpl_adt.html new file mode 100755 index 0000000000..179da73779 --- /dev/null +++ b/libs/fusion/doc/html/fusion/adapted/adapt_tpl_adt.html @@ -0,0 +1,175 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>BOOST_FUSION_ADAPT_TPL_ADT</title> +<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../adapted.html" title="Adapted"> +<link rel="prev" href="adapt_adt.html" title="BOOST_FUSION_ADAPT_ADT"> +<link rel="next" href="adapt_assoc_adt.html" title="BOOST_FUSION_ADAPT_ASSOC_ADT"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="adapt_adt.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapted.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="adapt_assoc_adt.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h3 class="title"> +<a name="fusion.adapted.adapt_tpl_adt"></a><a class="link" href="adapt_tpl_adt.html" title="BOOST_FUSION_ADAPT_TPL_ADT">BOOST_FUSION_ADAPT_TPL_ADT</a> +</h3></div></div></div> +<p> + BOOST_FUSION_ADAPT_TPL_ADT is a macro than can be used to generate all the + necessary boilerplate to adapt an arbitrary template class type as a model + of <a class="link" href="../sequence/concepts/random_access_sequence.html" title="Random Access Sequence">Random + Access Sequence</a>. + </p> +<h5> +<a name="fusion.adapted.adapt_tpl_adt.h0"></a> + <span><a name="fusion.adapted.adapt_tpl_adt.synopsis"></a></span><a class="link" href="adapt_tpl_adt.html#fusion.adapted.adapt_tpl_adt.synopsis">Synopsis</a> + </h5> +<pre class="programlisting"><span class="identifier">BOOST_FUSION_ADAPT_ADT</span><span class="special">(</span> + <span class="special">(</span><span class="identifier">template_param0</span><span class="special">)(</span><span class="identifier">template_param1</span><span class="special">)...,</span> + <span class="special">(</span><span class="identifier">type_name</span><span class="special">)</span> <span class="special">(</span><span class="identifier">specialization_param0</span><span class="special">)(</span><span class="identifier">specialization_param1</span><span class="special">)...,</span> + <span class="special">(</span><span class="identifier">attribute_type0</span><span class="special">,</span> <span class="identifier">attribute_const_type0</span><span class="special">,</span> <span class="identifier">get_expr0</span><span class="special">,</span> <span class="identifier">set_expr0</span><span class="special">)</span> + <span class="special">(</span><span class="identifier">attribute_type1</span><span class="special">,</span> <span class="identifier">attribute_const_type1</span><span class="special">,</span> <span class="identifier">get_expr1</span><span class="special">,</span> <span class="identifier">set_expr1</span><span class="special">)</span> + <span class="special">...</span> + <span class="special">)</span> +</pre> +<h5> +<a name="fusion.adapted.adapt_tpl_adt.h1"></a> + <span><a name="fusion.adapted.adapt_tpl_adt.expression_semantics"></a></span><a class="link" href="adapt_tpl_adt.html#fusion.adapted.adapt_tpl_adt.expression_semantics">Expression + Semantics</a> + </h5> +<p> + The above macro generates the necessary code to adapt <code class="computeroutput"><span class="identifier">type_name</span></code> + or an arbitrary specialization of <code class="computeroutput"><span class="identifier">type_name</span></code> + as a model of <a class="link" href="../sequence/concepts/random_access_sequence.html" title="Random Access Sequence">Random + Access Sequence</a>. The sequence <code class="computeroutput"><span class="special">(</span><span class="identifier">template_param0</span><span class="special">)(</span><span class="identifier">template_param1</span><span class="special">)...</span></code> + declares the names of the template type parameters used. The sequence <code class="computeroutput"><span class="special">(</span><span class="identifier">specialization_param0</span><span class="special">)(</span><span class="identifier">specialization_param1</span><span class="special">)...</span></code> declares the template parameters of the + actual specialization of <code class="computeroutput"><span class="identifier">type_name</span></code> + that is adapted as a fusion sequence. The sequence of <code class="literal">(attribute_type<span class="emphasis"><em>N</em></span>, + attribute_const_type<span class="emphasis"><em>N</em></span>, get_expr<span class="emphasis"><em>N</em></span>, + set_expr<span class="emphasis"><em>N</em></span>)</code> quadruples declares the types, + const types, get-expressions and set-expressions of the elements that are + part of the adapted fusion sequence. <code class="literal">get_expr<span class="emphasis"><em>N</em></span></code> + is the expression that is invoked to get the <span class="emphasis"><em>N</em></span>th element + of an instance of <code class="computeroutput"><span class="identifier">type_name</span></code>. + This expression may access a variable named <code class="computeroutput"><span class="identifier">obj</span></code> + of type <code class="computeroutput"><span class="identifier">type_name</span><span class="special">&</span></code> + or <code class="computeroutput"><span class="identifier">type_name</span> <span class="keyword">const</span><span class="special">&</span></code> which represents the underlying instance + of <code class="computeroutput"><span class="identifier">type_name</span></code>. <code class="literal">attribute_type<span class="emphasis"><em>N</em></span></code> + and <code class="literal">attribute_const_type<span class="emphasis"><em>N</em></span></code> may specify + the types that <code class="literal">get_expr<span class="emphasis"><em>N</em></span></code> denotes + to. <code class="literal">set_expr<span class="emphasis"><em>N</em></span></code> is the expression that + is invoked to set the <span class="emphasis"><em>N</em></span>th element of an instance of + <code class="computeroutput"><span class="identifier">type_name</span></code>. This expression + may access variables named <code class="computeroutput"><span class="identifier">obj</span></code> + of type <code class="computeroutput"><span class="identifier">type_name</span><span class="special">&</span></code>, + which represent the corresponding instance of <code class="computeroutput"><span class="identifier">type_name</span></code>, + and <code class="computeroutput"><span class="identifier">val</span></code> of an arbitrary const-qualified + reference template type parameter <code class="computeroutput"><span class="identifier">Val</span></code>, + which represents the right operand of the assignment expression. + </p> +<p> + The actual return type of fusion's intrinsic sequence access (meta-)functions + when in invoked with (an instance of) <code class="computeroutput"><span class="identifier">type_name</span></code> + is a proxy type. This type is implicitly convertible to the attribute type + via <code class="literal">get_expr<span class="emphasis"><em>N</em></span></code> and forwards assignment + to the underlying element via <code class="literal">set_expr<span class="emphasis"><em>N</em></span></code>. + The value type (that is the type returned by <a class="link" href="../iterator/metafunctions/value_of.html" title="value_of"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">value_of</span></code></a>, <a class="link" href="../sequence/intrinsic/metafunctions/value_at.html" title="value_at"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">value_at</span></code></a> and <a class="link" href="../sequence/intrinsic/metafunctions/value_at_c.html" title="value_at_c"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">value_at_c</span></code></a>) of the <span class="emphasis"><em>N</em></span>th + element is <code class="literal">attribute_type<span class="emphasis"><em>N</em></span></code> with const-qualifier + and reference removed. + </p> +<p> + The macro should be used at global scope, and <code class="computeroutput"><span class="identifier">type_name</span></code> + should be the fully namespace qualified name of the template class type to + be adapted. + </p> +<h5> +<a name="fusion.adapted.adapt_tpl_adt.h2"></a> + <span><a name="fusion.adapted.adapt_tpl_adt.header"></a></span><a class="link" href="adapt_tpl_adt.html#fusion.adapted.adapt_tpl_adt.header">Header</a> + </h5> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">adapted</span><span class="special">/</span><span class="identifier">adt</span><span class="special">/</span><span class="identifier">adapt_adt</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">adapt_adt</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h5> +<a name="fusion.adapted.adapt_tpl_adt.h3"></a> + <span><a name="fusion.adapted.adapt_tpl_adt.example"></a></span><a class="link" href="adapt_tpl_adt.html#fusion.adapted.adapt_tpl_adt.example">Example</a> + </h5> +<pre class="programlisting"> <span class="keyword">namespace</span> <span class="identifier">demo</span> + <span class="special">{</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Name</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Age</span><span class="special">></span> + <span class="keyword">struct</span> <span class="identifier">employee</span> + <span class="special">{</span> + <span class="keyword">private</span><span class="special">:</span> + <span class="identifier">Name</span> <span class="identifier">name</span><span class="special">;</span> + <span class="identifier">Age</span> <span class="identifier">age</span><span class="special">;</span> + + <span class="keyword">public</span><span class="special">:</span> + <span class="keyword">void</span> <span class="identifier">set_name</span><span class="special">(</span><span class="identifier">Name</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">n</span><span class="special">)</span> + <span class="special">{</span> + <span class="identifier">name</span><span class="special">=</span><span class="identifier">n</span><span class="special">;</span> + <span class="special">}</span> + + <span class="keyword">void</span> <span class="identifier">set_age</span><span class="special">(</span><span class="identifier">Age</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">a</span><span class="special">)</span> + <span class="special">{</span> + <span class="identifier">age</span><span class="special">=</span><span class="identifier">a</span><span class="special">;</span> + <span class="special">}</span> + + <span class="identifier">Name</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">get_name</span><span class="special">()</span><span class="keyword">const</span> + <span class="special">{</span> + <span class="keyword">return</span> <span class="identifier">name</span><span class="special">;</span> + <span class="special">}</span> + + <span class="identifier">Age</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">get_age</span><span class="special">()</span><span class="keyword">const</span> + <span class="special">{</span> + <span class="keyword">return</span> <span class="identifier">age</span><span class="special">;</span> + <span class="special">}</span> + <span class="special">};</span> + <span class="special">}</span> + + <span class="identifier">BOOST_FUSION_ADAPT_TPL_ADT</span><span class="special">(</span> + <span class="special">(</span><span class="identifier">Name</span><span class="special">)(</span><span class="identifier">Age</span><span class="special">),</span> + <span class="special">(</span><span class="identifier">demo</span><span class="special">::</span><span class="identifier">employee</span><span class="special">)</span> <span class="special">(</span><span class="identifier">Name</span><span class="special">)(</span><span class="identifier">Age</span><span class="special">),</span> + <span class="special">(</span><span class="identifier">Name</span> <span class="keyword">const</span><span class="special">&,</span> <span class="identifier">Name</span> <span class="keyword">const</span><span class="special">&,</span> <span class="identifier">obj</span><span class="special">.</span><span class="identifier">get_name</span><span class="special">(),</span> <span class="identifier">obj</span><span class="special">.</span><span class="identifier">set_name</span><span class="special">(</span><span class="identifier">val</span><span class="special">))</span> + <span class="special">(</span><span class="identifier">Age</span> <span class="keyword">const</span><span class="special">&,</span> <span class="identifier">Age</span> <span class="keyword">const</span><span class="special">&,</span> <span class="identifier">obj</span><span class="special">.</span><span class="identifier">get_age</span><span class="special">(),</span> <span class="identifier">obj</span><span class="special">.</span><span class="identifier">set_age</span><span class="special">(</span><span class="identifier">val</span><span class="special">)))</span> + + <span class="identifier">demo</span><span class="special">::</span><span class="identifier">employee</span><span class="special"><</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">,</span> <span class="keyword">int</span><span class="special">></span> <span class="identifier">e</span><span class="special">;</span> + <span class="identifier">boost</span><span class="special">::</span><span class="identifier">fusion</span><span class="special">::</span><span class="identifier">front</span><span class="special">(</span><span class="identifier">e</span><span class="special">)=</span><span class="string">"Edward Norton"</span><span class="special">;</span> + <span class="identifier">boost</span><span class="special">::</span><span class="identifier">fusion</span><span class="special">::</span><span class="identifier">back</span><span class="special">(</span><span class="identifier">e</span><span class="special">)=</span><span class="number">41</span><span class="special">;</span> + <span class="comment">//Prints 'Edward Norton is 41 years old'</span> + <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special"><<</span> <span class="identifier">e</span><span class="special">.</span><span class="identifier">get_name</span><span class="special">()</span> <span class="special"><<</span> <span class="string">" is "</span> <span class="special"><<</span> <span class="identifier">e</span><span class="special">.</span><span class="identifier">get_age</span><span class="special">()</span> <span class="special"><<</span> <span class="string">" years old"</span> <span class="special"><<</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span> +</pre> +<h5> +<a name="fusion.adapted.adapt_tpl_adt.h4"></a> + <span><a name="fusion.adapted.adapt_tpl_adt.see_also"></a></span><a class="link" href="adapt_tpl_adt.html#fusion.adapted.adapt_tpl_adt.see_also">See + also</a> + </h5> +<p> + <a class="link" href="../notes.html#fusion.notes.adt_attribute_proxy"><code class="computeroutput"><span class="identifier">adt_attribute_proxy</span></code></a> + </p> +</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-2006, 2011 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="adapt_adt.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapted.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="adapt_assoc_adt.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/adapted/adapt_tpl_struct.html b/libs/fusion/doc/html/fusion/adapted/adapt_tpl_struct.html new file mode 100755 index 0000000000..41c0519048 --- /dev/null +++ b/libs/fusion/doc/html/fusion/adapted/adapt_tpl_struct.html @@ -0,0 +1,114 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>BOOST_FUSION_ADAPT_TPL_STRUCT</title> +<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../adapted.html" title="Adapted"> +<link rel="prev" href="adapt_struct.html" title="BOOST_FUSION_ADAPT_STRUCT"> +<link rel="next" href="adapt_struct_named.html" title="BOOST_FUSION_ADAPT_STRUCT_NAMED"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="adapt_struct.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapted.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="adapt_struct_named.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h3 class="title"> +<a name="fusion.adapted.adapt_tpl_struct"></a><a class="link" href="adapt_tpl_struct.html" title="BOOST_FUSION_ADAPT_TPL_STRUCT">BOOST_FUSION_ADAPT_TPL_STRUCT</a> +</h3></div></div></div> +<h5> +<a name="fusion.adapted.adapt_tpl_struct.h0"></a> + <span><a name="fusion.adapted.adapt_tpl_struct.description"></a></span><a class="link" href="adapt_tpl_struct.html#fusion.adapted.adapt_tpl_struct.description">Description</a> + </h5> +<p> + BOOST_FUSION_ADAPT_TPL_STRUCT is a macro that can be used to generate all + the necessary boilerplate to make an arbitrary template struct a model of + <a class="link" href="../sequence/concepts/random_access_sequence.html" title="Random Access Sequence">Random Access + Sequence</a>. + </p> +<h5> +<a name="fusion.adapted.adapt_tpl_struct.h1"></a> + <span><a name="fusion.adapted.adapt_tpl_struct.synopsis"></a></span><a class="link" href="adapt_tpl_struct.html#fusion.adapted.adapt_tpl_struct.synopsis">Synopsis</a> + </h5> +<pre class="programlisting"><span class="identifier">BOOST_FUSION_ADAPT_TPL_STRUCT</span><span class="special">(</span> + <span class="special">(</span><span class="identifier">template_param0</span><span class="special">)(</span><span class="identifier">template_param1</span><span class="special">)...,</span> + <span class="special">(</span><span class="identifier">struct_name</span><span class="special">)</span> <span class="special">(</span><span class="identifier">specialization_param0</span><span class="special">)(</span><span class="identifier">specialization_param1</span><span class="special">)...,</span> + <span class="special">(</span><span class="identifier">member_type0</span><span class="special">,</span> <span class="identifier">member_name0</span><span class="special">)</span> + <span class="special">(</span><span class="identifier">member_type1</span><span class="special">,</span> <span class="identifier">member_name1</span><span class="special">)</span> + <span class="special">...</span> + <span class="special">)</span> +</pre> +<h5> +<a name="fusion.adapted.adapt_tpl_struct.h2"></a> + <span><a name="fusion.adapted.adapt_tpl_struct.semantics"></a></span><a class="link" href="adapt_tpl_struct.html#fusion.adapted.adapt_tpl_struct.semantics">Semantics</a> + </h5> +<p> + The above macro generates the necessary code to adapt <code class="computeroutput"><span class="identifier">struct_name</span></code> + or an arbitrary specialization of <code class="computeroutput"><span class="identifier">struct_name</span></code> + as a model of <a class="link" href="../sequence/concepts/random_access_sequence.html" title="Random Access Sequence">Random + Access Sequence</a>. The sequence <code class="computeroutput"><span class="special">(</span><span class="identifier">template_param0</span><span class="special">)(</span><span class="identifier">template_param1</span><span class="special">)...</span></code> + declares the names of the template type parameters used. The sequence <code class="computeroutput"><span class="special">(</span><span class="identifier">specialization_param0</span><span class="special">)(</span><span class="identifier">specialization_param1</span><span class="special">)...</span></code> declares the template parameters of the + actual specialization of <code class="computeroutput"><span class="identifier">struct_name</span></code> + that is adapted as a fusion sequence. The sequence of <code class="computeroutput"><span class="special">(</span><span class="identifier">member_typeN</span><span class="special">,</span> + <span class="identifier">member_nameN</span><span class="special">)</span></code> + pairs declares the type and names of each of the struct members that are + part of the sequence. + </p> +<p> + The macro should be used at global scope, and <code class="computeroutput"><span class="identifier">struct_name</span></code> + should be the fully namespace qualified name of the struct to be adapted. + </p> +<h5> +<a name="fusion.adapted.adapt_tpl_struct.h3"></a> + <span><a name="fusion.adapted.adapt_tpl_struct.header"></a></span><a class="link" href="adapt_tpl_struct.html#fusion.adapted.adapt_tpl_struct.header">Header</a> + </h5> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">adapted</span><span class="special">/</span><span class="keyword">struct</span><span class="special">/</span><span class="identifier">adapt_struct</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">adapt_struct</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h5> +<a name="fusion.adapted.adapt_tpl_struct.h4"></a> + <span><a name="fusion.adapted.adapt_tpl_struct.example"></a></span><a class="link" href="adapt_tpl_struct.html#fusion.adapted.adapt_tpl_struct.example">Example</a> + </h5> +<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">demo</span> +<span class="special">{</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Name</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Age</span><span class="special">></span> + <span class="keyword">struct</span> <span class="identifier">employee</span> + <span class="special">{</span> + <span class="identifier">Name</span> <span class="identifier">name</span><span class="special">;</span> + <span class="identifier">Age</span> <span class="identifier">age</span><span class="special">;</span> + <span class="special">};</span> +<span class="special">}</span> + +<span class="comment">// Any instantiated demo::employee is now a Fusion sequence</span> +<span class="identifier">BOOST_FUSION_ADAPT_TPL_STRUCT</span><span class="special">(</span> + <span class="special">(</span><span class="identifier">Name</span><span class="special">)(</span><span class="identifier">Age</span><span class="special">),</span> + <span class="special">(</span><span class="identifier">demo</span><span class="special">::</span><span class="identifier">employee</span><span class="special">)</span> <span class="special">(</span><span class="identifier">Name</span><span class="special">)(</span><span class="identifier">Age</span><span class="special">),</span> + <span class="special">(</span><span class="identifier">Name</span><span class="special">,</span> <span class="identifier">name</span><span class="special">)</span> + <span class="special">(</span><span class="identifier">Age</span><span class="special">,</span> <span class="identifier">age</span><span class="special">))</span> +</pre> +</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-2006, 2011 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="adapt_struct.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapted.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="adapt_struct_named.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/adapted/array.html b/libs/fusion/doc/html/fusion/adapted/array.html new file mode 100755 index 0000000000..28ea840464 --- /dev/null +++ b/libs/fusion/doc/html/fusion/adapted/array.html @@ -0,0 +1,77 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Array</title> +<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../adapted.html" title="Adapted"> +<link rel="prev" href="../adapted.html" title="Adapted"> +<link rel="next" href="std__pair.html" title="std::pair"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="../adapted.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapted.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="std__pair.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h3 class="title"> +<a name="fusion.adapted.array"></a><a class="link" href="array.html" title="Array">Array</a> +</h3></div></div></div> +<p> + This module provides adapters for arrays. Including the module header makes + any array a fully conforming <a class="link" href="../sequence/concepts/random_access_sequence.html" title="Random Access Sequence">Random + Access Sequence</a>. + </p> +<h5> +<a name="fusion.adapted.array.h0"></a> + <span><a name="fusion.adapted.array.header"></a></span><a class="link" href="array.html#fusion.adapted.array.header">Header</a> + </h5> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">adapted</span><span class="special">/</span><span class="identifier">array</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">array</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h5> +<a name="fusion.adapted.array.h1"></a> + <span><a name="fusion.adapted.array.model_of"></a></span><a class="link" href="array.html#fusion.adapted.array.model_of">Model + of</a> + </h5> +<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"> + <a class="link" href="../sequence/concepts/random_access_sequence.html" title="Random Access Sequence">Random + Access Sequence</a> + </li></ul></div> +<h5> +<a name="fusion.adapted.array.h2"></a> + <span><a name="fusion.adapted.array.example"></a></span><a class="link" href="array.html#fusion.adapted.array.example">Example</a> + </h5> +<pre class="programlisting"><span class="keyword">int</span> <span class="identifier">arr</span><span class="special">[</span><span class="number">3</span><span class="special">]</span> <span class="special">=</span> <span class="special">{</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">,</span><span class="number">3</span><span class="special">};</span> + +<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special"><<</span> <span class="special">*</span><a class="link" href="../sequence/intrinsic/functions/begin.html" title="begin"><code class="computeroutput"><span class="identifier">begin</span></code></a><span class="special">(</span><span class="identifier">arr</span><span class="special">)</span> <span class="special"><<</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span> +<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special"><<</span> <span class="special">*</span><a class="link" href="../iterator/functions/next.html" title="next"><code class="computeroutput"><span class="identifier">next</span></code></a><span class="special">(</span><a class="link" href="../sequence/intrinsic/functions/begin.html" title="begin"><code class="computeroutput"><span class="identifier">begin</span></code></a><span class="special">(</span><span class="identifier">arr</span><span class="special">))</span> <span class="special"><<</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span> +<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special"><<</span> <span class="special">*</span><a class="link" href="../iterator/functions/advance_c.html" title="advance_c"><code class="computeroutput"><span class="identifier">advance_c</span></code></a><span class="special"><</span><span class="number">2</span><span class="special">>(</span><a class="link" href="../sequence/intrinsic/functions/begin.html" title="begin"><code class="computeroutput"><span class="identifier">begin</span></code></a><span class="special">(</span><span class="identifier">arr</span><span class="special">))</span> <span class="special"><<</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span> +<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special"><<</span> <span class="special">*</span><a class="link" href="../iterator/functions/prior.html" title="prior"><code class="computeroutput"><span class="identifier">prior</span></code></a><span class="special">(</span><a class="link" href="../sequence/intrinsic/functions/end.html" title="end"><code class="computeroutput"><span class="identifier">end</span></code></a><span class="special">(</span><span class="identifier">arr</span><span class="special">))</span> <span class="special"><<</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span> +<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special"><<</span> <a class="link" href="../sequence/intrinsic/functions/at_c.html" title="at_c"><code class="computeroutput"><span class="identifier">at_c</span></code></a><span class="special"><</span><span class="number">2</span><span class="special">>(</span><span class="identifier">arr</span><span class="special">)</span> <span class="special"><<</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span> +</pre> +</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-2006, 2011 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="../adapted.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapted.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="std__pair.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/adapted/boost__array.html b/libs/fusion/doc/html/fusion/adapted/boost__array.html new file mode 100755 index 0000000000..04c4b76ae5 --- /dev/null +++ b/libs/fusion/doc/html/fusion/adapted/boost__array.html @@ -0,0 +1,86 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>boost::array</title> +<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../adapted.html" title="Adapted"> +<link rel="prev" href="mpl_sequence.html" title="mpl sequence"> +<link rel="next" href="boost__tuple.html" title="boost::tuple"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="mpl_sequence.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapted.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="boost__tuple.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h3 class="title"> +<a name="fusion.adapted.boost__array"></a><a class="link" href="boost__array.html" title="boost::array">boost::array</a> +</h3></div></div></div> +<p> + This module provides adapters for <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span></code>. + Including the module header makes <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span></code> + a fully conforming <a class="link" href="../sequence/concepts/random_access_sequence.html" title="Random Access Sequence">Random + Access Sequence</a>. + </p> +<h5> +<a name="fusion.adapted.boost__array.h0"></a> + <span><a name="fusion.adapted.boost__array.header"></a></span><a class="link" href="boost__array.html#fusion.adapted.boost__array.header">Header</a> + </h5> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">adapted</span><span class="special">/</span><span class="identifier">boost_array</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">boost_array</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h5> +<a name="fusion.adapted.boost__array.h1"></a> + <span><a name="fusion.adapted.boost__array.model_of"></a></span><a class="link" href="boost__array.html#fusion.adapted.boost__array.model_of">Model + of</a> + </h5> +<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"> + <a class="link" href="../sequence/concepts/random_access_sequence.html" title="Random Access Sequence">Random + Access Sequence</a> + </li></ul></div> +<h5> +<a name="fusion.adapted.boost__array.h2"></a> + <span><a name="fusion.adapted.boost__array.example"></a></span><a class="link" href="boost__array.html#fusion.adapted.boost__array.example">Example</a> + </h5> +<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span><span class="number">3</span><span class="special">></span> <span class="identifier">arr</span> <span class="special">=</span> <span class="special">{{</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">,</span><span class="number">3</span><span class="special">}};</span> + +<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special"><<</span> <span class="special">*</span><a class="link" href="../sequence/intrinsic/functions/begin.html" title="begin"><code class="computeroutput"><span class="identifier">begin</span></code></a><span class="special">(</span><span class="identifier">arr</span><span class="special">)</span> <span class="special"><<</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span> +<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special"><<</span> <span class="special">*</span><a class="link" href="../iterator/functions/next.html" title="next"><code class="computeroutput"><span class="identifier">next</span></code></a><span class="special">(</span><a class="link" href="../sequence/intrinsic/functions/begin.html" title="begin"><code class="computeroutput"><span class="identifier">begin</span></code></a><span class="special">(</span><span class="identifier">arr</span><span class="special">))</span> <span class="special"><<</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span> +<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special"><<</span> <span class="special">*</span><a class="link" href="../iterator/functions/advance_c.html" title="advance_c"><code class="computeroutput"><span class="identifier">advance_c</span></code></a><span class="special"><</span><span class="number">2</span><span class="special">>(</span><a class="link" href="../sequence/intrinsic/functions/begin.html" title="begin"><code class="computeroutput"><span class="identifier">begin</span></code></a><span class="special">(</span><span class="identifier">arr</span><span class="special">))</span> <span class="special"><<</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span> +<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special"><<</span> <span class="special">*</span><a class="link" href="../iterator/functions/prior.html" title="prior"><code class="computeroutput"><span class="identifier">prior</span></code></a><span class="special">(</span><a class="link" href="../sequence/intrinsic/functions/end.html" title="end"><code class="computeroutput"><span class="identifier">end</span></code></a><span class="special">(</span><span class="identifier">arr</span><span class="special">))</span> <span class="special"><<</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span> +<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special"><<</span> <a class="link" href="../sequence/intrinsic/functions/at_c.html" title="at_c"><code class="computeroutput"><span class="identifier">at_c</span></code></a><span class="special"><</span><span class="number">2</span><span class="special">>(</span><span class="identifier">arr</span><span class="special">)</span> <span class="special"><<</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span> +</pre> +<h5> +<a name="fusion.adapted.boost__array.h3"></a> + <span><a name="fusion.adapted.boost__array.see_also"></a></span><a class="link" href="boost__array.html#fusion.adapted.boost__array.see_also">See + also</a> + </h5> +<p> + <a href="http://www.boost.org/doc/html/array.html" target="_top">Boost.Array Library</a> + </p> +</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-2006, 2011 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="mpl_sequence.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapted.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="boost__tuple.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/adapted/boost__tuple.html b/libs/fusion/doc/html/fusion/adapted/boost__tuple.html new file mode 100755 index 0000000000..513fbf0b06 --- /dev/null +++ b/libs/fusion/doc/html/fusion/adapted/boost__tuple.html @@ -0,0 +1,82 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>boost::tuple</title> +<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../adapted.html" title="Adapted"> +<link rel="prev" href="boost__array.html" title="boost::array"> +<link rel="next" href="adapt_struct.html" title="BOOST_FUSION_ADAPT_STRUCT"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="boost__array.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapted.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="adapt_struct.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h3 class="title"> +<a name="fusion.adapted.boost__tuple"></a><a class="link" href="boost__tuple.html" title="boost::tuple">boost::tuple</a> +</h3></div></div></div> +<p> + This module provides adapters for <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">tuple</span></code>. + Including the module header makes <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">tuple</span></code> + a fully conforming <a class="link" href="../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a>. + </p> +<h5> +<a name="fusion.adapted.boost__tuple.h0"></a> + <span><a name="fusion.adapted.boost__tuple.header"></a></span><a class="link" href="boost__tuple.html#fusion.adapted.boost__tuple.header">Header</a> + </h5> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">adapted</span><span class="special">/</span><span class="identifier">boost_tuple</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">boost_tuple</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h5> +<a name="fusion.adapted.boost__tuple.h1"></a> + <span><a name="fusion.adapted.boost__tuple.model_of"></a></span><a class="link" href="boost__tuple.html#fusion.adapted.boost__tuple.model_of">Model + of</a> + </h5> +<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"> + <a class="link" href="../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward Sequence</a> + </li></ul></div> +<h5> +<a name="fusion.adapted.boost__tuple.h2"></a> + <span><a name="fusion.adapted.boost__tuple.example"></a></span><a class="link" href="boost__tuple.html#fusion.adapted.boost__tuple.example">Example</a> + </h5> +<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">tuple</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">></span> <span class="identifier">example_tuple</span><span class="special">(</span><span class="number">101</span><span class="special">,</span> <span class="string">"hello"</span><span class="special">);</span> +<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special"><<</span> <span class="special">*</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">fusion</span><span class="special">::</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">example_tuple</span><span class="special">)</span> <span class="special"><<</span> <span class="char">'\n'</span><span class="special">;</span> +<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special"><<</span> <span class="special">*</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">fusion</span><span class="special">::</span><span class="identifier">next</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">fusion</span><span class="special">::</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">example_tuple</span><span class="special">))</span> <span class="special"><<</span> <span class="char">'\n'</span><span class="special">;</span> +</pre> +<h5> +<a name="fusion.adapted.boost__tuple.h3"></a> + <span><a name="fusion.adapted.boost__tuple.see_also"></a></span><a class="link" href="boost__tuple.html#fusion.adapted.boost__tuple.see_also">See + also</a> + </h5> +<p> + <a href="http://www.boost.org/libs/tuple/doc/tuple_users_guide.html" target="_top">Boost.Tuple + Library</a> + </p> +</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-2006, 2011 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="boost__array.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapted.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="adapt_struct.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/adapted/define_assoc_struct.html b/libs/fusion/doc/html/fusion/adapted/define_assoc_struct.html new file mode 100755 index 0000000000..2f56c603de --- /dev/null +++ b/libs/fusion/doc/html/fusion/adapted/define_assoc_struct.html @@ -0,0 +1,222 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>BOOST_FUSION_DEFINE_ASSOC_STRUCT</title> +<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../adapted.html" title="Adapted"> +<link rel="prev" href="define_tpl_struct.html" title="BOOST_FUSION_DEFINE_TPL_STRUCT"> +<link rel="next" href="define_assoc_tpl_struct.html" title="BOOST_FUSION_DEFINE_ASSOC_TPL_STRUCT"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="define_tpl_struct.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapted.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="define_assoc_tpl_struct.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h3 class="title"> +<a name="fusion.adapted.define_assoc_struct"></a><a class="link" href="define_assoc_struct.html" title="BOOST_FUSION_DEFINE_ASSOC_STRUCT">BOOST_FUSION_DEFINE_ASSOC_STRUCT</a> +</h3></div></div></div> +<h5> +<a name="fusion.adapted.define_assoc_struct.h0"></a> + <span><a name="fusion.adapted.define_assoc_struct.description"></a></span><a class="link" href="define_assoc_struct.html#fusion.adapted.define_assoc_struct.description">Description</a> + </h5> +<p> + BOOST_FUSION_DEFINE_ASSOC_STRUCT is a macro that can be used to generate + all the necessary boilerplate to define and adapt an arbitrary struct as + a model of <a class="link" href="../sequence/concepts/random_access_sequence.html" title="Random Access Sequence">Random + Access Sequence</a> and <a class="link" href="../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative + Sequence</a>. + </p> +<h5> +<a name="fusion.adapted.define_assoc_struct.h1"></a> + <span><a name="fusion.adapted.define_assoc_struct.synopsis"></a></span><a class="link" href="define_assoc_struct.html#fusion.adapted.define_assoc_struct.synopsis">Synopsis</a> + </h5> +<pre class="programlisting"><span class="identifier">BOOST_FUSION_DEFINE_ASSOC_STRUCT</span><span class="special">(</span> + <span class="special">(</span><span class="identifier">namespace0</span><span class="special">)(</span><span class="identifier">namespace1</span><span class="special">)...,</span> + <span class="identifier">struct_name</span><span class="special">,</span> + <span class="special">(</span><span class="identifier">member_type0</span><span class="special">,</span> <span class="identifier">member_name0</span><span class="special">,</span> <span class="identifier">key_type0</span><span class="special">)</span> + <span class="special">(</span><span class="identifier">member_type1</span><span class="special">,</span> <span class="identifier">member_name1</span><span class="special">,</span> <span class="identifier">key_type1</span><span class="special">)</span> + <span class="special">...</span> + <span class="special">)</span> +</pre> +<div class="variablelist"> +<p class="title"><b>Notation</b></p> +<dl> +<dt><span class="term"><code class="computeroutput"><span class="identifier">str</span></code></span></dt> +<dd><p> + An instance of <code class="computeroutput"><span class="identifier">struct_name</span></code> + </p></dd> +<dt><span class="term"><code class="computeroutput"><span class="identifier">e0</span></code>...<code class="computeroutput"><span class="identifier">en</span></code></span></dt> +<dd><p> + Heterogeneous values + </p></dd> +<dt><span class="term"><code class="computeroutput"><span class="identifier">fs</span></code></span></dt> +<dd><p> + A <a class="link" href="../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a> + </p></dd> +</dl> +</div> +<h5> +<a name="fusion.adapted.define_assoc_struct.h2"></a> + <span><a name="fusion.adapted.define_assoc_struct.expression_semantics"></a></span><a class="link" href="define_assoc_struct.html#fusion.adapted.define_assoc_struct.expression_semantics">Expression + Semantics</a> + </h5> +<p> + The above macro generates the necessary code that defines and adapts <code class="computeroutput"><span class="identifier">struct_name</span></code> as a model of <a class="link" href="../sequence/concepts/random_access_sequence.html" title="Random Access Sequence">Random + Access Sequence</a> and <a class="link" href="../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative + Sequence</a>. The sequence <code class="computeroutput"><span class="special">(</span><span class="identifier">namespace0</span><span class="special">)(</span><span class="identifier">namespace1</span><span class="special">)...</span></code> + declares the namespace for <code class="computeroutput"><span class="identifier">struct_name</span></code>. + It yields to a fully qualified name for <code class="computeroutput"><span class="identifier">struct_name</span></code> + of <code class="computeroutput"><span class="identifier">namespace0</span><span class="special">::</span><span class="identifier">namespace1</span><span class="special">::...</span> + <span class="identifier">struct_name</span></code>. If an empty namespace + sequence is given (that is a macro that expands to nothing), the struct is + placed in the global namespace. The sequence of <code class="computeroutput"><span class="special">(</span><span class="identifier">member_typeN</span><span class="special">,</span> + <span class="identifier">member_nameN</span><span class="special">,</span> + <span class="identifier">key_typeN</span><span class="special">)</span></code> + triples declares the type, name and key type of each of the struct members + that are part of the sequence. + </p> +<p> + The macro should be used at global scope. Semantics of an expression is defined + only where it differs from, or is not defined in <a class="link" href="../sequence/concepts/random_access_sequence.html" title="Random Access Sequence">Random + Access Sequence</a> and <a class="link" href="../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative + Sequence</a>. + </p> +<div class="informaltable"><table class="table"> +<colgroup> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Expression + </p> + </th> +<th> + <p> + Semantics + </p> + </th> +</tr></thead> +<tbody> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">struct_name</span><span class="special">()</span></code> + </p> + </td> +<td> + <p> + Creates an instance of <code class="computeroutput"><span class="identifier">struct_name</span></code> + with default constructed elements. + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">struct_name</span><span class="special">(</span><span class="identifier">e0</span><span class="special">,</span> + <span class="identifier">e1</span><span class="special">,...</span> + <span class="identifier">en</span><span class="special">)</span></code> + </p> + </td> +<td> + <p> + Creates an instance of <code class="computeroutput"><span class="identifier">struct_name</span></code> + with elements <code class="computeroutput"><span class="identifier">e0</span></code>...<code class="computeroutput"><span class="identifier">en</span></code>. + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">struct_name</span><span class="special">(</span><span class="identifier">fs</span><span class="special">)</span></code> + </p> + </td> +<td> + <p> + Copy constructs an instance of <code class="computeroutput"><span class="identifier">struct_name</span></code> + from a <a class="link" href="../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a> <code class="computeroutput"><span class="identifier">fs</span></code>. + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">str</span> <span class="special">=</span> + <span class="identifier">fs</span></code> + </p> + </td> +<td> + <p> + Assigns from a <a class="link" href="../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a> <code class="computeroutput"><span class="identifier">fs</span></code>. + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">str</span><span class="special">.</span><span class="identifier">member_nameN</span></code> + </p> + </td> +<td> + <p> + Access of struct member <code class="computeroutput"><span class="identifier">member_nameN</span></code> + </p> + </td> +</tr> +</tbody> +</table></div> +<h5> +<a name="fusion.adapted.define_assoc_struct.h3"></a> + <span><a name="fusion.adapted.define_assoc_struct.header"></a></span><a class="link" href="define_assoc_struct.html#fusion.adapted.define_assoc_struct.header">Header</a> + </h5> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">adapted</span><span class="special">/</span><span class="keyword">struct</span><span class="special">/</span><span class="identifier">define_assoc_struct</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">define_assoc_struct</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h5> +<a name="fusion.adapted.define_assoc_struct.h4"></a> + <span><a name="fusion.adapted.define_assoc_struct.example"></a></span><a class="link" href="define_assoc_struct.html#fusion.adapted.define_assoc_struct.example">Example</a> + </h5> +<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">keys</span> +<span class="special">{</span> + <span class="keyword">struct</span> <span class="identifier">name</span><span class="special">;</span> + <span class="keyword">struct</span> <span class="identifier">age</span><span class="special">;</span> +<span class="special">}</span> + +<span class="comment">// demo::employee is a Fusion sequence</span> +<span class="identifier">BOOST_FUSION_DEFINE_ASSOC_STRUCT</span><span class="special">(</span> + <span class="special">(</span><span class="identifier">demo</span><span class="special">),</span> <span class="identifier">employee</span><span class="special">,</span> + <span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">,</span> <span class="identifier">name</span><span class="special">,</span> <span class="identifier">keys</span><span class="special">::</span><span class="identifier">name</span><span class="special">)</span> + <span class="special">(</span><span class="keyword">int</span><span class="special">,</span> <span class="identifier">age</span><span class="special">,</span> <span class="identifier">keys</span><span class="special">::</span><span class="identifier">age</span><span class="special">))</span> +</pre> +</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-2006, 2011 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="define_tpl_struct.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapted.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="define_assoc_tpl_struct.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/adapted/define_assoc_tpl_struct.html b/libs/fusion/doc/html/fusion/adapted/define_assoc_tpl_struct.html new file mode 100755 index 0000000000..296dbfc4b6 --- /dev/null +++ b/libs/fusion/doc/html/fusion/adapted/define_assoc_tpl_struct.html @@ -0,0 +1,227 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>BOOST_FUSION_DEFINE_ASSOC_TPL_STRUCT</title> +<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../adapted.html" title="Adapted"> +<link rel="prev" href="define_assoc_struct.html" title="BOOST_FUSION_DEFINE_ASSOC_STRUCT"> +<link rel="next" href="../algorithm.html" title="Algorithm"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="define_assoc_struct.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapted.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../algorithm.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h3 class="title"> +<a name="fusion.adapted.define_assoc_tpl_struct"></a><a class="link" href="define_assoc_tpl_struct.html" title="BOOST_FUSION_DEFINE_ASSOC_TPL_STRUCT">BOOST_FUSION_DEFINE_ASSOC_TPL_STRUCT</a> +</h3></div></div></div> +<h5> +<a name="fusion.adapted.define_assoc_tpl_struct.h0"></a> + <span><a name="fusion.adapted.define_assoc_tpl_struct.description"></a></span><a class="link" href="define_assoc_tpl_struct.html#fusion.adapted.define_assoc_tpl_struct.description">Description</a> + </h5> +<p> + BOOST_FUSION_DEFINE_ASSOC_TPL_STRUCT is a macro that can be used to generate + all the necessary boilerplate to define and adapt an arbitrary template struct + as a model of <a class="link" href="../sequence/concepts/random_access_sequence.html" title="Random Access Sequence">Random + Access Sequence</a> and <a class="link" href="../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative + Sequence</a>. + </p> +<h5> +<a name="fusion.adapted.define_assoc_tpl_struct.h1"></a> + <span><a name="fusion.adapted.define_assoc_tpl_struct.synopsis"></a></span><a class="link" href="define_assoc_tpl_struct.html#fusion.adapted.define_assoc_tpl_struct.synopsis">Synopsis</a> + </h5> +<pre class="programlisting"><span class="identifier">BOOST_FUSION_DEFINE_ASSOC_TPL_STRUCT</span><span class="special">(</span> + <span class="special">(</span><span class="identifier">template_param0</span><span class="special">)(</span><span class="identifier">template_param1</span><span class="special">)...,</span> + <span class="special">(</span><span class="identifier">namespace0</span><span class="special">)(</span><span class="identifier">namespace1</span><span class="special">)...,</span> + <span class="identifier">struct_name</span><span class="special">,</span> + <span class="special">(</span><span class="identifier">member_type0</span><span class="special">,</span> <span class="identifier">member_name0</span><span class="special">,</span> <span class="identifier">key_type0</span><span class="special">)</span> + <span class="special">(</span><span class="identifier">member_type1</span><span class="special">,</span> <span class="identifier">member_name1</span><span class="special">,</span> <span class="identifier">key_type1</span><span class="special">)</span> + <span class="special">...</span> + <span class="special">)</span> +</pre> +<div class="variablelist"> +<p class="title"><b>Notation</b></p> +<dl> +<dt><span class="term"><code class="computeroutput"><span class="identifier">Str</span></code></span></dt> +<dd><p> + An instantiated <code class="computeroutput"><span class="identifier">struct_name</span></code> + </p></dd> +<dt><span class="term"><code class="computeroutput"><span class="identifier">str</span></code></span></dt> +<dd><p> + An instance of <code class="computeroutput"><span class="identifier">Str</span></code> + </p></dd> +<dt><span class="term"><code class="computeroutput"><span class="identifier">e0</span></code>...<code class="computeroutput"><span class="identifier">en</span></code></span></dt> +<dd><p> + Heterogeneous values + </p></dd> +<dt><span class="term"><code class="computeroutput"><span class="identifier">fs</span></code></span></dt> +<dd><p> + A <a class="link" href="../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a> + </p></dd> +</dl> +</div> +<h5> +<a name="fusion.adapted.define_assoc_tpl_struct.h2"></a> + <span><a name="fusion.adapted.define_assoc_tpl_struct.expression_semantics"></a></span><a class="link" href="define_assoc_tpl_struct.html#fusion.adapted.define_assoc_tpl_struct.expression_semantics">Expression + Semantics</a> + </h5> +<p> + The above macro generates the necessary code that defines and adapts <code class="computeroutput"><span class="identifier">struct_name</span></code> as a model of <a class="link" href="../sequence/concepts/random_access_sequence.html" title="Random Access Sequence">Random + Access Sequence</a> and <a class="link" href="../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative + Sequence</a>. The sequence <code class="computeroutput"><span class="special">(</span><span class="identifier">template_param0</span><span class="special">)(</span><span class="identifier">template_param1</span><span class="special">)...</span></code> + declares the names of the template type parameters used. The sequence <code class="computeroutput"><span class="special">(</span><span class="identifier">namespace0</span><span class="special">)(</span><span class="identifier">namespace1</span><span class="special">)...</span></code> declares the namespace for <code class="computeroutput"><span class="identifier">struct_name</span></code>. It yields to a fully qualified + name for <code class="computeroutput"><span class="identifier">struct_name</span></code> of + <code class="computeroutput"><span class="identifier">namespace0</span><span class="special">::</span><span class="identifier">namespace1</span><span class="special">::...</span> + <span class="identifier">struct_name</span></code>. If an empty namespace + sequence is given (that is a macro that expands to nothing), the struct is + placed in the global namespace. The sequence of <code class="computeroutput"><span class="special">(</span><span class="identifier">member_typeN</span><span class="special">,</span> + <span class="identifier">member_nameN</span><span class="special">,</span> + <span class="identifier">key_typeN</span><span class="special">)</span></code> + triples declares the type, name and key type of each of the struct members + that are part of the sequence. + </p> +<p> + The macro should be used at global scope. Semantics of an expression is defined + only where it differs from, or is not defined in <a class="link" href="../sequence/concepts/random_access_sequence.html" title="Random Access Sequence">Random + Access Sequence</a> and <a class="link" href="../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative + Sequence</a>. + </p> +<div class="informaltable"><table class="table"> +<colgroup> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Expression + </p> + </th> +<th> + <p> + Semantics + </p> + </th> +</tr></thead> +<tbody> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">Str</span><span class="special">()</span></code> + </p> + </td> +<td> + <p> + Creates an instance of <code class="computeroutput"><span class="identifier">Str</span></code> + with default constructed elements. + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">Str</span><span class="special">(</span><span class="identifier">e0</span><span class="special">,</span> + <span class="identifier">e1</span><span class="special">,...</span> + <span class="identifier">en</span><span class="special">)</span></code> + </p> + </td> +<td> + <p> + Creates an instance of <code class="computeroutput"><span class="identifier">Str</span></code> + with elements <code class="computeroutput"><span class="identifier">e0</span></code>...<code class="computeroutput"><span class="identifier">en</span></code>. + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">Str</span><span class="special">(</span><span class="identifier">fs</span><span class="special">)</span></code> + </p> + </td> +<td> + <p> + Copy constructs an instance of <code class="computeroutput"><span class="identifier">Str</span></code> + from a <a class="link" href="../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a> <code class="computeroutput"><span class="identifier">fs</span></code>. + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">str</span> <span class="special">=</span> + <span class="identifier">fs</span></code> + </p> + </td> +<td> + <p> + Assigns from a <a class="link" href="../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a> <code class="computeroutput"><span class="identifier">fs</span></code>. + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">str</span><span class="special">.</span><span class="identifier">member_nameN</span></code> + </p> + </td> +<td> + <p> + Access of struct member <code class="computeroutput"><span class="identifier">member_nameN</span></code> + </p> + </td> +</tr> +</tbody> +</table></div> +<h5> +<a name="fusion.adapted.define_assoc_tpl_struct.h3"></a> + <span><a name="fusion.adapted.define_assoc_tpl_struct.header"></a></span><a class="link" href="define_assoc_tpl_struct.html#fusion.adapted.define_assoc_tpl_struct.header">Header</a> + </h5> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">adapted</span><span class="special">/</span><span class="keyword">struct</span><span class="special">/</span><span class="identifier">define_assoc_struct</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">define_assoc_struct</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h5> +<a name="fusion.adapted.define_assoc_tpl_struct.h4"></a> + <span><a name="fusion.adapted.define_assoc_tpl_struct.example"></a></span><a class="link" href="define_assoc_tpl_struct.html#fusion.adapted.define_assoc_tpl_struct.example">Example</a> + </h5> +<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">keys</span> +<span class="special">{</span> + <span class="keyword">struct</span> <span class="identifier">name</span><span class="special">;</span> + <span class="keyword">struct</span> <span class="identifier">age</span><span class="special">;</span> +<span class="special">}</span> + +<span class="comment">// Any instantiated demo::employee is a Fusion sequence</span> +<span class="identifier">BOOST_FUSION_DEFINE_ASSOC_TPL_STRUCT</span><span class="special">(</span> + <span class="special">(</span><span class="identifier">Name</span><span class="special">)(</span><span class="identifier">Age</span><span class="special">),</span> <span class="special">(</span><span class="identifier">demo</span><span class="special">),</span> <span class="identifier">employee</span><span class="special">,</span> + <span class="special">(</span><span class="identifier">Name</span><span class="special">,</span> <span class="identifier">name</span><span class="special">,</span> <span class="identifier">keys</span><span class="special">::</span><span class="identifier">name</span><span class="special">)</span> + <span class="special">(</span><span class="identifier">Age</span><span class="special">,</span> <span class="identifier">age</span><span class="special">,</span> <span class="identifier">keys</span><span class="special">::</span><span class="identifier">age</span><span class="special">))</span> +</pre> +</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-2006, 2011 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="define_assoc_struct.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapted.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../algorithm.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/adapted/define_struct.html b/libs/fusion/doc/html/fusion/adapted/define_struct.html new file mode 100755 index 0000000000..6c3dd8dce1 --- /dev/null +++ b/libs/fusion/doc/html/fusion/adapted/define_struct.html @@ -0,0 +1,208 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>BOOST_FUSION_DEFINE_STRUCT</title> +<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../adapted.html" title="Adapted"> +<link rel="prev" href="adapt_assoc_tpl_adt.html" title="BOOST_FUSION_ADAPT_ASSOC_TPL_ADT"> +<link rel="next" href="define_tpl_struct.html" title="BOOST_FUSION_DEFINE_TPL_STRUCT"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="adapt_assoc_tpl_adt.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapted.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="define_tpl_struct.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h3 class="title"> +<a name="fusion.adapted.define_struct"></a><a class="link" href="define_struct.html" title="BOOST_FUSION_DEFINE_STRUCT">BOOST_FUSION_DEFINE_STRUCT</a> +</h3></div></div></div> +<p> + BOOST_FUSION_DEFINE_STRUCT is a macro that can be used to generate all the + necessary boilerplate to define and adapt an arbitrary struct as a model + of <a class="link" href="../sequence/concepts/random_access_sequence.html" title="Random Access Sequence">Random + Access Sequence</a>. + </p> +<h5> +<a name="fusion.adapted.define_struct.h0"></a> + <span><a name="fusion.adapted.define_struct.synopsis"></a></span><a class="link" href="define_struct.html#fusion.adapted.define_struct.synopsis">Synopsis</a> + </h5> +<pre class="programlisting"><span class="identifier">BOOST_FUSION_DEFINE_STRUCT</span><span class="special">(</span> + <span class="special">(</span><span class="identifier">namespace0</span><span class="special">)(</span><span class="identifier">namespace1</span><span class="special">)...,</span> + <span class="identifier">struct_name</span><span class="special">,</span> + <span class="special">(</span><span class="identifier">member_type0</span><span class="special">,</span> <span class="identifier">member_name0</span><span class="special">)</span> + <span class="special">(</span><span class="identifier">member_type1</span><span class="special">,</span> <span class="identifier">member_name1</span><span class="special">)</span> + <span class="special">...</span> + <span class="special">)</span> +</pre> +<div class="variablelist"> +<p class="title"><b>Notation</b></p> +<dl> +<dt><span class="term"><code class="computeroutput"><span class="identifier">str</span></code></span></dt> +<dd><p> + An instance of <code class="computeroutput"><span class="identifier">struct_name</span></code> + </p></dd> +<dt><span class="term"><code class="computeroutput"><span class="identifier">e0</span></code>...<code class="computeroutput"><span class="identifier">en</span></code></span></dt> +<dd><p> + Heterogeneous values + </p></dd> +<dt><span class="term"><code class="computeroutput"><span class="identifier">fs</span></code></span></dt> +<dd><p> + A <a class="link" href="../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a> + </p></dd> +</dl> +</div> +<h5> +<a name="fusion.adapted.define_struct.h1"></a> + <span><a name="fusion.adapted.define_struct.expression_semantics"></a></span><a class="link" href="define_struct.html#fusion.adapted.define_struct.expression_semantics">Expression + Semantics</a> + </h5> +<p> + The above macro generates the necessary code that defines and adapts <code class="computeroutput"><span class="identifier">struct_name</span></code> as a model of <a class="link" href="../sequence/concepts/random_access_sequence.html" title="Random Access Sequence">Random + Access Sequence</a>. The sequence <code class="computeroutput"><span class="special">(</span><span class="identifier">namespace0</span><span class="special">)(</span><span class="identifier">namespace1</span><span class="special">)...</span></code> + declares the namespace for <code class="computeroutput"><span class="identifier">struct_name</span></code>. + It yields to a fully qualified name for <code class="computeroutput"><span class="identifier">struct_name</span></code> + of <code class="computeroutput"><span class="identifier">namespace0</span><span class="special">::</span><span class="identifier">namespace1</span><span class="special">::...</span> + <span class="identifier">struct_name</span></code>. If an empty namespace + sequence is given (that is a macro that expands to nothing), the struct is + placed in the global namespace. The sequence of <code class="computeroutput"><span class="special">(</span><span class="identifier">member_typeN</span><span class="special">,</span> + <span class="identifier">member_nameN</span><span class="special">)</span></code> + pairs declares the type and names of each of the struct members that are + part of the sequence. + </p> +<p> + The macro should be used at global scope. Semantics of an expression is defined + only where it differs from, or is not defined in <a class="link" href="../sequence/concepts/random_access_sequence.html" title="Random Access Sequence">Random + Access Sequence</a>. + </p> +<div class="informaltable"><table class="table"> +<colgroup> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Expression + </p> + </th> +<th> + <p> + Semantics + </p> + </th> +</tr></thead> +<tbody> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">struct_name</span><span class="special">()</span></code> + </p> + </td> +<td> + <p> + Creates an instance of <code class="computeroutput"><span class="identifier">struct_name</span></code> + with default constructed elements. + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">struct_name</span><span class="special">(</span><span class="identifier">e0</span><span class="special">,</span> + <span class="identifier">e1</span><span class="special">,...</span> + <span class="identifier">en</span><span class="special">)</span></code> + </p> + </td> +<td> + <p> + Creates an instance of <code class="computeroutput"><span class="identifier">struct_name</span></code> + with elements <code class="computeroutput"><span class="identifier">e0</span></code>...<code class="computeroutput"><span class="identifier">en</span></code>. + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">struct_name</span><span class="special">(</span><span class="identifier">fs</span><span class="special">)</span></code> + </p> + </td> +<td> + <p> + Copy constructs an instance of <code class="computeroutput"><span class="identifier">struct_name</span></code> + from a <a class="link" href="../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a> <code class="computeroutput"><span class="identifier">fs</span></code>. + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">str</span> <span class="special">=</span> + <span class="identifier">fs</span></code> + </p> + </td> +<td> + <p> + Assigns from a <a class="link" href="../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a> <code class="computeroutput"><span class="identifier">fs</span></code>. + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">str</span><span class="special">.</span><span class="identifier">member_nameN</span></code> + </p> + </td> +<td> + <p> + Access of struct member <code class="computeroutput"><span class="identifier">member_nameN</span></code> + </p> + </td> +</tr> +</tbody> +</table></div> +<h5> +<a name="fusion.adapted.define_struct.h2"></a> + <span><a name="fusion.adapted.define_struct.header"></a></span><a class="link" href="define_struct.html#fusion.adapted.define_struct.header">Header</a> + </h5> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">adapted</span><span class="special">/</span><span class="keyword">struct</span><span class="special">/</span><span class="identifier">define_struct</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">define_struct</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h5> +<a name="fusion.adapted.define_struct.h3"></a> + <span><a name="fusion.adapted.define_struct.example"></a></span><a class="link" href="define_struct.html#fusion.adapted.define_struct.example">Example</a> + </h5> +<pre class="programlisting"><span class="comment">// demo::employee is a Fusion sequence</span> +<span class="identifier">BOOST_FUSION_DEFINE_STRUCT</span><span class="special">(</span> + <span class="special">(</span><span class="identifier">demo</span><span class="special">),</span> <span class="identifier">employee</span><span class="special">,</span> + <span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">,</span> <span class="identifier">name</span><span class="special">)</span> + <span class="special">(</span><span class="keyword">int</span><span class="special">,</span> <span class="identifier">age</span><span class="special">))</span> +</pre> +</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-2006, 2011 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="adapt_assoc_tpl_adt.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapted.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="define_tpl_struct.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/adapted/define_tpl_struct.html b/libs/fusion/doc/html/fusion/adapted/define_tpl_struct.html new file mode 100755 index 0000000000..849d6bd7a2 --- /dev/null +++ b/libs/fusion/doc/html/fusion/adapted/define_tpl_struct.html @@ -0,0 +1,217 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>BOOST_FUSION_DEFINE_TPL_STRUCT</title> +<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../adapted.html" title="Adapted"> +<link rel="prev" href="define_struct.html" title="BOOST_FUSION_DEFINE_STRUCT"> +<link rel="next" href="define_assoc_struct.html" title="BOOST_FUSION_DEFINE_ASSOC_STRUCT"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="define_struct.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapted.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="define_assoc_struct.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h3 class="title"> +<a name="fusion.adapted.define_tpl_struct"></a><a class="link" href="define_tpl_struct.html" title="BOOST_FUSION_DEFINE_TPL_STRUCT">BOOST_FUSION_DEFINE_TPL_STRUCT</a> +</h3></div></div></div> +<h5> +<a name="fusion.adapted.define_tpl_struct.h0"></a> + <span><a name="fusion.adapted.define_tpl_struct.description"></a></span><a class="link" href="define_tpl_struct.html#fusion.adapted.define_tpl_struct.description">Description</a> + </h5> +<p> + BOOST_FUSION_DEFINE_TPL_STRUCT is a macro that can be used to generate all + the necessary boilerplate to define and adapt an arbitrary template struct + as a model of <a class="link" href="../sequence/concepts/random_access_sequence.html" title="Random Access Sequence">Random + Access Sequence</a>. + </p> +<h5> +<a name="fusion.adapted.define_tpl_struct.h1"></a> + <span><a name="fusion.adapted.define_tpl_struct.synopsis"></a></span><a class="link" href="define_tpl_struct.html#fusion.adapted.define_tpl_struct.synopsis">Synopsis</a> + </h5> +<pre class="programlisting"><span class="identifier">BOOST_FUSION_DEFINE_TPL_STRUCT</span><span class="special">(</span> + <span class="special">(</span><span class="identifier">template_param0</span><span class="special">)(</span><span class="identifier">template_param1</span><span class="special">)...,</span> + <span class="special">(</span><span class="identifier">namespace0</span><span class="special">)(</span><span class="identifier">namespace1</span><span class="special">)...,</span> + <span class="identifier">struct_name</span><span class="special">,</span> + <span class="special">(</span><span class="identifier">member_type0</span><span class="special">,</span> <span class="identifier">member_name0</span><span class="special">)</span> + <span class="special">(</span><span class="identifier">member_type1</span><span class="special">,</span> <span class="identifier">member_name1</span><span class="special">)</span> + <span class="special">...</span> + <span class="special">)</span> +</pre> +<div class="variablelist"> +<p class="title"><b>Notation</b></p> +<dl> +<dt><span class="term"><code class="computeroutput"><span class="identifier">Str</span></code></span></dt> +<dd><p> + An instantiated <code class="computeroutput"><span class="identifier">struct_name</span></code> + </p></dd> +<dt><span class="term"><code class="computeroutput"><span class="identifier">str</span></code></span></dt> +<dd><p> + An instance of <code class="computeroutput"><span class="identifier">Str</span></code> + </p></dd> +<dt><span class="term"><code class="computeroutput"><span class="identifier">e0</span></code>...<code class="computeroutput"><span class="identifier">en</span></code></span></dt> +<dd><p> + Heterogeneous values + </p></dd> +<dt><span class="term"><code class="computeroutput"><span class="identifier">fs</span></code></span></dt> +<dd><p> + A <a class="link" href="../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a> + </p></dd> +</dl> +</div> +<h5> +<a name="fusion.adapted.define_tpl_struct.h2"></a> + <span><a name="fusion.adapted.define_tpl_struct.expression_semantics"></a></span><a class="link" href="define_tpl_struct.html#fusion.adapted.define_tpl_struct.expression_semantics">Expression + Semantics</a> + </h5> +<p> + The above macro generates the necessary code that defines and adapts <code class="computeroutput"><span class="identifier">struct_name</span></code> as a model of <a class="link" href="../sequence/concepts/random_access_sequence.html" title="Random Access Sequence">Random + Access Sequence</a>. The sequence <code class="computeroutput"><span class="special">(</span><span class="identifier">template_param0</span><span class="special">)(</span><span class="identifier">template_param1</span><span class="special">)...</span></code> + declares the names of the template type parameters used. The sequence <code class="computeroutput"><span class="special">(</span><span class="identifier">namespace0</span><span class="special">)(</span><span class="identifier">namespace1</span><span class="special">)...</span></code> declares the namespace for <code class="computeroutput"><span class="identifier">struct_name</span></code>. It yields to a fully qualified + name for <code class="computeroutput"><span class="identifier">struct_name</span></code> of + <code class="computeroutput"><span class="identifier">namespace0</span><span class="special">::</span><span class="identifier">namespace1</span><span class="special">::...</span> + <span class="identifier">struct_name</span></code>. If an empty namespace + sequence is given (that is a macro that expands to nothing), the struct is + placed in the global namespace. The sequence of <code class="computeroutput"><span class="special">(</span><span class="identifier">member_typeN</span><span class="special">,</span> + <span class="identifier">member_nameN</span><span class="special">)</span></code> + pairs declares the type and names of each of the struct members that are + part of the sequence. + </p> +<p> + The macro should be used at global scope. Semantics of an expression is defined + only where it differs from, or is not defined in <a class="link" href="../sequence/concepts/random_access_sequence.html" title="Random Access Sequence">Random + Access Sequence</a>. + </p> +<div class="informaltable"><table class="table"> +<colgroup> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Expression + </p> + </th> +<th> + <p> + Semantics + </p> + </th> +</tr></thead> +<tbody> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">Str</span><span class="special">()</span></code> + </p> + </td> +<td> + <p> + Creates an instance of <code class="computeroutput"><span class="identifier">Str</span></code> + with default constructed elements. + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">Str</span><span class="special">(</span><span class="identifier">e0</span><span class="special">,</span> + <span class="identifier">e1</span><span class="special">,...</span> + <span class="identifier">en</span><span class="special">)</span></code> + </p> + </td> +<td> + <p> + Creates an instance of <code class="computeroutput"><span class="identifier">Str</span></code> + with elements <code class="computeroutput"><span class="identifier">e0</span></code>...<code class="computeroutput"><span class="identifier">en</span></code>. + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">Str</span><span class="special">(</span><span class="identifier">fs</span><span class="special">)</span></code> + </p> + </td> +<td> + <p> + Copy constructs an instance of <code class="computeroutput"><span class="identifier">Str</span></code> + from a <a class="link" href="../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a> <code class="computeroutput"><span class="identifier">fs</span></code>. + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">str</span> <span class="special">=</span> + <span class="identifier">fs</span></code> + </p> + </td> +<td> + <p> + Assigns from a <a class="link" href="../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a> <code class="computeroutput"><span class="identifier">fs</span></code>. + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">str</span><span class="special">.</span><span class="identifier">member_nameN</span></code> + </p> + </td> +<td> + <p> + Access of struct member <code class="computeroutput"><span class="identifier">member_nameN</span></code> + </p> + </td> +</tr> +</tbody> +</table></div> +<h5> +<a name="fusion.adapted.define_tpl_struct.h3"></a> + <span><a name="fusion.adapted.define_tpl_struct.header"></a></span><a class="link" href="define_tpl_struct.html#fusion.adapted.define_tpl_struct.header">Header</a> + </h5> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">adapted</span><span class="special">/</span><span class="keyword">struct</span><span class="special">/</span><span class="identifier">define_struct</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">define_struct</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h5> +<a name="fusion.adapted.define_tpl_struct.h4"></a> + <span><a name="fusion.adapted.define_tpl_struct.example"></a></span><a class="link" href="define_tpl_struct.html#fusion.adapted.define_tpl_struct.example">Example</a> + </h5> +<pre class="programlisting"><span class="comment">// Any instantiated demo::employee is a Fusion sequence</span> +<span class="identifier">BOOST_FUSION_DEFINE_TPL_STRUCT</span><span class="special">(</span> + <span class="special">(</span><span class="identifier">Name</span><span class="special">)(</span><span class="identifier">Age</span><span class="special">),</span> <span class="special">(</span><span class="identifier">demo</span><span class="special">),</span> <span class="identifier">employee</span><span class="special">,</span> + <span class="special">(</span><span class="identifier">Name</span><span class="special">,</span> <span class="identifier">name</span><span class="special">)</span> + <span class="special">(</span><span class="identifier">Age</span><span class="special">,</span> <span class="identifier">age</span><span class="special">))</span> +</pre> +</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-2006, 2011 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="define_struct.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapted.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="define_assoc_struct.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/adapted/mpl_sequence.html b/libs/fusion/doc/html/fusion/adapted/mpl_sequence.html new file mode 100755 index 0000000000..66b873be86 --- /dev/null +++ b/libs/fusion/doc/html/fusion/adapted/mpl_sequence.html @@ -0,0 +1,99 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>mpl sequence</title> +<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../adapted.html" title="Adapted"> +<link rel="prev" href="std__pair.html" title="std::pair"> +<link rel="next" href="boost__array.html" title="boost::array"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="std__pair.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapted.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="boost__array.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h3 class="title"> +<a name="fusion.adapted.mpl_sequence"></a><a class="link" href="mpl_sequence.html" title="mpl sequence">mpl sequence</a> +</h3></div></div></div> +<p> + This module provides adapters for <a href="http://www.boost.org/libs/mpl/index.html" target="_top">MPL</a> + sequences. Including the module header makes all <a href="http://www.boost.org/libs/mpl/index.html" target="_top">MPL</a> + sequences fully conforming fusion sequences. + </p> +<h5> +<a name="fusion.adapted.mpl_sequence.h0"></a> + <span><a name="fusion.adapted.mpl_sequence.header"></a></span><a class="link" href="mpl_sequence.html#fusion.adapted.mpl_sequence.header">Header</a> + </h5> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">adapted</span><span class="special">/</span><span class="identifier">mpl</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">mpl</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h5> +<a name="fusion.adapted.mpl_sequence.h1"></a> + <span><a name="fusion.adapted.mpl_sequence.model_of"></a></span><a class="link" href="mpl_sequence.html#fusion.adapted.mpl_sequence.model_of">Model + of</a> + </h5> +<div class="itemizedlist"><ul class="itemizedlist" type="disc"> +<li class="listitem"> + <a class="link" href="../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward Sequence</a> + (If the <a href="http://www.boost.org/libs/mpl/index.html" target="_top">MPL</a> + sequence is a forward sequence.) + </li> +<li class="listitem"> + <a class="link" href="../sequence/concepts/bidirectional_sequence.html" title="Bidirectional Sequence">Bidirectional + Sequence</a> (If the <a href="http://www.boost.org/libs/mpl/index.html" target="_top">MPL</a> + sequence is a bidirectional sequence.) + </li> +<li class="listitem"> + <a class="link" href="../sequence/concepts/random_access_sequence.html" title="Random Access Sequence">Random + Access Sequence</a> (If the <a href="http://www.boost.org/libs/mpl/index.html" target="_top">MPL</a> + sequence is a random access sequence.) + </li> +</ul></div> +<h5> +<a name="fusion.adapted.mpl_sequence.h2"></a> + <span><a name="fusion.adapted.mpl_sequence.example"></a></span><a class="link" href="mpl_sequence.html#fusion.adapted.mpl_sequence.example">Example</a> + </h5> +<pre class="programlisting"><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">vector_c</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="number">123</span><span class="special">,</span> <span class="number">456</span><span class="special">></span> <span class="identifier">vec_c</span><span class="special">;</span> +<span class="identifier">fusion</span><span class="special">::</span><span class="identifier">vector2</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">long</span><span class="special">></span> <span class="identifier">v</span><span class="special">(</span><span class="identifier">vec_c</span><span class="special">);</span> +<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special"><<</span> <a class="link" href="../sequence/intrinsic/functions/at_c.html" title="at_c"><code class="computeroutput"><span class="identifier">at_c</span></code></a><span class="special"><</span><span class="number">0</span><span class="special">>(</span><span class="identifier">v</span><span class="special">)</span> <span class="special"><<</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span> +<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special"><<</span> <a class="link" href="../sequence/intrinsic/functions/at_c.html" title="at_c"><code class="computeroutput"><span class="identifier">at_c</span></code></a><span class="special"><</span><span class="number">1</span><span class="special">>(</span><span class="identifier">v</span><span class="special">)</span> <span class="special"><<</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span> + +<span class="identifier">v</span> <span class="special">=</span> <span class="identifier">mpl</span><span class="special">::</span><span class="identifier">vector_c</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="number">456</span><span class="special">,</span> <span class="number">789</span><span class="special">>();</span> +<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special"><<</span> <a class="link" href="../sequence/intrinsic/functions/at_c.html" title="at_c"><code class="computeroutput"><span class="identifier">at_c</span></code></a><span class="special"><</span><span class="number">0</span><span class="special">>(</span><span class="identifier">v</span><span class="special">)</span> <span class="special"><<</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span> +<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special"><<</span> <a class="link" href="../sequence/intrinsic/functions/at_c.html" title="at_c"><code class="computeroutput"><span class="identifier">at_c</span></code></a><span class="special"><</span><span class="number">1</span><span class="special">>(</span><span class="identifier">v</span><span class="special">)</span> <span class="special"><<</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span> +</pre> +<h5> +<a name="fusion.adapted.mpl_sequence.h3"></a> + <span><a name="fusion.adapted.mpl_sequence.see_also"></a></span><a class="link" href="mpl_sequence.html#fusion.adapted.mpl_sequence.see_also">See + also</a> + </h5> +<p> + <a href="http://www.boost.org/libs/mpl/index.html" target="_top">MPL</a> + </p> +</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-2006, 2011 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="std__pair.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapted.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="boost__array.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/adapted/std__pair.html b/libs/fusion/doc/html/fusion/adapted/std__pair.html new file mode 100755 index 0000000000..da1b372c0c --- /dev/null +++ b/libs/fusion/doc/html/fusion/adapted/std__pair.html @@ -0,0 +1,85 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>std::pair</title> +<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../adapted.html" title="Adapted"> +<link rel="prev" href="array.html" title="Array"> +<link rel="next" href="mpl_sequence.html" title="mpl sequence"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="array.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapted.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="mpl_sequence.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h3 class="title"> +<a name="fusion.adapted.std__pair"></a><a class="link" href="std__pair.html" title="std::pair">std::pair</a> +</h3></div></div></div> +<p> + This module provides adapters for <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span></code>. + Including the module header makes <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span></code> + a fully conforming <a class="link" href="../sequence/concepts/random_access_sequence.html" title="Random Access Sequence">Random + Access Sequence</a>. + </p> +<h5> +<a name="fusion.adapted.std__pair.h0"></a> + <span><a name="fusion.adapted.std__pair.header"></a></span><a class="link" href="std__pair.html#fusion.adapted.std__pair.header">Header</a> + </h5> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">adapted</span><span class="special">/</span><span class="identifier">std_pair</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">std_pair</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h5> +<a name="fusion.adapted.std__pair.h1"></a> + <span><a name="fusion.adapted.std__pair.model_of"></a></span><a class="link" href="std__pair.html#fusion.adapted.std__pair.model_of">Model + of</a> + </h5> +<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"> + <a class="link" href="../sequence/concepts/random_access_sequence.html" title="Random Access Sequence">Random + Access Sequence</a> + </li></ul></div> +<h5> +<a name="fusion.adapted.std__pair.h2"></a> + <span><a name="fusion.adapted.std__pair.example"></a></span><a class="link" href="std__pair.html#fusion.adapted.std__pair.example">Example</a> + </h5> +<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">></span> <span class="identifier">p</span><span class="special">(</span><span class="number">123</span><span class="special">,</span> <span class="string">"Hola!!!"</span><span class="special">);</span> +<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special"><<</span> <a class="link" href="../sequence/intrinsic/functions/at_c.html" title="at_c"><code class="computeroutput"><span class="identifier">at_c</span></code></a><span class="special"><</span><span class="number">0</span><span class="special">>(</span><span class="identifier">p</span><span class="special">)</span> <span class="special"><<</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span> +<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special"><<</span> <a class="link" href="../sequence/intrinsic/functions/at_c.html" title="at_c"><code class="computeroutput"><span class="identifier">at_c</span></code></a><span class="special"><</span><span class="number">1</span><span class="special">>(</span><span class="identifier">p</span><span class="special">)</span> <span class="special"><<</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span> +<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special"><<</span> <span class="identifier">p</span> <span class="special"><<</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span> +</pre> +<h5> +<a name="fusion.adapted.std__pair.h3"></a> + <span><a name="fusion.adapted.std__pair.see_also"></a></span><a class="link" href="std__pair.html#fusion.adapted.std__pair.see_also">See + also</a> + </h5> +<p> + <a href="http://www.sgi.com/tech/stl/pair.html" target="_top"><code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span></code></a>, + <a class="link" href="../tuple/pairs.html" title="Pairs"><code class="computeroutput"><span class="identifier">TR1</span> + <span class="keyword">and</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span></code></a> + </p> +</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-2006, 2011 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="array.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapted.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="mpl_sequence.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/algorithm.html b/libs/fusion/doc/html/fusion/algorithm.html new file mode 100755 index 0000000000..444891cc33 --- /dev/null +++ b/libs/fusion/doc/html/fusion/algorithm.html @@ -0,0 +1,127 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Algorithm</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="prev" href="adapted/define_assoc_tpl_struct.html" title="BOOST_FUSION_DEFINE_ASSOC_TPL_STRUCT"> +<link rel="next" href="algorithm/auxiliary.html" title="Auxiliary"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="adapted/define_assoc_tpl_struct.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="algorithm/auxiliary.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h2 class="title" style="clear: both"> +<a name="fusion.algorithm"></a><a class="link" href="algorithm.html" title="Algorithm">Algorithm</a> +</h2></div></div></div> +<div class="toc"><dl> +<dt><span class="section"><a href="algorithm/auxiliary.html">Auxiliary</a></span></dt> +<dd><dl><dt><span class="section"><a href="algorithm/auxiliary/functions.html">Functions</a></span></dt></dl></dd> +<dt><span class="section"><a href="algorithm/iteration.html">Iteration</a></span></dt> +<dd><dl> +<dt><span class="section"><a href="algorithm/iteration/functions.html">Functions</a></span></dt> +<dt><span class="section"><a href="algorithm/iteration/metafunctions.html">Metafunctions</a></span></dt> +</dl></dd> +<dt><span class="section"><a href="algorithm/query.html">Query</a></span></dt> +<dd><dl> +<dt><span class="section"><a href="algorithm/query/functions.html">Functions</a></span></dt> +<dt><span class="section"><a href="algorithm/query/metafunctions.html">Metafunctions</a></span></dt> +</dl></dd> +<dt><span class="section"><a href="algorithm/transformation.html">Transformation</a></span></dt> +<dd><dl> +<dt><span class="section"><a href="algorithm/transformation/functions.html">Functions</a></span></dt> +<dt><span class="section"><a href="algorithm/transformation/metafunctions.html">Metafunctions</a></span></dt> +</dl></dd> +</dl></div> +<h4> +<a name="fusion.algorithm.h0"></a> + <span><a name="fusion.algorithm.lazy_evaluation"></a></span><a class="link" href="algorithm.html#fusion.algorithm.lazy_evaluation">Lazy + Evaluation</a> + </h4> +<p> + Unlike <a href="http://www.boost.org/libs/mpl/index.html" target="_top">MPL</a>, Fusion + algorithms are lazy<sup>[<a name="fusion.algorithm.f0" href="#ftn.fusion.algorithm.f0" class="footnote">11</a>]</sup> and non sequence-type preserving <sup>[<a name="fusion.algorithm.f1" href="#ftn.fusion.algorithm.f1" class="footnote">12</a>]</sup>. This is by design. Runtime efficiency is given a high priority. + Like <a href="http://www.boost.org/libs/mpl/index.html" target="_top">MPL</a>, and + unlike <a href="http://en.wikipedia.org/wiki/Standard_Template_Library" target="_top">STL</a>, + fusion algorithms are mostly functional in nature such that algorithms are + non mutating (no side effects). However, due to the high cost of returning + full sequences such as vectors and lists, <span class="emphasis"><em>Views</em></span> are returned + from Fusion algorithms instead. For example, the <a class="link" href="algorithm/transformation/functions/transform.html" title="transform"><code class="computeroutput"><span class="identifier">transform</span></code></a> algorithm does not actually + return a transformed version of the original sequence. <a class="link" href="algorithm/transformation/functions/transform.html" title="transform"><code class="computeroutput"><span class="identifier">transform</span></code></a> returns a <a class="link" href="view/transform_view.html" title="transform_view"><code class="computeroutput"><span class="identifier">transform_view</span></code></a>. This view holds a + reference to the original sequence plus the transform function. Iteration over + the <a class="link" href="view/transform_view.html" title="transform_view"><code class="computeroutput"><span class="identifier">transform_view</span></code></a> + will apply the transform function over the sequence elements on demand. This + <span class="emphasis"><em>lazy</em></span> evaluation scheme allows us to chain as many algorithms + as we want without incurring a high runtime penalty. + </p> +<h4> +<a name="fusion.algorithm.h1"></a> + <span><a name="fusion.algorithm.sequence_extension"></a></span><a class="link" href="algorithm.html#fusion.algorithm.sequence_extension">Sequence + Extension</a> + </h4> +<p> + The <span class="emphasis"><em>lazy</em></span> evaluation scheme where <a class="link" href="algorithm.html" title="Algorithm">Algorithms</a> + return <a class="link" href="view.html" title="View">Views</a> also allows operations such + as <a class="link" href="algorithm/transformation/functions/push_back.html" title="push_back"><code class="computeroutput"><span class="identifier">push_back</span></code></a> to be totally generic. In + Fusion, <a class="link" href="algorithm/transformation/functions/push_back.html" title="push_back"><code class="computeroutput"><span class="identifier">push_back</span></code></a> is actually a generic algorithm + that works on all sequences. Given an input sequence <code class="computeroutput"><span class="identifier">s</span></code> + and a value <code class="computeroutput"><span class="identifier">x</span></code>, Fusion's <a class="link" href="algorithm/transformation/functions/push_back.html" title="push_back"><code class="computeroutput"><span class="identifier">push_back</span></code></a> algorithm simply returns + a <a class="link" href="view/joint_view.html" title="joint_view"><code class="computeroutput"><span class="identifier">joint_view</span></code></a>: + a view that holds a reference to the original sequence <code class="computeroutput"><span class="identifier">s</span></code> + and the value <code class="computeroutput"><span class="identifier">x</span></code>. Functions + that were once sequence specific and need to be implemented N times over N + different sequences are now implemented only once. That is to say that Fusion + sequences are cheaply extensible. + </p> +<p> + To regain the original sequence, <a class="link" href="container/conversion/functions.html" title="Functions">Conversion</a> + functions are provided. You may use one of the <a class="link" href="container/conversion/functions.html" title="Functions">Conversion</a> + functions to convert back to the original sequence type. + </p> +<h4> +<a name="fusion.algorithm.h2"></a> + <span><a name="fusion.algorithm.header"></a></span><a class="link" href="algorithm.html#fusion.algorithm.header">Header</a> + </h4> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">algorithm</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<div class="footnotes"> +<br><hr width="100" align="left"> +<div class="footnote"><p><sup>[<a id="ftn.fusion.algorithm.f0" href="#fusion.algorithm.f0" class="para">11</a>] </sup> + Except for some special cases such as <a class="link" href="algorithm/iteration/functions/for_each.html" title="for_each"><code class="computeroutput"><span class="identifier">for_each</span></code></a> and <a class="link" href="algorithm/auxiliary/functions/copy.html" title="copy"><code class="computeroutput"><span class="identifier">copy</span></code></a> which are inherently imperative + algorithms. + </p></div> +<div class="footnote"><p><sup>[<a id="ftn.fusion.algorithm.f1" href="#fusion.algorithm.f1" class="para">12</a>] </sup> + What does that mean? It means that when you operate on a sequence through + a Fusion algorithm that returns a sequence, the sequence returned may not + be of the same class as the original + </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-2006, 2011 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="adapted/define_assoc_tpl_struct.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="algorithm/auxiliary.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/algorithm/auxiliary.html b/libs/fusion/doc/html/fusion/algorithm/auxiliary.html new file mode 100755 index 0000000000..0560269163 --- /dev/null +++ b/libs/fusion/doc/html/fusion/algorithm/auxiliary.html @@ -0,0 +1,55 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Auxiliary</title> +<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../algorithm.html" title="Algorithm"> +<link rel="prev" href="../algorithm.html" title="Algorithm"> +<link rel="next" href="auxiliary/functions.html" title="Functions"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="../algorithm.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../algorithm.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="auxiliary/functions.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h3 class="title"> +<a name="fusion.algorithm.auxiliary"></a><a class="link" href="auxiliary.html" title="Auxiliary">Auxiliary</a> +</h3></div></div></div> +<div class="toc"><dl><dt><span class="section"><a href="auxiliary/functions.html">Functions</a></span></dt></dl></div> +<p> + The auxiliary algorithms provide the utility algorithms for sequences. + </p> +<h5> +<a name="fusion.algorithm.auxiliary.h0"></a> + <span><a name="fusion.algorithm.auxiliary.header"></a></span><a class="link" href="auxiliary.html#fusion.algorithm.auxiliary.header">Header</a> + </h5> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">auxiliary</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">auxiliary</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +</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-2006, 2011 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="../algorithm.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../algorithm.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="auxiliary/functions.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/algorithm/auxiliary/functions.html b/libs/fusion/doc/html/fusion/algorithm/auxiliary/functions.html new file mode 100755 index 0000000000..3e4c351fb5 --- /dev/null +++ b/libs/fusion/doc/html/fusion/algorithm/auxiliary/functions.html @@ -0,0 +1,45 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Functions</title> +<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../auxiliary.html" title="Auxiliary"> +<link rel="prev" href="../auxiliary.html" title="Auxiliary"> +<link rel="next" href="functions/copy.html" title="copy"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="../auxiliary.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../auxiliary.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="functions/copy.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h4 class="title"> +<a name="fusion.algorithm.auxiliary.functions"></a><a class="link" href="functions.html" title="Functions">Functions</a> +</h4></div></div></div> +<div class="toc"><dl><dt><span class="section"><a href="functions/copy.html">copy</a></span></dt></dl></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-2006, 2011 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="../auxiliary.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../auxiliary.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="functions/copy.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/algorithm/auxiliary/functions/copy.html b/libs/fusion/doc/html/fusion/algorithm/auxiliary/functions/copy.html new file mode 100755 index 0000000000..45314d8192 --- /dev/null +++ b/libs/fusion/doc/html/fusion/algorithm/auxiliary/functions/copy.html @@ -0,0 +1,170 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>copy</title> +<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../functions.html" title="Functions"> +<link rel="prev" href="../functions.html" title="Functions"> +<link rel="next" href="../../iteration.html" title="Iteration"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="../functions.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../../iteration.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h5 class="title"> +<a name="fusion.algorithm.auxiliary.functions.copy"></a><a class="link" href="copy.html" title="copy">copy</a> +</h5></div></div></div> +<h6> +<a name="fusion.algorithm.auxiliary.functions.copy.h0"></a> + <span><a name="fusion.algorithm.auxiliary.functions.copy.description"></a></span><a class="link" href="copy.html#fusion.algorithm.auxiliary.functions.copy.description">Description</a> + </h6> +<p> + Copy a sequence <code class="computeroutput"><span class="identifier">src</span></code> to + a sequence <code class="computeroutput"><span class="identifier">dest</span></code>. It is + also used to convert sequence into other. + </p> +<h6> +<a name="fusion.algorithm.auxiliary.functions.copy.h1"></a> + <span><a name="fusion.algorithm.auxiliary.functions.copy.synopsis"></a></span><a class="link" href="copy.html#fusion.algorithm.auxiliary.functions.copy.synopsis">Synopsis</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Seq1</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Seq2</span><span class="special">></span> +<span class="keyword">void</span> <span class="identifier">copy</span><span class="special">(</span><span class="identifier">Seq1</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">src</span><span class="special">,</span> <span class="identifier">Seq2</span><span class="special">&</span> <span class="identifier">dest</span><span class="special">);</span> +</pre> +<div class="table"> +<a name="fusion.algorithm.auxiliary.functions.copy.t0"></a><p class="title"><b>Table 1.37. Parameters</b></p> +<div class="table-contents"><table class="table" summary="Parameters"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Requirement + </p> + </th> +<th> + <p> + Description + </p> + </th> +</tr></thead> +<tbody> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">src</span></code> + </p> + </td> +<td> + <p> + A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a>, all elements contained in the <code class="computeroutput"><span class="identifier">src</span></code> sequence should be convertible + into the element contained in the <code class="computeroutput"><span class="identifier">dest</span></code> + sequence. + </p> + </td> +<td> + <p> + Operation's argument + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">dest</span></code> + </p> + </td> +<td> + <p> + A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a>, <code class="computeroutput"><span class="identifier">e2</span> + <span class="special">=</span> <span class="identifier">e1</span></code> + is valid expression for each pair of elements <code class="computeroutput"><span class="identifier">e1</span></code> of <code class="computeroutput"><span class="identifier">src</span></code> + and <code class="computeroutput"><span class="identifier">e2</span></code> of + <code class="computeroutput"><span class="identifier">dest</span></code>. + </p> + </td> +<td> + <p> + Operation's argument + </p> + </td> +</tr> +</tbody> +</table></div> +</div> +<br class="table-break"><h6> +<a name="fusion.algorithm.auxiliary.functions.copy.h2"></a> + <span><a name="fusion.algorithm.auxiliary.functions.copy.expression_semantics"></a></span><a class="link" href="copy.html#fusion.algorithm.auxiliary.functions.copy.expression_semantics">Expression + Semantics</a> + </h6> +<pre class="programlisting"><a class="link" href="copy.html" title="copy"><code class="computeroutput"><span class="identifier">copy</span></code></a><span class="special">(</span><span class="identifier">src</span><span class="special">,</span> <span class="identifier">dest</span><span class="special">);</span> +</pre> +<p> + <span class="bold"><strong>Return type</strong></span>: <code class="computeroutput"><span class="keyword">void</span></code> + </p> +<p> + <span class="bold"><strong>Semantics</strong></span>: <code class="computeroutput"><span class="identifier">e2</span> + <span class="special">=</span> <span class="identifier">e1</span></code> + for each element <code class="computeroutput"><span class="identifier">e1</span></code> in + <code class="computeroutput"><span class="identifier">src</span></code> and <code class="computeroutput"><span class="identifier">e2</span></code> in <code class="computeroutput"><span class="identifier">dest</span></code>. + </p> +<h6> +<a name="fusion.algorithm.auxiliary.functions.copy.h3"></a> + <span><a name="fusion.algorithm.auxiliary.functions.copy.complexity"></a></span><a class="link" href="copy.html#fusion.algorithm.auxiliary.functions.copy.complexity">Complexity</a> + </h6> +<p> + Linear, exactly <code class="computeroutput"><a class="link" href="../../../sequence/intrinsic/metafunctions/size.html" title="size"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">>::</span><span class="identifier">value</span></code>. + </p> +<h6> +<a name="fusion.algorithm.auxiliary.functions.copy.h4"></a> + <span><a name="fusion.algorithm.auxiliary.functions.copy.header"></a></span><a class="link" href="copy.html#fusion.algorithm.auxiliary.functions.copy.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">auxiliary</span><span class="special">/</span><span class="identifier">copy</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">copy</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h6> +<a name="fusion.algorithm.auxiliary.functions.copy.h5"></a> + <span><a name="fusion.algorithm.auxiliary.functions.copy.example"></a></span><a class="link" href="copy.html#fusion.algorithm.auxiliary.functions.copy.example">Example</a> + </h6> +<pre class="programlisting"><a class="link" href="../../../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">int</span><span class="special">></span> <span class="identifier">vec</span><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">);</span> +<a class="link" href="../../../container/list.html" title="list"><code class="computeroutput"><span class="identifier">list</span></code></a><span class="special"><</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">int</span><span class="special">></span> <span class="identifier">ls</span><span class="special">;</span> +<a class="link" href="copy.html" title="copy"><code class="computeroutput"><span class="identifier">copy</span></code></a><span class="special">(</span><span class="identifier">vec</span><span class="special">,</span> <span class="identifier">ls</span><span class="special">);</span> +<span class="identifier">assert</span><span class="special">(</span><span class="identifier">ls</span> <span class="special">==</span> <a class="link" href="../../../container/generation/functions/make_list.html" title="make_list"><code class="computeroutput"><span class="identifier">make_list</span></code></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">));</span> +</pre> +</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-2006, 2011 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="../functions.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../../iteration.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/algorithm/iteration.html b/libs/fusion/doc/html/fusion/algorithm/iteration.html new file mode 100755 index 0000000000..4a2d76b910 --- /dev/null +++ b/libs/fusion/doc/html/fusion/algorithm/iteration.html @@ -0,0 +1,59 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Iteration</title> +<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../algorithm.html" title="Algorithm"> +<link rel="prev" href="auxiliary/functions/copy.html" title="copy"> +<link rel="next" href="iteration/functions.html" title="Functions"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="auxiliary/functions/copy.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../algorithm.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="iteration/functions.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h3 class="title"> +<a name="fusion.algorithm.iteration"></a><a class="link" href="iteration.html" title="Iteration">Iteration</a> +</h3></div></div></div> +<div class="toc"><dl> +<dt><span class="section"><a href="iteration/functions.html">Functions</a></span></dt> +<dt><span class="section"><a href="iteration/metafunctions.html">Metafunctions</a></span></dt> +</dl></div> +<p> + The iteration algorithms provide the fundamental algorithms for traversing + a sequence repeatedly applying an operation to its elements. + </p> +<h5> +<a name="fusion.algorithm.iteration.h0"></a> + <span><a name="fusion.algorithm.iteration.header"></a></span><a class="link" href="iteration.html#fusion.algorithm.iteration.header">Header</a> + </h5> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">iteration</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">iteration</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +</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-2006, 2011 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="auxiliary/functions/copy.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../algorithm.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="iteration/functions.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/algorithm/iteration/functions.html b/libs/fusion/doc/html/fusion/algorithm/iteration/functions.html new file mode 100755 index 0000000000..406d5ffb66 --- /dev/null +++ b/libs/fusion/doc/html/fusion/algorithm/iteration/functions.html @@ -0,0 +1,52 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Functions</title> +<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../iteration.html" title="Iteration"> +<link rel="prev" href="../iteration.html" title="Iteration"> +<link rel="next" href="functions/fold.html" title="fold"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="../iteration.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../iteration.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="functions/fold.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h4 class="title"> +<a name="fusion.algorithm.iteration.functions"></a><a class="link" href="functions.html" title="Functions">Functions</a> +</h4></div></div></div> +<div class="toc"><dl> +<dt><span class="section"><a href="functions/fold.html">fold</a></span></dt> +<dt><span class="section"><a href="functions/reverse_fold.html">reverse_fold</a></span></dt> +<dt><span class="section"><a href="functions/iter_fold.html">iter_fold</a></span></dt> +<dt><span class="section"><a href="functions/reverse_iter_fold.html">reverse_iter_fold</a></span></dt> +<dt><span class="section"><a href="functions/accumulate.html">accumulate</a></span></dt> +<dt><span class="section"><a href="functions/for_each.html">for_each</a></span></dt> +</dl></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-2006, 2011 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="../iteration.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../iteration.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="functions/fold.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/algorithm/iteration/functions/accumulate.html b/libs/fusion/doc/html/fusion/algorithm/iteration/functions/accumulate.html new file mode 100755 index 0000000000..f50eae48c3 --- /dev/null +++ b/libs/fusion/doc/html/fusion/algorithm/iteration/functions/accumulate.html @@ -0,0 +1,209 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>accumulate</title> +<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../functions.html" title="Functions"> +<link rel="prev" href="reverse_iter_fold.html" title="reverse_iter_fold"> +<link rel="next" href="for_each.html" title="for_each"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="reverse_iter_fold.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="for_each.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h5 class="title"> +<a name="fusion.algorithm.iteration.functions.accumulate"></a><a class="link" href="accumulate.html" title="accumulate">accumulate</a> +</h5></div></div></div> +<h6> +<a name="fusion.algorithm.iteration.functions.accumulate.h0"></a> + <span><a name="fusion.algorithm.iteration.functions.accumulate.description"></a></span><a class="link" href="accumulate.html#fusion.algorithm.iteration.functions.accumulate.description">Description</a> + </h6> +<p> + For a sequence <code class="computeroutput"><span class="identifier">seq</span></code>, initial + state <code class="computeroutput"><span class="identifier">initial_state</span></code>, + and binary function object or function pointer <code class="computeroutput"><span class="identifier">f</span></code>, + <code class="literal">accumulate</code> returns the result of the repeated application + of binary <code class="computeroutput"><span class="identifier">f</span></code> to the result + of the previous <code class="computeroutput"><span class="identifier">f</span></code> invocation + (<code class="computeroutput"><span class="identifier">inital_state</span></code> if it is + the first call) and each element of <code class="computeroutput"><span class="identifier">seq</span></code>. + </p> +<h6> +<a name="fusion.algorithm.iteration.functions.accumulate.h1"></a> + <span><a name="fusion.algorithm.iteration.functions.accumulate.synopsis"></a></span><a class="link" href="accumulate.html#fusion.algorithm.iteration.functions.accumulate.synopsis">Synopsis</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span> + <span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">State</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">F</span> + <span class="special">></span> +<span class="keyword">typename</span> <a class="link" href="../metafunctions/accumulate.html" title="accumulate"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">accumulate</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">State</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">F</span><span class="special">>::</span><span class="identifier">type</span> accumulate<span class="special">(</span> + <span class="identifier">Sequence</span><span class="special">&</span> <span class="identifier">seq</span><span class="special">,</span> <span class="identifier">State</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">initial_state</span><span class="special">,</span> <span class="identifier">F</span> <span class="identifier">f</span><span class="special">);</span> + +<span class="keyword">template</span><span class="special"><</span> + <span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">State</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">F</span> + <span class="special">></span> +<span class="keyword">typename</span> <a class="link" href="../metafunctions/accumulate.html" title="accumulate"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">accumulate</span></code></a><span class="special"><</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">State</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">F</span><span class="special">>::</span><span class="identifier">type</span> accumulate<span class="special">(</span> + <span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">seq</span><span class="special">,</span> <span class="identifier">State</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">initial_state</span><span class="special">,</span> <span class="identifier">F</span> <span class="identifier">f</span><span class="special">);</span> +</pre> +<div class="table"> +<a name="fusion.algorithm.iteration.functions.accumulate.t0"></a><p class="title"><b>Table 1.42. Parameters</b></p> +<div class="table-contents"><table class="table" summary="Parameters"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Requirement + </p> + </th> +<th> + <p> + Description + </p> + </th> +</tr></thead> +<tbody> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">seq</span></code> + </p> + </td> +<td> + <p> + A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a> + </p> + </td> +<td> + <p> + Operation's argument + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">initial_state</span></code> + </p> + </td> +<td> + <p> + Any type + </p> + </td> +<td> + <p> + Initial state + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">f</span></code> + </p> + </td> +<td> + <p> + <code class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">s</span><span class="special">,</span>e<span class="special">)</span></code> with return type <code class="computeroutput"><a href="http://www.boost.org/libs/utility/utility.htm#result_of" target="_top"><code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">result_of</span></code></a><span class="special"><</span><span class="identifier">F</span><span class="special">(</span><span class="identifier">S</span><span class="special">,</span>E<span class="special">)>::</span><span class="identifier">type</span></code> for current state <code class="computeroutput"><span class="identifier">s</span></code> of type <code class="computeroutput"><span class="identifier">S</span></code>, + and for each element <code class="computeroutput"><span class="identifier">e</span></code> + of type <code class="computeroutput"><span class="identifier">E</span></code> in + <code class="computeroutput"><span class="identifier">seq</span></code> + </p> + </td> +<td> + <p> + Operation's argument + </p> + </td> +</tr> +</tbody> +</table></div> +</div> +<br class="table-break"><h6> +<a name="fusion.algorithm.iteration.functions.accumulate.h2"></a> + <span><a name="fusion.algorithm.iteration.functions.accumulate.expression_semantics"></a></span><a class="link" href="accumulate.html#fusion.algorithm.iteration.functions.accumulate.expression_semantics">Expression + Semantics</a> + </h6> +<pre class="programlisting">accumulate<span class="special">(</span><span class="identifier">seq</span><span class="special">,</span> <span class="identifier">initial_state</span><span class="special">,</span> <span class="identifier">f</span><span class="special">);</span> +</pre> +<p> + <span class="bold"><strong>Return type</strong></span>: Any type + </p> +<p> + <span class="bold"><strong>Semantics</strong></span>: Equivalent to <code class="literal">f(... + f(f(initial_state,e1),e2) ...eN)</code> where <code class="literal">e1 ...eN</code> + are the consecutive elements of <code class="computeroutput"><span class="identifier">seq</span></code>. + </p> +<h6> +<a name="fusion.algorithm.iteration.functions.accumulate.h3"></a> + <span><a name="fusion.algorithm.iteration.functions.accumulate.complexity"></a></span><a class="link" href="accumulate.html#fusion.algorithm.iteration.functions.accumulate.complexity">Complexity</a> + </h6> +<p> + Linear, exactly <code class="computeroutput"><a class="link" href="../../../sequence/intrinsic/metafunctions/size.html" title="size"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">>::</span><span class="identifier">value</span></code> applications of <code class="computeroutput"><span class="identifier">f</span></code>. + </p> +<h6> +<a name="fusion.algorithm.iteration.functions.accumulate.h4"></a> + <span><a name="fusion.algorithm.iteration.functions.accumulate.header"></a></span><a class="link" href="accumulate.html#fusion.algorithm.iteration.functions.accumulate.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">iteration</span><span class="special">/</span>accumulate<span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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>accumulate<span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h6> +<a name="fusion.algorithm.iteration.functions.accumulate.h5"></a> + <span><a name="fusion.algorithm.iteration.functions.accumulate.example"></a></span><a class="link" href="accumulate.html#fusion.algorithm.iteration.functions.accumulate.example">Example</a> + </h6> +<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">make_string</span> +<span class="special">{</span> + <span class="keyword">typedef</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">result_type</span><span class="special">;</span> + + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">></span> + <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="keyword">operator</span><span class="special">()(</span><span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">&</span> <span class="identifier">str</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&</span> <span class="identifier">t</span><span class="special">)</span> <span class="keyword">const</span> + <span class="special">{</span> + <span class="keyword">return</span> <span class="identifier">str</span> <span class="special">+</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">lexical_cast</span><span class="special"><</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">>(</span>t<span class="special">);</span> + <span class="special">}</span> +<span class="special">};</span> +<span class="special">...</span> +<span class="keyword">const</span> <a class="link" href="../../../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">int</span><span class="special">></span> <span class="identifier">vec</span><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">);</span> +<span class="identifier">assert</span><span class="special">(</span>accumulate<span class="special">(</span><span class="identifier">vec</span><span class="special">,</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">(</span><span class="string">""</span><span class="special">),</span> <span class="identifier">make_string</span><span class="special">())</span> <span class="special">==</span> "12"<span class="special">);</span> +</pre> +</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-2006, 2011 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="reverse_iter_fold.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="for_each.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/algorithm/iteration/functions/fold.html b/libs/fusion/doc/html/fusion/algorithm/iteration/functions/fold.html new file mode 100755 index 0000000000..81710a4f99 --- /dev/null +++ b/libs/fusion/doc/html/fusion/algorithm/iteration/functions/fold.html @@ -0,0 +1,209 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>fold</title> +<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../functions.html" title="Functions"> +<link rel="prev" href="../functions.html" title="Functions"> +<link rel="next" href="reverse_fold.html" title="reverse_fold"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="../functions.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="reverse_fold.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h5 class="title"> +<a name="fusion.algorithm.iteration.functions.fold"></a><a class="link" href="fold.html" title="fold">fold</a> +</h5></div></div></div> +<h6> +<a name="fusion.algorithm.iteration.functions.fold.h0"></a> + <span><a name="fusion.algorithm.iteration.functions.fold.description"></a></span><a class="link" href="fold.html#fusion.algorithm.iteration.functions.fold.description">Description</a> + </h6> +<p> + For a sequence <code class="computeroutput"><span class="identifier">seq</span></code>, initial + state <code class="computeroutput"><span class="identifier">initial_state</span></code>, + and binary function object or function pointer <code class="computeroutput"><span class="identifier">f</span></code>, + <code class="literal">fold</code> returns the result of the repeated application + of binary <code class="computeroutput"><span class="identifier">f</span></code> to the result + of the previous <code class="computeroutput"><span class="identifier">f</span></code> invocation + (<code class="computeroutput"><span class="identifier">inital_state</span></code> if it is + the first call) and each element of <code class="computeroutput"><span class="identifier">seq</span></code>. + </p> +<h6> +<a name="fusion.algorithm.iteration.functions.fold.h1"></a> + <span><a name="fusion.algorithm.iteration.functions.fold.synopsis"></a></span><a class="link" href="fold.html#fusion.algorithm.iteration.functions.fold.synopsis">Synopsis</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span> + <span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">State</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">F</span> + <span class="special">></span> +<span class="keyword">typename</span> <a class="link" href="../metafunctions/fold.html" title="fold"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">fold</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">State</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">F</span><span class="special">>::</span><span class="identifier">type</span> fold<span class="special">(</span> + <span class="identifier">Sequence</span><span class="special">&</span> <span class="identifier">seq</span><span class="special">,</span> <span class="identifier">State</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">initial_state</span><span class="special">,</span> <span class="identifier">F</span> <span class="identifier">f</span><span class="special">);</span> + +<span class="keyword">template</span><span class="special"><</span> + <span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">State</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">F</span> + <span class="special">></span> +<span class="keyword">typename</span> <a class="link" href="../metafunctions/fold.html" title="fold"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">fold</span></code></a><span class="special"><</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">State</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">F</span><span class="special">>::</span><span class="identifier">type</span> fold<span class="special">(</span> + <span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">seq</span><span class="special">,</span> <span class="identifier">State</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">initial_state</span><span class="special">,</span> <span class="identifier">F</span> <span class="identifier">f</span><span class="special">);</span> +</pre> +<div class="table"> +<a name="fusion.algorithm.iteration.functions.fold.t0"></a><p class="title"><b>Table 1.38. Parameters</b></p> +<div class="table-contents"><table class="table" summary="Parameters"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Requirement + </p> + </th> +<th> + <p> + Description + </p> + </th> +</tr></thead> +<tbody> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">seq</span></code> + </p> + </td> +<td> + <p> + A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a> + </p> + </td> +<td> + <p> + Operation's argument + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">initial_state</span></code> + </p> + </td> +<td> + <p> + Any type + </p> + </td> +<td> + <p> + Initial state + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">f</span></code> + </p> + </td> +<td> + <p> + <code class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">s</span><span class="special">,</span>e<span class="special">)</span></code> with return type <code class="computeroutput"><a href="http://www.boost.org/libs/utility/utility.htm#result_of" target="_top"><code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">result_of</span></code></a><span class="special"><</span><span class="identifier">F</span><span class="special">(</span><span class="identifier">S</span><span class="special">,</span>E<span class="special">)>::</span><span class="identifier">type</span></code> for current state <code class="computeroutput"><span class="identifier">s</span></code> of type <code class="computeroutput"><span class="identifier">S</span></code>, + and for each element <code class="computeroutput"><span class="identifier">e</span></code> + of type <code class="computeroutput"><span class="identifier">E</span></code> in + <code class="computeroutput"><span class="identifier">seq</span></code> + </p> + </td> +<td> + <p> + Operation's argument + </p> + </td> +</tr> +</tbody> +</table></div> +</div> +<br class="table-break"><h6> +<a name="fusion.algorithm.iteration.functions.fold.h2"></a> + <span><a name="fusion.algorithm.iteration.functions.fold.expression_semantics"></a></span><a class="link" href="fold.html#fusion.algorithm.iteration.functions.fold.expression_semantics">Expression + Semantics</a> + </h6> +<pre class="programlisting">fold<span class="special">(</span><span class="identifier">seq</span><span class="special">,</span> <span class="identifier">initial_state</span><span class="special">,</span> <span class="identifier">f</span><span class="special">);</span> +</pre> +<p> + <span class="bold"><strong>Return type</strong></span>: Any type + </p> +<p> + <span class="bold"><strong>Semantics</strong></span>: Equivalent to <code class="literal">f(... + f(f(initial_state,e1),e2) ...eN)</code> where <code class="literal">e1 ...eN</code> + are the consecutive elements of <code class="computeroutput"><span class="identifier">seq</span></code>. + </p> +<h6> +<a name="fusion.algorithm.iteration.functions.fold.h3"></a> + <span><a name="fusion.algorithm.iteration.functions.fold.complexity"></a></span><a class="link" href="fold.html#fusion.algorithm.iteration.functions.fold.complexity">Complexity</a> + </h6> +<p> + Linear, exactly <code class="computeroutput"><a class="link" href="../../../sequence/intrinsic/metafunctions/size.html" title="size"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">>::</span><span class="identifier">value</span></code> applications of <code class="computeroutput"><span class="identifier">f</span></code>. + </p> +<h6> +<a name="fusion.algorithm.iteration.functions.fold.h4"></a> + <span><a name="fusion.algorithm.iteration.functions.fold.header"></a></span><a class="link" href="fold.html#fusion.algorithm.iteration.functions.fold.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">iteration</span><span class="special">/</span>fold<span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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>fold<span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h6> +<a name="fusion.algorithm.iteration.functions.fold.h5"></a> + <span><a name="fusion.algorithm.iteration.functions.fold.example"></a></span><a class="link" href="fold.html#fusion.algorithm.iteration.functions.fold.example">Example</a> + </h6> +<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">make_string</span> +<span class="special">{</span> + <span class="keyword">typedef</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">result_type</span><span class="special">;</span> + + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">></span> + <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="keyword">operator</span><span class="special">()(</span><span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">&</span> <span class="identifier">str</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&</span> <span class="identifier">t</span><span class="special">)</span> <span class="keyword">const</span> + <span class="special">{</span> + <span class="keyword">return</span> <span class="identifier">str</span> <span class="special">+</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">lexical_cast</span><span class="special"><</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">>(</span>t<span class="special">);</span> + <span class="special">}</span> +<span class="special">};</span> +<span class="special">...</span> +<span class="keyword">const</span> <a class="link" href="../../../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">int</span><span class="special">></span> <span class="identifier">vec</span><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">);</span> +<span class="identifier">assert</span><span class="special">(</span>fold<span class="special">(</span><span class="identifier">vec</span><span class="special">,</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">(</span><span class="string">""</span><span class="special">),</span> <span class="identifier">make_string</span><span class="special">())</span> <span class="special">==</span> "12"<span class="special">);</span> +</pre> +</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-2006, 2011 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="../functions.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="reverse_fold.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/algorithm/iteration/functions/for_each.html b/libs/fusion/doc/html/fusion/algorithm/iteration/functions/for_each.html new file mode 100755 index 0000000000..4c5def095d --- /dev/null +++ b/libs/fusion/doc/html/fusion/algorithm/iteration/functions/for_each.html @@ -0,0 +1,174 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>for_each</title> +<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../functions.html" title="Functions"> +<link rel="prev" href="accumulate.html" title="accumulate"> +<link rel="next" href="../metafunctions.html" title="Metafunctions"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="accumulate.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h5 class="title"> +<a name="fusion.algorithm.iteration.functions.for_each"></a><a class="link" href="for_each.html" title="for_each">for_each</a> +</h5></div></div></div> +<h6> +<a name="fusion.algorithm.iteration.functions.for_each.h0"></a> + <span><a name="fusion.algorithm.iteration.functions.for_each.description"></a></span><a class="link" href="for_each.html#fusion.algorithm.iteration.functions.for_each.description">Description</a> + </h6> +<p> + Applies a unary function object to each element of a sequence. + </p> +<h6> +<a name="fusion.algorithm.iteration.functions.for_each.h1"></a> + <span><a name="fusion.algorithm.iteration.functions.for_each.synopsis"></a></span><a class="link" href="for_each.html#fusion.algorithm.iteration.functions.for_each.synopsis">Synopsis</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span> + <span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">F</span> + <span class="special">></span> +<span class="keyword">typename</span> <a class="link" href="../metafunctions/for_each.html" title="for_each"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">for_each</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">F</span><span class="special">>::</span><span class="identifier">type</span> <span class="identifier">for_each</span><span class="special">(</span> + <span class="identifier">Sequence</span><span class="special">&</span> <span class="identifier">seq</span><span class="special">,</span> <span class="identifier">F</span> <span class="identifier">f</span><span class="special">);</span> +</pre> +<div class="table"> +<a name="fusion.algorithm.iteration.functions.for_each.t0"></a><p class="title"><b>Table 1.43. Parameters</b></p> +<div class="table-contents"><table class="table" summary="Parameters"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Requirement + </p> + </th> +<th> + <p> + Description + </p> + </th> +</tr></thead> +<tbody> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">seq</span></code> + </p> + </td> +<td> + <p> + A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a>, <code class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e</span><span class="special">)</span></code> must be a valid expression + for each element <code class="computeroutput"><span class="identifier">e</span></code> + in <code class="computeroutput"><span class="identifier">seq</span></code> + </p> + </td> +<td> + <p> + Operation's argument + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">f</span></code> + </p> + </td> +<td> + <p> + A unary <a class="link" href="../../../functional/concepts/reg_callable.html" title="Regular Callable Object">Regular + Callable Object</a> + </p> + </td> +<td> + <p> + Operation's argument + </p> + </td> +</tr> +</tbody> +</table></div> +</div> +<br class="table-break"><h6> +<a name="fusion.algorithm.iteration.functions.for_each.h2"></a> + <span><a name="fusion.algorithm.iteration.functions.for_each.expression_semantics"></a></span><a class="link" href="for_each.html#fusion.algorithm.iteration.functions.for_each.expression_semantics">Expression + Semantics</a> + </h6> +<pre class="programlisting"><a class="link" href="for_each.html" title="for_each"><code class="computeroutput"><span class="identifier">for_each</span></code></a><span class="special">(</span><span class="identifier">seq</span><span class="special">,</span> <span class="identifier">f</span><span class="special">);</span> +</pre> +<p> + <span class="bold"><strong>Return type</strong></span>: <code class="computeroutput"><span class="keyword">void</span></code> + </p> +<p> + <span class="bold"><strong>Semantics</strong></span>: Calls <code class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e</span><span class="special">)</span></code> for each element <code class="computeroutput"><span class="identifier">e</span></code> + in <code class="computeroutput"><span class="identifier">seq</span></code>. + </p> +<h6> +<a name="fusion.algorithm.iteration.functions.for_each.h3"></a> + <span><a name="fusion.algorithm.iteration.functions.for_each.complexity"></a></span><a class="link" href="for_each.html#fusion.algorithm.iteration.functions.for_each.complexity">Complexity</a> + </h6> +<p> + Linear, exactly <code class="computeroutput"><a class="link" href="../../../sequence/intrinsic/metafunctions/size.html" title="size"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">>::</span><span class="identifier">value</span></code> applications of <code class="computeroutput"><span class="identifier">f</span></code>. + </p> +<h6> +<a name="fusion.algorithm.iteration.functions.for_each.h4"></a> + <span><a name="fusion.algorithm.iteration.functions.for_each.header"></a></span><a class="link" href="for_each.html#fusion.algorithm.iteration.functions.for_each.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">iteration</span><span class="special">/</span><span class="identifier">for_each</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">for_each</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h6> +<a name="fusion.algorithm.iteration.functions.for_each.h5"></a> + <span><a name="fusion.algorithm.iteration.functions.for_each.example"></a></span><a class="link" href="for_each.html#fusion.algorithm.iteration.functions.for_each.example">Example</a> + </h6> +<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">increment</span> +<span class="special">{</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">></span> + <span class="keyword">void</span> <span class="keyword">operator</span><span class="special">()(</span><span class="identifier">T</span><span class="special">&</span> <span class="identifier">t</span><span class="special">)</span> <span class="keyword">const</span> + <span class="special">{</span> + <span class="special">++</span><span class="identifier">t</span><span class="special">;</span> + <span class="special">}</span> +<span class="special">};</span> +<span class="special">...</span> +<a class="link" href="../../../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">int</span><span class="special">></span> <span class="identifier">vec</span><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">);</span> +<a class="link" href="for_each.html" title="for_each"><code class="computeroutput"><span class="identifier">for_each</span></code></a><span class="special">(</span><span class="identifier">vec</span><span class="special">,</span> <span class="identifier">increment</span><span class="special">());</span> +<span class="identifier">assert</span><span class="special">(</span><span class="identifier">vec</span> <span class="special">==</span> <a class="link" href="../../../container/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></a><span class="special">(</span><span class="number">2</span><span class="special">,</span><span class="number">3</span><span class="special">));</span> +</pre> +</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-2006, 2011 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="accumulate.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/algorithm/iteration/functions/iter_fold.html b/libs/fusion/doc/html/fusion/algorithm/iteration/functions/iter_fold.html new file mode 100755 index 0000000000..503dfd6961 --- /dev/null +++ b/libs/fusion/doc/html/fusion/algorithm/iteration/functions/iter_fold.html @@ -0,0 +1,209 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>iter_fold</title> +<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../functions.html" title="Functions"> +<link rel="prev" href="reverse_fold.html" title="reverse_fold"> +<link rel="next" href="reverse_iter_fold.html" title="reverse_iter_fold"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="reverse_fold.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="reverse_iter_fold.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h5 class="title"> +<a name="fusion.algorithm.iteration.functions.iter_fold"></a><a class="link" href="iter_fold.html" title="iter_fold">iter_fold</a> +</h5></div></div></div> +<h6> +<a name="fusion.algorithm.iteration.functions.iter_fold.h0"></a> + <span><a name="fusion.algorithm.iteration.functions.iter_fold.description"></a></span><a class="link" href="iter_fold.html#fusion.algorithm.iteration.functions.iter_fold.description">Description</a> + </h6> +<p> + For a sequence <code class="computeroutput"><span class="identifier">seq</span></code>, initial + state <code class="computeroutput"><span class="identifier">initial_state</span></code>, + and binary function object or function pointer <code class="computeroutput"><span class="identifier">f</span></code>, + <code class="literal">iter_fold</code> returns the result of the repeated application + of binary <code class="computeroutput"><span class="identifier">f</span></code> to the result + of the previous <code class="computeroutput"><span class="identifier">f</span></code> invocation + (<code class="computeroutput"><span class="identifier">inital_state</span></code> if it is + the first call) and iterators on each element of <code class="computeroutput"><span class="identifier">seq</span></code>. + </p> +<h6> +<a name="fusion.algorithm.iteration.functions.iter_fold.h1"></a> + <span><a name="fusion.algorithm.iteration.functions.iter_fold.synopsis"></a></span><a class="link" href="iter_fold.html#fusion.algorithm.iteration.functions.iter_fold.synopsis">Synopsis</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span> + <span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">State</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">F</span> + <span class="special">></span> +<span class="keyword">typename</span> <a class="link" href="../metafunctions/iter_fold.html" title="iter_fold"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">iter_fold</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">State</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">F</span><span class="special">>::</span><span class="identifier">type</span> iter_fold<span class="special">(</span> + <span class="identifier">Sequence</span><span class="special">&</span> <span class="identifier">seq</span><span class="special">,</span> <span class="identifier">State</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">initial_state</span><span class="special">,</span> <span class="identifier">F</span> <span class="identifier">f</span><span class="special">);</span> + +<span class="keyword">template</span><span class="special"><</span> + <span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">State</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">F</span> + <span class="special">></span> +<span class="keyword">typename</span> <a class="link" href="../metafunctions/iter_fold.html" title="iter_fold"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">iter_fold</span></code></a><span class="special"><</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">State</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">F</span><span class="special">>::</span><span class="identifier">type</span> iter_fold<span class="special">(</span> + <span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">seq</span><span class="special">,</span> <span class="identifier">State</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">initial_state</span><span class="special">,</span> <span class="identifier">F</span> <span class="identifier">f</span><span class="special">);</span> +</pre> +<div class="table"> +<a name="fusion.algorithm.iteration.functions.iter_fold.t0"></a><p class="title"><b>Table 1.40. Parameters</b></p> +<div class="table-contents"><table class="table" summary="Parameters"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Requirement + </p> + </th> +<th> + <p> + Description + </p> + </th> +</tr></thead> +<tbody> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">seq</span></code> + </p> + </td> +<td> + <p> + A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a> + </p> + </td> +<td> + <p> + Operation's argument + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">initial_state</span></code> + </p> + </td> +<td> + <p> + Any type + </p> + </td> +<td> + <p> + Initial state + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">f</span></code> + </p> + </td> +<td> + <p> + <code class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">s</span><span class="special">,</span>it<span class="special">)</span></code> with return type <code class="computeroutput"><a href="http://www.boost.org/libs/utility/utility.htm#result_of" target="_top"><code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">result_of</span></code></a><span class="special"><</span><span class="identifier">F</span><span class="special">(</span><span class="identifier">S</span><span class="special">,</span>It<span class="special">)>::</span><span class="identifier">type</span></code> for current state <code class="computeroutput"><span class="identifier">s</span></code> of type <code class="computeroutput"><span class="identifier">S</span></code>, + and for each iterator <code class="computeroutput"><span class="identifier">it</span></code> + of type <code class="computeroutput"><span class="identifier">It</span></code> + on an element of <code class="computeroutput"><span class="identifier">seq</span></code> + </p> + </td> +<td> + <p> + Operation's argument + </p> + </td> +</tr> +</tbody> +</table></div> +</div> +<br class="table-break"><h6> +<a name="fusion.algorithm.iteration.functions.iter_fold.h2"></a> + <span><a name="fusion.algorithm.iteration.functions.iter_fold.expression_semantics"></a></span><a class="link" href="iter_fold.html#fusion.algorithm.iteration.functions.iter_fold.expression_semantics">Expression + Semantics</a> + </h6> +<pre class="programlisting">iter_fold<span class="special">(</span><span class="identifier">seq</span><span class="special">,</span> <span class="identifier">initial_state</span><span class="special">,</span> <span class="identifier">f</span><span class="special">);</span> +</pre> +<p> + <span class="bold"><strong>Return type</strong></span>: Any type + </p> +<p> + <span class="bold"><strong>Semantics</strong></span>: Equivalent to <code class="literal">f(... + f(f(initial_state,it1),it2) ...itN)</code> where <code class="literal">it1 ...itN</code> + are consecutive iterators on the elements of <code class="computeroutput"><span class="identifier">seq</span></code>. + </p> +<h6> +<a name="fusion.algorithm.iteration.functions.iter_fold.h3"></a> + <span><a name="fusion.algorithm.iteration.functions.iter_fold.complexity"></a></span><a class="link" href="iter_fold.html#fusion.algorithm.iteration.functions.iter_fold.complexity">Complexity</a> + </h6> +<p> + Linear, exactly <code class="computeroutput"><a class="link" href="../../../sequence/intrinsic/metafunctions/size.html" title="size"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">>::</span><span class="identifier">value</span></code> applications of <code class="computeroutput"><span class="identifier">f</span></code>. + </p> +<h6> +<a name="fusion.algorithm.iteration.functions.iter_fold.h4"></a> + <span><a name="fusion.algorithm.iteration.functions.iter_fold.header"></a></span><a class="link" href="iter_fold.html#fusion.algorithm.iteration.functions.iter_fold.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">iteration</span><span class="special">/</span>iter_fold<span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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>iter_fold<span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h6> +<a name="fusion.algorithm.iteration.functions.iter_fold.h5"></a> + <span><a name="fusion.algorithm.iteration.functions.iter_fold.example"></a></span><a class="link" href="iter_fold.html#fusion.algorithm.iteration.functions.iter_fold.example">Example</a> + </h6> +<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">make_string</span> +<span class="special">{</span> + <span class="keyword">typedef</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">result_type</span><span class="special">;</span> + + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">></span> + <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="keyword">operator</span><span class="special">()(</span><span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">&</span> <span class="identifier">str</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&</span> <span class="identifier">t</span><span class="special">)</span> <span class="keyword">const</span> + <span class="special">{</span> + <span class="keyword">return</span> <span class="identifier">str</span> <span class="special">+</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">lexical_cast</span><span class="special"><</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">>(</span><a class="link" href="../../../iterator/functions/deref.html" title="deref"><code class="computeroutput"><span class="identifier">deref</span></code></a>(t)<span class="special">);</span> + <span class="special">}</span> +<span class="special">};</span> +<span class="special">...</span> +<span class="keyword">const</span> <a class="link" href="../../../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">int</span><span class="special">></span> <span class="identifier">vec</span><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">);</span> +<span class="identifier">assert</span><span class="special">(</span>iter_fold<span class="special">(</span><span class="identifier">vec</span><span class="special">,</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">(</span><span class="string">""</span><span class="special">),</span> <span class="identifier">make_string</span><span class="special">())</span> <span class="special">==</span> "12"<span class="special">);</span> +</pre> +</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-2006, 2011 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="reverse_fold.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="reverse_iter_fold.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/algorithm/iteration/functions/reverse_fold.html b/libs/fusion/doc/html/fusion/algorithm/iteration/functions/reverse_fold.html new file mode 100755 index 0000000000..847832b37e --- /dev/null +++ b/libs/fusion/doc/html/fusion/algorithm/iteration/functions/reverse_fold.html @@ -0,0 +1,209 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>reverse_fold</title> +<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../functions.html" title="Functions"> +<link rel="prev" href="fold.html" title="fold"> +<link rel="next" href="iter_fold.html" title="iter_fold"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="fold.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="iter_fold.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h5 class="title"> +<a name="fusion.algorithm.iteration.functions.reverse_fold"></a><a class="link" href="reverse_fold.html" title="reverse_fold">reverse_fold</a> +</h5></div></div></div> +<h6> +<a name="fusion.algorithm.iteration.functions.reverse_fold.h0"></a> + <span><a name="fusion.algorithm.iteration.functions.reverse_fold.description"></a></span><a class="link" href="reverse_fold.html#fusion.algorithm.iteration.functions.reverse_fold.description">Description</a> + </h6> +<p> + For a sequence <code class="computeroutput"><span class="identifier">seq</span></code>, initial + state <code class="computeroutput"><span class="identifier">initial_state</span></code>, + and binary function object or function pointer <code class="computeroutput"><span class="identifier">f</span></code>, + <code class="literal">reverse_fold</code> returns the result of the repeated application + of binary <code class="computeroutput"><span class="identifier">f</span></code> to the result + of the previous <code class="computeroutput"><span class="identifier">f</span></code> invocation + (<code class="computeroutput"><span class="identifier">inital_state</span></code> if it is + the first call) and each element of <code class="computeroutput"><span class="identifier">seq</span></code>. + </p> +<h6> +<a name="fusion.algorithm.iteration.functions.reverse_fold.h1"></a> + <span><a name="fusion.algorithm.iteration.functions.reverse_fold.synopsis"></a></span><a class="link" href="reverse_fold.html#fusion.algorithm.iteration.functions.reverse_fold.synopsis">Synopsis</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span> + <span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">State</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">F</span> + <span class="special">></span> +<span class="keyword">typename</span> <a class="link" href="../metafunctions/reverse_fold.html" title="reverse_fold"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">reverse_fold</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">State</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">F</span><span class="special">>::</span><span class="identifier">type</span> reverse_fold<span class="special">(</span> + <span class="identifier">Sequence</span><span class="special">&</span> <span class="identifier">seq</span><span class="special">,</span> <span class="identifier">State</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">initial_state</span><span class="special">,</span> <span class="identifier">F</span> <span class="identifier">f</span><span class="special">);</span> + +<span class="keyword">template</span><span class="special"><</span> + <span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">State</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">F</span> + <span class="special">></span> +<span class="keyword">typename</span> <a class="link" href="../metafunctions/reverse_fold.html" title="reverse_fold"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">reverse_fold</span></code></a><span class="special"><</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">State</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">F</span><span class="special">>::</span><span class="identifier">type</span> reverse_fold<span class="special">(</span> + <span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">seq</span><span class="special">,</span> <span class="identifier">State</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">initial_state</span><span class="special">,</span> <span class="identifier">F</span> <span class="identifier">f</span><span class="special">);</span> +</pre> +<div class="table"> +<a name="fusion.algorithm.iteration.functions.reverse_fold.t0"></a><p class="title"><b>Table 1.39. Parameters</b></p> +<div class="table-contents"><table class="table" summary="Parameters"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Requirement + </p> + </th> +<th> + <p> + Description + </p> + </th> +</tr></thead> +<tbody> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">seq</span></code> + </p> + </td> +<td> + <p> + A model of <a class="link" href="../../../sequence/concepts/bidirectional_sequence.html" title="Bidirectional Sequence">Bidirectional + Sequence</a> + </p> + </td> +<td> + <p> + Operation's argument + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">initial_state</span></code> + </p> + </td> +<td> + <p> + Any type + </p> + </td> +<td> + <p> + Initial state + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">f</span></code> + </p> + </td> +<td> + <p> + <code class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">s</span><span class="special">,</span>e<span class="special">)</span></code> with return type <code class="computeroutput"><a href="http://www.boost.org/libs/utility/utility.htm#result_of" target="_top"><code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">result_of</span></code></a><span class="special"><</span><span class="identifier">F</span><span class="special">(</span><span class="identifier">S</span><span class="special">,</span>E<span class="special">)>::</span><span class="identifier">type</span></code> for current state <code class="computeroutput"><span class="identifier">s</span></code> of type <code class="computeroutput"><span class="identifier">S</span></code>, + and for each element <code class="computeroutput"><span class="identifier">e</span></code> + of type <code class="computeroutput"><span class="identifier">E</span></code> in + <code class="computeroutput"><span class="identifier">seq</span></code> + </p> + </td> +<td> + <p> + Operation's argument + </p> + </td> +</tr> +</tbody> +</table></div> +</div> +<br class="table-break"><h6> +<a name="fusion.algorithm.iteration.functions.reverse_fold.h2"></a> + <span><a name="fusion.algorithm.iteration.functions.reverse_fold.expression_semantics"></a></span><a class="link" href="reverse_fold.html#fusion.algorithm.iteration.functions.reverse_fold.expression_semantics">Expression + Semantics</a> + </h6> +<pre class="programlisting">reverse_fold<span class="special">(</span><span class="identifier">seq</span><span class="special">,</span> <span class="identifier">initial_state</span><span class="special">,</span> <span class="identifier">f</span><span class="special">);</span> +</pre> +<p> + <span class="bold"><strong>Return type</strong></span>: Any type + </p> +<p> + <span class="bold"><strong>Semantics</strong></span>: Equivalent to <code class="literal">f(... + f(f(initial_state,eN),eN-1) ...e1)</code> where <code class="literal">e1 ...eN</code> + are the consecutive elements of <code class="computeroutput"><span class="identifier">seq</span></code>. + </p> +<h6> +<a name="fusion.algorithm.iteration.functions.reverse_fold.h3"></a> + <span><a name="fusion.algorithm.iteration.functions.reverse_fold.complexity"></a></span><a class="link" href="reverse_fold.html#fusion.algorithm.iteration.functions.reverse_fold.complexity">Complexity</a> + </h6> +<p> + Linear, exactly <code class="computeroutput"><a class="link" href="../../../sequence/intrinsic/metafunctions/size.html" title="size"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">>::</span><span class="identifier">value</span></code> applications of <code class="computeroutput"><span class="identifier">f</span></code>. + </p> +<h6> +<a name="fusion.algorithm.iteration.functions.reverse_fold.h4"></a> + <span><a name="fusion.algorithm.iteration.functions.reverse_fold.header"></a></span><a class="link" href="reverse_fold.html#fusion.algorithm.iteration.functions.reverse_fold.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">iteration</span><span class="special">/</span>reverse_fold<span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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>reverse_fold<span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h6> +<a name="fusion.algorithm.iteration.functions.reverse_fold.h5"></a> + <span><a name="fusion.algorithm.iteration.functions.reverse_fold.example"></a></span><a class="link" href="reverse_fold.html#fusion.algorithm.iteration.functions.reverse_fold.example">Example</a> + </h6> +<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">make_string</span> +<span class="special">{</span> + <span class="keyword">typedef</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">result_type</span><span class="special">;</span> + + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">></span> + <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="keyword">operator</span><span class="special">()(</span><span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">&</span> <span class="identifier">str</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&</span> <span class="identifier">t</span><span class="special">)</span> <span class="keyword">const</span> + <span class="special">{</span> + <span class="keyword">return</span> <span class="identifier">str</span> <span class="special">+</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">lexical_cast</span><span class="special"><</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">>(</span>t<span class="special">);</span> + <span class="special">}</span> +<span class="special">};</span> +<span class="special">...</span> +<span class="keyword">const</span> <a class="link" href="../../../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">int</span><span class="special">></span> <span class="identifier">vec</span><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">);</span> +<span class="identifier">assert</span><span class="special">(</span>reverse_fold<span class="special">(</span><span class="identifier">vec</span><span class="special">,</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">(</span><span class="string">""</span><span class="special">),</span> <span class="identifier">make_string</span><span class="special">())</span> <span class="special">==</span> "21"<span class="special">);</span> +</pre> +</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-2006, 2011 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="fold.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="iter_fold.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/algorithm/iteration/functions/reverse_iter_fold.html b/libs/fusion/doc/html/fusion/algorithm/iteration/functions/reverse_iter_fold.html new file mode 100755 index 0000000000..35f4fed927 --- /dev/null +++ b/libs/fusion/doc/html/fusion/algorithm/iteration/functions/reverse_iter_fold.html @@ -0,0 +1,209 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>reverse_iter_fold</title> +<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../functions.html" title="Functions"> +<link rel="prev" href="iter_fold.html" title="iter_fold"> +<link rel="next" href="accumulate.html" title="accumulate"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="iter_fold.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="accumulate.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h5 class="title"> +<a name="fusion.algorithm.iteration.functions.reverse_iter_fold"></a><a class="link" href="reverse_iter_fold.html" title="reverse_iter_fold">reverse_iter_fold</a> +</h5></div></div></div> +<h6> +<a name="fusion.algorithm.iteration.functions.reverse_iter_fold.h0"></a> + <span><a name="fusion.algorithm.iteration.functions.reverse_iter_fold.description"></a></span><a class="link" href="reverse_iter_fold.html#fusion.algorithm.iteration.functions.reverse_iter_fold.description">Description</a> + </h6> +<p> + For a sequence <code class="computeroutput"><span class="identifier">seq</span></code>, initial + state <code class="computeroutput"><span class="identifier">initial_state</span></code>, + and binary function object or function pointer <code class="computeroutput"><span class="identifier">f</span></code>, + <code class="literal">reverse_iter_fold</code> returns the result of the repeated + application of binary <code class="computeroutput"><span class="identifier">f</span></code> + to the result of the previous <code class="computeroutput"><span class="identifier">f</span></code> + invocation (<code class="computeroutput"><span class="identifier">inital_state</span></code> + if it is the first call) and iterators on each element of <code class="computeroutput"><span class="identifier">seq</span></code>. + </p> +<h6> +<a name="fusion.algorithm.iteration.functions.reverse_iter_fold.h1"></a> + <span><a name="fusion.algorithm.iteration.functions.reverse_iter_fold.synopsis"></a></span><a class="link" href="reverse_iter_fold.html#fusion.algorithm.iteration.functions.reverse_iter_fold.synopsis">Synopsis</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span> + <span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">State</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">F</span> + <span class="special">></span> +<span class="keyword">typename</span> <a class="link" href="../metafunctions/reverse_iter_fold.html" title="reverse_iter_fold"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">reverse_iter_fold</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">State</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">F</span><span class="special">>::</span><span class="identifier">type</span> reverse_iter_fold<span class="special">(</span> + <span class="identifier">Sequence</span><span class="special">&</span> <span class="identifier">seq</span><span class="special">,</span> <span class="identifier">State</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">initial_state</span><span class="special">,</span> <span class="identifier">F</span> <span class="identifier">f</span><span class="special">);</span> + +<span class="keyword">template</span><span class="special"><</span> + <span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">State</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">F</span> + <span class="special">></span> +<span class="keyword">typename</span> <a class="link" href="../metafunctions/reverse_iter_fold.html" title="reverse_iter_fold"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">reverse_iter_fold</span></code></a><span class="special"><</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">State</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">F</span><span class="special">>::</span><span class="identifier">type</span> reverse_iter_fold<span class="special">(</span> + <span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">seq</span><span class="special">,</span> <span class="identifier">State</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">initial_state</span><span class="special">,</span> <span class="identifier">F</span> <span class="identifier">f</span><span class="special">);</span> +</pre> +<div class="table"> +<a name="fusion.algorithm.iteration.functions.reverse_iter_fold.t0"></a><p class="title"><b>Table 1.41. Parameters</b></p> +<div class="table-contents"><table class="table" summary="Parameters"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Requirement + </p> + </th> +<th> + <p> + Description + </p> + </th> +</tr></thead> +<tbody> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">seq</span></code> + </p> + </td> +<td> + <p> + A model of <a class="link" href="../../../sequence/concepts/bidirectional_sequence.html" title="Bidirectional Sequence">Bidirectional + Sequence</a> + </p> + </td> +<td> + <p> + Operation's argument + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">initial_state</span></code> + </p> + </td> +<td> + <p> + Any type + </p> + </td> +<td> + <p> + Initial state + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">f</span></code> + </p> + </td> +<td> + <p> + <code class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">s</span><span class="special">,</span>it<span class="special">)</span></code> with return type <code class="computeroutput"><a href="http://www.boost.org/libs/utility/utility.htm#result_of" target="_top"><code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">result_of</span></code></a><span class="special"><</span><span class="identifier">F</span><span class="special">(</span><span class="identifier">S</span><span class="special">,</span>It<span class="special">)>::</span><span class="identifier">type</span></code> for current state <code class="computeroutput"><span class="identifier">s</span></code> of type <code class="computeroutput"><span class="identifier">S</span></code>, + and for each iterator <code class="computeroutput"><span class="identifier">it</span></code> + of type <code class="computeroutput"><span class="identifier">It</span></code> + on an element of <code class="computeroutput"><span class="identifier">seq</span></code> + </p> + </td> +<td> + <p> + Operation's argument + </p> + </td> +</tr> +</tbody> +</table></div> +</div> +<br class="table-break"><h6> +<a name="fusion.algorithm.iteration.functions.reverse_iter_fold.h2"></a> + <span><a name="fusion.algorithm.iteration.functions.reverse_iter_fold.expression_semantics"></a></span><a class="link" href="reverse_iter_fold.html#fusion.algorithm.iteration.functions.reverse_iter_fold.expression_semantics">Expression + Semantics</a> + </h6> +<pre class="programlisting">reverse_iter_fold<span class="special">(</span><span class="identifier">seq</span><span class="special">,</span> <span class="identifier">initial_state</span><span class="special">,</span> <span class="identifier">f</span><span class="special">);</span> +</pre> +<p> + <span class="bold"><strong>Return type</strong></span>: Any type + </p> +<p> + <span class="bold"><strong>Semantics</strong></span>: Equivalent to <code class="literal">f(... + f(f(initial_state,itN),itN-1) ...it1)</code> where <code class="literal">it1 ...itN</code> + are consecutive iterators on the elements of <code class="computeroutput"><span class="identifier">seq</span></code>. + </p> +<h6> +<a name="fusion.algorithm.iteration.functions.reverse_iter_fold.h3"></a> + <span><a name="fusion.algorithm.iteration.functions.reverse_iter_fold.complexity"></a></span><a class="link" href="reverse_iter_fold.html#fusion.algorithm.iteration.functions.reverse_iter_fold.complexity">Complexity</a> + </h6> +<p> + Linear, exactly <code class="computeroutput"><a class="link" href="../../../sequence/intrinsic/metafunctions/size.html" title="size"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">>::</span><span class="identifier">value</span></code> applications of <code class="computeroutput"><span class="identifier">f</span></code>. + </p> +<h6> +<a name="fusion.algorithm.iteration.functions.reverse_iter_fold.h4"></a> + <span><a name="fusion.algorithm.iteration.functions.reverse_iter_fold.header"></a></span><a class="link" href="reverse_iter_fold.html#fusion.algorithm.iteration.functions.reverse_iter_fold.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">iteration</span><span class="special">/</span>reverse_iter_fold<span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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>reverse_iter_fold<span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h6> +<a name="fusion.algorithm.iteration.functions.reverse_iter_fold.h5"></a> + <span><a name="fusion.algorithm.iteration.functions.reverse_iter_fold.example"></a></span><a class="link" href="reverse_iter_fold.html#fusion.algorithm.iteration.functions.reverse_iter_fold.example">Example</a> + </h6> +<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">make_string</span> +<span class="special">{</span> + <span class="keyword">typedef</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">result_type</span><span class="special">;</span> + + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">></span> + <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="keyword">operator</span><span class="special">()(</span><span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">&</span> <span class="identifier">str</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&</span> <span class="identifier">t</span><span class="special">)</span> <span class="keyword">const</span> + <span class="special">{</span> + <span class="keyword">return</span> <span class="identifier">str</span> <span class="special">+</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">lexical_cast</span><span class="special"><</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">>(</span><a class="link" href="../../../iterator/functions/deref.html" title="deref"><code class="computeroutput"><span class="identifier">deref</span></code></a>(t)<span class="special">);</span> + <span class="special">}</span> +<span class="special">};</span> +<span class="special">...</span> +<span class="keyword">const</span> <a class="link" href="../../../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">int</span><span class="special">></span> <span class="identifier">vec</span><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">);</span> +<span class="identifier">assert</span><span class="special">(</span>reverse_iter_fold<span class="special">(</span><span class="identifier">vec</span><span class="special">,</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">(</span><span class="string">""</span><span class="special">),</span> <span class="identifier">make_string</span><span class="special">())</span> <span class="special">==</span> "21"<span class="special">);</span> +</pre> +</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-2006, 2011 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="iter_fold.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="accumulate.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/algorithm/iteration/metafunctions.html b/libs/fusion/doc/html/fusion/algorithm/iteration/metafunctions.html new file mode 100755 index 0000000000..8a972ee9c8 --- /dev/null +++ b/libs/fusion/doc/html/fusion/algorithm/iteration/metafunctions.html @@ -0,0 +1,52 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Metafunctions</title> +<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../iteration.html" title="Iteration"> +<link rel="prev" href="functions/for_each.html" title="for_each"> +<link rel="next" href="metafunctions/fold.html" title="fold"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="functions/for_each.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../iteration.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="metafunctions/fold.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h4 class="title"> +<a name="fusion.algorithm.iteration.metafunctions"></a><a class="link" href="metafunctions.html" title="Metafunctions">Metafunctions</a> +</h4></div></div></div> +<div class="toc"><dl> +<dt><span class="section"><a href="metafunctions/fold.html">fold</a></span></dt> +<dt><span class="section"><a href="metafunctions/reverse_fold.html">reverse_fold</a></span></dt> +<dt><span class="section"><a href="metafunctions/iter_fold.html">iter_fold</a></span></dt> +<dt><span class="section"><a href="metafunctions/reverse_iter_fold.html">reverse_iter_fold</a></span></dt> +<dt><span class="section"><a href="metafunctions/accumulate.html">accumulate</a></span></dt> +<dt><span class="section"><a href="metafunctions/for_each.html">for_each</a></span></dt> +</dl></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-2006, 2011 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="functions/for_each.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../iteration.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="metafunctions/fold.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/algorithm/iteration/metafunctions/accumulate.html b/libs/fusion/doc/html/fusion/algorithm/iteration/metafunctions/accumulate.html new file mode 100755 index 0000000000..e47e392605 --- /dev/null +++ b/libs/fusion/doc/html/fusion/algorithm/iteration/metafunctions/accumulate.html @@ -0,0 +1,180 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>accumulate</title> +<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../metafunctions.html" title="Metafunctions"> +<link rel="prev" href="reverse_iter_fold.html" title="reverse_iter_fold"> +<link rel="next" href="for_each.html" title="for_each"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="reverse_iter_fold.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="for_each.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h5 class="title"> +<a name="fusion.algorithm.iteration.metafunctions.accumulate"></a><a class="link" href="accumulate.html" title="accumulate">accumulate</a> +</h5></div></div></div> +<h6> +<a name="fusion.algorithm.iteration.metafunctions.accumulate.h0"></a> + <span><a name="fusion.algorithm.iteration.metafunctions.accumulate.description"></a></span><a class="link" href="accumulate.html#fusion.algorithm.iteration.metafunctions.accumulate.description">Description</a> + </h6> +<p> + Returns the result type of <a class="link" href="../functions/accumulate.html" title="accumulate"><code class="computeroutput"><span class="identifier">accumulate</span></code></a>. + </p> +<h6> +<a name="fusion.algorithm.iteration.metafunctions.accumulate.h1"></a> + <span><a name="fusion.algorithm.iteration.metafunctions.accumulate.synopsis"></a></span><a class="link" href="accumulate.html#fusion.algorithm.iteration.metafunctions.accumulate.synopsis">Synopsis</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span> + <span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">State</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">F</span><span class="special">></span> +<span class="keyword">struct</span> accumulate +<span class="special">{</span> + <span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">type</span><span class="special">;</span> +<span class="special">};</span> +</pre> +<div class="table"> +<a name="fusion.algorithm.iteration.metafunctions.accumulate.t0"></a><p class="title"><b>Table 1.48. Parameters</b></p> +<div class="table-contents"><table class="table" summary="Parameters"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Requirement + </p> + </th> +<th> + <p> + Description + </p> + </th> +</tr></thead> +<tbody> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">Sequence</span></code> + </p> + </td> +<td> + <p> + A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a> + </p> + </td> +<td> + <p> + The sequence to iterate + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">State</span></code> + </p> + </td> +<td> + <p> + Any type + </p> + </td> +<td> + <p> + The initial state for the first application of <code class="computeroutput"><span class="identifier">F</span></code> + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">F</span></code> + </p> + </td> +<td> + <p> + <code class="computeroutput"><a href="http://www.boost.org/libs/utility/utility.htm#result_of" target="_top"><code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">result_of</span></code></a><span class="special"><</span><span class="identifier">F</span><span class="special">(</span><span class="identifier">S</span><span class="special">,</span>E<span class="special">)>::</span><span class="identifier">type</span></code> is the return type of + <code class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">s</span><span class="special">,</span>e<span class="special">)</span></code> with current state <code class="computeroutput"><span class="identifier">s</span></code> of type <code class="computeroutput"><span class="identifier">S</span></code>, + and an element <code class="computeroutput"><span class="identifier">e</span></code> + of type <code class="computeroutput"><span class="identifier">E</span></code> in + <code class="computeroutput"><span class="identifier">seq</span></code> + </p> + </td> +<td> + <p> + The operation to be applied on traversal + </p> + </td> +</tr> +</tbody> +</table></div> +</div> +<br class="table-break"><h6> +<a name="fusion.algorithm.iteration.metafunctions.accumulate.h2"></a> + <span><a name="fusion.algorithm.iteration.metafunctions.accumulate.expression_semantics"></a></span><a class="link" href="accumulate.html#fusion.algorithm.iteration.metafunctions.accumulate.expression_semantics">Expression + Semantics</a> + </h6> +<pre class="programlisting">accumulate<span class="special"><</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">State</span><span class="special">,</span> <span class="identifier">F</span><span class="special">>::</span><span class="identifier">type</span> +</pre> +<p> + <span class="bold"><strong>Return type</strong></span>: Any type + </p> +<p> + <span class="bold"><strong>Semantics</strong></span>: Returns the result of applying + <a class="link" href="../functions/accumulate.html" title="accumulate"><code class="computeroutput"><span class="identifier">accumulate</span></code></a> to a sequence of + type <code class="computeroutput"><span class="identifier">Sequence</span></code>, with an + initial state of type <code class="computeroutput"><span class="identifier">State</span></code> + and binary function object or function pointer of type <code class="computeroutput"><span class="identifier">F</span></code>. + </p> +<h6> +<a name="fusion.algorithm.iteration.metafunctions.accumulate.h3"></a> + <span><a name="fusion.algorithm.iteration.metafunctions.accumulate.complexity"></a></span><a class="link" href="accumulate.html#fusion.algorithm.iteration.metafunctions.accumulate.complexity">Complexity</a> + </h6> +<p> + Linear, exactly <code class="computeroutput"><a class="link" href="../../../sequence/intrinsic/metafunctions/size.html" title="size"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">>::</span><span class="identifier">value</span></code> applications of <code class="computeroutput"><span class="identifier">F</span></code>. + </p> +<h6> +<a name="fusion.algorithm.iteration.metafunctions.accumulate.h4"></a> + <span><a name="fusion.algorithm.iteration.metafunctions.accumulate.header"></a></span><a class="link" href="accumulate.html#fusion.algorithm.iteration.metafunctions.accumulate.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">iteration</span><span class="special">/</span>accumulate<span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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>accumulate<span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +</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-2006, 2011 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="reverse_iter_fold.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="for_each.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/algorithm/iteration/metafunctions/fold.html b/libs/fusion/doc/html/fusion/algorithm/iteration/metafunctions/fold.html new file mode 100755 index 0000000000..6fd14d13f1 --- /dev/null +++ b/libs/fusion/doc/html/fusion/algorithm/iteration/metafunctions/fold.html @@ -0,0 +1,180 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>fold</title> +<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../metafunctions.html" title="Metafunctions"> +<link rel="prev" href="../metafunctions.html" title="Metafunctions"> +<link rel="next" href="reverse_fold.html" title="reverse_fold"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="../metafunctions.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="reverse_fold.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h5 class="title"> +<a name="fusion.algorithm.iteration.metafunctions.fold"></a><a class="link" href="fold.html" title="fold">fold</a> +</h5></div></div></div> +<h6> +<a name="fusion.algorithm.iteration.metafunctions.fold.h0"></a> + <span><a name="fusion.algorithm.iteration.metafunctions.fold.description"></a></span><a class="link" href="fold.html#fusion.algorithm.iteration.metafunctions.fold.description">Description</a> + </h6> +<p> + Returns the result type of <a class="link" href="../functions/fold.html" title="fold"><code class="computeroutput"><span class="identifier">fold</span></code></a>. + </p> +<h6> +<a name="fusion.algorithm.iteration.metafunctions.fold.h1"></a> + <span><a name="fusion.algorithm.iteration.metafunctions.fold.synopsis"></a></span><a class="link" href="fold.html#fusion.algorithm.iteration.metafunctions.fold.synopsis">Synopsis</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span> + <span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">State</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">F</span><span class="special">></span> +<span class="keyword">struct</span> fold +<span class="special">{</span> + <span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">type</span><span class="special">;</span> +<span class="special">};</span> +</pre> +<div class="table"> +<a name="fusion.algorithm.iteration.metafunctions.fold.t0"></a><p class="title"><b>Table 1.44. Parameters</b></p> +<div class="table-contents"><table class="table" summary="Parameters"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Requirement + </p> + </th> +<th> + <p> + Description + </p> + </th> +</tr></thead> +<tbody> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">Sequence</span></code> + </p> + </td> +<td> + <p> + A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a> + </p> + </td> +<td> + <p> + The sequence to iterate + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">State</span></code> + </p> + </td> +<td> + <p> + Any type + </p> + </td> +<td> + <p> + The initial state for the first application of <code class="computeroutput"><span class="identifier">F</span></code> + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">F</span></code> + </p> + </td> +<td> + <p> + <code class="computeroutput"><a href="http://www.boost.org/libs/utility/utility.htm#result_of" target="_top"><code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">result_of</span></code></a><span class="special"><</span><span class="identifier">F</span><span class="special">(</span><span class="identifier">S</span><span class="special">,</span>E<span class="special">)>::</span><span class="identifier">type</span></code> is the return type of + <code class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">s</span><span class="special">,</span>e<span class="special">)</span></code> with current state <code class="computeroutput"><span class="identifier">s</span></code> of type <code class="computeroutput"><span class="identifier">S</span></code>, + and an element <code class="computeroutput"><span class="identifier">e</span></code> + of type <code class="computeroutput"><span class="identifier">E</span></code> in + <code class="computeroutput"><span class="identifier">seq</span></code> + </p> + </td> +<td> + <p> + The operation to be applied on traversal + </p> + </td> +</tr> +</tbody> +</table></div> +</div> +<br class="table-break"><h6> +<a name="fusion.algorithm.iteration.metafunctions.fold.h2"></a> + <span><a name="fusion.algorithm.iteration.metafunctions.fold.expression_semantics"></a></span><a class="link" href="fold.html#fusion.algorithm.iteration.metafunctions.fold.expression_semantics">Expression + Semantics</a> + </h6> +<pre class="programlisting">fold<span class="special"><</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">State</span><span class="special">,</span> <span class="identifier">F</span><span class="special">>::</span><span class="identifier">type</span> +</pre> +<p> + <span class="bold"><strong>Return type</strong></span>: Any type + </p> +<p> + <span class="bold"><strong>Semantics</strong></span>: Returns the result of applying + <a class="link" href="../functions/fold.html" title="fold"><code class="computeroutput"><span class="identifier">fold</span></code></a> to a sequence of type + <code class="computeroutput"><span class="identifier">Sequence</span></code>, with an initial + state of type <code class="computeroutput"><span class="identifier">State</span></code> and + binary function object or function pointer of type <code class="computeroutput"><span class="identifier">F</span></code>. + </p> +<h6> +<a name="fusion.algorithm.iteration.metafunctions.fold.h3"></a> + <span><a name="fusion.algorithm.iteration.metafunctions.fold.complexity"></a></span><a class="link" href="fold.html#fusion.algorithm.iteration.metafunctions.fold.complexity">Complexity</a> + </h6> +<p> + Linear, exactly <code class="computeroutput"><a class="link" href="../../../sequence/intrinsic/metafunctions/size.html" title="size"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">>::</span><span class="identifier">value</span></code> applications of <code class="computeroutput"><span class="identifier">F</span></code>. + </p> +<h6> +<a name="fusion.algorithm.iteration.metafunctions.fold.h4"></a> + <span><a name="fusion.algorithm.iteration.metafunctions.fold.header"></a></span><a class="link" href="fold.html#fusion.algorithm.iteration.metafunctions.fold.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">iteration</span><span class="special">/</span>fold<span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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>fold<span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +</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-2006, 2011 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="../metafunctions.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="reverse_fold.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/algorithm/iteration/metafunctions/for_each.html b/libs/fusion/doc/html/fusion/algorithm/iteration/metafunctions/for_each.html new file mode 100755 index 0000000000..aa05a3e1fa --- /dev/null +++ b/libs/fusion/doc/html/fusion/algorithm/iteration/metafunctions/for_each.html @@ -0,0 +1,160 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>for_each</title> +<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../metafunctions.html" title="Metafunctions"> +<link rel="prev" href="accumulate.html" title="accumulate"> +<link rel="next" href="../../query.html" title="Query"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="accumulate.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../../query.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h5 class="title"> +<a name="fusion.algorithm.iteration.metafunctions.for_each"></a><a class="link" href="for_each.html" title="for_each">for_each</a> +</h5></div></div></div> +<p> + A metafunction returning the result type of applying <a class="link" href="../functions/for_each.html" title="for_each"><code class="computeroutput"><span class="identifier">for_each</span></code></a> to a sequence. The + return type of <a class="link" href="../functions/for_each.html" title="for_each"><code class="computeroutput"><span class="identifier">for_each</span></code></a> is always <code class="computeroutput"><span class="keyword">void</span></code>. + </p> +<h6> +<a name="fusion.algorithm.iteration.metafunctions.for_each.h0"></a> + <span><a name="fusion.algorithm.iteration.metafunctions.for_each.description"></a></span><a class="link" href="for_each.html#fusion.algorithm.iteration.metafunctions.for_each.description">Description</a> + </h6> +<h6> +<a name="fusion.algorithm.iteration.metafunctions.for_each.h1"></a> + <span><a name="fusion.algorithm.iteration.metafunctions.for_each.synopsis"></a></span><a class="link" href="for_each.html#fusion.algorithm.iteration.metafunctions.for_each.synopsis">Synopsis</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span> + <span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">F</span> +<span class="special">></span> +<span class="keyword">struct</span> <span class="identifier">for_each</span> +<span class="special">{</span> + <span class="keyword">typedef</span> <span class="keyword">void</span> <span class="identifier">type</span><span class="special">;</span> +<span class="special">};</span> +</pre> +<div class="table"> +<a name="fusion.algorithm.iteration.metafunctions.for_each.t0"></a><p class="title"><b>Table 1.49. Parameters</b></p> +<div class="table-contents"><table class="table" summary="Parameters"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Requirement + </p> + </th> +<th> + <p> + Description + </p> + </th> +</tr></thead> +<tbody> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">Sequence</span></code> + </p> + </td> +<td> + <p> + A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a> + </p> + </td> +<td> + <p> + Operation's argument + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">F</span></code> + </p> + </td> +<td> + <p> + Any type + </p> + </td> +<td> + <p> + Operation's argument + </p> + </td> +</tr> +</tbody> +</table></div> +</div> +<br class="table-break"><h6> +<a name="fusion.algorithm.iteration.metafunctions.for_each.h2"></a> + <span><a name="fusion.algorithm.iteration.metafunctions.for_each.expression_semantics"></a></span><a class="link" href="for_each.html#fusion.algorithm.iteration.metafunctions.for_each.expression_semantics">Expression + Semantics</a> + </h6> +<pre class="programlisting"><a class="link" href="for_each.html" title="for_each"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">for_each</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">F</span><span class="special">>::</span><span class="identifier">type</span> +</pre> +<p> + <span class="bold"><strong>Return type</strong></span>: <code class="computeroutput"><span class="keyword">void</span></code>. + </p> +<p> + <span class="bold"><strong>Semantics</strong></span>: Returns the return type of + <a class="link" href="../functions/for_each.html" title="for_each"><code class="computeroutput"><span class="identifier">for_each</span></code></a> for a sequence of type + <code class="computeroutput"><span class="identifier">Sequence</span></code> and a unary + function object <code class="computeroutput"><span class="identifier">F</span></code>. The + return type is always <code class="computeroutput"><span class="keyword">void</span></code>. + </p> +<h6> +<a name="fusion.algorithm.iteration.metafunctions.for_each.h3"></a> + <span><a name="fusion.algorithm.iteration.metafunctions.for_each.complexity"></a></span><a class="link" href="for_each.html#fusion.algorithm.iteration.metafunctions.for_each.complexity">Complexity</a> + </h6> +<p> + Constant. + </p> +<h6> +<a name="fusion.algorithm.iteration.metafunctions.for_each.h4"></a> + <span><a name="fusion.algorithm.iteration.metafunctions.for_each.header"></a></span><a class="link" href="for_each.html#fusion.algorithm.iteration.metafunctions.for_each.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">iteration</span><span class="special">/</span><span class="identifier">for_each</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">for_each</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +</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-2006, 2011 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="accumulate.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../../query.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/algorithm/iteration/metafunctions/iter_fold.html b/libs/fusion/doc/html/fusion/algorithm/iteration/metafunctions/iter_fold.html new file mode 100755 index 0000000000..e02339c8c7 --- /dev/null +++ b/libs/fusion/doc/html/fusion/algorithm/iteration/metafunctions/iter_fold.html @@ -0,0 +1,180 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>iter_fold</title> +<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../metafunctions.html" title="Metafunctions"> +<link rel="prev" href="reverse_fold.html" title="reverse_fold"> +<link rel="next" href="reverse_iter_fold.html" title="reverse_iter_fold"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="reverse_fold.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="reverse_iter_fold.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h5 class="title"> +<a name="fusion.algorithm.iteration.metafunctions.iter_fold"></a><a class="link" href="iter_fold.html" title="iter_fold">iter_fold</a> +</h5></div></div></div> +<h6> +<a name="fusion.algorithm.iteration.metafunctions.iter_fold.h0"></a> + <span><a name="fusion.algorithm.iteration.metafunctions.iter_fold.description"></a></span><a class="link" href="iter_fold.html#fusion.algorithm.iteration.metafunctions.iter_fold.description">Description</a> + </h6> +<p> + Returns the result type of <a class="link" href="../functions/iter_fold.html" title="iter_fold"><code class="computeroutput"><span class="identifier">iter_fold</span></code></a>. + </p> +<h6> +<a name="fusion.algorithm.iteration.metafunctions.iter_fold.h1"></a> + <span><a name="fusion.algorithm.iteration.metafunctions.iter_fold.synopsis"></a></span><a class="link" href="iter_fold.html#fusion.algorithm.iteration.metafunctions.iter_fold.synopsis">Synopsis</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span> + <span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">State</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">F</span><span class="special">></span> +<span class="keyword">struct</span> iter_fold +<span class="special">{</span> + <span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">type</span><span class="special">;</span> +<span class="special">};</span> +</pre> +<div class="table"> +<a name="fusion.algorithm.iteration.metafunctions.iter_fold.t0"></a><p class="title"><b>Table 1.46. Parameters</b></p> +<div class="table-contents"><table class="table" summary="Parameters"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Requirement + </p> + </th> +<th> + <p> + Description + </p> + </th> +</tr></thead> +<tbody> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">Sequence</span></code> + </p> + </td> +<td> + <p> + A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a> + </p> + </td> +<td> + <p> + The sequence to iterate + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">State</span></code> + </p> + </td> +<td> + <p> + Any type + </p> + </td> +<td> + <p> + The initial state for the first application of <code class="computeroutput"><span class="identifier">F</span></code> + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">F</span></code> + </p> + </td> +<td> + <p> + <code class="computeroutput"><a href="http://www.boost.org/libs/utility/utility.htm#result_of" target="_top"><code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">result_of</span></code></a><span class="special"><</span><span class="identifier">F</span><span class="special">(</span><span class="identifier">S</span><span class="special">,</span>It<span class="special">)>::</span><span class="identifier">type</span></code> is the return type of + <code class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">s</span><span class="special">,</span>it<span class="special">)</span></code> with current state <code class="computeroutput"><span class="identifier">s</span></code> of type <code class="computeroutput"><span class="identifier">S</span></code>, + and an iterator <code class="computeroutput"><span class="identifier">it</span></code> + of type <code class="computeroutput"><span class="identifier">It</span></code> + on an element of <code class="computeroutput"><span class="identifier">seq</span></code> + </p> + </td> +<td> + <p> + The operation to be applied on traversal + </p> + </td> +</tr> +</tbody> +</table></div> +</div> +<br class="table-break"><h6> +<a name="fusion.algorithm.iteration.metafunctions.iter_fold.h2"></a> + <span><a name="fusion.algorithm.iteration.metafunctions.iter_fold.expression_semantics"></a></span><a class="link" href="iter_fold.html#fusion.algorithm.iteration.metafunctions.iter_fold.expression_semantics">Expression + Semantics</a> + </h6> +<pre class="programlisting">iter_fold<span class="special"><</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">State</span><span class="special">,</span> <span class="identifier">F</span><span class="special">>::</span><span class="identifier">type</span> +</pre> +<p> + <span class="bold"><strong>Return type</strong></span>: Any type + </p> +<p> + <span class="bold"><strong>Semantics</strong></span>: Returns the result of applying + <a class="link" href="../functions/iter_fold.html" title="iter_fold"><code class="computeroutput"><span class="identifier">iter_fold</span></code></a> to a sequence of type + <code class="computeroutput"><span class="identifier">Sequence</span></code>, with an initial + state of type <code class="computeroutput"><span class="identifier">State</span></code> and + binary function object or function pointer of type <code class="computeroutput"><span class="identifier">F</span></code>. + </p> +<h6> +<a name="fusion.algorithm.iteration.metafunctions.iter_fold.h3"></a> + <span><a name="fusion.algorithm.iteration.metafunctions.iter_fold.complexity"></a></span><a class="link" href="iter_fold.html#fusion.algorithm.iteration.metafunctions.iter_fold.complexity">Complexity</a> + </h6> +<p> + Linear, exactly <code class="computeroutput"><a class="link" href="../../../sequence/intrinsic/metafunctions/size.html" title="size"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">>::</span><span class="identifier">value</span></code> applications of <code class="computeroutput"><span class="identifier">F</span></code>. + </p> +<h6> +<a name="fusion.algorithm.iteration.metafunctions.iter_fold.h4"></a> + <span><a name="fusion.algorithm.iteration.metafunctions.iter_fold.header"></a></span><a class="link" href="iter_fold.html#fusion.algorithm.iteration.metafunctions.iter_fold.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">iteration</span><span class="special">/</span>iter_fold<span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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>iter_fold<span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +</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-2006, 2011 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="reverse_fold.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="reverse_iter_fold.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/algorithm/iteration/metafunctions/reverse_fold.html b/libs/fusion/doc/html/fusion/algorithm/iteration/metafunctions/reverse_fold.html new file mode 100755 index 0000000000..b6f15f44f3 --- /dev/null +++ b/libs/fusion/doc/html/fusion/algorithm/iteration/metafunctions/reverse_fold.html @@ -0,0 +1,180 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>reverse_fold</title> +<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../metafunctions.html" title="Metafunctions"> +<link rel="prev" href="fold.html" title="fold"> +<link rel="next" href="iter_fold.html" title="iter_fold"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="fold.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="iter_fold.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h5 class="title"> +<a name="fusion.algorithm.iteration.metafunctions.reverse_fold"></a><a class="link" href="reverse_fold.html" title="reverse_fold">reverse_fold</a> +</h5></div></div></div> +<h6> +<a name="fusion.algorithm.iteration.metafunctions.reverse_fold.h0"></a> + <span><a name="fusion.algorithm.iteration.metafunctions.reverse_fold.description"></a></span><a class="link" href="reverse_fold.html#fusion.algorithm.iteration.metafunctions.reverse_fold.description">Description</a> + </h6> +<p> + Returns the result type of <a class="link" href="../functions/reverse_fold.html" title="reverse_fold"><code class="computeroutput"><span class="identifier">reverse_fold</span></code></a>. + </p> +<h6> +<a name="fusion.algorithm.iteration.metafunctions.reverse_fold.h1"></a> + <span><a name="fusion.algorithm.iteration.metafunctions.reverse_fold.synopsis"></a></span><a class="link" href="reverse_fold.html#fusion.algorithm.iteration.metafunctions.reverse_fold.synopsis">Synopsis</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span> + <span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">State</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">F</span><span class="special">></span> +<span class="keyword">struct</span> reverse_fold +<span class="special">{</span> + <span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">type</span><span class="special">;</span> +<span class="special">};</span> +</pre> +<div class="table"> +<a name="fusion.algorithm.iteration.metafunctions.reverse_fold.t0"></a><p class="title"><b>Table 1.45. Parameters</b></p> +<div class="table-contents"><table class="table" summary="Parameters"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Requirement + </p> + </th> +<th> + <p> + Description + </p> + </th> +</tr></thead> +<tbody> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">Sequence</span></code> + </p> + </td> +<td> + <p> + A model of <a class="link" href="../../../sequence/concepts/bidirectional_sequence.html" title="Bidirectional Sequence">Bidirectional + Sequence</a> + </p> + </td> +<td> + <p> + The sequence to iterate + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">State</span></code> + </p> + </td> +<td> + <p> + Any type + </p> + </td> +<td> + <p> + The initial state for the first application of <code class="computeroutput"><span class="identifier">F</span></code> + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">F</span></code> + </p> + </td> +<td> + <p> + <code class="computeroutput"><a href="http://www.boost.org/libs/utility/utility.htm#result_of" target="_top"><code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">result_of</span></code></a><span class="special"><</span><span class="identifier">F</span><span class="special">(</span><span class="identifier">S</span><span class="special">,</span>E<span class="special">)>::</span><span class="identifier">type</span></code> is the return type of + <code class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">s</span><span class="special">,</span>e<span class="special">)</span></code> with current state <code class="computeroutput"><span class="identifier">s</span></code> of type <code class="computeroutput"><span class="identifier">S</span></code>, + and an element <code class="computeroutput"><span class="identifier">e</span></code> + of type <code class="computeroutput"><span class="identifier">E</span></code> in + <code class="computeroutput"><span class="identifier">seq</span></code> + </p> + </td> +<td> + <p> + The operation to be applied on traversal + </p> + </td> +</tr> +</tbody> +</table></div> +</div> +<br class="table-break"><h6> +<a name="fusion.algorithm.iteration.metafunctions.reverse_fold.h2"></a> + <span><a name="fusion.algorithm.iteration.metafunctions.reverse_fold.expression_semantics"></a></span><a class="link" href="reverse_fold.html#fusion.algorithm.iteration.metafunctions.reverse_fold.expression_semantics">Expression + Semantics</a> + </h6> +<pre class="programlisting">reverse_fold<span class="special"><</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">State</span><span class="special">,</span> <span class="identifier">F</span><span class="special">>::</span><span class="identifier">type</span> +</pre> +<p> + <span class="bold"><strong>Return type</strong></span>: Any type + </p> +<p> + <span class="bold"><strong>Semantics</strong></span>: Returns the result of applying + <a class="link" href="../functions/reverse_fold.html" title="reverse_fold"><code class="computeroutput"><span class="identifier">reverse_fold</span></code></a> to a sequence of + type <code class="computeroutput"><span class="identifier">Sequence</span></code>, with an + initial state of type <code class="computeroutput"><span class="identifier">State</span></code> + and binary function object or function pointer of type <code class="computeroutput"><span class="identifier">F</span></code>. + </p> +<h6> +<a name="fusion.algorithm.iteration.metafunctions.reverse_fold.h3"></a> + <span><a name="fusion.algorithm.iteration.metafunctions.reverse_fold.complexity"></a></span><a class="link" href="reverse_fold.html#fusion.algorithm.iteration.metafunctions.reverse_fold.complexity">Complexity</a> + </h6> +<p> + Linear, exactly <code class="computeroutput"><a class="link" href="../../../sequence/intrinsic/metafunctions/size.html" title="size"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">>::</span><span class="identifier">value</span></code> applications of <code class="computeroutput"><span class="identifier">F</span></code>. + </p> +<h6> +<a name="fusion.algorithm.iteration.metafunctions.reverse_fold.h4"></a> + <span><a name="fusion.algorithm.iteration.metafunctions.reverse_fold.header"></a></span><a class="link" href="reverse_fold.html#fusion.algorithm.iteration.metafunctions.reverse_fold.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">iteration</span><span class="special">/</span>reverse_fold<span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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>reverse_fold<span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +</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-2006, 2011 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="fold.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="iter_fold.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/algorithm/iteration/metafunctions/reverse_iter_fold.html b/libs/fusion/doc/html/fusion/algorithm/iteration/metafunctions/reverse_iter_fold.html new file mode 100755 index 0000000000..6c1683e1b1 --- /dev/null +++ b/libs/fusion/doc/html/fusion/algorithm/iteration/metafunctions/reverse_iter_fold.html @@ -0,0 +1,180 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>reverse_iter_fold</title> +<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../metafunctions.html" title="Metafunctions"> +<link rel="prev" href="iter_fold.html" title="iter_fold"> +<link rel="next" href="accumulate.html" title="accumulate"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="iter_fold.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="accumulate.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h5 class="title"> +<a name="fusion.algorithm.iteration.metafunctions.reverse_iter_fold"></a><a class="link" href="reverse_iter_fold.html" title="reverse_iter_fold">reverse_iter_fold</a> +</h5></div></div></div> +<h6> +<a name="fusion.algorithm.iteration.metafunctions.reverse_iter_fold.h0"></a> + <span><a name="fusion.algorithm.iteration.metafunctions.reverse_iter_fold.description"></a></span><a class="link" href="reverse_iter_fold.html#fusion.algorithm.iteration.metafunctions.reverse_iter_fold.description">Description</a> + </h6> +<p> + Returns the result type of <a class="link" href="../functions/reverse_iter_fold.html" title="reverse_iter_fold"><code class="computeroutput"><span class="identifier">reverse_iter_fold</span></code></a>. + </p> +<h6> +<a name="fusion.algorithm.iteration.metafunctions.reverse_iter_fold.h1"></a> + <span><a name="fusion.algorithm.iteration.metafunctions.reverse_iter_fold.synopsis"></a></span><a class="link" href="reverse_iter_fold.html#fusion.algorithm.iteration.metafunctions.reverse_iter_fold.synopsis">Synopsis</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span> + <span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">State</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">F</span><span class="special">></span> +<span class="keyword">struct</span> reverse_iter_fold +<span class="special">{</span> + <span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">type</span><span class="special">;</span> +<span class="special">};</span> +</pre> +<div class="table"> +<a name="fusion.algorithm.iteration.metafunctions.reverse_iter_fold.t0"></a><p class="title"><b>Table 1.47. Parameters</b></p> +<div class="table-contents"><table class="table" summary="Parameters"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Requirement + </p> + </th> +<th> + <p> + Description + </p> + </th> +</tr></thead> +<tbody> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">Sequence</span></code> + </p> + </td> +<td> + <p> + A model of <a class="link" href="../../../sequence/concepts/bidirectional_sequence.html" title="Bidirectional Sequence">Bidirectional + Sequence</a> + </p> + </td> +<td> + <p> + The sequence to iterate + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">State</span></code> + </p> + </td> +<td> + <p> + Any type + </p> + </td> +<td> + <p> + The initial state for the first application of <code class="computeroutput"><span class="identifier">F</span></code> + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">F</span></code> + </p> + </td> +<td> + <p> + <code class="computeroutput"><a href="http://www.boost.org/libs/utility/utility.htm#result_of" target="_top"><code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">result_of</span></code></a><span class="special"><</span><span class="identifier">F</span><span class="special">(</span><span class="identifier">S</span><span class="special">,</span>It<span class="special">)>::</span><span class="identifier">type</span></code> is the return type of + <code class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">s</span><span class="special">,</span>it<span class="special">)</span></code> with current state <code class="computeroutput"><span class="identifier">s</span></code> of type <code class="computeroutput"><span class="identifier">S</span></code>, + and an iterator <code class="computeroutput"><span class="identifier">it</span></code> + of type <code class="computeroutput"><span class="identifier">It</span></code> + on an element of <code class="computeroutput"><span class="identifier">seq</span></code> + </p> + </td> +<td> + <p> + The operation to be applied on traversal + </p> + </td> +</tr> +</tbody> +</table></div> +</div> +<br class="table-break"><h6> +<a name="fusion.algorithm.iteration.metafunctions.reverse_iter_fold.h2"></a> + <span><a name="fusion.algorithm.iteration.metafunctions.reverse_iter_fold.expression_semantics"></a></span><a class="link" href="reverse_iter_fold.html#fusion.algorithm.iteration.metafunctions.reverse_iter_fold.expression_semantics">Expression + Semantics</a> + </h6> +<pre class="programlisting">reverse_iter_fold<span class="special"><</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">State</span><span class="special">,</span> <span class="identifier">F</span><span class="special">>::</span><span class="identifier">type</span> +</pre> +<p> + <span class="bold"><strong>Return type</strong></span>: Any type + </p> +<p> + <span class="bold"><strong>Semantics</strong></span>: Returns the result of applying + <a class="link" href="../functions/reverse_iter_fold.html" title="reverse_iter_fold"><code class="computeroutput"><span class="identifier">reverse_iter_fold</span></code></a> to a sequence + of type <code class="computeroutput"><span class="identifier">Sequence</span></code>, with + an initial state of type <code class="computeroutput"><span class="identifier">State</span></code> + and binary function object or function pointer of type <code class="computeroutput"><span class="identifier">F</span></code>. + </p> +<h6> +<a name="fusion.algorithm.iteration.metafunctions.reverse_iter_fold.h3"></a> + <span><a name="fusion.algorithm.iteration.metafunctions.reverse_iter_fold.complexity"></a></span><a class="link" href="reverse_iter_fold.html#fusion.algorithm.iteration.metafunctions.reverse_iter_fold.complexity">Complexity</a> + </h6> +<p> + Linear, exactly <code class="computeroutput"><a class="link" href="../../../sequence/intrinsic/metafunctions/size.html" title="size"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">>::</span><span class="identifier">value</span></code> applications of <code class="computeroutput"><span class="identifier">F</span></code>. + </p> +<h6> +<a name="fusion.algorithm.iteration.metafunctions.reverse_iter_fold.h4"></a> + <span><a name="fusion.algorithm.iteration.metafunctions.reverse_iter_fold.header"></a></span><a class="link" href="reverse_iter_fold.html#fusion.algorithm.iteration.metafunctions.reverse_iter_fold.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">iteration</span><span class="special">/</span>reverse_iter_fold<span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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>reverse_iter_fold<span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +</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-2006, 2011 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="iter_fold.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="accumulate.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/algorithm/query.html b/libs/fusion/doc/html/fusion/algorithm/query.html new file mode 100755 index 0000000000..d250ecdd1f --- /dev/null +++ b/libs/fusion/doc/html/fusion/algorithm/query.html @@ -0,0 +1,58 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Query</title> +<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../algorithm.html" title="Algorithm"> +<link rel="prev" href="iteration/metafunctions/for_each.html" title="for_each"> +<link rel="next" href="query/functions.html" title="Functions"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="iteration/metafunctions/for_each.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../algorithm.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="query/functions.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h3 class="title"> +<a name="fusion.algorithm.query"></a><a class="link" href="query.html" title="Query">Query</a> +</h3></div></div></div> +<div class="toc"><dl> +<dt><span class="section"><a href="query/functions.html">Functions</a></span></dt> +<dt><span class="section"><a href="query/metafunctions.html">Metafunctions</a></span></dt> +</dl></div> +<p> + The query algorithms provide support for searching and analyzing sequences. + </p> +<h5> +<a name="fusion.algorithm.query.h0"></a> + <span><a name="fusion.algorithm.query.header"></a></span><a class="link" href="query.html#fusion.algorithm.query.header">Header</a> + </h5> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">query</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">query</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +</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-2006, 2011 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="iteration/metafunctions/for_each.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../algorithm.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="query/functions.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/algorithm/query/functions.html b/libs/fusion/doc/html/fusion/algorithm/query/functions.html new file mode 100755 index 0000000000..4cef0903b8 --- /dev/null +++ b/libs/fusion/doc/html/fusion/algorithm/query/functions.html @@ -0,0 +1,53 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Functions</title> +<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../query.html" title="Query"> +<link rel="prev" href="../query.html" title="Query"> +<link rel="next" href="functions/any.html" title="any"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="../query.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../query.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="functions/any.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h4 class="title"> +<a name="fusion.algorithm.query.functions"></a><a class="link" href="functions.html" title="Functions">Functions</a> +</h4></div></div></div> +<div class="toc"><dl> +<dt><span class="section"><a href="functions/any.html">any</a></span></dt> +<dt><span class="section"><a href="functions/all.html">all</a></span></dt> +<dt><span class="section"><a href="functions/none.html">none</a></span></dt> +<dt><span class="section"><a href="functions/find.html">find</a></span></dt> +<dt><span class="section"><a href="functions/find_if.html">find_if</a></span></dt> +<dt><span class="section"><a href="functions/count.html">count</a></span></dt> +<dt><span class="section"><a href="functions/count_if.html">count_if</a></span></dt> +</dl></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-2006, 2011 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="../query.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../query.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="functions/any.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/algorithm/query/functions/all.html b/libs/fusion/doc/html/fusion/algorithm/query/functions/all.html new file mode 100755 index 0000000000..76d6b9b0ff --- /dev/null +++ b/libs/fusion/doc/html/fusion/algorithm/query/functions/all.html @@ -0,0 +1,179 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>all</title> +<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../functions.html" title="Functions"> +<link rel="prev" href="any.html" title="any"> +<link rel="next" href="none.html" title="none"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="any.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="none.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h5 class="title"> +<a name="fusion.algorithm.query.functions.all"></a><a class="link" href="all.html" title="all">all</a> +</h5></div></div></div> +<h6> +<a name="fusion.algorithm.query.functions.all.h0"></a> + <span><a name="fusion.algorithm.query.functions.all.description"></a></span><a class="link" href="all.html#fusion.algorithm.query.functions.all.description">Description</a> + </h6> +<p> + For a sequence <code class="computeroutput"><span class="identifier">seq</span></code> and + unary function object <code class="computeroutput"><span class="identifier">f</span></code>, + <code class="computeroutput"><span class="identifier">all</span></code> returns true if + <code class="computeroutput"><span class="identifier">f</span></code> returns true for every + element of <code class="computeroutput"><span class="identifier">seq</span></code>. + </p> +<h6> +<a name="fusion.algorithm.query.functions.all.h1"></a> + <span><a name="fusion.algorithm.query.functions.all.synopsis"></a></span><a class="link" href="all.html#fusion.algorithm.query.functions.all.synopsis">Synopsis</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span> + <span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">F</span> + <span class="special">></span> +<span class="keyword">typename</span> <a class="link" href="../metafunctions/all.html" title="all"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">all</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">,</span><span class="identifier">F</span><span class="special">>::</span><span class="identifier">type</span> <span class="identifier">all</span><span class="special">(</span> + <span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">seq</span><span class="special">,</span> <span class="identifier">F</span> <span class="identifier">f</span><span class="special">);</span> +</pre> +<div class="table"> +<a name="fusion.algorithm.query.functions.all.t0"></a><p class="title"><b>Table 1.51. Parameters</b></p> +<div class="table-contents"><table class="table" summary="Parameters"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Requirement + </p> + </th> +<th> + <p> + Description + </p> + </th> +</tr></thead> +<tbody> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">seq</span></code> + </p> + </td> +<td> + <p> + A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a>, <code class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e</span><span class="special">)</span></code> is a valid expression, convertible + to <code class="computeroutput"><span class="keyword">bool</span></code>, for every + element <code class="computeroutput"><span class="identifier">e</span></code> in + <code class="computeroutput"><span class="identifier">seq</span></code> + </p> + </td> +<td> + <p> + The sequence to search + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">f</span></code> + </p> + </td> +<td> + <p> + A unary function object + </p> + </td> +<td> + <p> + The search predicate + </p> + </td> +</tr> +</tbody> +</table></div> +</div> +<br class="table-break"><h6> +<a name="fusion.algorithm.query.functions.all.h2"></a> + <span><a name="fusion.algorithm.query.functions.all.expression_semantics"></a></span><a class="link" href="all.html#fusion.algorithm.query.functions.all.expression_semantics">Expression + Semantics</a> + </h6> +<pre class="programlisting"><a class="link" href="all.html" title="all"><code class="computeroutput"><span class="identifier">all</span></code></a><span class="special">(</span><span class="identifier">seq</span><span class="special">,</span> <span class="identifier">f</span><span class="special">);</span> +</pre> +<p> + <span class="bold"><strong>Return type</strong></span>: <code class="computeroutput"><span class="keyword">bool</span></code> + </p> +<p> + <span class="bold"><strong>Semantics</strong></span>: Returns true if and only + if <code class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e</span><span class="special">)</span></code> + evaluates to <code class="computeroutput"><span class="keyword">true</span></code> for every + element <code class="computeroutput"><span class="identifier">e</span></code> in <code class="computeroutput"><span class="identifier">seq</span></code>. + </p> +<h6> +<a name="fusion.algorithm.query.functions.all.h3"></a> + <span><a name="fusion.algorithm.query.functions.all.complexity"></a></span><a class="link" href="all.html#fusion.algorithm.query.functions.all.complexity">Complexity</a> + </h6> +<p> + Linear. At most <code class="computeroutput"><a class="link" href="../../../sequence/intrinsic/metafunctions/size.html" title="size"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">>::</span><span class="identifier">value</span></code> comparisons. + </p> +<h6> +<a name="fusion.algorithm.query.functions.all.h4"></a> + <span><a name="fusion.algorithm.query.functions.all.header"></a></span><a class="link" href="all.html#fusion.algorithm.query.functions.all.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">query</span><span class="special">/</span><span class="identifier">all</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">all</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h6> +<a name="fusion.algorithm.query.functions.all.h5"></a> + <span><a name="fusion.algorithm.query.functions.all.example"></a></span><a class="link" href="all.html#fusion.algorithm.query.functions.all.example">Example</a> + </h6> +<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">odd</span> +<span class="special">{</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">></span> + <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">()(</span><span class="identifier">T</span> <span class="identifier">t</span><span class="special">)</span> <span class="keyword">const</span> + <span class="special">{</span> + <span class="keyword">return</span> <span class="identifier">t</span> <span class="special">%</span> <span class="number">2</span><span class="special">;</span> + <span class="special">}</span> +<span class="special">};</span> +<span class="special">...</span> +<span class="identifier">assert</span><span class="special">(</span><a class="link" href="all.html" title="all"><code class="computeroutput"><span class="identifier">all</span></code></a><span class="special">(</span><a class="link" href="../../../container/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">3</span><span class="special">),</span> <span class="identifier">odd</span><span class="special">()));</span> +<span class="identifier">assert</span><span class="special">(!</span><a class="link" href="all.html" title="all"><code class="computeroutput"><span class="identifier">all</span></code></a><span class="special">(</span><a class="link" href="../../../container/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">),</span> <span class="identifier">odd</span><span class="special">()));</span> +</pre> +</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-2006, 2011 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="any.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="none.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/algorithm/query/functions/any.html b/libs/fusion/doc/html/fusion/algorithm/query/functions/any.html new file mode 100755 index 0000000000..dd14ece935 --- /dev/null +++ b/libs/fusion/doc/html/fusion/algorithm/query/functions/any.html @@ -0,0 +1,179 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>any</title> +<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../functions.html" title="Functions"> +<link rel="prev" href="../functions.html" title="Functions"> +<link rel="next" href="all.html" title="all"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="../functions.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="all.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h5 class="title"> +<a name="fusion.algorithm.query.functions.any"></a><a class="link" href="any.html" title="any">any</a> +</h5></div></div></div> +<h6> +<a name="fusion.algorithm.query.functions.any.h0"></a> + <span><a name="fusion.algorithm.query.functions.any.description"></a></span><a class="link" href="any.html#fusion.algorithm.query.functions.any.description">Description</a> + </h6> +<p> + For a sequence <code class="computeroutput"><span class="identifier">seq</span></code> and + unary function object <code class="computeroutput"><span class="identifier">f</span></code>, + <code class="computeroutput"><span class="identifier">any</span></code> returns true if + <code class="computeroutput"><span class="identifier">f</span></code> returns true for at + least one element of <code class="computeroutput"><span class="identifier">seq</span></code>. + </p> +<h6> +<a name="fusion.algorithm.query.functions.any.h1"></a> + <span><a name="fusion.algorithm.query.functions.any.synopsis"></a></span><a class="link" href="any.html#fusion.algorithm.query.functions.any.synopsis">Synopsis</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span> + <span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">F</span> + <span class="special">></span> +<span class="keyword">typename</span> <a class="link" href="../metafunctions/any.html" title="any"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">any</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">,</span><span class="identifier">F</span><span class="special">>::</span><span class="identifier">type</span> <span class="identifier">any</span><span class="special">(</span> + <span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">seq</span><span class="special">,</span> <span class="identifier">F</span> <span class="identifier">f</span><span class="special">);</span> +</pre> +<div class="table"> +<a name="fusion.algorithm.query.functions.any.t0"></a><p class="title"><b>Table 1.50. Parameters</b></p> +<div class="table-contents"><table class="table" summary="Parameters"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Requirement + </p> + </th> +<th> + <p> + Description + </p> + </th> +</tr></thead> +<tbody> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">seq</span></code> + </p> + </td> +<td> + <p> + A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a>, <code class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e</span><span class="special">)</span></code> must be a valid expression, + convertible to <code class="computeroutput"><span class="keyword">bool</span></code>, + for each element <code class="computeroutput"><span class="identifier">e</span></code> + in <code class="computeroutput"><span class="identifier">seq</span></code> + </p> + </td> +<td> + <p> + The sequence to search + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">f</span></code> + </p> + </td> +<td> + <p> + A unary function object + </p> + </td> +<td> + <p> + The search predicate + </p> + </td> +</tr> +</tbody> +</table></div> +</div> +<br class="table-break"><h6> +<a name="fusion.algorithm.query.functions.any.h2"></a> + <span><a name="fusion.algorithm.query.functions.any.expression_semantics"></a></span><a class="link" href="any.html#fusion.algorithm.query.functions.any.expression_semantics">Expression + semantics</a> + </h6> +<pre class="programlisting"><a class="link" href="any.html" title="any"><code class="computeroutput"><span class="identifier">any</span></code></a><span class="special">(</span><span class="identifier">seq</span><span class="special">,</span> <span class="identifier">f</span><span class="special">);</span> +</pre> +<p> + <span class="bold"><strong>Return type</strong></span>: <code class="computeroutput"><span class="keyword">bool</span></code> + </p> +<p> + <span class="bold"><strong>Semantics</strong></span>: Returns true if and only + if <code class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e</span><span class="special">)</span></code> + evaluates to <code class="computeroutput"><span class="keyword">true</span></code> for some + element <code class="computeroutput"><span class="identifier">e</span></code> in <code class="computeroutput"><span class="identifier">seq</span></code>. + </p> +<h6> +<a name="fusion.algorithm.query.functions.any.h3"></a> + <span><a name="fusion.algorithm.query.functions.any.complexity"></a></span><a class="link" href="any.html#fusion.algorithm.query.functions.any.complexity">Complexity</a> + </h6> +<p> + Linear. At most <code class="computeroutput"><a class="link" href="../../../sequence/intrinsic/metafunctions/size.html" title="size"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">>::</span><span class="identifier">value</span></code> comparisons. + </p> +<h6> +<a name="fusion.algorithm.query.functions.any.h4"></a> + <span><a name="fusion.algorithm.query.functions.any.header"></a></span><a class="link" href="any.html#fusion.algorithm.query.functions.any.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">query</span><span class="special">/</span><span class="identifier">any</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">any</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h6> +<a name="fusion.algorithm.query.functions.any.h5"></a> + <span><a name="fusion.algorithm.query.functions.any.example"></a></span><a class="link" href="any.html#fusion.algorithm.query.functions.any.example">Example</a> + </h6> +<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">odd</span> +<span class="special">{</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">></span> + <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">()(</span><span class="identifier">T</span> <span class="identifier">t</span><span class="special">)</span> <span class="keyword">const</span> + <span class="special">{</span> + <span class="keyword">return</span> <span class="identifier">t</span> <span class="special">%</span> <span class="number">2</span><span class="special">;</span> + <span class="special">}</span> +<span class="special">};</span> +<span class="special">...</span> +<span class="identifier">assert</span><span class="special">(</span><a class="link" href="any.html" title="any"><code class="computeroutput"><span class="identifier">any</span></code></a><span class="special">(</span><a class="link" href="../../../container/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">),</span> <span class="identifier">odd</span><span class="special">()));</span> +<span class="identifier">assert</span><span class="special">(!</span><a class="link" href="any.html" title="any"><code class="computeroutput"><span class="identifier">any</span></code></a><span class="special">(</span><a class="link" href="../../../container/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></a><span class="special">(</span><span class="number">2</span><span class="special">,</span><span class="number">4</span><span class="special">),</span> <span class="identifier">odd</span><span class="special">()));</span> +</pre> +</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-2006, 2011 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="../functions.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="all.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/algorithm/query/functions/count.html b/libs/fusion/doc/html/fusion/algorithm/query/functions/count.html new file mode 100755 index 0000000000..25b36efa4a --- /dev/null +++ b/libs/fusion/doc/html/fusion/algorithm/query/functions/count.html @@ -0,0 +1,166 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>count</title> +<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../functions.html" title="Functions"> +<link rel="prev" href="find_if.html" title="find_if"> +<link rel="next" href="count_if.html" title="count_if"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="find_if.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="count_if.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h5 class="title"> +<a name="fusion.algorithm.query.functions.count"></a><a class="link" href="count.html" title="count">count</a> +</h5></div></div></div> +<h6> +<a name="fusion.algorithm.query.functions.count.h0"></a> + <span><a name="fusion.algorithm.query.functions.count.description"></a></span><a class="link" href="count.html#fusion.algorithm.query.functions.count.description">Description</a> + </h6> +<p> + Returns the number of elements of a given type within a sequence. + </p> +<h6> +<a name="fusion.algorithm.query.functions.count.h1"></a> + <span><a name="fusion.algorithm.query.functions.count.synopsis"></a></span><a class="link" href="count.html#fusion.algorithm.query.functions.count.synopsis">Synopsis</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span> + <span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">T</span> + <span class="special">></span> +<span class="keyword">typename</span> <a class="link" href="../metafunctions/count.html" title="count"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">count</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">T</span><span class="special">>::</span><span class="identifier">type</span> <span class="identifier">count</span><span class="special">(</span> + <span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">seq</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">t</span><span class="special">);</span> +</pre> +<div class="table"> +<a name="fusion.algorithm.query.functions.count.t0"></a><p class="title"><b>Table 1.55. Parameters</b></p> +<div class="table-contents"><table class="table" summary="Parameters"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Requirement + </p> + </th> +<th> + <p> + Description + </p> + </th> +</tr></thead> +<tbody> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">seq</span></code> + </p> + </td> +<td> + <p> + A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a>, <code class="computeroutput"><span class="identifier">e</span> + <span class="special">==</span> <span class="identifier">t</span></code> + must be a valid expression, convertible to <code class="computeroutput"><span class="keyword">bool</span></code>, + for each element <code class="computeroutput"><span class="identifier">e</span></code> + in <code class="computeroutput"><span class="identifier">seq</span></code> + </p> + </td> +<td> + <p> + The sequence to search + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">T</span></code> + </p> + </td> +<td> + <p> + Any type + </p> + </td> +<td> + <p> + The type to count + </p> + </td> +</tr> +</tbody> +</table></div> +</div> +<br class="table-break"><h6> +<a name="fusion.algorithm.query.functions.count.h2"></a> + <span><a name="fusion.algorithm.query.functions.count.expression_semantics"></a></span><a class="link" href="count.html#fusion.algorithm.query.functions.count.expression_semantics">Expression + Semantics</a> + </h6> +<pre class="programlisting"><a class="link" href="count.html" title="count"><code class="computeroutput"><span class="identifier">count</span></code></a><span class="special">(</span><span class="identifier">seq</span><span class="special">,</span> <span class="identifier">t</span><span class="special">);</span> +</pre> +<p> + <span class="bold"><strong>Return type</strong></span>: <code class="computeroutput"><span class="keyword">int</span></code> + </p> +<p> + <span class="bold"><strong>Semantics</strong></span>: Returns the number of elements + of type <code class="computeroutput"><span class="identifier">T</span></code> and equal to + <code class="computeroutput"><span class="identifier">t</span></code> in <code class="computeroutput"><span class="identifier">seq</span></code>. + </p> +<h6> +<a name="fusion.algorithm.query.functions.count.h3"></a> + <span><a name="fusion.algorithm.query.functions.count.complexity"></a></span><a class="link" href="count.html#fusion.algorithm.query.functions.count.complexity">Complexity</a> + </h6> +<p> + Linear. At most <code class="computeroutput"><a class="link" href="../../../sequence/intrinsic/metafunctions/size.html" title="size"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">>::</span><span class="identifier">value</span></code> comparisons. + </p> +<h6> +<a name="fusion.algorithm.query.functions.count.h4"></a> + <span><a name="fusion.algorithm.query.functions.count.header"></a></span><a class="link" href="count.html#fusion.algorithm.query.functions.count.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">query</span><span class="special">/</span><span class="identifier">count</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">count</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h6> +<a name="fusion.algorithm.query.functions.count.h5"></a> + <span><a name="fusion.algorithm.query.functions.count.example"></a></span><a class="link" href="count.html#fusion.algorithm.query.functions.count.example">Example</a> + </h6> +<pre class="programlisting"><span class="keyword">const</span> <a class="link" href="../../../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><</span><span class="keyword">double</span><span class="special">,</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">int</span><span class="special">></span> <span class="identifier">vec</span><span class="special">(</span><span class="number">1.0</span><span class="special">,</span><span class="number">2</span><span class="special">,</span><span class="number">3</span><span class="special">);</span> +<span class="identifier">assert</span><span class="special">(</span><a class="link" href="count.html" title="count"><code class="computeroutput"><span class="identifier">count</span></code></a><span class="special">(</span><span class="identifier">vec</span><span class="special">,</span><span class="number">2</span><span class="special">)</span> <span class="special">==</span> <span class="number">1</span><span class="special">);</span> +</pre> +</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-2006, 2011 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="find_if.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="count_if.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/algorithm/query/functions/count_if.html b/libs/fusion/doc/html/fusion/algorithm/query/functions/count_if.html new file mode 100755 index 0000000000..f4fef72598 --- /dev/null +++ b/libs/fusion/doc/html/fusion/algorithm/query/functions/count_if.html @@ -0,0 +1,165 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>count_if</title> +<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../functions.html" title="Functions"> +<link rel="prev" href="count.html" title="count"> +<link rel="next" href="../metafunctions.html" title="Metafunctions"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="count.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h5 class="title"> +<a name="fusion.algorithm.query.functions.count_if"></a><a class="link" href="count_if.html" title="count_if">count_if</a> +</h5></div></div></div> +<h6> +<a name="fusion.algorithm.query.functions.count_if.h0"></a> + <span><a name="fusion.algorithm.query.functions.count_if.description"></a></span><a class="link" href="count_if.html#fusion.algorithm.query.functions.count_if.description">Description</a> + </h6> +<p> + Returns the number of elements within a sequence with a type for which + a given unary function object evaluates to <code class="computeroutput"><span class="keyword">true</span></code>. + </p> +<h6> +<a name="fusion.algorithm.query.functions.count_if.h1"></a> + <span><a name="fusion.algorithm.query.functions.count_if.synopsis"></a></span><a class="link" href="count_if.html#fusion.algorithm.query.functions.count_if.synopsis">Synopsis</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span> + <span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">F</span> + <span class="special">></span> +<span class="keyword">typename</span> <a class="link" href="../metafunctions/count_if.html" title="count_if"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">count_if</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">F</span><span class="special">>::</span><span class="identifier">type</span> <span class="identifier">count_if</span><span class="special">(</span> + <span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">seq</span><span class="special">,</span> <span class="identifier">F</span> <span class="identifier">f</span><span class="special">);</span> +</pre> +<div class="table"> +<a name="fusion.algorithm.query.functions.count_if.t0"></a><p class="title"><b>Table 1.56. Parameters</b></p> +<div class="table-contents"><table class="table" summary="Parameters"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Requirement + </p> + </th> +<th> + <p> + Description + </p> + </th> +</tr></thead> +<tbody> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">seq</span></code> + </p> + </td> +<td> + <p> + A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a>, <code class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e</span><span class="special">)</span></code> is a valid expression, convertible + to <code class="computeroutput"><span class="keyword">bool</span></code>, for each + element <code class="computeroutput"><span class="identifier">e</span></code> in + <code class="computeroutput"><span class="identifier">seq</span></code> + </p> + </td> +<td> + <p> + The sequence to search + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">f</span></code> + </p> + </td> +<td> + <p> + A unary function object + </p> + </td> +<td> + <p> + The search predicate + </p> + </td> +</tr> +</tbody> +</table></div> +</div> +<br class="table-break"><h6> +<a name="fusion.algorithm.query.functions.count_if.h2"></a> + <span><a name="fusion.algorithm.query.functions.count_if.expression_semantics"></a></span><a class="link" href="count_if.html#fusion.algorithm.query.functions.count_if.expression_semantics">Expression + Semantics</a> + </h6> +<pre class="programlisting"><a class="link" href="count_if.html" title="count_if"><code class="computeroutput"><span class="identifier">count_if</span></code></a><span class="special">(</span><span class="identifier">seq</span><span class="special">,</span> <span class="identifier">f</span><span class="special">)</span> +</pre> +<p> + <span class="bold"><strong>Return type</strong></span>: <code class="computeroutput"><span class="keyword">int</span></code> + </p> +<p> + <span class="bold"><strong>Semantics</strong></span>: Returns the number of elements + in <code class="computeroutput"><span class="identifier">seq</span></code> where <code class="computeroutput"><span class="identifier">f</span></code> evaluates to <code class="computeroutput"><span class="keyword">true</span></code>. + </p> +<h6> +<a name="fusion.algorithm.query.functions.count_if.h3"></a> + <span><a name="fusion.algorithm.query.functions.count_if.complexity"></a></span><a class="link" href="count_if.html#fusion.algorithm.query.functions.count_if.complexity">Complexity</a> + </h6> +<p> + Linear. At most <code class="computeroutput"><a class="link" href="../../../sequence/intrinsic/metafunctions/size.html" title="size"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">>::</span><span class="identifier">value</span></code> comparisons. + </p> +<h6> +<a name="fusion.algorithm.query.functions.count_if.h4"></a> + <span><a name="fusion.algorithm.query.functions.count_if.header"></a></span><a class="link" href="count_if.html#fusion.algorithm.query.functions.count_if.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">query</span><span class="special">/</span><span class="identifier">count_if</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">count_if</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h6> +<a name="fusion.algorithm.query.functions.count_if.h5"></a> + <span><a name="fusion.algorithm.query.functions.count_if.example"></a></span><a class="link" href="count_if.html#fusion.algorithm.query.functions.count_if.example">Example</a> + </h6> +<pre class="programlisting"><span class="keyword">const</span> <a class="link" href="../../../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">int</span><span class="special">></span> <span class="identifier">vec</span><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">,</span><span class="number">3</span><span class="special">);</span> +<span class="identifier">assert</span><span class="special">(</span><a class="link" href="count_if.html" title="count_if"><code class="computeroutput"><span class="identifier">count_if</span></code></a><span class="special">(</span><span class="identifier">vec</span><span class="special">,</span><span class="identifier">odd</span><span class="special">())</span> <span class="special">==</span> <span class="number">2</span><span class="special">);</span> +</pre> +</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-2006, 2011 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="count.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/algorithm/query/functions/find.html b/libs/fusion/doc/html/fusion/algorithm/query/functions/find.html new file mode 100755 index 0000000000..c07efd090e --- /dev/null +++ b/libs/fusion/doc/html/fusion/algorithm/query/functions/find.html @@ -0,0 +1,170 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>find</title> +<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../functions.html" title="Functions"> +<link rel="prev" href="none.html" title="none"> +<link rel="next" href="find_if.html" title="find_if"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="none.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="find_if.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h5 class="title"> +<a name="fusion.algorithm.query.functions.find"></a><a class="link" href="find.html" title="find">find</a> +</h5></div></div></div> +<h6> +<a name="fusion.algorithm.query.functions.find.h0"></a> + <span><a name="fusion.algorithm.query.functions.find.description"></a></span><a class="link" href="find.html#fusion.algorithm.query.functions.find.description">Description</a> + </h6> +<p> + Finds the first element of a given type within a sequence. + </p> +<h6> +<a name="fusion.algorithm.query.functions.find.h1"></a> + <span><a name="fusion.algorithm.query.functions.find.synopsis"></a></span><a class="link" href="find.html#fusion.algorithm.query.functions.find.synopsis">Synopsis</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span> + <span class="keyword">typename</span> <span class="identifier">T</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">Sequence</span> + <span class="special">></span> +<span class="emphasis"><em>unspecified</em></span> <span class="identifier">find</span><span class="special">(</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">seq</span><span class="special">);</span> + +<span class="keyword">template</span><span class="special"><</span> + <span class="keyword">typename</span> <span class="identifier">T</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">Sequence</span> + <span class="special">></span> +<span class="emphasis"><em>unspecified</em></span> <span class="identifier">find</span><span class="special">(</span><span class="identifier">Sequence</span><span class="special">&</span> <span class="identifier">seq</span><span class="special">);</span> +</pre> +<div class="table"> +<a name="fusion.algorithm.query.functions.find.t0"></a><p class="title"><b>Table 1.53. Parameters</b></p> +<div class="table-contents"><table class="table" summary="Parameters"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Requirement + </p> + </th> +<th> + <p> + Description + </p> + </th> +</tr></thead> +<tbody> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">seq</span></code> + </p> + </td> +<td> + <p> + A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a> + </p> + </td> +<td> + <p> + The sequence to search + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">T</span></code> + </p> + </td> +<td> + <p> + Any type + </p> + </td> +<td> + <p> + The type to search for + </p> + </td> +</tr> +</tbody> +</table></div> +</div> +<br class="table-break"><h6> +<a name="fusion.algorithm.query.functions.find.h2"></a> + <span><a name="fusion.algorithm.query.functions.find.expression_semantics"></a></span><a class="link" href="find.html#fusion.algorithm.query.functions.find.expression_semantics">Expression + Semantics</a> + </h6> +<pre class="programlisting"><a class="link" href="find.html" title="find"><code class="computeroutput"><span class="identifier">find</span></code></a><span class="special"><</span><span class="identifier">T</span><span class="special">>(</span><span class="identifier">seq</span><span class="special">)</span> +</pre> +<p> + <span class="bold"><strong>Return type</strong></span>: A model of the same iterator + category as the iterators of <code class="computeroutput"><span class="identifier">seq</span></code>. + </p> +<p> + <span class="bold"><strong>Semantics</strong></span>: Returns an iterator to the + first element of <code class="computeroutput"><span class="identifier">seq</span></code> + of type <code class="computeroutput"><span class="identifier">T</span></code>, or <code class="computeroutput"><a class="link" href="../../../sequence/intrinsic/functions/end.html" title="end"><code class="computeroutput"><span class="identifier">end</span></code></a><span class="special">(</span><span class="identifier">seq</span><span class="special">)</span></code> if there is no such element. Equivalent + to <code class="computeroutput"><a class="link" href="find_if.html" title="find_if"><code class="computeroutput"><span class="identifier">find_if</span></code></a><span class="special"><</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">is_same</span><span class="special"><</span><span class="identifier">_</span><span class="special">,</span> <span class="identifier">T</span><span class="special">></span> <span class="special">>(</span><span class="identifier">seq</span><span class="special">)</span></code> + </p> +<h6> +<a name="fusion.algorithm.query.functions.find.h3"></a> + <span><a name="fusion.algorithm.query.functions.find.complexity"></a></span><a class="link" href="find.html#fusion.algorithm.query.functions.find.complexity">Complexity</a> + </h6> +<p> + Linear. At most <code class="computeroutput"><a class="link" href="../../../sequence/intrinsic/metafunctions/size.html" title="size"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">>::</span><span class="identifier">value</span></code> comparisons. + </p> +<h6> +<a name="fusion.algorithm.query.functions.find.h4"></a> + <span><a name="fusion.algorithm.query.functions.find.header"></a></span><a class="link" href="find.html#fusion.algorithm.query.functions.find.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">query</span><span class="special">/</span><span class="identifier">find</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">find</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h6> +<a name="fusion.algorithm.query.functions.find.h5"></a> + <span><a name="fusion.algorithm.query.functions.find.example"></a></span><a class="link" href="find.html#fusion.algorithm.query.functions.find.example">Example</a> + </h6> +<pre class="programlisting"><span class="keyword">const</span> <a class="link" href="../../../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><</span><span class="keyword">char</span><span class="special">,</span><span class="keyword">int</span><span class="special">></span> <span class="identifier">vec</span><span class="special">(</span><span class="char">'a'</span><span class="special">,</span><span class="char">'0'</span><span class="special">);</span> +<span class="identifier">assert</span><span class="special">(*</span><a class="link" href="find.html" title="find"><code class="computeroutput"><span class="identifier">find</span></code></a><span class="special"><</span><span class="keyword">int</span><span class="special">>(</span><span class="identifier">vec</span><span class="special">)</span> <span class="special">==</span> <span class="char">'0'</span><span class="special">);</span> +<span class="identifier">assert</span><span class="special">(</span><a class="link" href="find.html" title="find"><code class="computeroutput"><span class="identifier">find</span></code></a><span class="special"><</span><span class="keyword">double</span><span class="special">>(</span><span class="identifier">vec</span><span class="special">)</span> <span class="special">==</span> <a class="link" href="../../../sequence/intrinsic/functions/end.html" title="end"><code class="computeroutput"><span class="identifier">end</span></code></a><span class="special">(</span><span class="identifier">vec</span><span class="special">));</span> +</pre> +</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-2006, 2011 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="none.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="find_if.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/algorithm/query/functions/find_if.html b/libs/fusion/doc/html/fusion/algorithm/query/functions/find_if.html new file mode 100755 index 0000000000..01510df365 --- /dev/null +++ b/libs/fusion/doc/html/fusion/algorithm/query/functions/find_if.html @@ -0,0 +1,175 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>find_if</title> +<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../functions.html" title="Functions"> +<link rel="prev" href="find.html" title="find"> +<link rel="next" href="count.html" title="count"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="find.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="count.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h5 class="title"> +<a name="fusion.algorithm.query.functions.find_if"></a><a class="link" href="find_if.html" title="find_if">find_if</a> +</h5></div></div></div> +<p> + Finds the first element within a sequence with a type for which a given + <a href="http://www.boost.org/libs/mpl/doc/refmanual/lambda-expression.html" target="_top">MPL + Lambda Expression</a> evaluates to <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">true_</span></code>. + </p> +<h6> +<a name="fusion.algorithm.query.functions.find_if.h0"></a> + <span><a name="fusion.algorithm.query.functions.find_if.description"></a></span><a class="link" href="find_if.html#fusion.algorithm.query.functions.find_if.description">Description</a> + </h6> +<h6> +<a name="fusion.algorithm.query.functions.find_if.h1"></a> + <span><a name="fusion.algorithm.query.functions.find_if.synopsis"></a></span><a class="link" href="find_if.html#fusion.algorithm.query.functions.find_if.synopsis">Synopsis</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span> + <span class="keyword">typename</span> <span class="identifier">F</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">Sequence</span> + <span class="special">></span> +<span class="emphasis"><em>unspecified</em></span> <span class="identifier">find_if</span><span class="special">(</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">seq</span><span class="special">);</span> + +<span class="keyword">template</span><span class="special"><</span> + <span class="keyword">typename</span> <span class="identifier">F</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">Sequence</span> + <span class="special">></span> +<span class="emphasis"><em>unspecified</em></span> <span class="identifier">find_if</span><span class="special">(</span><span class="identifier">Sequence</span><span class="special">&</span> <span class="identifier">seq</span><span class="special">);</span> +</pre> +<div class="table"> +<a name="fusion.algorithm.query.functions.find_if.t0"></a><p class="title"><b>Table 1.54. Parameters</b></p> +<div class="table-contents"><table class="table" summary="Parameters"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Requirement + </p> + </th> +<th> + <p> + Description + </p> + </th> +</tr></thead> +<tbody> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">seq</span></code> + </p> + </td> +<td> + <p> + A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a> + </p> + </td> +<td> + <p> + The sequence to search + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">F</span></code> + </p> + </td> +<td> + <p> + A unary <a href="http://www.boost.org/libs/mpl/doc/refmanual/lambda-expression.html" target="_top">MPL + Lambda Expression</a> + </p> + </td> +<td> + <p> + The search predicate + </p> + </td> +</tr> +</tbody> +</table></div> +</div> +<br class="table-break"><h6> +<a name="fusion.algorithm.query.functions.find_if.h2"></a> + <span><a name="fusion.algorithm.query.functions.find_if.expression_semantics"></a></span><a class="link" href="find_if.html#fusion.algorithm.query.functions.find_if.expression_semantics">Expression + Semantics</a> + </h6> +<pre class="programlisting"><a class="link" href="find_if.html" title="find_if"><code class="computeroutput"><span class="identifier">find_if</span></code></a><span class="special"><</span><span class="identifier">F</span><span class="special">>(</span><span class="identifier">seq</span><span class="special">)</span> +</pre> +<p> + <span class="bold"><strong>Return type</strong></span>: An iterator of the same + iterator category as the iterators of <code class="computeroutput"><span class="identifier">seq</span></code>. + </p> +<p> + <span class="bold"><strong>Semantics</strong></span>: Returns the first element + of <code class="computeroutput"><span class="identifier">seq</span></code> for which <a href="http://www.boost.org/libs/mpl/doc/refmanual/lambda-expression.html" target="_top">MPL + Lambda Expression</a> <code class="computeroutput"><span class="identifier">F</span></code> + evaluates to <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">true_</span></code>, or <code class="computeroutput"><a class="link" href="../../../sequence/intrinsic/functions/end.html" title="end"><code class="computeroutput"><span class="identifier">end</span></code></a><span class="special">(</span><span class="identifier">seq</span><span class="special">)</span></code> + if there is no such element. + </p> +<h6> +<a name="fusion.algorithm.query.functions.find_if.h3"></a> + <span><a name="fusion.algorithm.query.functions.find_if.complexity"></a></span><a class="link" href="find_if.html#fusion.algorithm.query.functions.find_if.complexity">Complexity</a> + </h6> +<p> + Linear. At most <code class="computeroutput"><a class="link" href="../../../sequence/intrinsic/metafunctions/size.html" title="size"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">>::</span><span class="identifier">value</span></code> comparisons. + </p> +<div class="orderedlist"><ol class="orderedlist" type="1"> +<li class="listitem"> + include <boost/fusion/algorithm/query/find_if.hpp> + </li> +<li class="listitem"> + include <boost/fusion/include/find_if.hpp> + </li> +</ol></div> +<h6> +<a name="fusion.algorithm.query.functions.find_if.h4"></a> + <span><a name="fusion.algorithm.query.functions.find_if.example"></a></span><a class="link" href="find_if.html#fusion.algorithm.query.functions.find_if.example">Example</a> + </h6> +<pre class="programlisting"><span class="keyword">const</span> <a class="link" href="../../../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><</span><span class="keyword">double</span><span class="special">,</span><span class="keyword">int</span><span class="special">></span> <span class="identifier">vec</span><span class="special">(</span><span class="number">1.0</span><span class="special">,</span><span class="number">2</span><span class="special">);</span> +<span class="identifier">assert</span><span class="special">(*</span><a class="link" href="find_if.html" title="find_if"><code class="computeroutput"><span class="identifier">find_if</span></code></a><span class="special"><</span><span class="identifier">is_integral</span><span class="special"><</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">_</span><span class="special">></span> <span class="special">>(</span><span class="identifier">vec</span><span class="special">)</span> <span class="special">==</span> <span class="number">2</span><span class="special">);</span> +<span class="identifier">assert</span><span class="special">(</span><a class="link" href="find_if.html" title="find_if"><code class="computeroutput"><span class="identifier">find_if</span></code></a><span class="special"><</span><span class="identifier">is_class</span><span class="special"><</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">_</span><span class="special">></span> <span class="special">>(</span><span class="identifier">vec</span><span class="special">)</span> <span class="special">==</span> <a class="link" href="../../../sequence/intrinsic/functions/end.html" title="end"><code class="computeroutput"><span class="identifier">end</span></code></a><span class="special">(</span><span class="identifier">vec</span><span class="special">));</span> +</pre> +</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-2006, 2011 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="find.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="count.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/algorithm/query/functions/none.html b/libs/fusion/doc/html/fusion/algorithm/query/functions/none.html new file mode 100755 index 0000000000..3198e4db1d --- /dev/null +++ b/libs/fusion/doc/html/fusion/algorithm/query/functions/none.html @@ -0,0 +1,179 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>none</title> +<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../functions.html" title="Functions"> +<link rel="prev" href="all.html" title="all"> +<link rel="next" href="find.html" title="find"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="all.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="find.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h5 class="title"> +<a name="fusion.algorithm.query.functions.none"></a><a class="link" href="none.html" title="none">none</a> +</h5></div></div></div> +<h6> +<a name="fusion.algorithm.query.functions.none.h0"></a> + <span><a name="fusion.algorithm.query.functions.none.description"></a></span><a class="link" href="none.html#fusion.algorithm.query.functions.none.description">Description</a> + </h6> +<p> + For a sequence <code class="computeroutput"><span class="identifier">seq</span></code> and + unary function object <code class="computeroutput"><span class="identifier">f</span></code>, + <code class="computeroutput"><span class="identifier">none</span></code> returns true if + <code class="computeroutput"><span class="identifier">f</span></code> returns false for every + element of <code class="computeroutput"><span class="identifier">seq</span></code>. + </p> +<h6> +<a name="fusion.algorithm.query.functions.none.h1"></a> + <span><a name="fusion.algorithm.query.functions.none.synopsis"></a></span><a class="link" href="none.html#fusion.algorithm.query.functions.none.synopsis">Synopsis</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span> + <span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">F</span> + <span class="special">></span> +<span class="keyword">typename</span> <a class="link" href="../metafunctions/none.html" title="none"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">none</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">,</span><span class="identifier">F</span><span class="special">>::</span><span class="identifier">type</span> <span class="identifier">none</span><span class="special">(</span> + <span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">seq</span><span class="special">,</span> <span class="identifier">F</span> <span class="identifier">f</span><span class="special">);</span> +</pre> +<div class="table"> +<a name="fusion.algorithm.query.functions.none.t0"></a><p class="title"><b>Table 1.52. Parameters</b></p> +<div class="table-contents"><table class="table" summary="Parameters"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Requirement + </p> + </th> +<th> + <p> + Description + </p> + </th> +</tr></thead> +<tbody> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">seq</span></code> + </p> + </td> +<td> + <p> + A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a>, <code class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e</span><span class="special">)</span></code> is a valid expression, convertible + to <code class="computeroutput"><span class="keyword">bool</span></code>, for every + element <code class="computeroutput"><span class="identifier">e</span></code> in + <code class="computeroutput"><span class="identifier">seq</span></code> + </p> + </td> +<td> + <p> + The sequence to search + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">f</span></code> + </p> + </td> +<td> + <p> + A unary function object + </p> + </td> +<td> + <p> + The search predicate + </p> + </td> +</tr> +</tbody> +</table></div> +</div> +<br class="table-break"><h6> +<a name="fusion.algorithm.query.functions.none.h2"></a> + <span><a name="fusion.algorithm.query.functions.none.expression_semantics"></a></span><a class="link" href="none.html#fusion.algorithm.query.functions.none.expression_semantics">Expression + Semantics</a> + </h6> +<pre class="programlisting"><a class="link" href="none.html" title="none"><code class="computeroutput"><span class="identifier">none</span></code></a><span class="special">(</span><span class="identifier">seq</span><span class="special">,</span> <span class="identifier">f</span><span class="special">);</span> +</pre> +<p> + <span class="bold"><strong>Return type</strong></span>: <code class="computeroutput"><span class="keyword">bool</span></code> + </p> +<p> + <span class="bold"><strong>Semantics</strong></span>: Returns true if and only + if <code class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e</span><span class="special">)</span></code> + evaluates to <code class="computeroutput"><span class="keyword">false</span></code> for every + element <code class="computeroutput"><span class="identifier">e</span></code> in <code class="computeroutput"><span class="identifier">seq</span></code>. Result equivalent to <code class="computeroutput"><span class="special">!</span><span class="identifier">any</span><span class="special">(</span><span class="identifier">seq</span><span class="special">,</span> <span class="identifier">f</span><span class="special">)</span></code>. + </p> +<h6> +<a name="fusion.algorithm.query.functions.none.h3"></a> + <span><a name="fusion.algorithm.query.functions.none.complexity"></a></span><a class="link" href="none.html#fusion.algorithm.query.functions.none.complexity">Complexity</a> + </h6> +<p> + Linear. At most <code class="computeroutput"><a class="link" href="../../../sequence/intrinsic/metafunctions/size.html" title="size"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">>::</span><span class="identifier">value</span></code> comparisons. + </p> +<h6> +<a name="fusion.algorithm.query.functions.none.h4"></a> + <span><a name="fusion.algorithm.query.functions.none.header"></a></span><a class="link" href="none.html#fusion.algorithm.query.functions.none.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">query</span><span class="special">/</span><span class="identifier">none</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">none</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h6> +<a name="fusion.algorithm.query.functions.none.h5"></a> + <span><a name="fusion.algorithm.query.functions.none.example"></a></span><a class="link" href="none.html#fusion.algorithm.query.functions.none.example">Example</a> + </h6> +<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">odd</span> +<span class="special">{</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">></span> + <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">()(</span><span class="identifier">T</span> <span class="identifier">t</span><span class="special">)</span> <span class="keyword">const</span> + <span class="special">{</span> + <span class="keyword">return</span> <span class="identifier">t</span> <span class="special">%</span> <span class="number">2</span><span class="special">;</span> + <span class="special">}</span> +<span class="special">};</span> +<span class="special">...</span> +<span class="identifier">assert</span><span class="special">(</span><a class="link" href="none.html" title="none"><code class="computeroutput"><span class="identifier">none</span></code></a><span class="special">(</span><a class="link" href="../../../container/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></a><span class="special">(</span><span class="number">2</span><span class="special">,</span><span class="number">4</span><span class="special">),</span> <span class="identifier">odd</span><span class="special">()));</span> +<span class="identifier">assert</span><span class="special">(!</span><a class="link" href="none.html" title="none"><code class="computeroutput"><span class="identifier">none</span></code></a><span class="special">(</span><a class="link" href="../../../container/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">),</span> <span class="identifier">odd</span><span class="special">()));</span> +</pre> +</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-2006, 2011 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="all.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="find.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/algorithm/query/metafunctions.html b/libs/fusion/doc/html/fusion/algorithm/query/metafunctions.html new file mode 100755 index 0000000000..38d887c3d3 --- /dev/null +++ b/libs/fusion/doc/html/fusion/algorithm/query/metafunctions.html @@ -0,0 +1,53 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Metafunctions</title> +<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../query.html" title="Query"> +<link rel="prev" href="functions/count_if.html" title="count_if"> +<link rel="next" href="metafunctions/any.html" title="any"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="functions/count_if.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../query.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="metafunctions/any.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h4 class="title"> +<a name="fusion.algorithm.query.metafunctions"></a><a class="link" href="metafunctions.html" title="Metafunctions">Metafunctions</a> +</h4></div></div></div> +<div class="toc"><dl> +<dt><span class="section"><a href="metafunctions/any.html">any</a></span></dt> +<dt><span class="section"><a href="metafunctions/all.html">all</a></span></dt> +<dt><span class="section"><a href="metafunctions/none.html">none</a></span></dt> +<dt><span class="section"><a href="metafunctions/find.html">find</a></span></dt> +<dt><span class="section"><a href="metafunctions/find_if.html">find_if</a></span></dt> +<dt><span class="section"><a href="metafunctions/count.html">count</a></span></dt> +<dt><span class="section"><a href="metafunctions/count_if.html">count_if</a></span></dt> +</dl></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-2006, 2011 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="functions/count_if.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../query.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="metafunctions/any.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/algorithm/query/metafunctions/all.html b/libs/fusion/doc/html/fusion/algorithm/query/metafunctions/all.html new file mode 100755 index 0000000000..f60153c80c --- /dev/null +++ b/libs/fusion/doc/html/fusion/algorithm/query/metafunctions/all.html @@ -0,0 +1,161 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>all</title> +<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../metafunctions.html" title="Metafunctions"> +<link rel="prev" href="any.html" title="any"> +<link rel="next" href="none.html" title="none"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="any.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="none.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h5 class="title"> +<a name="fusion.algorithm.query.metafunctions.all"></a><a class="link" href="all.html" title="all">all</a> +</h5></div></div></div> +<h6> +<a name="fusion.algorithm.query.metafunctions.all.h0"></a> + <span><a name="fusion.algorithm.query.metafunctions.all.description"></a></span><a class="link" href="all.html#fusion.algorithm.query.metafunctions.all.description">Description</a> + </h6> +<p> + A metafunction returning the result type of <a class="link" href="../functions/all.html" title="all"><code class="computeroutput"><span class="identifier">all</span></code></a>. + </p> +<h6> +<a name="fusion.algorithm.query.metafunctions.all.h1"></a> + <span><a name="fusion.algorithm.query.metafunctions.all.synopsis"></a></span><a class="link" href="all.html#fusion.algorithm.query.metafunctions.all.synopsis">Synopsis</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span> + <span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">F</span> + <span class="special">></span> +<span class="keyword">struct</span> <span class="identifier">all</span> +<span class="special">{</span> + <span class="keyword">typedef</span> <span class="keyword">bool</span> <span class="identifier">type</span><span class="special">;</span> +<span class="special">};</span> +</pre> +<div class="table"> +<a name="fusion.algorithm.query.metafunctions.all.t0"></a><p class="title"><b>Table 1.58. Parameters</b></p> +<div class="table-contents"><table class="table" summary="Parameters"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Requirement + </p> + </th> +<th> + <p> + Description + </p> + </th> +</tr></thead> +<tbody> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">Sequence</span></code> + </p> + </td> +<td> + <p> + A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a> + </p> + </td> +<td> + <p> + Operation's argument + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">F</span></code> + </p> + </td> +<td> + <p> + A model of unary <a class="link" href="../../../functional/concepts/poly.html" title="Polymorphic Function Object">Polymorphic + Function Object</a> + </p> + </td> +<td> + <p> + Operation's argument + </p> + </td> +</tr> +</tbody> +</table></div> +</div> +<br class="table-break"><h6> +<a name="fusion.algorithm.query.metafunctions.all.h2"></a> + <span><a name="fusion.algorithm.query.metafunctions.all.expression_semantics"></a></span><a class="link" href="all.html#fusion.algorithm.query.metafunctions.all.expression_semantics">Expression + Semantics</a> + </h6> +<pre class="programlisting"><a class="link" href="all.html" title="all"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">all</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">F</span><span class="special">>::</span><span class="identifier">type</span> +</pre> +<p> + <span class="bold"><strong>Return type</strong></span>: <code class="computeroutput"><span class="keyword">bool</span></code>. + </p> +<p> + <span class="bold"><strong>Semantics</strong></span>: Returns the return type of + <a class="link" href="../functions/all.html" title="all"><code class="computeroutput"><span class="identifier">all</span></code></a> + given a sequence of type <code class="computeroutput"><span class="identifier">Sequence</span></code> + and a unary <a class="link" href="../../../functional/concepts/poly.html" title="Polymorphic Function Object">Polymorphic + Function Object</a> of type <code class="computeroutput"><span class="identifier">F</span></code>. + The return type is always <code class="computeroutput"><span class="keyword">bool</span></code>. + </p> +<h6> +<a name="fusion.algorithm.query.metafunctions.all.h3"></a> + <span><a name="fusion.algorithm.query.metafunctions.all.complexity"></a></span><a class="link" href="all.html#fusion.algorithm.query.metafunctions.all.complexity">Complexity</a> + </h6> +<p> + Constant. + </p> +<h6> +<a name="fusion.algorithm.query.metafunctions.all.h4"></a> + <span><a name="fusion.algorithm.query.metafunctions.all.header"></a></span><a class="link" href="all.html#fusion.algorithm.query.metafunctions.all.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">query</span><span class="special">/</span><span class="identifier">all</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">all</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +</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-2006, 2011 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="any.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="none.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/algorithm/query/metafunctions/any.html b/libs/fusion/doc/html/fusion/algorithm/query/metafunctions/any.html new file mode 100755 index 0000000000..6f2af40837 --- /dev/null +++ b/libs/fusion/doc/html/fusion/algorithm/query/metafunctions/any.html @@ -0,0 +1,161 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>any</title> +<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../metafunctions.html" title="Metafunctions"> +<link rel="prev" href="../metafunctions.html" title="Metafunctions"> +<link rel="next" href="all.html" title="all"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="../metafunctions.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="all.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h5 class="title"> +<a name="fusion.algorithm.query.metafunctions.any"></a><a class="link" href="any.html" title="any">any</a> +</h5></div></div></div> +<h6> +<a name="fusion.algorithm.query.metafunctions.any.h0"></a> + <span><a name="fusion.algorithm.query.metafunctions.any.description"></a></span><a class="link" href="any.html#fusion.algorithm.query.metafunctions.any.description">Description</a> + </h6> +<p> + A metafunction returning the result type of <a class="link" href="../functions/any.html" title="any"><code class="computeroutput"><span class="identifier">any</span></code></a>. + </p> +<h6> +<a name="fusion.algorithm.query.metafunctions.any.h1"></a> + <span><a name="fusion.algorithm.query.metafunctions.any.synopsis"></a></span><a class="link" href="any.html#fusion.algorithm.query.metafunctions.any.synopsis">Synopsis</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span> + <span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">F</span> + <span class="special">></span> +<span class="keyword">struct</span> <span class="identifier">any</span> +<span class="special">{</span> + <span class="keyword">typedef</span> <span class="keyword">bool</span> <span class="identifier">type</span><span class="special">;</span> +<span class="special">};</span> +</pre> +<div class="table"> +<a name="fusion.algorithm.query.metafunctions.any.t0"></a><p class="title"><b>Table 1.57. Parameters</b></p> +<div class="table-contents"><table class="table" summary="Parameters"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Requirement + </p> + </th> +<th> + <p> + Description + </p> + </th> +</tr></thead> +<tbody> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">Sequence</span></code> + </p> + </td> +<td> + <p> + A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a> + </p> + </td> +<td> + <p> + Operation's argument + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">F</span></code> + </p> + </td> +<td> + <p> + A model of unary <a class="link" href="../../../functional/concepts/poly.html" title="Polymorphic Function Object">Polymorphic + Function Object</a> + </p> + </td> +<td> + <p> + Operation's argument + </p> + </td> +</tr> +</tbody> +</table></div> +</div> +<br class="table-break"><h6> +<a name="fusion.algorithm.query.metafunctions.any.h2"></a> + <span><a name="fusion.algorithm.query.metafunctions.any.expression_semantics"></a></span><a class="link" href="any.html#fusion.algorithm.query.metafunctions.any.expression_semantics">Expression + Semantics</a> + </h6> +<pre class="programlisting"><a class="link" href="any.html" title="any"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">any</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">F</span><span class="special">>::</span><span class="identifier">type</span> +</pre> +<p> + <span class="bold"><strong>Return type</strong></span>: <code class="computeroutput"><span class="keyword">bool</span></code>. + </p> +<p> + <span class="bold"><strong>Semantics</strong></span>: Returns the return type of + <a class="link" href="../functions/any.html" title="any"><code class="computeroutput"><span class="identifier">any</span></code></a> + given a sequence of type <code class="computeroutput"><span class="identifier">Sequence</span></code> + and a unary <a class="link" href="../../../functional/concepts/poly.html" title="Polymorphic Function Object">Polymorphic + Function Object</a> of type <code class="computeroutput"><span class="identifier">F</span></code>. + The return type is always <code class="computeroutput"><span class="keyword">bool</span></code>. + </p> +<h6> +<a name="fusion.algorithm.query.metafunctions.any.h3"></a> + <span><a name="fusion.algorithm.query.metafunctions.any.complexity"></a></span><a class="link" href="any.html#fusion.algorithm.query.metafunctions.any.complexity">Complexity</a> + </h6> +<p> + Constant. + </p> +<h6> +<a name="fusion.algorithm.query.metafunctions.any.h4"></a> + <span><a name="fusion.algorithm.query.metafunctions.any.header"></a></span><a class="link" href="any.html#fusion.algorithm.query.metafunctions.any.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">query</span><span class="special">/</span><span class="identifier">any</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">any</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +</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-2006, 2011 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="../metafunctions.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="all.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/algorithm/query/metafunctions/count.html b/libs/fusion/doc/html/fusion/algorithm/query/metafunctions/count.html new file mode 100755 index 0000000000..76e33b4b3f --- /dev/null +++ b/libs/fusion/doc/html/fusion/algorithm/query/metafunctions/count.html @@ -0,0 +1,158 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>count</title> +<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../metafunctions.html" title="Metafunctions"> +<link rel="prev" href="find_if.html" title="find_if"> +<link rel="next" href="count_if.html" title="count_if"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="find_if.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="count_if.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h5 class="title"> +<a name="fusion.algorithm.query.metafunctions.count"></a><a class="link" href="count.html" title="count">count</a> +</h5></div></div></div> +<h6> +<a name="fusion.algorithm.query.metafunctions.count.h0"></a> + <span><a name="fusion.algorithm.query.metafunctions.count.description"></a></span><a class="link" href="count.html#fusion.algorithm.query.metafunctions.count.description">Description</a> + </h6> +<p> + A metafunction that returns the result type of <code class="computeroutput"><span class="identifier">count</span></code> + given the sequence and search types. + </p> +<h6> +<a name="fusion.algorithm.query.metafunctions.count.h1"></a> + <span><a name="fusion.algorithm.query.metafunctions.count.synopsis"></a></span><a class="link" href="count.html#fusion.algorithm.query.metafunctions.count.synopsis">Synopsis</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span> + <span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">T</span> + <span class="special">></span> +<span class="keyword">struct</span> <span class="identifier">count</span> +<span class="special">{</span> + <span class="keyword">typedef</span> <span class="keyword">int</span> <span class="identifier">type</span><span class="special">;</span> +<span class="special">};</span> +</pre> +<div class="table"> +<a name="fusion.algorithm.query.metafunctions.count.t0"></a><p class="title"><b>Table 1.62. Parameters</b></p> +<div class="table-contents"><table class="table" summary="Parameters"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Requirement + </p> + </th> +<th> + <p> + heading Description + </p> + </th> +</tr></thead> +<tbody> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">Sequence</span></code> + </p> + </td> +<td> + <p> + A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a> + </p> + </td> +<td> + <p> + Operation's argument + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">T</span></code> + </p> + </td> +<td> + <p> + Any type + </p> + </td> +<td> + <p> + Operation's argument + </p> + </td> +</tr> +</tbody> +</table></div> +</div> +<br class="table-break"><h6> +<a name="fusion.algorithm.query.metafunctions.count.h2"></a> + <span><a name="fusion.algorithm.query.metafunctions.count.expression_semantics"></a></span><a class="link" href="count.html#fusion.algorithm.query.metafunctions.count.expression_semantics">Expression + Semantics</a> + </h6> +<pre class="programlisting"><a class="link" href="count.html" title="count"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">count</span></code></a><span class="special"><</span><span class="identifier">T</span><span class="special">>::</span><span class="identifier">type</span> +</pre> +<p> + <span class="bold"><strong>Return type</strong></span>: <code class="computeroutput"><span class="keyword">int</span></code>. + </p> +<p> + <span class="bold"><strong>Semantics</strong></span>: Returns the return type of + <a class="link" href="../functions/count.html" title="count"><code class="computeroutput"><span class="identifier">count</span></code></a>. The return type is always + <code class="computeroutput"><span class="keyword">int</span></code>. + </p> +<h6> +<a name="fusion.algorithm.query.metafunctions.count.h3"></a> + <span><a name="fusion.algorithm.query.metafunctions.count.complexity"></a></span><a class="link" href="count.html#fusion.algorithm.query.metafunctions.count.complexity">Complexity</a> + </h6> +<p> + Constant. + </p> +<h6> +<a name="fusion.algorithm.query.metafunctions.count.h4"></a> + <span><a name="fusion.algorithm.query.metafunctions.count.header"></a></span><a class="link" href="count.html#fusion.algorithm.query.metafunctions.count.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">query</span><span class="special">/</span><span class="identifier">count</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">count</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +</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-2006, 2011 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="find_if.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="count_if.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/algorithm/query/metafunctions/count_if.html b/libs/fusion/doc/html/fusion/algorithm/query/metafunctions/count_if.html new file mode 100755 index 0000000000..d6138ef68b --- /dev/null +++ b/libs/fusion/doc/html/fusion/algorithm/query/metafunctions/count_if.html @@ -0,0 +1,158 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>count_if</title> +<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../metafunctions.html" title="Metafunctions"> +<link rel="prev" href="count.html" title="count"> +<link rel="next" href="../../transformation.html" title="Transformation"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="count.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../../transformation.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h5 class="title"> +<a name="fusion.algorithm.query.metafunctions.count_if"></a><a class="link" href="count_if.html" title="count_if">count_if</a> +</h5></div></div></div> +<h6> +<a name="fusion.algorithm.query.metafunctions.count_if.h0"></a> + <span><a name="fusion.algorithm.query.metafunctions.count_if.description"></a></span><a class="link" href="count_if.html#fusion.algorithm.query.metafunctions.count_if.description">Description</a> + </h6> +<p> + A metafunction that returns the result type of <code class="computeroutput"><span class="identifier">count_if</span></code> + given the sequence and predicate types. + </p> +<h6> +<a name="fusion.algorithm.query.metafunctions.count_if.h1"></a> + <span><a name="fusion.algorithm.query.metafunctions.count_if.synopsis"></a></span><a class="link" href="count_if.html#fusion.algorithm.query.metafunctions.count_if.synopsis">Synopsis</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span> + <span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">Pred</span> + <span class="special">></span> +<span class="keyword">struct</span> <span class="identifier">count_if</span> +<span class="special">{</span> + <span class="keyword">typedef</span> <span class="keyword">int</span> <span class="identifier">type</span><span class="special">;</span> +<span class="special">};</span> +</pre> +<div class="table"> +<a name="fusion.algorithm.query.metafunctions.count_if.t0"></a><p class="title"><b>Table 1.63. Parameters</b></p> +<div class="table-contents"><table class="table" summary="Parameters"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Requirement + </p> + </th> +<th> + <p> + Description + </p> + </th> +</tr></thead> +<tbody> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">Sequence</span></code> + </p> + </td> +<td> + <p> + A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a> + </p> + </td> +<td> + <p> + Operation's argument + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">Pred</span></code> + </p> + </td> +<td> + <p> + A unary function object + </p> + </td> +<td> + <p> + Operation's argument + </p> + </td> +</tr> +</tbody> +</table></div> +</div> +<br class="table-break"><h6> +<a name="fusion.algorithm.query.metafunctions.count_if.h2"></a> + <span><a name="fusion.algorithm.query.metafunctions.count_if.expression_semantics"></a></span><a class="link" href="count_if.html#fusion.algorithm.query.metafunctions.count_if.expression_semantics">Expression + Semantics</a> + </h6> +<pre class="programlisting"><a class="link" href="count_if.html" title="count_if"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">count_if</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">Pred</span><span class="special">>::</span><span class="identifier">type</span> +</pre> +<p> + <span class="bold"><strong>Return type</strong></span>: <code class="computeroutput"><span class="keyword">int</span></code>. + </p> +<p> + <span class="bold"><strong>Semantics</strong></span>: Returns the return type of + <a class="link" href="../functions/count_if.html" title="count_if"><code class="computeroutput"><span class="identifier">count_if</span></code></a>. The return type is + always <code class="computeroutput"><span class="keyword">int</span></code>. + </p> +<h6> +<a name="fusion.algorithm.query.metafunctions.count_if.h3"></a> + <span><a name="fusion.algorithm.query.metafunctions.count_if.complexity"></a></span><a class="link" href="count_if.html#fusion.algorithm.query.metafunctions.count_if.complexity">Complexity</a> + </h6> +<p> + Constant. + </p> +<h6> +<a name="fusion.algorithm.query.metafunctions.count_if.h4"></a> + <span><a name="fusion.algorithm.query.metafunctions.count_if.header"></a></span><a class="link" href="count_if.html#fusion.algorithm.query.metafunctions.count_if.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">query</span><span class="special">/</span><span class="identifier">count_if</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">count_if</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +</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-2006, 2011 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="count.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../../transformation.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/algorithm/query/metafunctions/find.html b/libs/fusion/doc/html/fusion/algorithm/query/metafunctions/find.html new file mode 100755 index 0000000000..beab617699 --- /dev/null +++ b/libs/fusion/doc/html/fusion/algorithm/query/metafunctions/find.html @@ -0,0 +1,160 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>find</title> +<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../metafunctions.html" title="Metafunctions"> +<link rel="prev" href="none.html" title="none"> +<link rel="next" href="find_if.html" title="find_if"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="none.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="find_if.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h5 class="title"> +<a name="fusion.algorithm.query.metafunctions.find"></a><a class="link" href="find.html" title="find">find</a> +</h5></div></div></div> +<h6> +<a name="fusion.algorithm.query.metafunctions.find.h0"></a> + <span><a name="fusion.algorithm.query.metafunctions.find.description"></a></span><a class="link" href="find.html#fusion.algorithm.query.metafunctions.find.description">Description</a> + </h6> +<p> + Returns the result type of <a class="link" href="../functions/find.html" title="find"><code class="computeroutput"><span class="identifier">find</span></code></a>, given the sequence and + search types. + </p> +<h6> +<a name="fusion.algorithm.query.metafunctions.find.h1"></a> + <span><a name="fusion.algorithm.query.metafunctions.find.synopsis"></a></span><a class="link" href="find.html#fusion.algorithm.query.metafunctions.find.synopsis">Synopsis</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span> + <span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">T</span> + <span class="special">></span> +<span class="keyword">struct</span> <span class="identifier">find</span> +<span class="special">{</span> + <span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">type</span><span class="special">;</span> +<span class="special">};</span> +</pre> +<div class="table"> +<a name="fusion.algorithm.query.metafunctions.find.t0"></a><p class="title"><b>Table 1.60. Parameters</b></p> +<div class="table-contents"><table class="table" summary="Parameters"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Requirement + </p> + </th> +<th> + <p> + Description + </p> + </th> +</tr></thead> +<tbody> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">Sequence</span></code> + </p> + </td> +<td> + <p> + Model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a> + </p> + </td> +<td> + <p> + Operation's argument + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">T</span></code> + </p> + </td> +<td> + <p> + Any type + </p> + </td> +<td> + <p> + Operation's argument + </p> + </td> +</tr> +</tbody> +</table></div> +</div> +<br class="table-break"><h6> +<a name="fusion.algorithm.query.metafunctions.find.h2"></a> + <span><a name="fusion.algorithm.query.metafunctions.find.expression_semantics"></a></span><a class="link" href="find.html#fusion.algorithm.query.metafunctions.find.expression_semantics">Expression + Semantics</a> + </h6> +<pre class="programlisting"><a class="link" href="find.html" title="find"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">find</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">T</span><span class="special">>::</span><span class="identifier">type</span> +</pre> +<p> + <span class="bold"><strong>Return type</strong></span>: A model of the same iterator + category as the iterators of <code class="computeroutput"><span class="identifier">Sequence</span></code>. + </p> +<p> + <span class="bold"><strong>Semantics</strong></span>: Returns an iterator to the + first element of type <code class="computeroutput"><span class="identifier">T</span></code> + in <code class="computeroutput"><span class="identifier">Sequence</span></code>, or <code class="computeroutput"><a class="link" href="../../../sequence/intrinsic/metafunctions/end.html" title="end"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">end</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">>::</span><span class="identifier">type</span></code> + if there is no such element. + </p> +<h6> +<a name="fusion.algorithm.query.metafunctions.find.h3"></a> + <span><a name="fusion.algorithm.query.metafunctions.find.complexity"></a></span><a class="link" href="find.html#fusion.algorithm.query.metafunctions.find.complexity">Complexity</a> + </h6> +<p> + Linear, at most <code class="computeroutput"><a class="link" href="../../../sequence/intrinsic/metafunctions/size.html" title="size"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">>::</span><span class="identifier">value</span></code> comparisons. + </p> +<h6> +<a name="fusion.algorithm.query.metafunctions.find.h4"></a> + <span><a name="fusion.algorithm.query.metafunctions.find.header"></a></span><a class="link" href="find.html#fusion.algorithm.query.metafunctions.find.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">query</span><span class="special">/</span><span class="identifier">find</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">find</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +</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-2006, 2011 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="none.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="find_if.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/algorithm/query/metafunctions/find_if.html b/libs/fusion/doc/html/fusion/algorithm/query/metafunctions/find_if.html new file mode 100755 index 0000000000..a525b5435d --- /dev/null +++ b/libs/fusion/doc/html/fusion/algorithm/query/metafunctions/find_if.html @@ -0,0 +1,161 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>find_if</title> +<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../metafunctions.html" title="Metafunctions"> +<link rel="prev" href="find.html" title="find"> +<link rel="next" href="count.html" title="count"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="find.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="count.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h5 class="title"> +<a name="fusion.algorithm.query.metafunctions.find_if"></a><a class="link" href="find_if.html" title="find_if">find_if</a> +</h5></div></div></div> +<h6> +<a name="fusion.algorithm.query.metafunctions.find_if.h0"></a> + <span><a name="fusion.algorithm.query.metafunctions.find_if.description"></a></span><a class="link" href="find_if.html#fusion.algorithm.query.metafunctions.find_if.description">Description</a> + </h6> +<p> + Returns the result type of <a class="link" href="../functions/find_if.html" title="find_if"><code class="computeroutput"><span class="identifier">find_if</span></code></a> given the sequence and + predicate types. + </p> +<h6> +<a name="fusion.algorithm.query.metafunctions.find_if.h1"></a> + <span><a name="fusion.algorithm.query.metafunctions.find_if.synopsis"></a></span><a class="link" href="find_if.html#fusion.algorithm.query.metafunctions.find_if.synopsis">Synopsis</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span> + <span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">Pred</span> + <span class="special">></span> +<span class="keyword">struct</span> <span class="identifier">find_if</span> +<span class="special">{</span> + <span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">type</span><span class="special">;</span> +<span class="special">};</span> +</pre> +<div class="table"> +<a name="fusion.algorithm.query.metafunctions.find_if.t0"></a><p class="title"><b>Table 1.61. Parameters</b></p> +<div class="table-contents"><table class="table" summary="Parameters"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Requirement + </p> + </th> +<th> + <p> + Description + </p> + </th> +</tr></thead> +<tbody> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">Sequence</span></code> + </p> + </td> +<td> + <p> + A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a> + </p> + </td> +<td> + <p> + Operation's argument + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">Pred</span></code> + </p> + </td> +<td> + <p> + A model of <a href="http://www.boost.org/libs/mpl/doc/refmanual/lambda-expression.html" target="_top">MPL + Lambda Expression</a> + </p> + </td> +<td> + <p> + Operation's arguments + </p> + </td> +</tr> +</tbody> +</table></div> +</div> +<br class="table-break"><h6> +<a name="fusion.algorithm.query.metafunctions.find_if.h2"></a> + <span><a name="fusion.algorithm.query.metafunctions.find_if.expression_semantics"></a></span><a class="link" href="find_if.html#fusion.algorithm.query.metafunctions.find_if.expression_semantics">Expression + Semantics</a> + </h6> +<pre class="programlisting"><a class="link" href="find_if.html" title="find_if"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">find_if</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">Pred</span><span class="special">>::</span><span class="identifier">type</span> +</pre> +<p> + <span class="bold"><strong>Return type</strong></span>: A model of the same iterator + category as the iterators of <code class="computeroutput"><span class="identifier">Sequence</span></code>. + </p> +<p> + <span class="bold"><strong>Semantics</strong></span>: Returns an iterator to the + first element in <code class="computeroutput"><span class="identifier">Sequence</span></code> + for which <code class="computeroutput"><span class="identifier">Pred</span></code> evaluates + to true. Returns <code class="computeroutput"><a class="link" href="../../../sequence/intrinsic/metafunctions/end.html" title="end"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">end</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">>::</span><span class="identifier">type</span></code> if there is no such element. + </p> +<h6> +<a name="fusion.algorithm.query.metafunctions.find_if.h3"></a> + <span><a name="fusion.algorithm.query.metafunctions.find_if.complexity"></a></span><a class="link" href="find_if.html#fusion.algorithm.query.metafunctions.find_if.complexity">Complexity</a> + </h6> +<p> + Linear. At most <code class="computeroutput"><a class="link" href="../../../sequence/intrinsic/metafunctions/size.html" title="size"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">>::</span><span class="identifier">value</span></code> comparisons. + </p> +<h6> +<a name="fusion.algorithm.query.metafunctions.find_if.h4"></a> + <span><a name="fusion.algorithm.query.metafunctions.find_if.header"></a></span><a class="link" href="find_if.html#fusion.algorithm.query.metafunctions.find_if.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">query</span><span class="special">/</span><span class="identifier">find_if</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">find_if</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +</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-2006, 2011 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="find.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="count.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/algorithm/query/metafunctions/none.html b/libs/fusion/doc/html/fusion/algorithm/query/metafunctions/none.html new file mode 100755 index 0000000000..a567a88795 --- /dev/null +++ b/libs/fusion/doc/html/fusion/algorithm/query/metafunctions/none.html @@ -0,0 +1,161 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>none</title> +<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../metafunctions.html" title="Metafunctions"> +<link rel="prev" href="all.html" title="all"> +<link rel="next" href="find.html" title="find"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="all.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="find.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h5 class="title"> +<a name="fusion.algorithm.query.metafunctions.none"></a><a class="link" href="none.html" title="none">none</a> +</h5></div></div></div> +<h6> +<a name="fusion.algorithm.query.metafunctions.none.h0"></a> + <span><a name="fusion.algorithm.query.metafunctions.none.description"></a></span><a class="link" href="none.html#fusion.algorithm.query.metafunctions.none.description">Description</a> + </h6> +<p> + A metafunction returning the result type of <a class="link" href="../functions/none.html" title="none"><code class="computeroutput"><span class="identifier">none</span></code></a>. + </p> +<h6> +<a name="fusion.algorithm.query.metafunctions.none.h1"></a> + <span><a name="fusion.algorithm.query.metafunctions.none.synopsis"></a></span><a class="link" href="none.html#fusion.algorithm.query.metafunctions.none.synopsis">Synopsis</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span> + <span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">F</span> + <span class="special">></span> +<span class="keyword">struct</span> <span class="identifier">none</span> +<span class="special">{</span> + <span class="keyword">typedef</span> <span class="keyword">bool</span> <span class="identifier">type</span><span class="special">;</span> +<span class="special">};</span> +</pre> +<div class="table"> +<a name="fusion.algorithm.query.metafunctions.none.t0"></a><p class="title"><b>Table 1.59. Parameters</b></p> +<div class="table-contents"><table class="table" summary="Parameters"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Requirement + </p> + </th> +<th> + <p> + Description + </p> + </th> +</tr></thead> +<tbody> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">Sequence</span></code> + </p> + </td> +<td> + <p> + A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a> + </p> + </td> +<td> + <p> + Operation's argument + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">F</span></code> + </p> + </td> +<td> + <p> + A model of unary <a class="link" href="../../../functional/concepts/poly.html" title="Polymorphic Function Object">Polymorphic + Function Object</a> + </p> + </td> +<td> + <p> + Operation's argument + </p> + </td> +</tr> +</tbody> +</table></div> +</div> +<br class="table-break"><h6> +<a name="fusion.algorithm.query.metafunctions.none.h2"></a> + <span><a name="fusion.algorithm.query.metafunctions.none.expression_semantics"></a></span><a class="link" href="none.html#fusion.algorithm.query.metafunctions.none.expression_semantics">Expression + Semantics</a> + </h6> +<pre class="programlisting"><a class="link" href="none.html" title="none"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">none</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">F</span><span class="special">>::</span><span class="identifier">type</span> +</pre> +<p> + <span class="bold"><strong>Return type</strong></span>: <code class="computeroutput"><span class="keyword">bool</span></code>. + </p> +<p> + <span class="bold"><strong>Semantics</strong></span>: Returns the return type of + <a class="link" href="../functions/none.html" title="none"><code class="computeroutput"><span class="identifier">none</span></code></a> + given a sequence of type <code class="computeroutput"><span class="identifier">Sequence</span></code> + and a unary <a class="link" href="../../../functional/concepts/poly.html" title="Polymorphic Function Object">Polymorphic + Function Object</a> of type <code class="computeroutput"><span class="identifier">F</span></code>. + The return type is always <code class="computeroutput"><span class="keyword">bool</span></code>. + </p> +<h6> +<a name="fusion.algorithm.query.metafunctions.none.h3"></a> + <span><a name="fusion.algorithm.query.metafunctions.none.complexity"></a></span><a class="link" href="none.html#fusion.algorithm.query.metafunctions.none.complexity">Complexity</a> + </h6> +<p> + Constant. + </p> +<h6> +<a name="fusion.algorithm.query.metafunctions.none.h4"></a> + <span><a name="fusion.algorithm.query.metafunctions.none.header"></a></span><a class="link" href="none.html#fusion.algorithm.query.metafunctions.none.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">query</span><span class="special">/</span><span class="identifier">none</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">none</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +</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-2006, 2011 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="all.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="find.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/algorithm/transformation.html b/libs/fusion/doc/html/fusion/algorithm/transformation.html new file mode 100755 index 0000000000..edceb644a6 --- /dev/null +++ b/libs/fusion/doc/html/fusion/algorithm/transformation.html @@ -0,0 +1,71 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Transformation</title> +<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../algorithm.html" title="Algorithm"> +<link rel="prev" href="query/metafunctions/count_if.html" title="count_if"> +<link rel="next" href="transformation/functions.html" title="Functions"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="query/metafunctions/count_if.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../algorithm.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="transformation/functions.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h3 class="title"> +<a name="fusion.algorithm.transformation"></a><a class="link" href="transformation.html" title="Transformation">Transformation</a> +</h3></div></div></div> +<div class="toc"><dl> +<dt><span class="section"><a href="transformation/functions.html">Functions</a></span></dt> +<dt><span class="section"><a href="transformation/metafunctions.html">Metafunctions</a></span></dt> +</dl></div> +<p> + The transformation algorithms create new sequences out of existing sequences + by performing some sort of transformation. In reality the new sequences are + views onto the data in the original sequences. + </p> +<div class="note"><table border="0" summary="Note"> +<tr> +<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../../doc/src/images/note.png"></td> +<th align="left">Note</th> +</tr> +<tr><td align="left" valign="top"><p> + As the transformation algorithms return views onto their input arguments, + it is important that the lifetime of the input arguments is greater than + the period during which you wish to use the results. + </p></td></tr> +</table></div> +<h5> +<a name="fusion.algorithm.transformation.h0"></a> + <span><a name="fusion.algorithm.transformation.header"></a></span><a class="link" href="transformation.html#fusion.algorithm.transformation.header">Header</a> + </h5> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">transformation</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +</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-2006, 2011 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="query/metafunctions/count_if.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../algorithm.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="transformation/functions.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/algorithm/transformation/functions.html b/libs/fusion/doc/html/fusion/algorithm/transformation/functions.html new file mode 100755 index 0000000000..347d398aa0 --- /dev/null +++ b/libs/fusion/doc/html/fusion/algorithm/transformation/functions.html @@ -0,0 +1,65 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Functions</title> +<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../transformation.html" title="Transformation"> +<link rel="prev" href="../transformation.html" title="Transformation"> +<link rel="next" href="functions/filter.html" title="filter"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="../transformation.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../transformation.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="functions/filter.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h4 class="title"> +<a name="fusion.algorithm.transformation.functions"></a><a class="link" href="functions.html" title="Functions">Functions</a> +</h4></div></div></div> +<div class="toc"><dl> +<dt><span class="section"><a href="functions/filter.html">filter</a></span></dt> +<dt><span class="section"><a href="functions/filter_if.html">filter_if</a></span></dt> +<dt><span class="section"><a href="functions/transform.html">transform</a></span></dt> +<dt><span class="section"><a href="functions/replace.html">replace</a></span></dt> +<dt><span class="section"><a href="functions/replace_if.html">replace_if</a></span></dt> +<dt><span class="section"><a href="functions/remove.html">remove</a></span></dt> +<dt><span class="section"><a href="functions/remove_if.html">remove_if</a></span></dt> +<dt><span class="section"><a href="functions/reverse.html">reverse</a></span></dt> +<dt><span class="section"><a href="functions/clear.html">clear</a></span></dt> +<dt><span class="section"><a href="functions/erase.html">erase</a></span></dt> +<dt><span class="section"><a href="functions/erase_key.html">erase_key</a></span></dt> +<dt><span class="section"><a href="functions/insert.html">insert</a></span></dt> +<dt><span class="section"><a href="functions/insert_range.html">insert_range</a></span></dt> +<dt><span class="section"><a href="functions/join.html">join</a></span></dt> +<dt><span class="section"><a href="functions/zip.html">zip</a></span></dt> +<dt><span class="section"><a href="functions/pop_back.html">pop_back</a></span></dt> +<dt><span class="section"><a href="functions/pop_front.html">pop_front</a></span></dt> +<dt><span class="section"><a href="functions/push_back.html">push_back</a></span></dt> +<dt><span class="section"><a href="functions/push_front.html">push_front</a></span></dt> +</dl></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-2006, 2011 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="../transformation.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../transformation.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="functions/filter.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/algorithm/transformation/functions/clear.html b/libs/fusion/doc/html/fusion/algorithm/transformation/functions/clear.html new file mode 100755 index 0000000000..54fc0b4841 --- /dev/null +++ b/libs/fusion/doc/html/fusion/algorithm/transformation/functions/clear.html @@ -0,0 +1,140 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>clear</title> +<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../functions.html" title="Functions"> +<link rel="prev" href="reverse.html" title="reverse"> +<link rel="next" href="erase.html" title="erase"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="reverse.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="erase.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h5 class="title"> +<a name="fusion.algorithm.transformation.functions.clear"></a><a class="link" href="clear.html" title="clear">clear</a> +</h5></div></div></div> +<h6> +<a name="fusion.algorithm.transformation.functions.clear.h0"></a> + <span><a name="fusion.algorithm.transformation.functions.clear.description"></a></span><a class="link" href="clear.html#fusion.algorithm.transformation.functions.clear.description">Description</a> + </h6> +<p> + <a class="link" href="clear.html" title="clear"><code class="computeroutput"><span class="identifier">clear</span></code></a> returns an empty sequence. + </p> +<h6> +<a name="fusion.algorithm.transformation.functions.clear.h1"></a> + <span><a name="fusion.algorithm.transformation.functions.clear.synposis"></a></span><a class="link" href="clear.html#fusion.algorithm.transformation.functions.clear.synposis">Synposis</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span> + <span class="keyword">typename</span> <span class="identifier">Sequence</span> + <span class="special">></span> +<span class="keyword">typename</span> <a class="link" href="../metafunctions/clear.html" title="clear"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">clear</span></code></a><span class="special"><</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">>::</span><span class="identifier">type</span> <span class="identifier">clear</span><span class="special">(</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">seq</span><span class="special">);</span> +</pre> +<div class="table"> +<a name="fusion.algorithm.transformation.functions.clear.t0"></a><p class="title"><b>Table 1.73. Parameters</b></p> +<div class="table-contents"><table class="table" summary="Parameters"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Requirement + </p> + </th> +<th> + <p> + Description + </p> + </th> +</tr></thead> +<tbody><tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">seq</span></code> + </p> + </td> +<td> + <p> + A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a> + </p> + </td> +<td> + <p> + Operation's argument + </p> + </td> +</tr></tbody> +</table></div> +</div> +<br class="table-break"><h6> +<a name="fusion.algorithm.transformation.functions.clear.h2"></a> + <span><a name="fusion.algorithm.transformation.functions.clear.expression_semantics"></a></span><a class="link" href="clear.html#fusion.algorithm.transformation.functions.clear.expression_semantics">Expression + Semantics</a> + </h6> +<pre class="programlisting"><a class="link" href="clear.html" title="clear"><code class="computeroutput"><span class="identifier">clear</span></code></a><span class="special">(</span><span class="identifier">seq</span><span class="special">);</span> +</pre> +<p> + <span class="bold"><strong>Return type</strong></span>: A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a>. + </p> +<p> + <span class="bold"><strong>Expression Semantics</strong></span>: Returns a sequence + with no elements. + </p> +<h6> +<a name="fusion.algorithm.transformation.functions.clear.h3"></a> + <span><a name="fusion.algorithm.transformation.functions.clear.complexity"></a></span><a class="link" href="clear.html#fusion.algorithm.transformation.functions.clear.complexity">Complexity</a> + </h6> +<p> + Constant. + </p> +<h6> +<a name="fusion.algorithm.transformation.functions.clear.h4"></a> + <span><a name="fusion.algorithm.transformation.functions.clear.header"></a></span><a class="link" href="clear.html#fusion.algorithm.transformation.functions.clear.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">clear</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">clear</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h6> +<a name="fusion.algorithm.transformation.functions.clear.h5"></a> + <span><a name="fusion.algorithm.transformation.functions.clear.example"></a></span><a class="link" href="clear.html#fusion.algorithm.transformation.functions.clear.example">Example</a> + </h6> +<pre class="programlisting"><span class="identifier">assert</span><span class="special">(</span><a class="link" href="clear.html" title="clear"><code class="computeroutput"><span class="identifier">clear</span></code></a><span class="special">(</span><a class="link" href="../../../container/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">,</span><span class="number">3</span><span class="special">))</span> <span class="special">==</span> <a class="link" href="../../../container/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></a><span class="special">());</span> +</pre> +</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-2006, 2011 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="reverse.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="erase.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/algorithm/transformation/functions/erase.html b/libs/fusion/doc/html/fusion/algorithm/transformation/functions/erase.html new file mode 100755 index 0000000000..b67494ab28 --- /dev/null +++ b/libs/fusion/doc/html/fusion/algorithm/transformation/functions/erase.html @@ -0,0 +1,226 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>erase</title> +<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../functions.html" title="Functions"> +<link rel="prev" href="clear.html" title="clear"> +<link rel="next" href="erase_key.html" title="erase_key"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="clear.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="erase_key.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h5 class="title"> +<a name="fusion.algorithm.transformation.functions.erase"></a><a class="link" href="erase.html" title="erase">erase</a> +</h5></div></div></div> +<h6> +<a name="fusion.algorithm.transformation.functions.erase.h0"></a> + <span><a name="fusion.algorithm.transformation.functions.erase.description"></a></span><a class="link" href="erase.html#fusion.algorithm.transformation.functions.erase.description">Description</a> + </h6> +<p> + Returns a new sequence, containing all the elements of the original except + those at a specified iterator, or between two iterators. + </p> +<h6> +<a name="fusion.algorithm.transformation.functions.erase.h1"></a> + <span><a name="fusion.algorithm.transformation.functions.erase.synposis"></a></span><a class="link" href="erase.html#fusion.algorithm.transformation.functions.erase.synposis">Synposis</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span> + <span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">First</span> + <span class="special">></span> +<span class="keyword">typename</span> <a class="link" href="../metafunctions/erase.html" title="erase"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">erase</span></code></a><span class="special"><</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">First</span><span class="special">>::</span><span class="identifier">type</span> <span class="identifier">erase</span><span class="special">(</span> + <span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">seq</span><span class="special">,</span> <span class="identifier">First</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">it1</span><span class="special">);</span> + +<span class="keyword">template</span><span class="special"><</span> + <span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">First</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">Last</span> + <span class="special">></span> +<span class="keyword">typename</span> <a class="link" href="../metafunctions/erase.html" title="erase"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">erase</span></code></a><span class="special"><</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">First</span><span class="special">,</span> <span class="identifier">Last</span><span class="special">>::</span><span class="identifier">type</span> <span class="identifier">erase</span><span class="special">(</span> + <span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">seq</span><span class="special">,</span> <span class="identifier">First</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">it1</span><span class="special">,</span> <span class="identifier">Last</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">it2</span><span class="special">);</span> +</pre> +<div class="table"> +<a name="fusion.algorithm.transformation.functions.erase.t0"></a><p class="title"><b>Table 1.74. Parameters</b></p> +<div class="table-contents"><table class="table" summary="Parameters"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameters + </p> + </th> +<th> + <p> + Requirement + </p> + </th> +<th> + <p> + Description + </p> + </th> +</tr></thead> +<tbody> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">seq</span></code> + </p> + </td> +<td> + <p> + A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a> + </p> + </td> +<td> + <p> + Operation's argument + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">it1</span></code> + </p> + </td> +<td> + <p> + A model of <a class="link" href="../../../iterator/concepts/forward_iterator.html" title="Forward Iterator">Forward + Iterator</a> + </p> + </td> +<td> + <p> + Iterator into <code class="computeroutput"><span class="identifier">seq</span></code> + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">it2</span></code> + </p> + </td> +<td> + <p> + A model of <a class="link" href="../../../iterator/concepts/forward_iterator.html" title="Forward Iterator">Forward + Iterator</a> + </p> + </td> +<td> + <p> + Iterator into <code class="computeroutput"><span class="identifier">seq</span></code> + after <code class="computeroutput"><span class="identifier">it1</span></code> + </p> + </td> +</tr> +</tbody> +</table></div> +</div> +<br class="table-break"><h6> +<a name="fusion.algorithm.transformation.functions.erase.h2"></a> + <span><a name="fusion.algorithm.transformation.functions.erase.expression_semantics"></a></span><a class="link" href="erase.html#fusion.algorithm.transformation.functions.erase.expression_semantics">Expression + Semantics</a> + </h6> +<pre class="programlisting"><a class="link" href="erase.html" title="erase"><code class="computeroutput"><span class="identifier">erase</span></code></a><span class="special">(</span><span class="identifier">seq</span><span class="special">,</span> <span class="identifier">pos</span><span class="special">);</span> +</pre> +<p> + <span class="bold"><strong>Return type</strong></span>: + </p> +<div class="itemizedlist"><ul class="itemizedlist" type="disc"> +<li class="listitem"> + A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a>. + </li> +<li class="listitem"> + A model of <a class="link" href="../../../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative + Sequence</a> if <code class="computeroutput"><span class="identifier">seq</span></code> + implements the <a class="link" href="../../../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative + Sequence</a> model. + </li> +</ul></div> +<p> + <span class="bold"><strong>Semantics</strong></span>: Returns a new sequence, containing + all the elements of <code class="computeroutput"><span class="identifier">seq</span></code> + except the element at <code class="computeroutput"><span class="identifier">pos</span></code>. + </p> +<pre class="programlisting"><a class="link" href="erase.html" title="erase"><code class="computeroutput"><span class="identifier">erase</span></code></a><span class="special">(</span><span class="identifier">seq</span><span class="special">,</span> <span class="identifier">first</span><span class="special">,</span> <span class="identifier">last</span><span class="special">);</span> +</pre> +<p> + <span class="bold"><strong>Return type</strong></span>: + </p> +<div class="itemizedlist"><ul class="itemizedlist" type="disc"> +<li class="listitem"> + A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a>. + </li> +<li class="listitem"> + A model of <a class="link" href="../../../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative + Sequence</a> if <code class="computeroutput"><span class="identifier">seq</span></code> + implements the <a class="link" href="../../../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative + Sequence</a> model. + </li> +</ul></div> +<p> + <span class="bold"><strong>Semantics</strong></span>: Returns a new sequence, with + all the elements of <code class="computeroutput"><span class="identifier">seq</span></code>, + in their original order, except those in the range [<code class="computeroutput"><span class="identifier">first</span></code>,<code class="computeroutput"><span class="identifier">last</span></code>). + </p> +<h6> +<a name="fusion.algorithm.transformation.functions.erase.h3"></a> + <span><a name="fusion.algorithm.transformation.functions.erase.complexity"></a></span><a class="link" href="erase.html#fusion.algorithm.transformation.functions.erase.complexity">Complexity</a> + </h6> +<p> + Constant. Returns a view which is lazily evaluated. + </p> +<h6> +<a name="fusion.algorithm.transformation.functions.erase.h4"></a> + <span><a name="fusion.algorithm.transformation.functions.erase.header"></a></span><a class="link" href="erase.html#fusion.algorithm.transformation.functions.erase.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">erase</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">erase</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h6> +<a name="fusion.algorithm.transformation.functions.erase.h5"></a> + <span><a name="fusion.algorithm.transformation.functions.erase.example"></a></span><a class="link" href="erase.html#fusion.algorithm.transformation.functions.erase.example">Example</a> + </h6> +<pre class="programlisting"><span class="keyword">const</span> <a class="link" href="../../../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">double</span><span class="special">,</span> <span class="keyword">char</span><span class="special">></span> <span class="identifier">vec</span><span class="special">(</span><span class="number">1</span><span class="special">,</span> <span class="number">2.0</span><span class="special">,</span> <span class="char">'c'</span><span class="special">);</span> +<span class="identifier">assert</span><span class="special">(</span><a class="link" href="erase.html" title="erase"><code class="computeroutput"><span class="identifier">erase</span></code></a><span class="special">(</span><span class="identifier">vec</span><span class="special">,</span> <a class="link" href="../../../iterator/functions/next.html" title="next"><code class="computeroutput"><span class="identifier">next</span></code></a><span class="special">(</span><a class="link" href="../../../sequence/intrinsic/functions/begin.html" title="begin"><code class="computeroutput"><span class="identifier">begin</span></code></a><span class="special">(</span><span class="identifier">vec</span><span class="special">)))</span> <span class="special">==</span> <a class="link" href="../../../container/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></a><span class="special">(</span><span class="number">1</span><span class="special">,</span> <span class="char">'c'</span><span class="special">));</span> +<span class="identifier">assert</span><span class="special">(</span><a class="link" href="erase.html" title="erase"><code class="computeroutput"><span class="identifier">erase</span></code></a><span class="special">(</span><span class="identifier">vec</span><span class="special">,</span> <a class="link" href="../../../iterator/functions/next.html" title="next"><code class="computeroutput"><span class="identifier">next</span></code></a><span class="special">(</span><a class="link" href="../../../sequence/intrinsic/functions/begin.html" title="begin"><code class="computeroutput"><span class="identifier">begin</span></code></a><span class="special">(</span><span class="identifier">vec</span><span class="special">)),</span> <a class="link" href="../../../sequence/intrinsic/functions/end.html" title="end"><code class="computeroutput"><span class="identifier">end</span></code></a><span class="special">(</span><span class="identifier">vec</span><span class="special">))</span> <span class="special">==</span> <a class="link" href="../../../container/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></a><span class="special">(</span><span class="number">1</span><span class="special">));</span> +</pre> +</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-2006, 2011 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="clear.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="erase_key.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/algorithm/transformation/functions/erase_key.html b/libs/fusion/doc/html/fusion/algorithm/transformation/functions/erase_key.html new file mode 100755 index 0000000000..7e96737d02 --- /dev/null +++ b/libs/fusion/doc/html/fusion/algorithm/transformation/functions/erase_key.html @@ -0,0 +1,168 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>erase_key</title> +<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../functions.html" title="Functions"> +<link rel="prev" href="erase.html" title="erase"> +<link rel="next" href="insert.html" title="insert"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="erase.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="insert.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h5 class="title"> +<a name="fusion.algorithm.transformation.functions.erase_key"></a><a class="link" href="erase_key.html" title="erase_key">erase_key</a> +</h5></div></div></div> +<h6> +<a name="fusion.algorithm.transformation.functions.erase_key.h0"></a> + <span><a name="fusion.algorithm.transformation.functions.erase_key.description"></a></span><a class="link" href="erase_key.html#fusion.algorithm.transformation.functions.erase_key.description">Description</a> + </h6> +<p> + For an <a class="link" href="../../../sequence/concepts/associative_sequence.html" title="Associative Sequence">associative</a>] + <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward Sequence</a> + <code class="computeroutput"><span class="identifier">seq</span></code>, returns a <a class="link" href="../../../sequence/concepts/associative_sequence.html" title="Associative Sequence">associative</a>] + <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward Sequence</a> + containing all the elements of the original except those with a given + key. + </p> +<h6> +<a name="fusion.algorithm.transformation.functions.erase_key.h1"></a> + <span><a name="fusion.algorithm.transformation.functions.erase_key.synposis"></a></span><a class="link" href="erase_key.html#fusion.algorithm.transformation.functions.erase_key.synposis">Synposis</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span> + <span class="keyword">typename</span> <span class="identifier">Key</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">Sequence</span> + <span class="special">></span> +<span class="keyword">typename</span> <a class="link" href="../metafunctions/erase_key.html" title="erase_key"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">erase_key</span></code></a><span class="special"><</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">Key</span><span class="special">>::</span><span class="identifier">type</span> <span class="identifier">erase_key</span><span class="special">(</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">seq</span><span class="special">);</span> +</pre> +<div class="table"> +<a name="fusion.algorithm.transformation.functions.erase_key.t0"></a><p class="title"><b>Table 1.75. Parameters</b></p> +<div class="table-contents"><table class="table" summary="Parameters"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Requirement + </p> + </th> +<th> + <p> + Description + </p> + </th> +</tr></thead> +<tbody> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">seq</span></code> + </p> + </td> +<td> + <p> + A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a> and <a class="link" href="../../../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative + Sequence</a> + </p> + </td> +<td> + <p> + Operation's argument + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">Key</span></code> + </p> + </td> +<td> + <p> + Any type + </p> + </td> +<td> + <p> + Key to erase + </p> + </td> +</tr> +</tbody> +</table></div> +</div> +<br class="table-break"><h6> +<a name="fusion.algorithm.transformation.functions.erase_key.h2"></a> + <span><a name="fusion.algorithm.transformation.functions.erase_key.expression_semantics"></a></span><a class="link" href="erase_key.html#fusion.algorithm.transformation.functions.erase_key.expression_semantics">Expression + Semantics</a> + </h6> +<pre class="programlisting"><a class="link" href="erase_key.html" title="erase_key"><code class="computeroutput"><span class="identifier">erase_key</span></code></a><span class="special"><</span><span class="identifier">Key</span><span class="special">>(</span><span class="identifier">seq</span><span class="special">);</span> +</pre> +<p> + <span class="bold"><strong>Return type</strong></span>: A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a> and <a class="link" href="../../../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative + Sequence</a>. + </p> +<p> + <span class="bold"><strong>Semantics</strong></span>: Returns a new sequence, containing + all the elements of <code class="computeroutput"><span class="identifier">seq</span></code>, + except those with key <code class="computeroutput"><span class="identifier">Key</span></code>. + </p> +<h6> +<a name="fusion.algorithm.transformation.functions.erase_key.h3"></a> + <span><a name="fusion.algorithm.transformation.functions.erase_key.complexity"></a></span><a class="link" href="erase_key.html#fusion.algorithm.transformation.functions.erase_key.complexity">Complexity</a> + </h6> +<p> + Constant. Returns a view which is lazily evaluated. + </p> +<h6> +<a name="fusion.algorithm.transformation.functions.erase_key.h4"></a> + <span><a name="fusion.algorithm.transformation.functions.erase_key.header"></a></span><a class="link" href="erase_key.html#fusion.algorithm.transformation.functions.erase_key.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">erase_key</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">erase_key</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h6> +<a name="fusion.algorithm.transformation.functions.erase_key.h5"></a> + <span><a name="fusion.algorithm.transformation.functions.erase_key.example"></a></span><a class="link" href="erase_key.html#fusion.algorithm.transformation.functions.erase_key.example">Example</a> + </h6> +<pre class="programlisting"><span class="identifier">assert</span><span class="special">(</span><a class="link" href="erase_key.html" title="erase_key"><code class="computeroutput"><span class="identifier">erase_key</span></code></a><span class="special"><</span><span class="keyword">int</span><span class="special">>(</span><a class="link" href="../../../container/generation/functions/make_map.html" title="make_map"><code class="computeroutput"><span class="identifier">make_map</span></code></a><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">long</span><span class="special">>(</span><span class="char">'a'</span><span class="special">,</span> <span class="char">'b'</span><span class="special">))</span> <span class="special">==</span> <a class="link" href="../../../container/generation/functions/make_map.html" title="make_map"><code class="computeroutput"><span class="identifier">make_map</span></code></a><span class="special"><</span><span class="keyword">long</span><span class="special">>(</span><span class="char">'b'</span><span class="special">));</span> +</pre> +</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-2006, 2011 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="erase.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="insert.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/algorithm/transformation/functions/filter.html b/libs/fusion/doc/html/fusion/algorithm/transformation/functions/filter.html new file mode 100755 index 0000000000..0ad600a878 --- /dev/null +++ b/libs/fusion/doc/html/fusion/algorithm/transformation/functions/filter.html @@ -0,0 +1,175 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>filter</title> +<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../functions.html" title="Functions"> +<link rel="prev" href="../functions.html" title="Functions"> +<link rel="next" href="filter_if.html" title="filter_if"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="../functions.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="filter_if.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h5 class="title"> +<a name="fusion.algorithm.transformation.functions.filter"></a><a class="link" href="filter.html" title="filter">filter</a> +</h5></div></div></div> +<h6> +<a name="fusion.algorithm.transformation.functions.filter.h0"></a> + <span><a name="fusion.algorithm.transformation.functions.filter.description"></a></span><a class="link" href="filter.html#fusion.algorithm.transformation.functions.filter.description">Description</a> + </h6> +<p> + For a given sequence, filter returns a new sequences containing only + the elements of a specified type. + </p> +<h6> +<a name="fusion.algorithm.transformation.functions.filter.h1"></a> + <span><a name="fusion.algorithm.transformation.functions.filter.synopsis"></a></span><a class="link" href="filter.html#fusion.algorithm.transformation.functions.filter.synopsis">Synopsis</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span> + <span class="keyword">typename</span> <span class="identifier">T</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">Sequence</span> + <span class="special">></span> +<span class="keyword">typename</span> <a class="link" href="../metafunctions/filter.html" title="filter"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">filter</span></code></a><span class="special"><</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">T</span><span class="special">>::</span><span class="identifier">type</span> <span class="identifier">filter</span><span class="special">(</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">seq</span><span class="special">);</span> +</pre> +<div class="table"> +<a name="fusion.algorithm.transformation.functions.filter.t0"></a><p class="title"><b>Table 1.64. Parameters</b></p> +<div class="table-contents"><table class="table" summary="Parameters"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Requirement + </p> + </th> +<th> + <p> + Description + </p> + </th> +</tr></thead> +<tbody> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">seq</span></code> + </p> + </td> +<td> + <p> + A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a> + </p> + </td> +<td> + <p> + Operation's argument + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">T</span></code> + </p> + </td> +<td> + <p> + Any type + </p> + </td> +<td> + <p> + The type to retain + </p> + </td> +</tr> +</tbody> +</table></div> +</div> +<br class="table-break"><h6> +<a name="fusion.algorithm.transformation.functions.filter.h2"></a> + <span><a name="fusion.algorithm.transformation.functions.filter.expression_semantics"></a></span><a class="link" href="filter.html#fusion.algorithm.transformation.functions.filter.expression_semantics">Expression + Semantics</a> + </h6> +<pre class="programlisting"><a class="link" href="filter.html" title="filter"><code class="computeroutput"><span class="identifier">filter</span></code></a><span class="special"><</span><span class="identifier">T</span><span class="special">>(</span><span class="identifier">seq</span><span class="special">);</span> +</pre> +<p> + <span class="bold"><strong>Return type</strong></span>: + </p> +<div class="itemizedlist"><ul class="itemizedlist" type="disc"> +<li class="listitem"> + A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a>. + </li> +<li class="listitem"> + A model of <a class="link" href="../../../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative + Sequence</a> if <code class="computeroutput"><span class="identifier">seq</span></code> + implements the <a class="link" href="../../../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative + Sequence</a> model. + </li> +</ul></div> +<p> + <span class="bold"><strong>Semantics</strong></span>: Returns a sequence containing + all the elements of <code class="computeroutput"><span class="identifier">seq</span></code> + of type <code class="computeroutput"><span class="identifier">T</span></code>. Equivalent + to <code class="computeroutput"><a class="link" href="filter_if.html" title="filter_if"><code class="computeroutput"><span class="identifier">filter_if</span></code></a><span class="special"><</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">same_type</span><span class="special"><</span><span class="identifier">_</span><span class="special">,</span> <span class="identifier">T</span><span class="special">></span> <span class="special">>(</span><span class="identifier">seq</span><span class="special">)</span></code>. + </p> +<h6> +<a name="fusion.algorithm.transformation.functions.filter.h3"></a> + <span><a name="fusion.algorithm.transformation.functions.filter.complexity"></a></span><a class="link" href="filter.html#fusion.algorithm.transformation.functions.filter.complexity">Complexity</a> + </h6> +<p> + Constant. Returns a view which is lazily evaluated. + </p> +<h6> +<a name="fusion.algorithm.transformation.functions.filter.h4"></a> + <span><a name="fusion.algorithm.transformation.functions.filter.header"></a></span><a class="link" href="filter.html#fusion.algorithm.transformation.functions.filter.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">filter</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">filter</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h6> +<a name="fusion.algorithm.transformation.functions.filter.h5"></a> + <span><a name="fusion.algorithm.transformation.functions.filter.example"></a></span><a class="link" href="filter.html#fusion.algorithm.transformation.functions.filter.example">Example</a> + </h6> +<pre class="programlisting"><span class="keyword">const</span> <a class="link" href="../../../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">long</span><span class="special">,</span><span class="keyword">long</span><span class="special">></span> <span class="identifier">vec</span><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">,</span><span class="number">3</span><span class="special">,</span><span class="number">4</span><span class="special">);</span> +<span class="identifier">assert</span><span class="special">(</span><a class="link" href="filter.html" title="filter"><code class="computeroutput"><span class="identifier">filter</span></code></a><span class="special"><</span><span class="keyword">int</span><span class="special">>(</span><span class="identifier">vec</span><span class="special">)</span> <span class="special">==</span> <a class="link" href="../../../container/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">));</span> +</pre> +</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-2006, 2011 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="../functions.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="filter_if.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/algorithm/transformation/functions/filter_if.html b/libs/fusion/doc/html/fusion/algorithm/transformation/functions/filter_if.html new file mode 100755 index 0000000000..6b70ea4105 --- /dev/null +++ b/libs/fusion/doc/html/fusion/algorithm/transformation/functions/filter_if.html @@ -0,0 +1,178 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>filter_if</title> +<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../functions.html" title="Functions"> +<link rel="prev" href="filter.html" title="filter"> +<link rel="next" href="transform.html" title="transform"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="filter.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="transform.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h5 class="title"> +<a name="fusion.algorithm.transformation.functions.filter_if"></a><a class="link" href="filter_if.html" title="filter_if">filter_if</a> +</h5></div></div></div> +<h6> +<a name="fusion.algorithm.transformation.functions.filter_if.h0"></a> + <span><a name="fusion.algorithm.transformation.functions.filter_if.description"></a></span><a class="link" href="filter_if.html#fusion.algorithm.transformation.functions.filter_if.description">Description</a> + </h6> +<p> + For a given sequence, <a class="link" href="filter_if.html" title="filter_if"><code class="computeroutput"><span class="identifier">filter_if</span></code></a> returns a new sequences + containing only the elements with types for which a given <a href="http://www.boost.org/libs/mpl/doc/refmanual/lambda-expression.html" target="_top">MPL + Lambda Expression</a> evaluates to <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">true_</span></code>. + </p> +<h6> +<a name="fusion.algorithm.transformation.functions.filter_if.h1"></a> + <span><a name="fusion.algorithm.transformation.functions.filter_if.synopsis"></a></span><a class="link" href="filter_if.html#fusion.algorithm.transformation.functions.filter_if.synopsis">Synopsis</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span> + <span class="keyword">typename</span> <span class="identifier">Pred</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">Sequence</span> + <span class="special">></span> +<span class="keyword">typename</span> <a class="link" href="../metafunctions/filter_if.html" title="filter_if"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">filter_if</span></code></a><span class="special"><</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">Pred</span><span class="special">>::</span><span class="identifier">type</span> <span class="identifier">filter_if</span><span class="special">(</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">seq</span><span class="special">);</span> +</pre> +<div class="table"> +<a name="fusion.algorithm.transformation.functions.filter_if.t0"></a><p class="title"><b>Table 1.65. Parameters</b></p> +<div class="table-contents"><table class="table" summary="Parameters"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Requirement + </p> + </th> +<th> + <p> + Description + </p> + </th> +</tr></thead> +<tbody> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">seq</span></code> + </p> + </td> +<td> + <p> + A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a> + </p> + </td> +<td> + <p> + Operation's argument + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">Pred</span></code> + </p> + </td> +<td> + <p> + A unary <a href="http://www.boost.org/libs/mpl/doc/refmanual/lambda-expression.html" target="_top">MPL + Lambda Expression</a> + </p> + </td> +<td> + <p> + The predicate to filter by + </p> + </td> +</tr> +</tbody> +</table></div> +</div> +<br class="table-break"><h6> +<a name="fusion.algorithm.transformation.functions.filter_if.h2"></a> + <span><a name="fusion.algorithm.transformation.functions.filter_if.expression_semantics"></a></span><a class="link" href="filter_if.html#fusion.algorithm.transformation.functions.filter_if.expression_semantics">Expression + Semantics</a> + </h6> +<pre class="programlisting"><a class="link" href="filter_if.html" title="filter_if"><code class="computeroutput"><span class="identifier">filter_if</span></code></a><span class="special"><</span><span class="identifier">Pred</span><span class="special">>(</span><span class="identifier">seq</span><span class="special">);</span> +</pre> +<p> + <span class="bold"><strong>Return type</strong></span>: + </p> +<div class="itemizedlist"><ul class="itemizedlist" type="disc"> +<li class="listitem"> + A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a>. + </li> +<li class="listitem"> + A model of <a class="link" href="../../../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative + Sequence</a> if <code class="computeroutput"><span class="identifier">seq</span></code> + implements the <a class="link" href="../../../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative + Sequence</a> model. + </li> +</ul></div> +<p> + <span class="bold"><strong>Semantics</strong></span>: Returns a sequence containing + all the elements of <code class="computeroutput"><span class="identifier">seq</span></code> + with types for which <code class="computeroutput"><span class="identifier">Pred</span></code> + evaluates to <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">true_</span></code>. The order of the retained elements + is the same as in the original sequence. + </p> +<h6> +<a name="fusion.algorithm.transformation.functions.filter_if.h3"></a> + <span><a name="fusion.algorithm.transformation.functions.filter_if.complexity"></a></span><a class="link" href="filter_if.html#fusion.algorithm.transformation.functions.filter_if.complexity">Complexity</a> + </h6> +<p> + Constant. Returns a view which is lazily evaluated. + </p> +<h6> +<a name="fusion.algorithm.transformation.functions.filter_if.h4"></a> + <span><a name="fusion.algorithm.transformation.functions.filter_if.header"></a></span><a class="link" href="filter_if.html#fusion.algorithm.transformation.functions.filter_if.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">filter_if</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">filter_if</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h6> +<a name="fusion.algorithm.transformation.functions.filter_if.h5"></a> + <span><a name="fusion.algorithm.transformation.functions.filter_if.example"></a></span><a class="link" href="filter_if.html#fusion.algorithm.transformation.functions.filter_if.example">Example</a> + </h6> +<pre class="programlisting"><span class="keyword">const</span> <a class="link" href="../../../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">double</span><span class="special">,</span><span class="keyword">double</span><span class="special">></span> <span class="identifier">vec</span><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">,</span><span class="number">3.0</span><span class="special">,</span><span class="number">4.0</span><span class="special">);</span> +<span class="identifier">assert</span><span class="special">(</span><a class="link" href="filter_if.html" title="filter_if"><code class="computeroutput"><span class="identifier">filter_if</span></code></a><span class="special"><</span><span class="identifier">is_integral</span><span class="special"><</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">_</span><span class="special">></span> <span class="special">>(</span><span class="identifier">vec</span><span class="special">)</span> <span class="special">==</span> <a class="link" href="../../../container/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">));</span> +</pre> +</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-2006, 2011 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="filter.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="transform.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/algorithm/transformation/functions/insert.html b/libs/fusion/doc/html/fusion/algorithm/transformation/functions/insert.html new file mode 100755 index 0000000000..5f1a830bdb --- /dev/null +++ b/libs/fusion/doc/html/fusion/algorithm/transformation/functions/insert.html @@ -0,0 +1,188 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>insert</title> +<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../functions.html" title="Functions"> +<link rel="prev" href="erase_key.html" title="erase_key"> +<link rel="next" href="insert_range.html" title="insert_range"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="erase_key.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="insert_range.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h5 class="title"> +<a name="fusion.algorithm.transformation.functions.insert"></a><a class="link" href="insert.html" title="insert">insert</a> +</h5></div></div></div> +<h6> +<a name="fusion.algorithm.transformation.functions.insert.h0"></a> + <span><a name="fusion.algorithm.transformation.functions.insert.description"></a></span><a class="link" href="insert.html#fusion.algorithm.transformation.functions.insert.description">Description</a> + </h6> +<p> + Returns a new sequence with all the elements of the original, an a new + element inserted the position described by a given iterator. + </p> +<h6> +<a name="fusion.algorithm.transformation.functions.insert.h1"></a> + <span><a name="fusion.algorithm.transformation.functions.insert.synposis"></a></span><a class="link" href="insert.html#fusion.algorithm.transformation.functions.insert.synposis">Synposis</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span> + <span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">Pos</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">T</span> + <span class="special">></span> +<span class="keyword">typename</span> <a class="link" href="../metafunctions/insert.html" title="insert"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">insert</span></code></a><span class="special"><</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">Pos</span><span class="special">,</span> <span class="identifier">T</span><span class="special">>::</span><span class="identifier">type</span> <span class="identifier">insert</span><span class="special">(</span> + <span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">seq</span><span class="special">,</span> <span class="identifier">Pos</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">pos</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">t</span><span class="special">);</span> +</pre> +<div class="table"> +<a name="fusion.algorithm.transformation.functions.insert.t0"></a><p class="title"><b>Table 1.76. Parameters</b></p> +<div class="table-contents"><table class="table" summary="Parameters"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Requirement + </p> + </th> +<th> + <p> + Description + </p> + </th> +</tr></thead> +<tbody> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">seq</span></code> + </p> + </td> +<td> + <p> + A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a> + </p> + </td> +<td> + <p> + Operation's argument + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">pos</span></code> + </p> + </td> +<td> + <p> + A model of <a class="link" href="../../../iterator/concepts/forward_iterator.html" title="Forward Iterator">Forward + Iterator</a> + </p> + </td> +<td> + <p> + The position to insert at + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">t</span></code> + </p> + </td> +<td> + <p> + Any type + </p> + </td> +<td> + <p> + The value to insert + </p> + </td> +</tr> +</tbody> +</table></div> +</div> +<br class="table-break"><h6> +<a name="fusion.algorithm.transformation.functions.insert.h2"></a> + <span><a name="fusion.algorithm.transformation.functions.insert.expression_semantics"></a></span><a class="link" href="insert.html#fusion.algorithm.transformation.functions.insert.expression_semantics">Expression + Semantics</a> + </h6> +<pre class="programlisting"><a class="link" href="insert.html" title="insert"><code class="computeroutput"><span class="identifier">insert</span></code></a><span class="special">(</span><span class="identifier">seq</span><span class="special">,</span> <span class="identifier">p</span><span class="special">,</span> <span class="identifier">t</span><span class="special">);</span> +</pre> +<p> + <span class="bold"><strong>Return type</strong></span>: + </p> +<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"> + A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a>. + </li></ul></div> +<p> + <span class="bold"><strong>Semantics</strong></span>: Returns a new sequence, containing + all the elements of <code class="computeroutput"><span class="identifier">seq</span></code>, + in their original order, and a new element with the type and value of + <code class="computeroutput"><span class="identifier">t</span></code> inserted at iterator + <code class="computeroutput"><span class="identifier">pos</span></code>. + </p> +<h6> +<a name="fusion.algorithm.transformation.functions.insert.h3"></a> + <span><a name="fusion.algorithm.transformation.functions.insert.complexity"></a></span><a class="link" href="insert.html#fusion.algorithm.transformation.functions.insert.complexity">Complexity</a> + </h6> +<p> + Constant. Returns a view which is lazily evaluated. + </p> +<h6> +<a name="fusion.algorithm.transformation.functions.insert.h4"></a> + <span><a name="fusion.algorithm.transformation.functions.insert.header"></a></span><a class="link" href="insert.html#fusion.algorithm.transformation.functions.insert.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">insert</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">insert</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h6> +<a name="fusion.algorithm.transformation.functions.insert.h5"></a> + <span><a name="fusion.algorithm.transformation.functions.insert.example"></a></span><a class="link" href="insert.html#fusion.algorithm.transformation.functions.insert.example">Example</a> + </h6> +<pre class="programlisting"><span class="keyword">const</span> <a class="link" href="../../../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">int</span><span class="special">></span> <span class="identifier">vec</span><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">);</span> +<span class="identifier">assert</span><span class="special">(</span><a class="link" href="insert.html" title="insert"><code class="computeroutput"><span class="identifier">insert</span></code></a><span class="special">(</span><span class="identifier">vec</span><span class="special">,</span> <a class="link" href="../../../iterator/functions/next.html" title="next"><code class="computeroutput"><span class="identifier">next</span></code></a><span class="special">(</span><a class="link" href="../../../sequence/intrinsic/functions/begin.html" title="begin"><code class="computeroutput"><span class="identifier">begin</span></code></a><span class="special">(</span><span class="identifier">vec</span><span class="special">)),</span> <span class="number">3</span><span class="special">)</span> <span class="special">==</span> <a class="link" href="../../../container/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">3</span><span class="special">,</span><span class="number">2</span><span class="special">));</span> +</pre> +</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-2006, 2011 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="erase_key.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="insert_range.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/algorithm/transformation/functions/insert_range.html b/libs/fusion/doc/html/fusion/algorithm/transformation/functions/insert_range.html new file mode 100755 index 0000000000..7ca8024a9e --- /dev/null +++ b/libs/fusion/doc/html/fusion/algorithm/transformation/functions/insert_range.html @@ -0,0 +1,197 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>insert_range</title> +<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../functions.html" title="Functions"> +<link rel="prev" href="insert.html" title="insert"> +<link rel="next" href="join.html" title="join"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="insert.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="join.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h5 class="title"> +<a name="fusion.algorithm.transformation.functions.insert_range"></a><a class="link" href="insert_range.html" title="insert_range">insert_range</a> +</h5></div></div></div> +<h6> +<a name="fusion.algorithm.transformation.functions.insert_range.h0"></a> + <span><a name="fusion.algorithm.transformation.functions.insert_range.description"></a></span><a class="link" href="insert_range.html#fusion.algorithm.transformation.functions.insert_range.description">Description</a> + </h6> +<p> + Returns a new sequence with another sequence inserted at a specified + iterator. + </p> +<h6> +<a name="fusion.algorithm.transformation.functions.insert_range.h1"></a> + <span><a name="fusion.algorithm.transformation.functions.insert_range.synposis"></a></span><a class="link" href="insert_range.html#fusion.algorithm.transformation.functions.insert_range.synposis">Synposis</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span> + <span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">Pos</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">Range</span> + <span class="special">></span> +<span class="keyword">typename</span> <a class="link" href="../metafunctions/insert_range.html" title="insert_range"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">insert_range</span></code></a><span class="special"><</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">Pos</span><span class="special">,</span> <span class="identifier">Range</span><span class="special">>::</span><span class="identifier">type</span> <span class="identifier">insert_range</span><span class="special">(</span> + <span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">seq</span><span class="special">,</span> <span class="identifier">Pos</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">pos</span><span class="special">,</span> <span class="identifier">Range</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">range</span><span class="special">);</span> +</pre> +<div class="table"> +<a name="fusion.algorithm.transformation.functions.insert_range.t0"></a><p class="title"><b>Table 1.77. Parameters</b></p> +<div class="table-contents"><table class="table" summary="Parameters"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Requirement + </p> + </th> +<th> + <p> + Description + </p> + </th> +</tr></thead> +<tbody> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">seq</span></code> + </p> + </td> +<td> + <p> + A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a> + </p> + </td> +<td> + <p> + Operation's argument + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">pos</span></code> + </p> + </td> +<td> + <p> + A model of <a class="link" href="../../../iterator/concepts/forward_iterator.html" title="Forward Iterator">Forward + Iterator</a> + </p> + </td> +<td> + <p> + The position to insert at + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">range</span></code> + </p> + </td> +<td> + <p> + A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a> + </p> + </td> +<td> + <p> + Range to insert + </p> + </td> +</tr> +</tbody> +</table></div> +</div> +<br class="table-break"><h6> +<a name="fusion.algorithm.transformation.functions.insert_range.h2"></a> + <span><a name="fusion.algorithm.transformation.functions.insert_range.expression_semantics"></a></span><a class="link" href="insert_range.html#fusion.algorithm.transformation.functions.insert_range.expression_semantics">Expression + Semantics</a> + </h6> +<pre class="programlisting"><a class="link" href="insert_range.html" title="insert_range"><code class="computeroutput"><span class="identifier">insert_range</span></code></a><span class="special">(</span><span class="identifier">seq</span><span class="special">,</span> <span class="identifier">pos</span><span class="special">,</span> <span class="identifier">range</span><span class="special">);</span> +</pre> +<p> + <span class="bold"><strong>Return type</strong></span>: + </p> +<div class="itemizedlist"><ul class="itemizedlist" type="disc"> +<li class="listitem"> + A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a>. + </li> +<li class="listitem"> + A model of <a class="link" href="../../../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative + Sequence</a> if <code class="computeroutput"><span class="identifier">seq</span></code> + implements the <a class="link" href="../../../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative + Sequence</a> model. + </li> +</ul></div> +<p> + <span class="bold"><strong>Semantics</strong></span>: Returns a new sequence, containing + all the elements of <code class="computeroutput"><span class="identifier">seq</span></code>, + and the elements of <code class="computeroutput"><span class="identifier">range</span></code> + inserted at iterator <code class="computeroutput"><span class="identifier">pos</span></code>. + All elements retaining their ordering from the orignal sequences. + </p> +<h6> +<a name="fusion.algorithm.transformation.functions.insert_range.h3"></a> + <span><a name="fusion.algorithm.transformation.functions.insert_range.complexity"></a></span><a class="link" href="insert_range.html#fusion.algorithm.transformation.functions.insert_range.complexity">Complexity</a> + </h6> +<p> + Constant. Returns a view which is lazily evaluated. + </p> +<h6> +<a name="fusion.algorithm.transformation.functions.insert_range.h4"></a> + <span><a name="fusion.algorithm.transformation.functions.insert_range.header"></a></span><a class="link" href="insert_range.html#fusion.algorithm.transformation.functions.insert_range.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">insert_range</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">insert_range</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h6> +<a name="fusion.algorithm.transformation.functions.insert_range.h5"></a> + <span><a name="fusion.algorithm.transformation.functions.insert_range.example"></a></span><a class="link" href="insert_range.html#fusion.algorithm.transformation.functions.insert_range.example">Example</a> + </h6> +<pre class="programlisting"><span class="keyword">const</span> <a class="link" href="../../../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">int</span><span class="special">></span> <span class="identifier">vec</span><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">);</span> +<span class="identifier">assert</span><span class="special">(</span><a class="link" href="insert_range.html" title="insert_range"><code class="computeroutput"><span class="identifier">insert_range</span></code></a><span class="special">(</span><span class="identifier">vec</span><span class="special">,</span> <a class="link" href="../../../iterator/functions/next.html" title="next"><code class="computeroutput"><span class="identifier">next</span></code></a><span class="special">(</span><a class="link" href="../../../sequence/intrinsic/functions/begin.html" title="begin"><code class="computeroutput"><span class="identifier">begin</span></code></a><span class="special">(</span><span class="identifier">vec</span><span class="special">)),</span> <a class="link" href="../../../container/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></a><span class="special">(</span><span class="number">3</span><span class="special">,</span><span class="number">4</span><span class="special">))</span> <span class="special">==</span> <a class="link" href="../../../container/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">3</span><span class="special">,</span><span class="number">4</span><span class="special">,</span><span class="number">2</span><span class="special">));</span> +</pre> +</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-2006, 2011 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="insert.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="join.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/algorithm/transformation/functions/join.html b/libs/fusion/doc/html/fusion/algorithm/transformation/functions/join.html new file mode 100755 index 0000000000..c30ec8dc33 --- /dev/null +++ b/libs/fusion/doc/html/fusion/algorithm/transformation/functions/join.html @@ -0,0 +1,177 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>join</title> +<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../functions.html" title="Functions"> +<link rel="prev" href="insert_range.html" title="insert_range"> +<link rel="next" href="zip.html" title="zip"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="insert_range.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="zip.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h5 class="title"> +<a name="fusion.algorithm.transformation.functions.join"></a><a class="link" href="join.html" title="join">join</a> +</h5></div></div></div> +<h6> +<a name="fusion.algorithm.transformation.functions.join.h0"></a> + <span><a name="fusion.algorithm.transformation.functions.join.description"></a></span><a class="link" href="join.html#fusion.algorithm.transformation.functions.join.description">Description</a> + </h6> +<p> + Takes 2 sequences and returns a sequence containing the elements of the + first followed by the elements of the second. + </p> +<h6> +<a name="fusion.algorithm.transformation.functions.join.h1"></a> + <span><a name="fusion.algorithm.transformation.functions.join.synopsis"></a></span><a class="link" href="join.html#fusion.algorithm.transformation.functions.join.synopsis">Synopsis</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span> + <span class="keyword">typename</span> <span class="identifier">LhSequence</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">RhSequence</span><span class="special">></span> +<span class="keyword">typename</span> <a class="link" href="../metafunctions/join.html" title="join"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">join</span></code></a><span class="special"><</span><span class="identifier">LhSequence</span><span class="special">,</span> <span class="identifier">RhSequence</span><span class="special">>::</span><span class="identifier">type</span> <span class="identifier">join</span><span class="special">(</span><span class="identifier">LhSequence</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">RhSequence</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">rhs</span><span class="special">);</span> +</pre> +<div class="table"> +<a name="fusion.algorithm.transformation.functions.join.t0"></a><p class="title"><b>Table 1.78. Parameters</b></p> +<div class="table-contents"><table class="table" summary="Parameters"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Requirement + </p> + </th> +<th> + <p> + Description + </p> + </th> +</tr></thead> +<tbody> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">lhs</span></code> + </p> + </td> +<td> + <p> + A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a> + </p> + </td> +<td> + <p> + Operation's argument + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">rhs</span></code> + </p> + </td> +<td> + <p> + A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a> + </p> + </td> +<td> + <p> + Operation's argument + </p> + </td> +</tr> +</tbody> +</table></div> +</div> +<br class="table-break"><h6> +<a name="fusion.algorithm.transformation.functions.join.h2"></a> + <span><a name="fusion.algorithm.transformation.functions.join.expression_semantics"></a></span><a class="link" href="join.html#fusion.algorithm.transformation.functions.join.expression_semantics">Expression + Semantics</a> + </h6> +<pre class="programlisting"><a class="link" href="join.html" title="join"><code class="computeroutput"><span class="identifier">join</span></code></a><span class="special">(</span><span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">rhs</span><span class="special">);</span> +</pre> +<p> + <span class="bold"><strong>Return type</strong></span>: + </p> +<div class="itemizedlist"><ul class="itemizedlist" type="disc"> +<li class="listitem"> + A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a>. + </li> +<li class="listitem"> + A model of <a class="link" href="../../../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative + Sequence</a> if <code class="computeroutput"><span class="identifier">lhs</span></code> + and <code class="computeroutput"><span class="identifier">rhs</span></code> implement + the <a class="link" href="../../../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative + Sequence</a> model. + </li> +</ul></div> +<p> + <span class="bold"><strong>Semantics</strong></span>: Returns a sequence containing + all the elements of <code class="computeroutput"><span class="identifier">lhs</span></code> + followed by all the elements of <code class="computeroutput"><span class="identifier">rhs</span></code>. + The order of the elements is preserved. + </p> +<h6> +<a name="fusion.algorithm.transformation.functions.join.h3"></a> + <span><a name="fusion.algorithm.transformation.functions.join.complexity"></a></span><a class="link" href="join.html#fusion.algorithm.transformation.functions.join.complexity">Complexity</a> + </h6> +<p> + Constant. Returns a view which is lazily evaluated. + </p> +<h6> +<a name="fusion.algorithm.transformation.functions.join.h4"></a> + <span><a name="fusion.algorithm.transformation.functions.join.header"></a></span><a class="link" href="join.html#fusion.algorithm.transformation.functions.join.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">join</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">join</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h6> +<a name="fusion.algorithm.transformation.functions.join.h5"></a> + <span><a name="fusion.algorithm.transformation.functions.join.example"></a></span><a class="link" href="join.html#fusion.algorithm.transformation.functions.join.example">Example</a> + </h6> +<pre class="programlisting"><a class="link" href="../../../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">char</span><span class="special">></span> <span class="identifier">v1</span><span class="special">(</span><span class="number">1</span><span class="special">,</span> <span class="char">'a'</span><span class="special">);</span> +<a class="link" href="../../../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">char</span><span class="special">></span> <span class="identifier">v2</span><span class="special">(</span><span class="number">2</span><span class="special">,</span> <span class="char">'b'</span><span class="special">);</span> +<span class="identifier">assert</span><span class="special">(</span><a class="link" href="join.html" title="join"><code class="computeroutput"><span class="identifier">join</span></code></a><span class="special">(</span><span class="identifier">v1</span><span class="special">,</span> <span class="identifier">v2</span><span class="special">)</span> <span class="special">==</span> <a class="link" href="../../../container/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="char">'a'</span><span class="special">,</span><span class="number">2</span><span class="special">,</span><span class="char">'b'</span><span class="special">));</span> +</pre> +</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-2006, 2011 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="insert_range.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="zip.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/algorithm/transformation/functions/pop_back.html b/libs/fusion/doc/html/fusion/algorithm/transformation/functions/pop_back.html new file mode 100755 index 0000000000..111248e906 --- /dev/null +++ b/libs/fusion/doc/html/fusion/algorithm/transformation/functions/pop_back.html @@ -0,0 +1,153 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>pop_back</title> +<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../functions.html" title="Functions"> +<link rel="prev" href="zip.html" title="zip"> +<link rel="next" href="pop_front.html" title="pop_front"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="zip.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="pop_front.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h5 class="title"> +<a name="fusion.algorithm.transformation.functions.pop_back"></a><a class="link" href="pop_back.html" title="pop_back">pop_back</a> +</h5></div></div></div> +<h6> +<a name="fusion.algorithm.transformation.functions.pop_back.h0"></a> + <span><a name="fusion.algorithm.transformation.functions.pop_back.description"></a></span><a class="link" href="pop_back.html#fusion.algorithm.transformation.functions.pop_back.description">Description</a> + </h6> +<p> + Returns a new sequence, with the last element of the original removed. + </p> +<h6> +<a name="fusion.algorithm.transformation.functions.pop_back.h1"></a> + <span><a name="fusion.algorithm.transformation.functions.pop_back.synopsis"></a></span><a class="link" href="pop_back.html#fusion.algorithm.transformation.functions.pop_back.synopsis">Synopsis</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span> + <span class="keyword">typename</span> <span class="identifier">Sequence</span> + <span class="special">></span> +<span class="keyword">typename</span> <a class="link" href="../metafunctions/pop_back.html" title="pop_back"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">pop_back</span></code></a><span class="special"><</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">>::</span><span class="identifier">type</span> <span class="identifier">pop_back</span><span class="special">(</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">seq</span><span class="special">);</span> +</pre> +<div class="table"> +<a name="fusion.algorithm.transformation.functions.pop_back.t0"></a><p class="title"><b>Table 1.80. Parameters</b></p> +<div class="table-contents"><table class="table" summary="Parameters"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Requirement + </p> + </th> +<th> + <p> + Description + </p> + </th> +</tr></thead> +<tbody><tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">seq</span></code> + </p> + </td> +<td> + <p> + A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a> + </p> + </td> +<td> + <p> + Operation's argument + </p> + </td> +</tr></tbody> +</table></div> +</div> +<br class="table-break"><h6> +<a name="fusion.algorithm.transformation.functions.pop_back.h2"></a> + <span><a name="fusion.algorithm.transformation.functions.pop_back.expression_semantics"></a></span><a class="link" href="pop_back.html#fusion.algorithm.transformation.functions.pop_back.expression_semantics">Expression + Semantics</a> + </h6> +<pre class="programlisting"><a class="link" href="pop_back.html" title="pop_back"><code class="computeroutput"><span class="identifier">pop_back</span></code></a><span class="special">(</span><span class="identifier">seq</span><span class="special">);</span> +</pre> +<p> + <span class="bold"><strong>Return type</strong></span>: + </p> +<div class="itemizedlist"><ul class="itemizedlist" type="disc"> +<li class="listitem"> + A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a>. + </li> +<li class="listitem"> + A model of <a class="link" href="../../../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative + Sequence</a> if <code class="computeroutput"><span class="identifier">seq</span></code> + implements the <a class="link" href="../../../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative + Sequence</a> model. + </li> +</ul></div> +<p> + <span class="bold"><strong>Semantics</strong></span>: Returns a new sequence containing + all the elements of <code class="computeroutput"><span class="identifier">seq</span></code>, + except the last element. The elements in the new sequence are in the + same order as they were in <code class="computeroutput"><span class="identifier">seq</span></code>. + </p> +<h6> +<a name="fusion.algorithm.transformation.functions.pop_back.h3"></a> + <span><a name="fusion.algorithm.transformation.functions.pop_back.complexity"></a></span><a class="link" href="pop_back.html#fusion.algorithm.transformation.functions.pop_back.complexity">Complexity</a> + </h6> +<p> + Constant. Returns a view which is lazily evaluated. + </p> +<h6> +<a name="fusion.algorithm.transformation.functions.pop_back.h4"></a> + <span><a name="fusion.algorithm.transformation.functions.pop_back.header"></a></span><a class="link" href="pop_back.html#fusion.algorithm.transformation.functions.pop_back.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">pop_back</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">pop_back</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h6> +<a name="fusion.algorithm.transformation.functions.pop_back.h5"></a> + <span><a name="fusion.algorithm.transformation.functions.pop_back.example"></a></span><a class="link" href="pop_back.html#fusion.algorithm.transformation.functions.pop_back.example">Example</a> + </h6> +<pre class="programlisting"><span class="identifier">assert</span><span class="special">(</span><span class="identifier">___pop_back__</span><span class="special">(</span><a class="link" href="../../../container/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">,</span><span class="number">3</span><span class="special">))</span> <span class="special">==</span> <a class="link" href="../../../container/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">));</span> +</pre> +</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-2006, 2011 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="zip.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="pop_front.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/algorithm/transformation/functions/pop_front.html b/libs/fusion/doc/html/fusion/algorithm/transformation/functions/pop_front.html new file mode 100755 index 0000000000..eec92dc64a --- /dev/null +++ b/libs/fusion/doc/html/fusion/algorithm/transformation/functions/pop_front.html @@ -0,0 +1,153 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>pop_front</title> +<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../functions.html" title="Functions"> +<link rel="prev" href="pop_back.html" title="pop_back"> +<link rel="next" href="push_back.html" title="push_back"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="pop_back.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="push_back.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h5 class="title"> +<a name="fusion.algorithm.transformation.functions.pop_front"></a><a class="link" href="pop_front.html" title="pop_front">pop_front</a> +</h5></div></div></div> +<h6> +<a name="fusion.algorithm.transformation.functions.pop_front.h0"></a> + <span><a name="fusion.algorithm.transformation.functions.pop_front.description"></a></span><a class="link" href="pop_front.html#fusion.algorithm.transformation.functions.pop_front.description">Description</a> + </h6> +<p> + Returns a new sequence, with the first element of the original removed. + </p> +<h6> +<a name="fusion.algorithm.transformation.functions.pop_front.h1"></a> + <span><a name="fusion.algorithm.transformation.functions.pop_front.synopsis"></a></span><a class="link" href="pop_front.html#fusion.algorithm.transformation.functions.pop_front.synopsis">Synopsis</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span> + <span class="keyword">typename</span> <span class="identifier">Sequence</span> + <span class="special">></span> +<span class="keyword">typename</span> <a class="link" href="../metafunctions/pop_front.html" title="pop_front"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">pop_front</span></code></a><span class="special"><</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">>::</span><span class="identifier">type</span> <span class="identifier">pop_front</span><span class="special">(</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">seq</span><span class="special">);</span> +</pre> +<div class="table"> +<a name="fusion.algorithm.transformation.functions.pop_front.t0"></a><p class="title"><b>Table 1.81. Parameters</b></p> +<div class="table-contents"><table class="table" summary="Parameters"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Requirement + </p> + </th> +<th> + <p> + Description + </p> + </th> +</tr></thead> +<tbody><tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">seq</span></code> + </p> + </td> +<td> + <p> + A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a> + </p> + </td> +<td> + <p> + Operation's argument + </p> + </td> +</tr></tbody> +</table></div> +</div> +<br class="table-break"><h6> +<a name="fusion.algorithm.transformation.functions.pop_front.h2"></a> + <span><a name="fusion.algorithm.transformation.functions.pop_front.expression_semantics"></a></span><a class="link" href="pop_front.html#fusion.algorithm.transformation.functions.pop_front.expression_semantics">Expression + Semantics</a> + </h6> +<pre class="programlisting"><a class="link" href="pop_front.html" title="pop_front"><code class="computeroutput"><span class="identifier">pop_front</span></code></a><span class="special">(</span><span class="identifier">seq</span><span class="special">);</span> +</pre> +<p> + <span class="bold"><strong>Return type</strong></span>: + </p> +<div class="itemizedlist"><ul class="itemizedlist" type="disc"> +<li class="listitem"> + A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a>. + </li> +<li class="listitem"> + A model of <a class="link" href="../../../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative + Sequence</a> if <code class="computeroutput"><span class="identifier">seq</span></code> + implements the <a class="link" href="../../../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative + Sequence</a> model. + </li> +</ul></div> +<p> + <span class="bold"><strong>Semantics</strong></span>: Returns a new sequence containing + all the elements of <code class="computeroutput"><span class="identifier">seq</span></code>, + except the first element. The elements in the new sequence are in the + same order as they were in <code class="computeroutput"><span class="identifier">seq</span></code>. + </p> +<h6> +<a name="fusion.algorithm.transformation.functions.pop_front.h3"></a> + <span><a name="fusion.algorithm.transformation.functions.pop_front.complexity"></a></span><a class="link" href="pop_front.html#fusion.algorithm.transformation.functions.pop_front.complexity">Complexity</a> + </h6> +<p> + Constant. Returns a view which is lazily evaluated. + </p> +<h6> +<a name="fusion.algorithm.transformation.functions.pop_front.h4"></a> + <span><a name="fusion.algorithm.transformation.functions.pop_front.header"></a></span><a class="link" href="pop_front.html#fusion.algorithm.transformation.functions.pop_front.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">pop_front</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">pop_front</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h6> +<a name="fusion.algorithm.transformation.functions.pop_front.h5"></a> + <span><a name="fusion.algorithm.transformation.functions.pop_front.example"></a></span><a class="link" href="pop_front.html#fusion.algorithm.transformation.functions.pop_front.example">Example</a> + </h6> +<pre class="programlisting"><span class="identifier">assert</span><span class="special">(</span><a class="link" href="pop_front.html" title="pop_front"><code class="computeroutput"><span class="identifier">pop_front</span></code></a><span class="special">(</span><a class="link" href="../../../container/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">,</span><span class="number">3</span><span class="special">))</span> <span class="special">==</span> <a class="link" href="../../../container/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></a><span class="special">(</span><span class="number">2</span><span class="special">,</span><span class="number">3</span><span class="special">));</span> +</pre> +</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-2006, 2011 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="pop_back.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="push_back.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/algorithm/transformation/functions/push_back.html b/libs/fusion/doc/html/fusion/algorithm/transformation/functions/push_back.html new file mode 100755 index 0000000000..f13303f0eb --- /dev/null +++ b/libs/fusion/doc/html/fusion/algorithm/transformation/functions/push_back.html @@ -0,0 +1,166 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>push_back</title> +<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../functions.html" title="Functions"> +<link rel="prev" href="pop_front.html" title="pop_front"> +<link rel="next" href="push_front.html" title="push_front"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="pop_front.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="push_front.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h5 class="title"> +<a name="fusion.algorithm.transformation.functions.push_back"></a><a class="link" href="push_back.html" title="push_back">push_back</a> +</h5></div></div></div> +<h6> +<a name="fusion.algorithm.transformation.functions.push_back.h0"></a> + <span><a name="fusion.algorithm.transformation.functions.push_back.description"></a></span><a class="link" href="push_back.html#fusion.algorithm.transformation.functions.push_back.description">Description</a> + </h6> +<p> + Returns a new sequence with an element added at the end. + </p> +<h6> +<a name="fusion.algorithm.transformation.functions.push_back.h1"></a> + <span><a name="fusion.algorithm.transformation.functions.push_back.synopsis"></a></span><a class="link" href="push_back.html#fusion.algorithm.transformation.functions.push_back.synopsis">Synopsis</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span> + <span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">T</span> + <span class="special">></span> +<span class="keyword">typename</span> <a class="link" href="../metafunctions/push_back.html" title="push_back"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">push_back</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">T</span><span class="special">>::</span><span class="identifier">type</span> <span class="identifier">push_back</span><span class="special">(</span> + <span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">seq</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">t</span><span class="special">);</span> +</pre> +<div class="table"> +<a name="fusion.algorithm.transformation.functions.push_back.t0"></a><p class="title"><b>Table 1.82. Parameters</b></p> +<div class="table-contents"><table class="table" summary="Parameters"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Requirement + </p> + </th> +<th> + <p> + Description + </p> + </th> +</tr></thead> +<tbody> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">seq</span></code> + </p> + </td> +<td> + <p> + A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a> + </p> + </td> +<td> + <p> + Operation's argument + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">t</span></code> + </p> + </td> +<td> + <p> + Any type + </p> + </td> +<td> + <p> + The value to add to the end + </p> + </td> +</tr> +</tbody> +</table></div> +</div> +<br class="table-break"><h6> +<a name="fusion.algorithm.transformation.functions.push_back.h2"></a> + <span><a name="fusion.algorithm.transformation.functions.push_back.expression_semantics"></a></span><a class="link" href="push_back.html#fusion.algorithm.transformation.functions.push_back.expression_semantics">Expression + Semantics</a> + </h6> +<pre class="programlisting"><a class="link" href="push_back.html" title="push_back"><code class="computeroutput"><span class="identifier">push_back</span></code></a><span class="special">(</span><span class="identifier">seq</span><span class="special">,</span> <span class="identifier">t</span><span class="special">);</span> +</pre> +<p> + <span class="bold"><strong>Return type</strong></span>: + </p> +<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"> + A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a>. + </li></ul></div> +<p> + <span class="bold"><strong>Semantics</strong></span>: Returns a new sequence, containing + all the elements of <code class="computeroutput"><span class="identifier">seq</span></code>, + and new element <code class="computeroutput"><span class="identifier">t</span></code> appended + to the end. The elements are in the same order as they were in <code class="computeroutput"><span class="identifier">seq</span></code>. + </p> +<h6> +<a name="fusion.algorithm.transformation.functions.push_back.h3"></a> + <span><a name="fusion.algorithm.transformation.functions.push_back.complexity"></a></span><a class="link" href="push_back.html#fusion.algorithm.transformation.functions.push_back.complexity">Complexity</a> + </h6> +<p> + Constant. Returns a view which is lazily evaluated. + </p> +<h6> +<a name="fusion.algorithm.transformation.functions.push_back.h4"></a> + <span><a name="fusion.algorithm.transformation.functions.push_back.header"></a></span><a class="link" href="push_back.html#fusion.algorithm.transformation.functions.push_back.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">push_back</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">push_back</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h6> +<a name="fusion.algorithm.transformation.functions.push_back.h5"></a> + <span><a name="fusion.algorithm.transformation.functions.push_back.example"></a></span><a class="link" href="push_back.html#fusion.algorithm.transformation.functions.push_back.example">Example</a> + </h6> +<pre class="programlisting"><span class="identifier">assert</span><span class="special">(</span><a class="link" href="push_back.html" title="push_back"><code class="computeroutput"><span class="identifier">push_back</span></code></a><span class="special">(</span><a class="link" href="../../../container/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">,</span><span class="number">3</span><span class="special">),</span><span class="number">4</span><span class="special">)</span> <span class="special">==</span> <a class="link" href="../../../container/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">,</span><span class="number">3</span><span class="special">,</span><span class="number">4</span><span class="special">));</span> +</pre> +</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-2006, 2011 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="pop_front.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="push_front.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/algorithm/transformation/functions/push_front.html b/libs/fusion/doc/html/fusion/algorithm/transformation/functions/push_front.html new file mode 100755 index 0000000000..4babd83759 --- /dev/null +++ b/libs/fusion/doc/html/fusion/algorithm/transformation/functions/push_front.html @@ -0,0 +1,167 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>push_front</title> +<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../functions.html" title="Functions"> +<link rel="prev" href="push_back.html" title="push_back"> +<link rel="next" href="../metafunctions.html" title="Metafunctions"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="push_back.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h5 class="title"> +<a name="fusion.algorithm.transformation.functions.push_front"></a><a class="link" href="push_front.html" title="push_front">push_front</a> +</h5></div></div></div> +<h6> +<a name="fusion.algorithm.transformation.functions.push_front.h0"></a> + <span><a name="fusion.algorithm.transformation.functions.push_front.description"></a></span><a class="link" href="push_front.html#fusion.algorithm.transformation.functions.push_front.description">Description</a> + </h6> +<p> + Returns a new sequence with an element added at the beginning. + </p> +<h6> +<a name="fusion.algorithm.transformation.functions.push_front.h1"></a> + <span><a name="fusion.algorithm.transformation.functions.push_front.synopsis"></a></span><a class="link" href="push_front.html#fusion.algorithm.transformation.functions.push_front.synopsis">Synopsis</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span> + <span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">T</span> + <span class="special">></span> +<span class="keyword">typename</span> <a class="link" href="../metafunctions/push_front.html" title="push_front"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">push_front</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">T</span><span class="special">>::</span><span class="identifier">type</span> <span class="identifier">push_front</span><span class="special">(</span> + <span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">seq</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">t</span><span class="special">);</span> +</pre> +<div class="table"> +<a name="fusion.algorithm.transformation.functions.push_front.t0"></a><p class="title"><b>Table 1.83. Parameters</b></p> +<div class="table-contents"><table class="table" summary="Parameters"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Requirement + </p> + </th> +<th> + <p> + Description + </p> + </th> +</tr></thead> +<tbody> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">seq</span></code> + </p> + </td> +<td> + <p> + A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a> + </p> + </td> +<td> + <p> + Operation's argument + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">t</span></code> + </p> + </td> +<td> + <p> + Any type + </p> + </td> +<td> + <p> + The value to add to the beginning + </p> + </td> +</tr> +</tbody> +</table></div> +</div> +<br class="table-break"><h6> +<a name="fusion.algorithm.transformation.functions.push_front.h2"></a> + <span><a name="fusion.algorithm.transformation.functions.push_front.expression_semantics"></a></span><a class="link" href="push_front.html#fusion.algorithm.transformation.functions.push_front.expression_semantics">Expression + Semantics</a> + </h6> +<pre class="programlisting"><a class="link" href="push_back.html" title="push_back"><code class="computeroutput"><span class="identifier">push_back</span></code></a><span class="special">(</span><span class="identifier">seq</span><span class="special">,</span> <span class="identifier">t</span><span class="special">);</span> +</pre> +<p> + <span class="bold"><strong>Return type</strong></span>: + </p> +<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"> + A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a>. + </li></ul></div> +<p> + <span class="bold"><strong>Semantics</strong></span>: Returns a new sequence, containing + all the elements of <code class="computeroutput"><span class="identifier">seq</span></code>, + and new element <code class="computeroutput"><span class="identifier">t</span></code> appended + to the beginning. The elements are in the same order as they were in + <code class="computeroutput"><span class="identifier">seq</span></code>. + </p> +<h6> +<a name="fusion.algorithm.transformation.functions.push_front.h3"></a> + <span><a name="fusion.algorithm.transformation.functions.push_front.complexity"></a></span><a class="link" href="push_front.html#fusion.algorithm.transformation.functions.push_front.complexity">Complexity</a> + </h6> +<p> + Constant. Returns a view which is lazily evaluated. + </p> +<h6> +<a name="fusion.algorithm.transformation.functions.push_front.h4"></a> + <span><a name="fusion.algorithm.transformation.functions.push_front.header"></a></span><a class="link" href="push_front.html#fusion.algorithm.transformation.functions.push_front.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">push_front</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">push_front</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h6> +<a name="fusion.algorithm.transformation.functions.push_front.h5"></a> + <span><a name="fusion.algorithm.transformation.functions.push_front.example"></a></span><a class="link" href="push_front.html#fusion.algorithm.transformation.functions.push_front.example">Example</a> + </h6> +<pre class="programlisting"><span class="identifier">assert</span><span class="special">(</span><a class="link" href="push_front.html" title="push_front"><code class="computeroutput"><span class="identifier">push_front</span></code></a><span class="special">(</span><a class="link" href="../../../container/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">,</span><span class="number">3</span><span class="special">),</span><span class="number">0</span><span class="special">)</span> <span class="special">==</span> <a class="link" href="../../../container/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></a><span class="special">(</span><span class="number">0</span><span class="special">,</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">,</span><span class="number">3</span><span class="special">));</span> +</pre> +</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-2006, 2011 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="push_back.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/algorithm/transformation/functions/remove.html b/libs/fusion/doc/html/fusion/algorithm/transformation/functions/remove.html new file mode 100755 index 0000000000..578d7ec22f --- /dev/null +++ b/libs/fusion/doc/html/fusion/algorithm/transformation/functions/remove.html @@ -0,0 +1,175 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>remove</title> +<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../functions.html" title="Functions"> +<link rel="prev" href="replace_if.html" title="replace_if"> +<link rel="next" href="remove_if.html" title="remove_if"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="replace_if.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="remove_if.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h5 class="title"> +<a name="fusion.algorithm.transformation.functions.remove"></a><a class="link" href="remove.html" title="remove">remove</a> +</h5></div></div></div> +<h6> +<a name="fusion.algorithm.transformation.functions.remove.h0"></a> + <span><a name="fusion.algorithm.transformation.functions.remove.description"></a></span><a class="link" href="remove.html#fusion.algorithm.transformation.functions.remove.description">Description</a> + </h6> +<p> + Returns a new sequence, with all the elements of the original sequence, + except those of a given type. + </p> +<h6> +<a name="fusion.algorithm.transformation.functions.remove.h1"></a> + <span><a name="fusion.algorithm.transformation.functions.remove.synopsis"></a></span><a class="link" href="remove.html#fusion.algorithm.transformation.functions.remove.synopsis">Synopsis</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span> + <span class="keyword">typename</span> <span class="identifier">T</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">Sequence</span> + <span class="special">></span> +<span class="keyword">typename</span> <a class="link" href="../metafunctions/remove.html" title="remove"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">remove</span></code></a><span class="special"><</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">T</span><span class="special">>::</span><span class="identifier">type</span> <span class="identifier">replace</span><span class="special">(</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">seq</span><span class="special">);</span> +</pre> +<div class="table"> +<a name="fusion.algorithm.transformation.functions.remove.t0"></a><p class="title"><b>Table 1.70. Parameters</b></p> +<div class="table-contents"><table class="table" summary="Parameters"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Requirement + </p> + </th> +<th> + <p> + Description + </p> + </th> +</tr></thead> +<tbody> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">seq</span></code> + </p> + </td> +<td> + <p> + A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a> + </p> + </td> +<td> + <p> + Operation's argument + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">T</span></code> + </p> + </td> +<td> + <p> + Any type + </p> + </td> +<td> + <p> + Type to remove + </p> + </td> +</tr> +</tbody> +</table></div> +</div> +<br class="table-break"><h6> +<a name="fusion.algorithm.transformation.functions.remove.h2"></a> + <span><a name="fusion.algorithm.transformation.functions.remove.expression_semantics"></a></span><a class="link" href="remove.html#fusion.algorithm.transformation.functions.remove.expression_semantics">Expression + Semantics</a> + </h6> +<pre class="programlisting"><a class="link" href="remove.html" title="remove"><code class="computeroutput"><span class="identifier">remove</span></code></a><span class="special"><</span><span class="identifier">T</span><span class="special">>(</span><span class="identifier">seq</span><span class="special">);</span> +</pre> +<p> + <span class="bold"><strong>Return type</strong></span>: + </p> +<div class="itemizedlist"><ul class="itemizedlist" type="disc"> +<li class="listitem"> + A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a>. + </li> +<li class="listitem"> + A model of <a class="link" href="../../../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative + Sequence</a> if <code class="computeroutput"><span class="identifier">Sequence</span></code> + implements the <a class="link" href="../../../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative + Sequence</a> model. + </li> +</ul></div> +<p> + <span class="bold"><strong>Semantics</strong></span>: Returns a new sequence, containing + all the elements of <code class="computeroutput"><span class="identifier">seq</span></code>, + in their original order, except those of type <code class="computeroutput"><span class="identifier">T</span></code>. + Equivalent to <code class="computeroutput"><a class="link" href="remove_if.html" title="remove_if"><code class="computeroutput"><span class="identifier">remove_if</span></code></a><span class="special"><</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">is_same</span><span class="special"><</span><span class="identifier">_</span><span class="special">,</span><span class="identifier">T</span><span class="special">></span> <span class="special">>(</span><span class="identifier">seq</span><span class="special">)</span></code>. + </p> +<h6> +<a name="fusion.algorithm.transformation.functions.remove.h3"></a> + <span><a name="fusion.algorithm.transformation.functions.remove.complexity"></a></span><a class="link" href="remove.html#fusion.algorithm.transformation.functions.remove.complexity">Complexity</a> + </h6> +<p> + Constant. Returns a view which is lazily evaluated. + </p> +<h6> +<a name="fusion.algorithm.transformation.functions.remove.h4"></a> + <span><a name="fusion.algorithm.transformation.functions.remove.header"></a></span><a class="link" href="remove.html#fusion.algorithm.transformation.functions.remove.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">remove</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">remove</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h6> +<a name="fusion.algorithm.transformation.functions.remove.h5"></a> + <span><a name="fusion.algorithm.transformation.functions.remove.example"></a></span><a class="link" href="remove.html#fusion.algorithm.transformation.functions.remove.example">Example</a> + </h6> +<pre class="programlisting"><span class="keyword">const</span> <a class="link" href="../../../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">double</span><span class="special">></span> <span class="identifier">vec</span><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2.0</span><span class="special">);</span> +<span class="identifier">assert</span><span class="special">(</span><a class="link" href="remove.html" title="remove"><code class="computeroutput"><span class="identifier">remove</span></code></a><span class="special"><</span><span class="keyword">double</span><span class="special">>(</span><span class="identifier">vec</span><span class="special">)</span> <span class="special">==</span> <a class="link" href="../../../container/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></a><span class="special">(</span><span class="number">1</span><span class="special">));</span> +</pre> +</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-2006, 2011 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="replace_if.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="remove_if.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/algorithm/transformation/functions/remove_if.html b/libs/fusion/doc/html/fusion/algorithm/transformation/functions/remove_if.html new file mode 100755 index 0000000000..ed15b451fd --- /dev/null +++ b/libs/fusion/doc/html/fusion/algorithm/transformation/functions/remove_if.html @@ -0,0 +1,177 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>remove_if</title> +<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../functions.html" title="Functions"> +<link rel="prev" href="remove.html" title="remove"> +<link rel="next" href="reverse.html" title="reverse"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="remove.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="reverse.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h5 class="title"> +<a name="fusion.algorithm.transformation.functions.remove_if"></a><a class="link" href="remove_if.html" title="remove_if">remove_if</a> +</h5></div></div></div> +<h6> +<a name="fusion.algorithm.transformation.functions.remove_if.h0"></a> + <span><a name="fusion.algorithm.transformation.functions.remove_if.description"></a></span><a class="link" href="remove_if.html#fusion.algorithm.transformation.functions.remove_if.description">Description</a> + </h6> +<p> + Returns a new sequence, containing all the elements of the original except + those where a given unary function object evaluates to <code class="computeroutput"><span class="keyword">true</span></code>. + </p> +<h6> +<a name="fusion.algorithm.transformation.functions.remove_if.h1"></a> + <span><a name="fusion.algorithm.transformation.functions.remove_if.synopsis"></a></span><a class="link" href="remove_if.html#fusion.algorithm.transformation.functions.remove_if.synopsis">Synopsis</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span> + <span class="keyword">typename</span> <span class="identifier">Pred</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">Sequence</span> + <span class="special">></span> +<span class="keyword">typename</span> <a class="link" href="../metafunctions/remove_if.html" title="remove_if"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">remove_if</span></code></a><span class="special"><</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">Pred</span><span class="special">>::</span><span class="identifier">type</span> <span class="identifier">remove_if</span><span class="special">(</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">seq</span><span class="special">);</span> +</pre> +<div class="table"> +<a name="fusion.algorithm.transformation.functions.remove_if.t0"></a><p class="title"><b>Table 1.71. Parameters</b></p> +<div class="table-contents"><table class="table" summary="Parameters"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Requirement + </p> + </th> +<th> + <p> + Description + </p> + </th> +</tr></thead> +<tbody> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">seq</span></code> + </p> + </td> +<td> + <p> + A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a> + </p> + </td> +<td> + <p> + Operation's argument + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">Pred</span></code> + </p> + </td> +<td> + <p> + A model of unary <a href="http://www.boost.org/libs/mpl/doc/refmanual/lambda-expression.html" target="_top">MPL + Lambda Expression</a> + </p> + </td> +<td> + <p> + Removal predicate + </p> + </td> +</tr> +</tbody> +</table></div> +</div> +<br class="table-break"><h6> +<a name="fusion.algorithm.transformation.functions.remove_if.h2"></a> + <span><a name="fusion.algorithm.transformation.functions.remove_if.expression_semantics"></a></span><a class="link" href="remove_if.html#fusion.algorithm.transformation.functions.remove_if.expression_semantics">Expression + Semantics</a> + </h6> +<pre class="programlisting"><a class="link" href="remove_if.html" title="remove_if"><code class="computeroutput"><span class="identifier">remove_if</span></code></a><span class="special"><</span><span class="identifier">Pred</span><span class="special">>(</span><span class="identifier">seq</span><span class="special">);</span> +</pre> +<p> + <span class="bold"><strong>Return type</strong></span>: + </p> +<div class="itemizedlist"><ul class="itemizedlist" type="disc"> +<li class="listitem"> + A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a>. + </li> +<li class="listitem"> + A model of <a class="link" href="../../../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative + Sequence</a> if <code class="computeroutput"><span class="identifier">seq</span></code> + implements the <a class="link" href="../../../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative + Sequence</a> model. + </li> +</ul></div> +<p> + <span class="bold"><strong>Semantics</strong></span>: Returns a new sequence, containing + all the elements of <code class="computeroutput"><span class="identifier">seq</span></code>, + in their original order, except those elements with types for which + <code class="computeroutput"><span class="identifier">Pred</span></code> evaluates to <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">true_</span></code>. Equivalent to <code class="computeroutput"><a class="link" href="filter.html" title="filter"><code class="computeroutput"><span class="identifier">filter</span></code></a><span class="special"><</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">not_</span><span class="special"><</span><span class="identifier">Pred</span><span class="special">></span> + <span class="special">>(</span><span class="identifier">seq</span><span class="special">)</span></code>. + </p> +<h6> +<a name="fusion.algorithm.transformation.functions.remove_if.h3"></a> + <span><a name="fusion.algorithm.transformation.functions.remove_if.complexity"></a></span><a class="link" href="remove_if.html#fusion.algorithm.transformation.functions.remove_if.complexity">Complexity</a> + </h6> +<p> + Constant. Returns a view which is lazily evaluated. + </p> +<h6> +<a name="fusion.algorithm.transformation.functions.remove_if.h4"></a> + <span><a name="fusion.algorithm.transformation.functions.remove_if.header"></a></span><a class="link" href="remove_if.html#fusion.algorithm.transformation.functions.remove_if.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">remove_if</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">remove_if</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h6> +<a name="fusion.algorithm.transformation.functions.remove_if.h5"></a> + <span><a name="fusion.algorithm.transformation.functions.remove_if.example"></a></span><a class="link" href="remove_if.html#fusion.algorithm.transformation.functions.remove_if.example">Example</a> + </h6> +<pre class="programlisting"><span class="keyword">const</span> <a class="link" href="../../../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">double</span><span class="special">></span> <span class="identifier">vec</span><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2.0</span><span class="special">);</span> +<span class="identifier">assert</span><span class="special">(</span><a class="link" href="remove_if.html" title="remove_if"><code class="computeroutput"><span class="identifier">remove_if</span></code></a><span class="special"><</span><span class="identifier">is_floating_point</span><span class="special"><</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">_</span><span class="special">></span> <span class="special">>(</span><span class="identifier">vec</span><span class="special">)</span> <span class="special">==</span> <a class="link" href="../../../container/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></a><span class="special">(</span><span class="number">1</span><span class="special">));</span> +</pre> +</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-2006, 2011 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="remove.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="reverse.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/algorithm/transformation/functions/replace.html b/libs/fusion/doc/html/fusion/algorithm/transformation/functions/replace.html new file mode 100755 index 0000000000..7697cd8faa --- /dev/null +++ b/libs/fusion/doc/html/fusion/algorithm/transformation/functions/replace.html @@ -0,0 +1,186 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>replace</title> +<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../functions.html" title="Functions"> +<link rel="prev" href="transform.html" title="transform"> +<link rel="next" href="replace_if.html" title="replace_if"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="transform.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="replace_if.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h5 class="title"> +<a name="fusion.algorithm.transformation.functions.replace"></a><a class="link" href="replace.html" title="replace">replace</a> +</h5></div></div></div> +<h6> +<a name="fusion.algorithm.transformation.functions.replace.h0"></a> + <span><a name="fusion.algorithm.transformation.functions.replace.description"></a></span><a class="link" href="replace.html#fusion.algorithm.transformation.functions.replace.description">Description</a> + </h6> +<p> + Replaces each value within a sequence of a given type and value with + a new value. + </p> +<h6> +<a name="fusion.algorithm.transformation.functions.replace.h1"></a> + <span><a name="fusion.algorithm.transformation.functions.replace.synopsis"></a></span><a class="link" href="replace.html#fusion.algorithm.transformation.functions.replace.synopsis">Synopsis</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span> + <span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">T</span> + <span class="special">></span> +<span class="keyword">typename</span> <a class="link" href="../metafunctions/replace.html" title="replace"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">replace</span></code></a><span class="special"><</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">T</span><span class="special">>::</span><span class="identifier">type</span> <span class="identifier">replace</span><span class="special">(</span> + <span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">seq</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">old_value</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">new_value</span><span class="special">);</span> +</pre> +<div class="table"> +<a name="fusion.algorithm.transformation.functions.replace.t0"></a><p class="title"><b>Table 1.68. Parameters</b></p> +<div class="table-contents"><table class="table" summary="Parameters"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Requirement + </p> + </th> +<th> + <p> + Description + </p> + </th> +</tr></thead> +<tbody> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">seq</span></code> + </p> + </td> +<td> + <p> + A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a>, <code class="computeroutput"><span class="identifier">e</span> + <span class="special">==</span> <span class="identifier">old_value</span></code> + is a valid expression, convertible to <code class="computeroutput"><span class="keyword">bool</span></code>, + for each element <code class="computeroutput"><span class="identifier">e</span></code> + in <code class="computeroutput"><span class="identifier">seq</span></code> with + type convertible to <code class="computeroutput"><span class="identifier">T</span></code> + </p> + </td> +<td> + <p> + Operation's argument + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">old_value</span></code> + </p> + </td> +<td> + <p> + Any type + </p> + </td> +<td> + <p> + Value to replace + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">new_value</span></code> + </p> + </td> +<td> + <p> + Any type + </p> + </td> +<td> + <p> + Replacement value + </p> + </td> +</tr> +</tbody> +</table></div> +</div> +<br class="table-break"><h6> +<a name="fusion.algorithm.transformation.functions.replace.h2"></a> + <span><a name="fusion.algorithm.transformation.functions.replace.expression_semantics"></a></span><a class="link" href="replace.html#fusion.algorithm.transformation.functions.replace.expression_semantics">Expression + Semantics</a> + </h6> +<pre class="programlisting"><a class="link" href="replace.html" title="replace"><code class="computeroutput"><span class="identifier">replace</span></code></a><span class="special">(</span><span class="identifier">seq</span><span class="special">,</span> <span class="identifier">old_value</span><span class="special">,</span> <span class="identifier">new_value</span><span class="special">);</span> +</pre> +<p> + <span class="bold"><strong>Return type</strong></span>: A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a>. + </p> +<p> + <span class="bold"><strong>Semantics</strong></span>: Returns a new sequence with + all the values of <code class="computeroutput"><span class="identifier">seq</span></code> + with <code class="computeroutput"><span class="identifier">new_value</span></code> assigned + to elements with the same type and equal to <code class="computeroutput"><span class="identifier">old_value</span></code>. + </p> +<h6> +<a name="fusion.algorithm.transformation.functions.replace.h3"></a> + <span><a name="fusion.algorithm.transformation.functions.replace.complexity"></a></span><a class="link" href="replace.html#fusion.algorithm.transformation.functions.replace.complexity">Complexity</a> + </h6> +<p> + Constant. Returns a view which is lazily evaluated. + </p> +<h6> +<a name="fusion.algorithm.transformation.functions.replace.h4"></a> + <span><a name="fusion.algorithm.transformation.functions.replace.header"></a></span><a class="link" href="replace.html#fusion.algorithm.transformation.functions.replace.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">replace</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">replace</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h6> +<a name="fusion.algorithm.transformation.functions.replace.h5"></a> + <span><a name="fusion.algorithm.transformation.functions.replace.example"></a></span><a class="link" href="replace.html#fusion.algorithm.transformation.functions.replace.example">Example</a> + </h6> +<pre class="programlisting"><span class="identifier">assert</span><span class="special">(</span><a class="link" href="replace.html" title="replace"><code class="computeroutput"><span class="identifier">replace</span></code></a><span class="special">(</span><a class="link" href="../../../container/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">),</span> <span class="number">2</span><span class="special">,</span> <span class="number">3</span><span class="special">)</span> <span class="special">==</span> <a class="link" href="../../../container/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">3</span><span class="special">));</span> +</pre> +</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-2006, 2011 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="transform.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="replace_if.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/algorithm/transformation/functions/replace_if.html b/libs/fusion/doc/html/fusion/algorithm/transformation/functions/replace_if.html new file mode 100755 index 0000000000..f6f28441e6 --- /dev/null +++ b/libs/fusion/doc/html/fusion/algorithm/transformation/functions/replace_if.html @@ -0,0 +1,195 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>replace_if</title> +<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../functions.html" title="Functions"> +<link rel="prev" href="replace.html" title="replace"> +<link rel="next" href="remove.html" title="remove"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="replace.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="remove.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h5 class="title"> +<a name="fusion.algorithm.transformation.functions.replace_if"></a><a class="link" href="replace_if.html" title="replace_if">replace_if</a> +</h5></div></div></div> +<h6> +<a name="fusion.algorithm.transformation.functions.replace_if.h0"></a> + <span><a name="fusion.algorithm.transformation.functions.replace_if.description"></a></span><a class="link" href="replace_if.html#fusion.algorithm.transformation.functions.replace_if.description">Description</a> + </h6> +<p> + Replaces each element of a given sequence for which an unary function + object evaluates to <code class="computeroutput"><span class="keyword">true</span></code> + replaced with a new value. + </p> +<h6> +<a name="fusion.algorithm.transformation.functions.replace_if.h1"></a> + <span><a name="fusion.algorithm.transformation.functions.replace_if.synopsis"></a></span><a class="link" href="replace_if.html#fusion.algorithm.transformation.functions.replace_if.synopsis">Synopsis</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span> + <span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">F</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">T</span><span class="special">></span> +<span class="keyword">typename</span> <a class="link" href="../metafunctions/replace_if.html" title="replace_if"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">replace_if</span></code></a><span class="special"><</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">F</span><span class="special">,</span> <span class="identifier">T</span><span class="special">>::</span><span class="identifier">type</span> <span class="identifier">replace_if</span><span class="special">(</span> + <span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">seq</span><span class="special">,</span> <span class="identifier">F</span> <span class="identifier">f</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">new_value</span><span class="special">);</span> +</pre> +<div class="table"> +<a name="fusion.algorithm.transformation.functions.replace_if.t0"></a><p class="title"><b>Table 1.69. Parameters</b></p> +<div class="table-contents"><table class="table" summary="Parameters"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Requirement + </p> + </th> +<th> + <p> + Description + </p> + </th> +</tr></thead> +<tbody> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">seq</span></code> + </p> + </td> +<td> + <p> + A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a> + </p> + </td> +<td> + <p> + Operation's argument + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">f</span></code> + </p> + </td> +<td> + <p> + A function object for which <code class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e</span><span class="special">)</span></code> is a valid expression, convertible + to <code class="computeroutput"><span class="keyword">bool</span></code>, for each + element <code class="computeroutput"><span class="identifier">e</span></code> in + <code class="computeroutput"><span class="identifier">seq</span></code> + </p> + </td> +<td> + <p> + Operation's argument + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">new_value</span></code> + </p> + </td> +<td> + <p> + Any type + </p> + </td> +<td> + <p> + Replacement value + </p> + </td> +</tr> +</tbody> +</table></div> +</div> +<br class="table-break"><h6> +<a name="fusion.algorithm.transformation.functions.replace_if.h2"></a> + <span><a name="fusion.algorithm.transformation.functions.replace_if.expression_semantics"></a></span><a class="link" href="replace_if.html#fusion.algorithm.transformation.functions.replace_if.expression_semantics">Expression + Semantics</a> + </h6> +<pre class="programlisting"><a class="link" href="replace_if.html" title="replace_if"><code class="computeroutput"><span class="identifier">replace_if</span></code></a><span class="special">(</span><span class="identifier">seq</span><span class="special">,</span> <span class="identifier">f</span><span class="special">,</span> <span class="identifier">new_value</span><span class="special">);</span> +</pre> +<p> + <span class="bold"><strong>Return type</strong></span>: A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a>. + </p> +<p> + <span class="bold"><strong>Semantics</strong></span>: Returns a new sequence with + all the elements of <code class="computeroutput"><span class="identifier">seq</span></code>, + with <code class="computeroutput"><span class="identifier">new_value</span></code> assigned + to each element for which <code class="computeroutput"><span class="identifier">f</span></code> + evaluates to <code class="computeroutput"><span class="keyword">true</span></code>. + </p> +<h6> +<a name="fusion.algorithm.transformation.functions.replace_if.h3"></a> + <span><a name="fusion.algorithm.transformation.functions.replace_if.complexity"></a></span><a class="link" href="replace_if.html#fusion.algorithm.transformation.functions.replace_if.complexity">Complexity</a> + </h6> +<p> + Constant. Returns a view which is lazily evaluated. + </p> +<h6> +<a name="fusion.algorithm.transformation.functions.replace_if.h4"></a> + <span><a name="fusion.algorithm.transformation.functions.replace_if.header"></a></span><a class="link" href="replace_if.html#fusion.algorithm.transformation.functions.replace_if.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">replace_if</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">replace_if</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h6> +<a name="fusion.algorithm.transformation.functions.replace_if.h5"></a> + <span><a name="fusion.algorithm.transformation.functions.replace_if.example"></a></span><a class="link" href="replace_if.html#fusion.algorithm.transformation.functions.replace_if.example">Example</a> + </h6> +<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">odd</span> +<span class="special">{</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">></span> + <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">()(</span><span class="identifier">T</span> <span class="identifier">t</span><span class="special">)</span> <span class="keyword">const</span> + <span class="special">{</span> + <span class="keyword">return</span> <span class="identifier">t</span> <span class="special">%</span> <span class="number">2</span><span class="special">;</span> + <span class="special">}</span> +<span class="special">};</span> +<span class="special">...</span> +<span class="identifier">assert</span><span class="special">(</span><a class="link" href="replace_if.html" title="replace_if"><code class="computeroutput"><span class="identifier">replace_if</span></code></a><span class="special">(</span><a class="link" href="../../../container/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">),</span> <span class="identifier">odd</span><span class="special">(),</span> <span class="number">3</span><span class="special">)</span> <span class="special">==</span> <a class="link" href="../../../container/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></a><span class="special">(</span><span class="number">3</span><span class="special">,</span><span class="number">2</span><span class="special">));</span> +</pre> +</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-2006, 2011 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="replace.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="remove.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/algorithm/transformation/functions/reverse.html b/libs/fusion/doc/html/fusion/algorithm/transformation/functions/reverse.html new file mode 100755 index 0000000000..6c8a82eb59 --- /dev/null +++ b/libs/fusion/doc/html/fusion/algorithm/transformation/functions/reverse.html @@ -0,0 +1,157 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>reverse</title> +<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../functions.html" title="Functions"> +<link rel="prev" href="remove_if.html" title="remove_if"> +<link rel="next" href="clear.html" title="clear"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="remove_if.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="clear.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h5 class="title"> +<a name="fusion.algorithm.transformation.functions.reverse"></a><a class="link" href="reverse.html" title="reverse">reverse</a> +</h5></div></div></div> +<h6> +<a name="fusion.algorithm.transformation.functions.reverse.h0"></a> + <span><a name="fusion.algorithm.transformation.functions.reverse.description"></a></span><a class="link" href="reverse.html#fusion.algorithm.transformation.functions.reverse.description">Description</a> + </h6> +<p> + Returns a new sequence with the elements of the original in reverse order. + </p> +<h6> +<a name="fusion.algorithm.transformation.functions.reverse.h1"></a> + <span><a name="fusion.algorithm.transformation.functions.reverse.synposis"></a></span><a class="link" href="reverse.html#fusion.algorithm.transformation.functions.reverse.synposis">Synposis</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span> + <span class="keyword">typename</span> <span class="identifier">Sequence</span> + <span class="special">></span> +<span class="keyword">typename</span> <a class="link" href="../metafunctions/reverse.html" title="reverse"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">reverse</span></code></a><span class="special"><</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">>::</span><span class="identifier">type</span> <span class="identifier">reverse</span><span class="special">(</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">seq</span><span class="special">);</span> +</pre> +<div class="table"> +<a name="fusion.algorithm.transformation.functions.reverse.t0"></a><p class="title"><b>Table 1.72. Parameters</b></p> +<div class="table-contents"><table class="table" summary="Parameters"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Requirement + </p> + </th> +<th> + <p> + Description + </p> + </th> +</tr></thead> +<tbody><tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">seq</span></code> + </p> + </td> +<td> + <p> + A model of <a class="link" href="../../../sequence/concepts/bidirectional_sequence.html" title="Bidirectional Sequence">Bidirectional + Sequence</a> + </p> + </td> +<td> + <p> + Operation's argument + </p> + </td> +</tr></tbody> +</table></div> +</div> +<br class="table-break"><h6> +<a name="fusion.algorithm.transformation.functions.reverse.h2"></a> + <span><a name="fusion.algorithm.transformation.functions.reverse.expression_semantics"></a></span><a class="link" href="reverse.html#fusion.algorithm.transformation.functions.reverse.expression_semantics">Expression + Semantics</a> + </h6> +<pre class="programlisting"><a class="link" href="reverse.html" title="reverse"><code class="computeroutput"><span class="identifier">reverse</span></code></a><span class="special">(</span><span class="identifier">seq</span><span class="special">);</span> +</pre> +<p> + <span class="bold"><strong>Return type</strong></span>: + </p> +<div class="itemizedlist"><ul class="itemizedlist" type="disc"> +<li class="listitem"> + A model of <a class="link" href="../../../sequence/concepts/bidirectional_sequence.html" title="Bidirectional Sequence">Bidirectional + Sequence</a> if <code class="computeroutput"><span class="identifier">seq</span></code> + is a <a class="link" href="../../../sequence/concepts/bidirectional_sequence.html" title="Bidirectional Sequence">Bidirectional + Sequence</a> else, <a class="link" href="../../../sequence/concepts/random_access_sequence.html" title="Random Access Sequence">Random + Access Sequence</a> if <code class="computeroutput"><span class="identifier">seq</span></code> + is a <a class="link" href="../../../sequence/concepts/random_access_sequence.html" title="Random Access Sequence">Random + Access Sequence</a>. + </li> +<li class="listitem"> + A model of <a class="link" href="../../../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative + Sequence</a> if <code class="computeroutput"><span class="identifier">seq</span></code> + implements the <a class="link" href="../../../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative + Sequence</a> model. + </li> +</ul></div> +<p> + <span class="bold"><strong>Semantics</strong></span>: Returns a new sequence containing + all the elements of <code class="computeroutput"><span class="identifier">seq</span></code> + in reverse order. + </p> +<h6> +<a name="fusion.algorithm.transformation.functions.reverse.h3"></a> + <span><a name="fusion.algorithm.transformation.functions.reverse.complexity"></a></span><a class="link" href="reverse.html#fusion.algorithm.transformation.functions.reverse.complexity">Complexity</a> + </h6> +<p> + Constant. Returns a view which is lazily evaluated. + </p> +<h6> +<a name="fusion.algorithm.transformation.functions.reverse.h4"></a> + <span><a name="fusion.algorithm.transformation.functions.reverse.header"></a></span><a class="link" href="reverse.html#fusion.algorithm.transformation.functions.reverse.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">reverse</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">reverse</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h6> +<a name="fusion.algorithm.transformation.functions.reverse.h5"></a> + <span><a name="fusion.algorithm.transformation.functions.reverse.example"></a></span><a class="link" href="reverse.html#fusion.algorithm.transformation.functions.reverse.example">Example</a> + </h6> +<pre class="programlisting"><span class="identifier">assert</span><span class="special">(</span><a class="link" href="reverse.html" title="reverse"><code class="computeroutput"><span class="identifier">reverse</span></code></a><span class="special">(</span><a class="link" href="../../../container/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">,</span><span class="number">3</span><span class="special">))</span> <span class="special">==</span> <a class="link" href="../../../container/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></a><span class="special">(</span><span class="number">3</span><span class="special">,</span><span class="number">2</span><span class="special">,</span><span class="number">1</span><span class="special">));</span> +</pre> +</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-2006, 2011 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="remove_if.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="clear.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/algorithm/transformation/functions/transform.html b/libs/fusion/doc/html/fusion/algorithm/transformation/functions/transform.html new file mode 100755 index 0000000000..86dd47f52b --- /dev/null +++ b/libs/fusion/doc/html/fusion/algorithm/transformation/functions/transform.html @@ -0,0 +1,291 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>transform</title> +<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../functions.html" title="Functions"> +<link rel="prev" href="filter_if.html" title="filter_if"> +<link rel="next" href="replace.html" title="replace"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="filter_if.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="replace.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h5 class="title"> +<a name="fusion.algorithm.transformation.functions.transform"></a><a class="link" href="transform.html" title="transform">transform</a> +</h5></div></div></div> +<h6> +<a name="fusion.algorithm.transformation.functions.transform.h0"></a> + <span><a name="fusion.algorithm.transformation.functions.transform.description"></a></span><a class="link" href="transform.html#fusion.algorithm.transformation.functions.transform.description">Description</a> + </h6> +<p> + For a sequence <code class="computeroutput"><span class="identifier">seq</span></code> and + function object or function pointer <code class="computeroutput"><span class="identifier">f</span></code>, + <code class="computeroutput"><span class="identifier">transform</span></code> returns a new + sequence with elements created by applying <code class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e</span><span class="special">)</span></code> to each element of <code class="computeroutput"><span class="identifier">e</span></code> + of <code class="computeroutput"><span class="identifier">seq</span></code>. + </p> +<h6> +<a name="fusion.algorithm.transformation.functions.transform.h1"></a> + <span><a name="fusion.algorithm.transformation.functions.transform.unary_version_synopsis"></a></span><a class="link" href="transform.html#fusion.algorithm.transformation.functions.transform.unary_version_synopsis">Unary + version synopsis</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span> + <span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">F</span> + <span class="special">></span> +<span class="keyword">typename</span> <a class="link" href="../metafunctions/transform.html" title="transform"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">transform</span></code></a><span class="special"><</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">F</span><span class="special">>::</span><span class="identifier">type</span> <span class="identifier">transform</span><span class="special">(</span> + <span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">seq</span><span class="special">,</span> <span class="identifier">F</span> <span class="identifier">f</span><span class="special">);</span> +</pre> +<div class="table"> +<a name="fusion.algorithm.transformation.functions.transform.t0"></a><p class="title"><b>Table 1.66. Parameters</b></p> +<div class="table-contents"><table class="table" summary="Parameters"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Requirement + </p> + </th> +<th> + <p> + Description + </p> + </th> +</tr></thead> +<tbody> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">seq</span></code> + </p> + </td> +<td> + <p> + A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a> + </p> + </td> +<td> + <p> + Operation's argument + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">f</span></code> + </p> + </td> +<td> + <p> + <code class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e</span><span class="special">)</span></code> + is a valid expression for each element <code class="computeroutput"><span class="identifier">e</span></code> + of <code class="computeroutput"><span class="identifier">seq</span></code>. <code class="computeroutput"><a href="http://www.boost.org/libs/utility/utility.htm#result_of" target="_top"><code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">result_of</span></code></a><span class="special"><</span><span class="identifier">F</span><span class="special">(</span><span class="identifier">E</span><span class="special">)>::</span><span class="identifier">type</span></code> + is the return type of <code class="computeroutput"><span class="identifier">f</span></code> + when called with a value of each element type <code class="computeroutput"><span class="identifier">E</span></code>. + </p> + </td> +<td> + <p> + Transformation function + </p> + </td> +</tr> +</tbody> +</table></div> +</div> +<br class="table-break"><h6> +<a name="fusion.algorithm.transformation.functions.transform.h2"></a> + <span><a name="fusion.algorithm.transformation.functions.transform.expression_semantics"></a></span><a class="link" href="transform.html#fusion.algorithm.transformation.functions.transform.expression_semantics">Expression + Semantics</a> + </h6> +<pre class="programlisting"><a class="link" href="transform.html" title="transform"><code class="computeroutput"><span class="identifier">transform</span></code></a><span class="special">(</span><span class="identifier">seq</span><span class="special">,</span> <span class="identifier">f</span><span class="special">);</span> +</pre> +<p> + <span class="bold"><strong>Return type</strong></span>: A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a> + </p> +<p> + <span class="bold"><strong>Semantics</strong></span>: Returns a new sequence, containing + the return values of <code class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e</span><span class="special">)</span></code> for each element <code class="computeroutput"><span class="identifier">e</span></code> + within <code class="computeroutput"><span class="identifier">seq</span></code>. + </p> +<h6> +<a name="fusion.algorithm.transformation.functions.transform.h3"></a> + <span><a name="fusion.algorithm.transformation.functions.transform.binary_version_synopsis"></a></span><a class="link" href="transform.html#fusion.algorithm.transformation.functions.transform.binary_version_synopsis">Binary + version synopsis</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span> + <span class="keyword">typename</span> <span class="identifier">Sequence1</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">Sequence2</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">F</span> + <span class="special">></span> +<span class="keyword">typename</span> <a class="link" href="../metafunctions/transform.html" title="transform"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">transform</span></code></a><span class="special"><</span><span class="identifier">Sequence1</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">Sequence2</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">F</span><span class="special">>::</span><span class="identifier">type</span> <span class="identifier">transform</span><span class="special">(</span> + <span class="identifier">Sequence1</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">seq1</span><span class="special">,</span> <span class="identifier">Sequence2</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">seq2</span><span class="special">,</span> <span class="identifier">F</span> <span class="identifier">f</span><span class="special">);</span> +</pre> +<div class="table"> +<a name="fusion.algorithm.transformation.functions.transform.t1"></a><p class="title"><b>Table 1.67. Parameters</b></p> +<div class="table-contents"><table class="table" summary="Parameters"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Requirement + </p> + </th> +<th> + <p> + Description + </p> + </th> +</tr></thead> +<tbody> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">seq1</span></code> + </p> + </td> +<td> + <p> + A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a> + </p> + </td> +<td> + <p> + Operation's argument + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">seq2</span></code> + </p> + </td> +<td> + <p> + A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a> + </p> + </td> +<td> + <p> + Operation's argument + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">f</span></code> + </p> + </td> +<td> + <p> + <code class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e1</span><span class="special">,</span><span class="identifier">e2</span><span class="special">)</span></code> + is a valid expression for each pair of elements <code class="computeroutput"><span class="identifier">e1</span></code> of <code class="computeroutput"><span class="identifier">seq1</span></code> + and <code class="computeroutput"><span class="identifier">e2</span></code> of + <code class="computeroutput"><span class="identifier">seq2</span></code>. <code class="computeroutput"><a href="http://www.boost.org/libs/utility/utility.htm#result_of" target="_top"><code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">result_of</span></code></a><span class="special"><</span><span class="identifier">F</span><span class="special">(</span><span class="identifier">E1</span><span class="special">,</span><span class="identifier">E2</span><span class="special">)>::</span><span class="identifier">type</span></code> + is the return type of <code class="computeroutput"><span class="identifier">f</span></code> + when called with elements of type <code class="computeroutput"><span class="identifier">E1</span></code> + and <code class="computeroutput"><span class="identifier">E2</span></code> + </p> + </td> +<td> + <p> + Transformation function + </p> + </td> +</tr> +</tbody> +</table></div> +</div> +<br class="table-break"><p> + <span class="bold"><strong>Return type</strong></span>: A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a>. + </p> +<p> + <span class="bold"><strong>Semantics</strong></span>: Returns a new sequence, containing + the return values of <code class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e1</span><span class="special">,</span> <span class="identifier">e2</span><span class="special">)</span></code> for each pair of elements <code class="computeroutput"><span class="identifier">e1</span></code> and <code class="computeroutput"><span class="identifier">e2</span></code> + within <code class="computeroutput"><span class="identifier">seq1</span></code> and <code class="computeroutput"><span class="identifier">seq2</span></code> respectively. + </p> +<h6> +<a name="fusion.algorithm.transformation.functions.transform.h4"></a> + <span><a name="fusion.algorithm.transformation.functions.transform.complexity"></a></span><a class="link" href="transform.html#fusion.algorithm.transformation.functions.transform.complexity">Complexity</a> + </h6> +<p> + Constant. Returns a view which is lazily evaluated. + </p> +<h6> +<a name="fusion.algorithm.transformation.functions.transform.h5"></a> + <span><a name="fusion.algorithm.transformation.functions.transform.header"></a></span><a class="link" href="transform.html#fusion.algorithm.transformation.functions.transform.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">transform</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">transform</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h6> +<a name="fusion.algorithm.transformation.functions.transform.h6"></a> + <span><a name="fusion.algorithm.transformation.functions.transform.example"></a></span><a class="link" href="transform.html#fusion.algorithm.transformation.functions.transform.example">Example</a> + </h6> +<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">triple</span> +<span class="special">{</span> + <span class="keyword">typedef</span> <span class="keyword">int</span> <span class="identifier">result_type</span><span class="special">;</span> + + <span class="keyword">int</span> <span class="keyword">operator</span><span class="special">()(</span><span class="keyword">int</span> <span class="identifier">t</span><span class="special">)</span> <span class="keyword">const</span> + <span class="special">{</span> + <span class="keyword">return</span> <span class="identifier">t</span> <span class="special">*</span> <span class="number">3</span><span class="special">;</span> + <span class="special">};</span> +<span class="special">};</span> +<span class="special">...</span> +<span class="identifier">assert</span><span class="special">(</span><a class="link" href="transform.html" title="transform"><code class="computeroutput"><span class="identifier">transform</span></code></a><span class="special">(</span><a class="link" href="../../../container/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">,</span><span class="number">3</span><span class="special">),</span> <span class="identifier">triple</span><span class="special">())</span> <span class="special">==</span> <a class="link" href="../../../container/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></a><span class="special">(</span><span class="number">3</span><span class="special">,</span><span class="number">6</span><span class="special">,</span><span class="number">9</span><span class="special">));</span> +</pre> +</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-2006, 2011 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="filter_if.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="replace.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/algorithm/transformation/functions/zip.html b/libs/fusion/doc/html/fusion/algorithm/transformation/functions/zip.html new file mode 100755 index 0000000000..7b22079428 --- /dev/null +++ b/libs/fusion/doc/html/fusion/algorithm/transformation/functions/zip.html @@ -0,0 +1,153 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>zip</title> +<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../functions.html" title="Functions"> +<link rel="prev" href="join.html" title="join"> +<link rel="next" href="pop_back.html" title="pop_back"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="join.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="pop_back.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h5 class="title"> +<a name="fusion.algorithm.transformation.functions.zip"></a><a class="link" href="zip.html" title="zip">zip</a> +</h5></div></div></div> +<h6> +<a name="fusion.algorithm.transformation.functions.zip.h0"></a> + <span><a name="fusion.algorithm.transformation.functions.zip.description"></a></span><a class="link" href="zip.html#fusion.algorithm.transformation.functions.zip.description">Description</a> + </h6> +<p> + Zips sequences together to form a single sequence, whos members are tuples + of the members of the component sequences. + </p> +<h6> +<a name="fusion.algorithm.transformation.functions.zip.h1"></a> + <span><a name="fusion.algorithm.transformation.functions.zip.synopsis"></a></span><a class="link" href="zip.html#fusion.algorithm.transformation.functions.zip.synopsis">Synopsis</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span> + <span class="keyword">typename</span> <span class="identifier">Sequence1</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">Sequence2</span><span class="special">,</span> + <span class="special">...</span> + <span class="keyword">typename</span> <span class="identifier">SequenceN</span> + <span class="special">></span> +<span class="keyword">typename</span> <a class="link" href="../metafunctions/zip.html" title="zip"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">zip</span></code></a><span class="special"><</span><span class="identifier">Sequence1</span><span class="special">,</span> <span class="identifier">Sequence2</span><span class="special">,</span> <span class="special">...</span> <span class="identifier">SequenceN</span><span class="special">>::</span><span class="identifier">type</span> +<span class="identifier">zip</span><span class="special">(</span><span class="identifier">Sequence1</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">seq1</span><span class="special">,</span> <span class="identifier">Sequence2</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">seq2</span><span class="special">,</span> <span class="special">...</span> <span class="identifier">SequenceN</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">seqN</span><span class="special">);</span> +</pre> +<div class="table"> +<a name="fusion.algorithm.transformation.functions.zip.t0"></a><p class="title"><b>Table 1.79. Parameters</b></p> +<div class="table-contents"><table class="table" summary="Parameters"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Requirement + </p> + </th> +<th> + <p> + Description + </p> + </th> +</tr></thead> +<tbody><tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">seq1</span></code> to <code class="computeroutput"><span class="identifier">seqN</span></code> + </p> + </td> +<td> + <p> + Each sequence is a model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a>. + </p> + </td> +<td> + <p> + Operation's argument + </p> + </td> +</tr></tbody> +</table></div> +</div> +<br class="table-break"><h6> +<a name="fusion.algorithm.transformation.functions.zip.h2"></a> + <span><a name="fusion.algorithm.transformation.functions.zip.expression_semantics"></a></span><a class="link" href="zip.html#fusion.algorithm.transformation.functions.zip.expression_semantics">Expression + Semantics</a> + </h6> +<pre class="programlisting"><a class="link" href="zip.html" title="zip"><code class="computeroutput"><span class="identifier">zip</span></code></a><span class="special">(</span><span class="identifier">seq1</span><span class="special">,</span> <span class="identifier">seq2</span><span class="special">,</span> <span class="special">...</span> <span class="identifier">seqN</span><span class="special">);</span> +</pre> +<p> + <span class="bold"><strong>Return type</strong></span>: A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a>. + </p> +<p> + <span class="bold"><strong>Semantics</strong></span>: Returns a sequence containing + tuples of elements from sequences <code class="computeroutput"><span class="identifier">seq1</span></code> + to <code class="computeroutput"><span class="identifier">seqN</span></code>. For example, + applying zip to tuples <code class="computeroutput"><span class="special">(</span><span class="number">1</span><span class="special">,</span> <span class="number">2</span><span class="special">,</span> <span class="number">3</span><span class="special">)</span></code> + and <code class="computeroutput"><span class="special">(</span><span class="char">'a'</span><span class="special">,</span> <span class="char">'b'</span><span class="special">,</span> + <span class="char">'c'</span><span class="special">)</span></code> + would return <code class="computeroutput"><span class="special">((</span><span class="number">1</span><span class="special">,</span> <span class="char">'a'</span><span class="special">),(</span><span class="number">2</span><span class="special">,</span> <span class="char">'b'</span><span class="special">),(</span><span class="number">3</span><span class="special">,</span> + <span class="char">'c'</span><span class="special">))</span></code> + </p> +<h6> +<a name="fusion.algorithm.transformation.functions.zip.h3"></a> + <span><a name="fusion.algorithm.transformation.functions.zip.complexity"></a></span><a class="link" href="zip.html#fusion.algorithm.transformation.functions.zip.complexity">Complexity</a> + </h6> +<p> + Constant. Returns a view which is lazily evaluated. + </p> +<h6> +<a name="fusion.algorithm.transformation.functions.zip.h4"></a> + <span><a name="fusion.algorithm.transformation.functions.zip.header"></a></span><a class="link" href="zip.html#fusion.algorithm.transformation.functions.zip.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">zip</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">zip</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h6> +<a name="fusion.algorithm.transformation.functions.zip.h5"></a> + <span><a name="fusion.algorithm.transformation.functions.zip.example"></a></span><a class="link" href="zip.html#fusion.algorithm.transformation.functions.zip.example">Example</a> + </h6> +<pre class="programlisting"><a class="link" href="../../../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">char</span><span class="special">></span> <span class="identifier">v1</span><span class="special">(</span><span class="number">1</span><span class="special">,</span> <span class="char">'a'</span><span class="special">);</span> +<a class="link" href="../../../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">char</span><span class="special">></span> <span class="identifier">v2</span><span class="special">(</span><span class="number">2</span><span class="special">,</span> <span class="char">'b'</span><span class="special">);</span> +<span class="identifier">assert</span><span class="special">(</span><a class="link" href="zip.html" title="zip"><code class="computeroutput"><span class="identifier">zip</span></code></a><span class="special">(</span><span class="identifier">v1</span><span class="special">,</span> <span class="identifier">v2</span><span class="special">)</span> <span class="special">==</span> <a class="link" href="../../../container/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></a><span class="special">(</span><a class="link" href="../../../container/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></a><span class="special">(</span><span class="number">1</span><span class="special">,</span> <span class="number">2</span><span class="special">),</span><a class="link" href="../../../container/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></a><span class="special">(</span><span class="char">'a'</span><span class="special">,</span> <span class="char">'b'</span><span class="special">));</span> +</pre> +</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-2006, 2011 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="join.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="pop_back.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/algorithm/transformation/metafunctions.html b/libs/fusion/doc/html/fusion/algorithm/transformation/metafunctions.html new file mode 100755 index 0000000000..edeb5d42d8 --- /dev/null +++ b/libs/fusion/doc/html/fusion/algorithm/transformation/metafunctions.html @@ -0,0 +1,65 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Metafunctions</title> +<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../transformation.html" title="Transformation"> +<link rel="prev" href="functions/push_front.html" title="push_front"> +<link rel="next" href="metafunctions/filter.html" title="filter"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="functions/push_front.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../transformation.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="metafunctions/filter.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h4 class="title"> +<a name="fusion.algorithm.transformation.metafunctions"></a><a class="link" href="metafunctions.html" title="Metafunctions">Metafunctions</a> +</h4></div></div></div> +<div class="toc"><dl> +<dt><span class="section"><a href="metafunctions/filter.html">filter</a></span></dt> +<dt><span class="section"><a href="metafunctions/filter_if.html">filter_if</a></span></dt> +<dt><span class="section"><a href="metafunctions/transform.html">transform</a></span></dt> +<dt><span class="section"><a href="metafunctions/replace.html">replace</a></span></dt> +<dt><span class="section"><a href="metafunctions/replace_if.html">replace_if</a></span></dt> +<dt><span class="section"><a href="metafunctions/remove.html">remove</a></span></dt> +<dt><span class="section"><a href="metafunctions/remove_if.html">remove_if</a></span></dt> +<dt><span class="section"><a href="metafunctions/reverse.html">reverse</a></span></dt> +<dt><span class="section"><a href="metafunctions/clear.html">clear</a></span></dt> +<dt><span class="section"><a href="metafunctions/erase.html">erase</a></span></dt> +<dt><span class="section"><a href="metafunctions/erase_key.html">erase_key</a></span></dt> +<dt><span class="section"><a href="metafunctions/insert.html">insert</a></span></dt> +<dt><span class="section"><a href="metafunctions/insert_range.html">insert_range</a></span></dt> +<dt><span class="section"><a href="metafunctions/join.html">join</a></span></dt> +<dt><span class="section"><a href="metafunctions/zip.html">zip</a></span></dt> +<dt><span class="section"><a href="metafunctions/pop_back.html">pop_back</a></span></dt> +<dt><span class="section"><a href="metafunctions/pop_front.html">pop_front</a></span></dt> +<dt><span class="section"><a href="metafunctions/push_back.html">push_back</a></span></dt> +<dt><span class="section"><a href="metafunctions/push_front.html">push_front</a></span></dt> +</dl></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-2006, 2011 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="functions/push_front.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../transformation.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="metafunctions/filter.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/algorithm/transformation/metafunctions/clear.html b/libs/fusion/doc/html/fusion/algorithm/transformation/metafunctions/clear.html new file mode 100755 index 0000000000..0c386813a7 --- /dev/null +++ b/libs/fusion/doc/html/fusion/algorithm/transformation/metafunctions/clear.html @@ -0,0 +1,136 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>clear</title> +<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../metafunctions.html" title="Metafunctions"> +<link rel="prev" href="reverse.html" title="reverse"> +<link rel="next" href="erase.html" title="erase"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="reverse.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="erase.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h5 class="title"> +<a name="fusion.algorithm.transformation.metafunctions.clear"></a><a class="link" href="clear.html" title="clear">clear</a> +</h5></div></div></div> +<h6> +<a name="fusion.algorithm.transformation.metafunctions.clear.h0"></a> + <span><a name="fusion.algorithm.transformation.metafunctions.clear.description"></a></span><a class="link" href="clear.html#fusion.algorithm.transformation.metafunctions.clear.description">Description</a> + </h6> +<p> + Returns the result type of <a class="link" href="../functions/clear.html" title="clear"><code class="computeroutput"><span class="identifier">clear</span></code></a>, given the input sequence + type. + </p> +<h6> +<a name="fusion.algorithm.transformation.metafunctions.clear.h1"></a> + <span><a name="fusion.algorithm.transformation.metafunctions.clear.synopsis"></a></span><a class="link" href="clear.html#fusion.algorithm.transformation.metafunctions.clear.synopsis">Synopsis</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span> + <span class="keyword">typename</span> <span class="identifier">Sequence</span> + <span class="special">></span> +<span class="keyword">struct</span> <span class="identifier">clear</span> +<span class="special">{</span> + <span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">type</span><span class="special">;</span> +<span class="special">};</span> +</pre> +<div class="table"> +<a name="fusion.algorithm.transformation.metafunctions.clear.t0"></a><p class="title"><b>Table 1.93. Parameters</b></p> +<div class="table-contents"><table class="table" summary="Parameters"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Requirement + </p> + </th> +<th> + <p> + Description + </p> + </th> +</tr></thead> +<tbody><tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">Sequence</span></code> + </p> + </td> +<td> + <p> + Any type + </p> + </td> +<td> + <p> + Operation's argument + </p> + </td> +</tr></tbody> +</table></div> +</div> +<br class="table-break"><h6> +<a name="fusion.algorithm.transformation.metafunctions.clear.h2"></a> + <span><a name="fusion.algorithm.transformation.metafunctions.clear.expression_semantics"></a></span><a class="link" href="clear.html#fusion.algorithm.transformation.metafunctions.clear.expression_semantics">Expression + Semantics</a> + </h6> +<pre class="programlisting"><a class="link" href="clear.html" title="clear"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">clear</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">>::</span><span class="identifier">type</span> +</pre> +<p> + <span class="bold"><strong>Return type</strong></span>: A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a>. + </p> +<p> + <span class="bold"><strong>Semantics</strong></span>: Returns an empty sequence. + </p> +<h6> +<a name="fusion.algorithm.transformation.metafunctions.clear.h3"></a> + <span><a name="fusion.algorithm.transformation.metafunctions.clear.complexity"></a></span><a class="link" href="clear.html#fusion.algorithm.transformation.metafunctions.clear.complexity">Complexity</a> + </h6> +<p> + Constant. + </p> +<h6> +<a name="fusion.algorithm.transformation.metafunctions.clear.h4"></a> + <span><a name="fusion.algorithm.transformation.metafunctions.clear.header"></a></span><a class="link" href="clear.html#fusion.algorithm.transformation.metafunctions.clear.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">clear</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">clear</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +</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-2006, 2011 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="reverse.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="erase.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/algorithm/transformation/metafunctions/erase.html b/libs/fusion/doc/html/fusion/algorithm/transformation/metafunctions/erase.html new file mode 100755 index 0000000000..7331e4f93f --- /dev/null +++ b/libs/fusion/doc/html/fusion/algorithm/transformation/metafunctions/erase.html @@ -0,0 +1,199 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>erase</title> +<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../metafunctions.html" title="Metafunctions"> +<link rel="prev" href="clear.html" title="clear"> +<link rel="next" href="erase_key.html" title="erase_key"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="clear.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="erase_key.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h5 class="title"> +<a name="fusion.algorithm.transformation.metafunctions.erase"></a><a class="link" href="erase.html" title="erase">erase</a> +</h5></div></div></div> +<p> + Returns the result type of <a class="link" href="../functions/erase.html" title="erase"><code class="computeroutput"><span class="identifier">erase</span></code></a>, given the input sequence + and range delimiting iterator types. + </p> +<h6> +<a name="fusion.algorithm.transformation.metafunctions.erase.h0"></a> + <span><a name="fusion.algorithm.transformation.metafunctions.erase.description"></a></span><a class="link" href="erase.html#fusion.algorithm.transformation.metafunctions.erase.description">Description</a> + </h6> +<h6> +<a name="fusion.algorithm.transformation.metafunctions.erase.h1"></a> + <span><a name="fusion.algorithm.transformation.metafunctions.erase.synopsis"></a></span><a class="link" href="erase.html#fusion.algorithm.transformation.metafunctions.erase.synopsis">Synopsis</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span> + <span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">It1</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">It2</span> <span class="special">=</span> <span class="emphasis"><em>unspecified</em></span><span class="special">></span> +<span class="keyword">struct</span> <span class="identifier">erase</span> +<span class="special">{</span> + <span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">type</span><span class="special">;</span> +<span class="special">};</span> +</pre> +<div class="table"> +<a name="fusion.algorithm.transformation.metafunctions.erase.t0"></a><p class="title"><b>Table 1.94. Parameters</b></p> +<div class="table-contents"><table class="table" summary="Parameters"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Requirement + </p> + </th> +<th> + <p> + Description + </p> + </th> +</tr></thead> +<tbody> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">Sequence</span></code> + </p> + </td> +<td> + <p> + A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a> + </p> + </td> +<td> + <p> + Operation's argument + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">It1</span></code> + </p> + </td> +<td> + <p> + A model of <a class="link" href="../../../iterator/concepts/forward_iterator.html" title="Forward Iterator">Forward + Iterator</a> + </p> + </td> +<td> + <p> + Operation's argument + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">It2</span></code> + </p> + </td> +<td> + <p> + A model of <a class="link" href="../../../iterator/concepts/forward_iterator.html" title="Forward Iterator">Forward + Iterator</a> + </p> + </td> +<td> + <p> + Operation's argument + </p> + </td> +</tr> +</tbody> +</table></div> +</div> +<br class="table-break"><h6> +<a name="fusion.algorithm.transformation.metafunctions.erase.h2"></a> + <span><a name="fusion.algorithm.transformation.metafunctions.erase.expression_semantics"></a></span><a class="link" href="erase.html#fusion.algorithm.transformation.metafunctions.erase.expression_semantics">Expression + Semantics</a> + </h6> +<pre class="programlisting"><a class="link" href="erase.html" title="erase"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">erase</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">It1</span><span class="special">>::</span><span class="identifier">type</span> +</pre> +<p> + <span class="bold"><strong>Return type</strong></span>: + </p> +<div class="itemizedlist"><ul class="itemizedlist" type="disc"> +<li class="listitem"> + A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a>. + </li> +<li class="listitem"> + A model of <a class="link" href="../../../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative + Sequence</a> if <code class="computeroutput"><span class="identifier">Sequence</span></code> + implements the <a class="link" href="../../../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative + Sequence</a> model. + </li> +</ul></div> +<p> + <span class="bold"><strong>Semantics</strong></span>: Returns a new sequence with + the element at <code class="computeroutput"><span class="identifier">It1</span></code> removed. + </p> +<pre class="programlisting"><a class="link" href="erase.html" title="erase"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">erase</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">It1</span><span class="special">,</span> <span class="identifier">It2</span><span class="special">>::</span><span class="identifier">type</span> +</pre> +<p> + <span class="bold"><strong>Return type</strong></span>: A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a>. + </p> +<p> + <span class="bold"><strong>Semantics</strong></span>: Returns a new sequence with + the elements between <code class="computeroutput"><span class="identifier">It1</span></code> + and <code class="computeroutput"><span class="identifier">It2</span></code> removed. + </p> +<h6> +<a name="fusion.algorithm.transformation.metafunctions.erase.h3"></a> + <span><a name="fusion.algorithm.transformation.metafunctions.erase.complexity"></a></span><a class="link" href="erase.html#fusion.algorithm.transformation.metafunctions.erase.complexity">Complexity</a> + </h6> +<p> + Constant. + </p> +<h6> +<a name="fusion.algorithm.transformation.metafunctions.erase.h4"></a> + <span><a name="fusion.algorithm.transformation.metafunctions.erase.header"></a></span><a class="link" href="erase.html#fusion.algorithm.transformation.metafunctions.erase.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">erase</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">erase</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +</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-2006, 2011 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="clear.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="erase_key.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/algorithm/transformation/metafunctions/erase_key.html b/libs/fusion/doc/html/fusion/algorithm/transformation/metafunctions/erase_key.html new file mode 100755 index 0000000000..028a5297e1 --- /dev/null +++ b/libs/fusion/doc/html/fusion/algorithm/transformation/metafunctions/erase_key.html @@ -0,0 +1,161 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>erase_key</title> +<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../metafunctions.html" title="Metafunctions"> +<link rel="prev" href="erase.html" title="erase"> +<link rel="next" href="insert.html" title="insert"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="erase.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="insert.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h5 class="title"> +<a name="fusion.algorithm.transformation.metafunctions.erase_key"></a><a class="link" href="erase_key.html" title="erase_key">erase_key</a> +</h5></div></div></div> +<h6> +<a name="fusion.algorithm.transformation.metafunctions.erase_key.h0"></a> + <span><a name="fusion.algorithm.transformation.metafunctions.erase_key.description"></a></span><a class="link" href="erase_key.html#fusion.algorithm.transformation.metafunctions.erase_key.description">Description</a> + </h6> +<p> + Returns the result type of <a class="link" href="../functions/erase_key.html" title="erase_key"><code class="computeroutput"><span class="identifier">erase_key</span></code></a>, given the sequence + and key types. + </p> +<h6> +<a name="fusion.algorithm.transformation.metafunctions.erase_key.h1"></a> + <span><a name="fusion.algorithm.transformation.metafunctions.erase_key.synopsis"></a></span><a class="link" href="erase_key.html#fusion.algorithm.transformation.metafunctions.erase_key.synopsis">Synopsis</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span> + <span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">Key</span> + <span class="special">></span> +<span class="keyword">struct</span> <span class="identifier">erase_key</span> +<span class="special">{</span> + <span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">type</span><span class="special">;</span> +<span class="special">};</span> +</pre> +<div class="table"> +<a name="fusion.algorithm.transformation.metafunctions.erase_key.t0"></a><p class="title"><b>Table 1.95. Parameters</b></p> +<div class="table-contents"><table class="table" summary="Parameters"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Requirement + </p> + </th> +<th> + <p> + Description + </p> + </th> +</tr></thead> +<tbody> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">Sequence</span></code> + </p> + </td> +<td> + <p> + A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a> and <a class="link" href="../../../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative + Sequence</a> + </p> + </td> +<td> + <p> + Operation's argument + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">Key</span></code> + </p> + </td> +<td> + <p> + Any type + </p> + </td> +<td> + <p> + Key type + </p> + </td> +</tr> +</tbody> +</table></div> +</div> +<br class="table-break"><h6> +<a name="fusion.algorithm.transformation.metafunctions.erase_key.h2"></a> + <span><a name="fusion.algorithm.transformation.metafunctions.erase_key.expression_semantics"></a></span><a class="link" href="erase_key.html#fusion.algorithm.transformation.metafunctions.erase_key.expression_semantics">Expression + Semantics</a> + </h6> +<pre class="programlisting"><a class="link" href="erase_key.html" title="erase_key"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">erase_key</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">Key</span><span class="special">>::</span><span class="identifier">type</span> +</pre> +<p> + <span class="bold"><strong>Return type</strong></span>: A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a> and <a class="link" href="../../../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative + Sequence</a>. + </p> +<p> + <span class="bold"><strong>Semantics</strong></span>: Returns a sequence with the + elements of <code class="computeroutput"><span class="identifier">Sequence</span></code>, + except those with key <code class="computeroutput"><span class="identifier">Key</span></code>. + </p> +<h6> +<a name="fusion.algorithm.transformation.metafunctions.erase_key.h3"></a> + <span><a name="fusion.algorithm.transformation.metafunctions.erase_key.complexity"></a></span><a class="link" href="erase_key.html#fusion.algorithm.transformation.metafunctions.erase_key.complexity">Complexity</a> + </h6> +<p> + Constant. + </p> +<h6> +<a name="fusion.algorithm.transformation.metafunctions.erase_key.h4"></a> + <span><a name="fusion.algorithm.transformation.metafunctions.erase_key.header"></a></span><a class="link" href="erase_key.html#fusion.algorithm.transformation.metafunctions.erase_key.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">erase_key</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">erase_key</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +</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-2006, 2011 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="erase.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="insert.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/algorithm/transformation/metafunctions/filter.html b/libs/fusion/doc/html/fusion/algorithm/transformation/metafunctions/filter.html new file mode 100755 index 0000000000..f106bfc150 --- /dev/null +++ b/libs/fusion/doc/html/fusion/algorithm/transformation/metafunctions/filter.html @@ -0,0 +1,172 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>filter</title> +<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../metafunctions.html" title="Metafunctions"> +<link rel="prev" href="../metafunctions.html" title="Metafunctions"> +<link rel="next" href="filter_if.html" title="filter_if"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="../metafunctions.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="filter_if.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h5 class="title"> +<a name="fusion.algorithm.transformation.metafunctions.filter"></a><a class="link" href="filter.html" title="filter">filter</a> +</h5></div></div></div> +<h6> +<a name="fusion.algorithm.transformation.metafunctions.filter.h0"></a> + <span><a name="fusion.algorithm.transformation.metafunctions.filter.description"></a></span><a class="link" href="filter.html#fusion.algorithm.transformation.metafunctions.filter.description">Description</a> + </h6> +<p> + Returns the result type of <a class="link" href="../functions/filter.html" title="filter"><code class="computeroutput"><span class="identifier">filter</span></code></a> given the sequence type + and type to retain. + </p> +<h6> +<a name="fusion.algorithm.transformation.metafunctions.filter.h1"></a> + <span><a name="fusion.algorithm.transformation.metafunctions.filter.synopsis"></a></span><a class="link" href="filter.html#fusion.algorithm.transformation.metafunctions.filter.synopsis">Synopsis</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span> + <span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">T</span> + <span class="special">></span> +<span class="keyword">struct</span> <span class="identifier">filter</span> +<span class="special">{</span> + <span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">type</span><span class="special">;</span> +<span class="special">};</span> +</pre> +<div class="table"> +<a name="fusion.algorithm.transformation.metafunctions.filter.t0"></a><p class="title"><b>Table 1.84. Parameter</b></p> +<div class="table-contents"><table class="table" summary="Parameter"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Requirement + </p> + </th> +<th> + <p> + Description + </p> + </th> +</tr></thead> +<tbody> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">Sequence</span></code> + </p> + </td> +<td> + <p> + A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a> + </p> + </td> +<td> + <p> + Operation's argument + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">T</span></code> + </p> + </td> +<td> + <p> + Any type + </p> + </td> +<td> + <p> + Type to retain + </p> + </td> +</tr> +</tbody> +</table></div> +</div> +<br class="table-break"><h6> +<a name="fusion.algorithm.transformation.metafunctions.filter.h2"></a> + <span><a name="fusion.algorithm.transformation.metafunctions.filter.expression_semantics"></a></span><a class="link" href="filter.html#fusion.algorithm.transformation.metafunctions.filter.expression_semantics">Expression + Semantics</a> + </h6> +<pre class="programlisting"><a class="link" href="filter.html" title="filter"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">filter</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">T</span><span class="special">>::</span><span class="identifier">type</span> +</pre> +<p> + <span class="bold"><strong>Return type</strong></span>: + </p> +<div class="itemizedlist"><ul class="itemizedlist" type="disc"> +<li class="listitem"> + A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a>. + </li> +<li class="listitem"> + A model of <a class="link" href="../../../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative + Sequence</a> if <code class="computeroutput"><span class="identifier">Sequence</span></code> + implements the <a class="link" href="../../../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative + Sequence</a> model. + </li> +</ul></div> +<p> + <span class="bold"><strong>Semantics</strong></span>: Returns a sequence containing + the elements of <code class="computeroutput"><span class="identifier">Sequence</span></code> + that are of type <code class="computeroutput"><span class="identifier">T</span></code>. Equivalent + to <code class="computeroutput"><a class="link" href="filter_if.html" title="filter_if"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">filter_if</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">,</span> + <span class="identifier">boost</span><span class="special">::</span><span class="identifier">is_same</span><span class="special"><</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">_</span><span class="special">,</span> <span class="identifier">T</span><span class="special">></span> <span class="special">>::</span><span class="identifier">type</span></code>. + </p> +<h6> +<a name="fusion.algorithm.transformation.metafunctions.filter.h3"></a> + <span><a name="fusion.algorithm.transformation.metafunctions.filter.complexity"></a></span><a class="link" href="filter.html#fusion.algorithm.transformation.metafunctions.filter.complexity">Complexity</a> + </h6> +<p> + Constant. + </p> +<h6> +<a name="fusion.algorithm.transformation.metafunctions.filter.h4"></a> + <span><a name="fusion.algorithm.transformation.metafunctions.filter.header"></a></span><a class="link" href="filter.html#fusion.algorithm.transformation.metafunctions.filter.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">filter</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">filter</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +</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-2006, 2011 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="../metafunctions.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="filter_if.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/algorithm/transformation/metafunctions/filter_if.html b/libs/fusion/doc/html/fusion/algorithm/transformation/metafunctions/filter_if.html new file mode 100755 index 0000000000..409ce252b2 --- /dev/null +++ b/libs/fusion/doc/html/fusion/algorithm/transformation/metafunctions/filter_if.html @@ -0,0 +1,173 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>filter_if</title> +<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../metafunctions.html" title="Metafunctions"> +<link rel="prev" href="filter.html" title="filter"> +<link rel="next" href="transform.html" title="transform"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="filter.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="transform.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h5 class="title"> +<a name="fusion.algorithm.transformation.metafunctions.filter_if"></a><a class="link" href="filter_if.html" title="filter_if">filter_if</a> +</h5></div></div></div> +<h6> +<a name="fusion.algorithm.transformation.metafunctions.filter_if.h0"></a> + <span><a name="fusion.algorithm.transformation.metafunctions.filter_if.description"></a></span><a class="link" href="filter_if.html#fusion.algorithm.transformation.metafunctions.filter_if.description">Description</a> + </h6> +<p> + Returns the result type of <a class="link" href="../functions/filter_if.html" title="filter_if"><code class="computeroutput"><span class="identifier">filter_if</span></code></a> given the sequence + and unary <a href="http://www.boost.org/libs/mpl/doc/refmanual/lambda-expression.html" target="_top">MPL + Lambda Expression</a> predicate type. + </p> +<h6> +<a name="fusion.algorithm.transformation.metafunctions.filter_if.h1"></a> + <span><a name="fusion.algorithm.transformation.metafunctions.filter_if.synopsis"></a></span><a class="link" href="filter_if.html#fusion.algorithm.transformation.metafunctions.filter_if.synopsis">Synopsis</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span> + <span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">Pred</span> + <span class="special">></span> +<span class="keyword">struct</span> <span class="identifier">filter_if</span> +<span class="special">{</span> + <span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">type</span><span class="special">;</span> +<span class="special">};</span> +</pre> +<div class="table"> +<a name="fusion.algorithm.transformation.metafunctions.filter_if.t0"></a><p class="title"><b>Table 1.85. Parameter</b></p> +<div class="table-contents"><table class="table" summary="Parameter"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Requirement + </p> + </th> +<th> + <p> + Description + </p> + </th> +</tr></thead> +<tbody> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">Sequence</span></code> + </p> + </td> +<td> + <p> + A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a> + </p> + </td> +<td> + <p> + Operation's argument + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">Pred</span></code> + </p> + </td> +<td> + <p> + A unary <a href="http://www.boost.org/libs/mpl/doc/refmanual/lambda-expression.html" target="_top">MPL + Lambda Expression</a> + </p> + </td> +<td> + <p> + Type to retain + </p> + </td> +</tr> +</tbody> +</table></div> +</div> +<br class="table-break"><h6> +<a name="fusion.algorithm.transformation.metafunctions.filter_if.h2"></a> + <span><a name="fusion.algorithm.transformation.metafunctions.filter_if.expression_semantics"></a></span><a class="link" href="filter_if.html#fusion.algorithm.transformation.metafunctions.filter_if.expression_semantics">Expression + Semantics</a> + </h6> +<pre class="programlisting"><a class="link" href="filter_if.html" title="filter_if"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">filter_if</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">Pred</span><span class="special">>::</span><span class="identifier">type</span> +</pre> +<p> + <span class="bold"><strong>Return type</strong></span>: + </p> +<div class="itemizedlist"><ul class="itemizedlist" type="disc"> +<li class="listitem"> + A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a>. + </li> +<li class="listitem"> + A model of <a class="link" href="../../../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative + Sequence</a> if <code class="computeroutput"><span class="identifier">Sequence</span></code> + implements the <a class="link" href="../../../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative + Sequence</a> model. + </li> +</ul></div> +<p> + <span class="bold"><strong>Semantics</strong></span>: Returns a sequence containing + the elements of <code class="computeroutput"><span class="identifier">Sequence</span></code> + for which <code class="computeroutput"><span class="identifier">Pred</span></code> evaluates + to <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">true_</span></code>. + </p> +<h6> +<a name="fusion.algorithm.transformation.metafunctions.filter_if.h3"></a> + <span><a name="fusion.algorithm.transformation.metafunctions.filter_if.complexity"></a></span><a class="link" href="filter_if.html#fusion.algorithm.transformation.metafunctions.filter_if.complexity">Complexity</a> + </h6> +<p> + Constant. + </p> +<h6> +<a name="fusion.algorithm.transformation.metafunctions.filter_if.h4"></a> + <span><a name="fusion.algorithm.transformation.metafunctions.filter_if.header"></a></span><a class="link" href="filter_if.html#fusion.algorithm.transformation.metafunctions.filter_if.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">filter_if</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">filter_if</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +</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-2006, 2011 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="filter.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="transform.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/algorithm/transformation/metafunctions/insert.html b/libs/fusion/doc/html/fusion/algorithm/transformation/metafunctions/insert.html new file mode 100755 index 0000000000..a3cb03fbd1 --- /dev/null +++ b/libs/fusion/doc/html/fusion/algorithm/transformation/metafunctions/insert.html @@ -0,0 +1,182 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>insert</title> +<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../metafunctions.html" title="Metafunctions"> +<link rel="prev" href="erase_key.html" title="erase_key"> +<link rel="next" href="insert_range.html" title="insert_range"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="erase_key.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="insert_range.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h5 class="title"> +<a name="fusion.algorithm.transformation.metafunctions.insert"></a><a class="link" href="insert.html" title="insert">insert</a> +</h5></div></div></div> +<h6> +<a name="fusion.algorithm.transformation.metafunctions.insert.h0"></a> + <span><a name="fusion.algorithm.transformation.metafunctions.insert.description"></a></span><a class="link" href="insert.html#fusion.algorithm.transformation.metafunctions.insert.description">Description</a> + </h6> +<p> + Returns the result type of <a class="link" href="../functions/insert.html" title="insert"><code class="computeroutput"><span class="identifier">insert</span></code></a>, given the sequence, + position iterator and insertion types. + </p> +<h6> +<a name="fusion.algorithm.transformation.metafunctions.insert.h1"></a> + <span><a name="fusion.algorithm.transformation.metafunctions.insert.synopsis"></a></span><a class="link" href="insert.html#fusion.algorithm.transformation.metafunctions.insert.synopsis">Synopsis</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span> + <span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">Position</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">T</span> + <span class="special">></span> +<span class="keyword">struct</span> <span class="identifier">insert</span> +<span class="special">{</span> + <span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">type</span><span class="special">;</span> +<span class="special">};</span> +</pre> +<div class="table"> +<a name="fusion.algorithm.transformation.metafunctions.insert.t0"></a><p class="title"><b>Table 1.96. Parameters</b></p> +<div class="table-contents"><table class="table" summary="Parameters"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Requirement + </p> + </th> +<th> + <p> + Description + </p> + </th> +</tr></thead> +<tbody> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">Sequence</span></code> + </p> + </td> +<td> + <p> + A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a> + </p> + </td> +<td> + <p> + Operation's argument + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">Position</span></code> + </p> + </td> +<td> + <p> + A model of <a class="link" href="../../../iterator/concepts/forward_iterator.html" title="Forward Iterator">Forward + Iterator</a> + </p> + </td> +<td> + <p> + Operation's argument + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">T</span></code> + </p> + </td> +<td> + <p> + Any type + </p> + </td> +<td> + <p> + Operation's argument + </p> + </td> +</tr> +</tbody> +</table></div> +</div> +<br class="table-break"><h6> +<a name="fusion.algorithm.transformation.metafunctions.insert.h2"></a> + <span><a name="fusion.algorithm.transformation.metafunctions.insert.expression_semantics"></a></span><a class="link" href="insert.html#fusion.algorithm.transformation.metafunctions.insert.expression_semantics">Expression + Semantics</a> + </h6> +<pre class="programlisting"><a class="link" href="insert.html" title="insert"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">insert</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">Position</span><span class="special">,</span> <span class="identifier">T</span><span class="special">>::</span><span class="identifier">type</span> +</pre> +<p> + <span class="bold"><strong>Return type</strong></span>: + </p> +<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"> + A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a>. + </li></ul></div> +<p> + <span class="bold"><strong>Semantics</strong></span>: Returns a sequence with an + element of type <code class="computeroutput"><span class="identifier">T</span></code> inserted + at position <code class="computeroutput"><span class="identifier">Position</span></code> + in <code class="computeroutput"><span class="identifier">Sequence</span></code>. + </p> +<h6> +<a name="fusion.algorithm.transformation.metafunctions.insert.h3"></a> + <span><a name="fusion.algorithm.transformation.metafunctions.insert.complexity"></a></span><a class="link" href="insert.html#fusion.algorithm.transformation.metafunctions.insert.complexity">Complexity</a> + </h6> +<p> + Constant. + </p> +<h6> +<a name="fusion.algorithm.transformation.metafunctions.insert.h4"></a> + <span><a name="fusion.algorithm.transformation.metafunctions.insert.header"></a></span><a class="link" href="insert.html#fusion.algorithm.transformation.metafunctions.insert.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">insert</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">insert</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +</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-2006, 2011 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="erase_key.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="insert_range.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/algorithm/transformation/metafunctions/insert_range.html b/libs/fusion/doc/html/fusion/algorithm/transformation/metafunctions/insert_range.html new file mode 100755 index 0000000000..da23d9b145 --- /dev/null +++ b/libs/fusion/doc/html/fusion/algorithm/transformation/metafunctions/insert_range.html @@ -0,0 +1,191 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>insert_range</title> +<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../metafunctions.html" title="Metafunctions"> +<link rel="prev" href="insert.html" title="insert"> +<link rel="next" href="join.html" title="join"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="insert.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="join.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h5 class="title"> +<a name="fusion.algorithm.transformation.metafunctions.insert_range"></a><a class="link" href="insert_range.html" title="insert_range">insert_range</a> +</h5></div></div></div> +<h6> +<a name="fusion.algorithm.transformation.metafunctions.insert_range.h0"></a> + <span><a name="fusion.algorithm.transformation.metafunctions.insert_range.description"></a></span><a class="link" href="insert_range.html#fusion.algorithm.transformation.metafunctions.insert_range.description">Description</a> + </h6> +<p> + Returns the result type of <a class="link" href="../functions/insert_range.html" title="insert_range"><code class="computeroutput"><span class="identifier">insert_range</span></code></a>, given the input + sequence, position iterator and insertion range types. + </p> +<h6> +<a name="fusion.algorithm.transformation.metafunctions.insert_range.h1"></a> + <span><a name="fusion.algorithm.transformation.metafunctions.insert_range.synopsis"></a></span><a class="link" href="insert_range.html#fusion.algorithm.transformation.metafunctions.insert_range.synopsis">Synopsis</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span> + <span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">Position</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">Range</span> + <span class="special">></span> +<span class="keyword">struct</span> <span class="identifier">insert_range</span> +<span class="special">{</span> + <span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">type</span><span class="special">;</span> +<span class="special">};</span> +</pre> +<div class="table"> +<a name="fusion.algorithm.transformation.metafunctions.insert_range.t0"></a><p class="title"><b>Table 1.97. Parameters</b></p> +<div class="table-contents"><table class="table" summary="Parameters"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Requirement + </p> + </th> +<th> + <p> + Description + </p> + </th> +</tr></thead> +<tbody> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">Sequence</span></code> + </p> + </td> +<td> + <p> + A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a> + </p> + </td> +<td> + <p> + Operation's argument + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">Position</span></code> + </p> + </td> +<td> + <p> + A model of <a class="link" href="../../../iterator/concepts/forward_iterator.html" title="Forward Iterator">Forward + Iterator</a> + </p> + </td> +<td> + <p> + Operation's argument + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">Range</span></code> + </p> + </td> +<td> + <p> + A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a> + </p> + </td> +<td> + <p> + Operation's argument + </p> + </td> +</tr> +</tbody> +</table></div> +</div> +<br class="table-break"><h6> +<a name="fusion.algorithm.transformation.metafunctions.insert_range.h2"></a> + <span><a name="fusion.algorithm.transformation.metafunctions.insert_range.expression_semantics"></a></span><a class="link" href="insert_range.html#fusion.algorithm.transformation.metafunctions.insert_range.expression_semantics">Expression + Semantics</a> + </h6> +<pre class="programlisting"><a class="link" href="insert_range.html" title="insert_range"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">insert_range</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">Position</span><span class="special">,</span> <span class="identifier">Range</span><span class="special">>::</span><span class="identifier">type</span> +</pre> +<p> + <span class="bold"><strong>Return type</strong></span>: + </p> +<div class="itemizedlist"><ul class="itemizedlist" type="disc"> +<li class="listitem"> + A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a>. + </li> +<li class="listitem"> + A model of <a class="link" href="../../../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative + Sequence</a> if <code class="computeroutput"><span class="identifier">Sequence</span></code> + implements the <a class="link" href="../../../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative + Sequence</a> model. + </li> +</ul></div> +<p> + <span class="bold"><strong>Semantics</strong></span>: Returns a sequence with the + elements of <code class="computeroutput"><span class="identifier">Range</span></code> inserted + at position <code class="computeroutput"><span class="identifier">Position</span></code> + into <code class="computeroutput"><span class="identifier">Sequence</span></code>. + </p> +<h6> +<a name="fusion.algorithm.transformation.metafunctions.insert_range.h3"></a> + <span><a name="fusion.algorithm.transformation.metafunctions.insert_range.complexity"></a></span><a class="link" href="insert_range.html#fusion.algorithm.transformation.metafunctions.insert_range.complexity">Complexity</a> + </h6> +<p> + Constant. + </p> +<h6> +<a name="fusion.algorithm.transformation.metafunctions.insert_range.h4"></a> + <span><a name="fusion.algorithm.transformation.metafunctions.insert_range.header"></a></span><a class="link" href="insert_range.html#fusion.algorithm.transformation.metafunctions.insert_range.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">insert_range</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">insert_range</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +</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-2006, 2011 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="insert.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="join.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/algorithm/transformation/metafunctions/join.html b/libs/fusion/doc/html/fusion/algorithm/transformation/metafunctions/join.html new file mode 100755 index 0000000000..402b247a30 --- /dev/null +++ b/libs/fusion/doc/html/fusion/algorithm/transformation/metafunctions/join.html @@ -0,0 +1,107 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>join</title> +<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../metafunctions.html" title="Metafunctions"> +<link rel="prev" href="insert_range.html" title="insert_range"> +<link rel="next" href="zip.html" title="zip"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="insert_range.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="zip.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h5 class="title"> +<a name="fusion.algorithm.transformation.metafunctions.join"></a><a class="link" href="join.html" title="join">join</a> +</h5></div></div></div> +<h6> +<a name="fusion.algorithm.transformation.metafunctions.join.h0"></a> + <span><a name="fusion.algorithm.transformation.metafunctions.join.description"></a></span><a class="link" href="join.html#fusion.algorithm.transformation.metafunctions.join.description">Description</a> + </h6> +<p> + Returns the result of joining 2 sequences, given the sequence types. + </p> +<h6> +<a name="fusion.algorithm.transformation.metafunctions.join.h1"></a> + <span><a name="fusion.algorithm.transformation.metafunctions.join.synopsis"></a></span><a class="link" href="join.html#fusion.algorithm.transformation.metafunctions.join.synopsis">Synopsis</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span> + <span class="keyword">typename</span> <span class="identifier">LhSequence</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">RhSequence</span> + <span class="special">></span> +<span class="keyword">struct</span> <span class="identifier">join</span> +<span class="special">{</span> + <span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">type</span><span class="special">;</span> +<span class="special">};</span> +</pre> +<h6> +<a name="fusion.algorithm.transformation.metafunctions.join.h2"></a> + <span><a name="fusion.algorithm.transformation.metafunctions.join.expression_semantics"></a></span><a class="link" href="join.html#fusion.algorithm.transformation.metafunctions.join.expression_semantics">Expression + Semantics</a> + </h6> +<pre class="programlisting"><a class="link" href="join.html" title="join"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">join</span></code></a><span class="special"><</span><span class="identifier">LhSequence</span><span class="special">,</span> <span class="identifier">RhSequence</span><span class="special">>::</span><span class="identifier">type</span> +</pre> +<p> + <span class="bold"><strong>Return type</strong></span>: + </p> +<div class="itemizedlist"><ul class="itemizedlist" type="disc"> +<li class="listitem"> + A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a>. + </li> +<li class="listitem"> + A model of <a class="link" href="../../../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative + Sequence</a> if <code class="computeroutput"><span class="identifier">LhSequence</span></code> + amd <code class="computeroutput"><span class="identifier">RhSequence</span></code> implement + the <a class="link" href="../../../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative + Sequence</a> model. + </li> +</ul></div> +<p> + <span class="bold"><strong>Semantics</strong></span>: Returns a sequence containing + the elements of <code class="computeroutput"><span class="identifier">LhSequence</span></code> + followed by the elements of <code class="computeroutput"><span class="identifier">RhSequence</span></code>. + The order of the elements in the 2 sequences is preserved. + </p> +<h6> +<a name="fusion.algorithm.transformation.metafunctions.join.h3"></a> + <span><a name="fusion.algorithm.transformation.metafunctions.join.complexity"></a></span><a class="link" href="join.html#fusion.algorithm.transformation.metafunctions.join.complexity">Complexity</a> + </h6> +<p> + Constant. + </p> +<h6> +<a name="fusion.algorithm.transformation.metafunctions.join.h4"></a> + <span><a name="fusion.algorithm.transformation.metafunctions.join.header"></a></span><a class="link" href="join.html#fusion.algorithm.transformation.metafunctions.join.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">join</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">join</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +</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-2006, 2011 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="insert_range.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="zip.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/algorithm/transformation/metafunctions/pop_back.html b/libs/fusion/doc/html/fusion/algorithm/transformation/metafunctions/pop_back.html new file mode 100755 index 0000000000..5f214c55cc --- /dev/null +++ b/libs/fusion/doc/html/fusion/algorithm/transformation/metafunctions/pop_back.html @@ -0,0 +1,150 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>pop_back</title> +<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../metafunctions.html" title="Metafunctions"> +<link rel="prev" href="zip.html" title="zip"> +<link rel="next" href="pop_front.html" title="pop_front"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="zip.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="pop_front.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h5 class="title"> +<a name="fusion.algorithm.transformation.metafunctions.pop_back"></a><a class="link" href="pop_back.html" title="pop_back">pop_back</a> +</h5></div></div></div> +<h6> +<a name="fusion.algorithm.transformation.metafunctions.pop_back.h0"></a> + <span><a name="fusion.algorithm.transformation.metafunctions.pop_back.description"></a></span><a class="link" href="pop_back.html#fusion.algorithm.transformation.metafunctions.pop_back.description">Description</a> + </h6> +<p> + Returns the result type of <a class="link" href="../functions/pop_back.html" title="pop_back"><code class="computeroutput"><span class="identifier">pop_back</span></code></a>, given the input sequence + type. + </p> +<h6> +<a name="fusion.algorithm.transformation.metafunctions.pop_back.h1"></a> + <span><a name="fusion.algorithm.transformation.metafunctions.pop_back.synopsis"></a></span><a class="link" href="pop_back.html#fusion.algorithm.transformation.metafunctions.pop_back.synopsis">Synopsis</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span> + <span class="keyword">typename</span> <span class="identifier">Sequence</span> + <span class="special">></span> +<span class="keyword">struct</span> <span class="identifier">pop_back</span> +<span class="special">{</span> + <span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">type</span><span class="special">;</span> +<span class="special">};</span> +</pre> +<div class="table"> +<a name="fusion.algorithm.transformation.metafunctions.pop_back.t0"></a><p class="title"><b>Table 1.98. Parameters</b></p> +<div class="table-contents"><table class="table" summary="Parameters"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Requirement + </p> + </th> +<th> + <p> + Description + </p> + </th> +</tr></thead> +<tbody><tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">Sequence</span></code> + </p> + </td> +<td> + <p> + A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a> + </p> + </td> +<td> + <p> + Operation's argument + </p> + </td> +</tr></tbody> +</table></div> +</div> +<br class="table-break"><h6> +<a name="fusion.algorithm.transformation.metafunctions.pop_back.h2"></a> + <span><a name="fusion.algorithm.transformation.metafunctions.pop_back.expression_semantics"></a></span><a class="link" href="pop_back.html#fusion.algorithm.transformation.metafunctions.pop_back.expression_semantics">Expression + Semantics</a> + </h6> +<pre class="programlisting"><a class="link" href="pop_back.html" title="pop_back"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">pop_back</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">>::</span><span class="identifier">type</span> +</pre> +<p> + <span class="bold"><strong>Return type</strong></span>: + </p> +<div class="itemizedlist"><ul class="itemizedlist" type="disc"> +<li class="listitem"> + A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a>. + </li> +<li class="listitem"> + A model of <a class="link" href="../../../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative + Sequence</a> if <code class="computeroutput"><span class="identifier">Sequence</span></code> + implements the <a class="link" href="../../../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative + Sequence</a> model. + </li> +</ul></div> +<p> + <span class="bold"><strong>Semantics</strong></span>: Returns a sequence with all + the elements of <code class="computeroutput"><span class="identifier">Sequence</span></code> + except the last element. + </p> +<h6> +<a name="fusion.algorithm.transformation.metafunctions.pop_back.h3"></a> + <span><a name="fusion.algorithm.transformation.metafunctions.pop_back.complexity"></a></span><a class="link" href="pop_back.html#fusion.algorithm.transformation.metafunctions.pop_back.complexity">Complexity</a> + </h6> +<p> + Constant. + </p> +<h6> +<a name="fusion.algorithm.transformation.metafunctions.pop_back.h4"></a> + <span><a name="fusion.algorithm.transformation.metafunctions.pop_back.header"></a></span><a class="link" href="pop_back.html#fusion.algorithm.transformation.metafunctions.pop_back.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">pop_back</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">pop_back</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +</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-2006, 2011 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="zip.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="pop_front.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/algorithm/transformation/metafunctions/pop_front.html b/libs/fusion/doc/html/fusion/algorithm/transformation/metafunctions/pop_front.html new file mode 100755 index 0000000000..06332de923 --- /dev/null +++ b/libs/fusion/doc/html/fusion/algorithm/transformation/metafunctions/pop_front.html @@ -0,0 +1,150 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>pop_front</title> +<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../metafunctions.html" title="Metafunctions"> +<link rel="prev" href="pop_back.html" title="pop_back"> +<link rel="next" href="push_back.html" title="push_back"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="pop_back.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="push_back.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h5 class="title"> +<a name="fusion.algorithm.transformation.metafunctions.pop_front"></a><a class="link" href="pop_front.html" title="pop_front">pop_front</a> +</h5></div></div></div> +<h6> +<a name="fusion.algorithm.transformation.metafunctions.pop_front.h0"></a> + <span><a name="fusion.algorithm.transformation.metafunctions.pop_front.description"></a></span><a class="link" href="pop_front.html#fusion.algorithm.transformation.metafunctions.pop_front.description">Description</a> + </h6> +<p> + Returns the result type of <a class="link" href="../functions/pop_front.html" title="pop_front"><code class="computeroutput"><span class="identifier">pop_front</span></code></a>, given the input sequence + type. + </p> +<h6> +<a name="fusion.algorithm.transformation.metafunctions.pop_front.h1"></a> + <span><a name="fusion.algorithm.transformation.metafunctions.pop_front.synopsis"></a></span><a class="link" href="pop_front.html#fusion.algorithm.transformation.metafunctions.pop_front.synopsis">Synopsis</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span> + <span class="keyword">typename</span> <span class="identifier">Sequence</span> + <span class="special">></span> +<span class="keyword">struct</span> <span class="identifier">pop_front</span> +<span class="special">{</span> + <span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">type</span><span class="special">;</span> +<span class="special">};</span> +</pre> +<div class="table"> +<a name="fusion.algorithm.transformation.metafunctions.pop_front.t0"></a><p class="title"><b>Table 1.99. Parameters</b></p> +<div class="table-contents"><table class="table" summary="Parameters"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Requirement + </p> + </th> +<th> + <p> + Description + </p> + </th> +</tr></thead> +<tbody><tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">Sequence</span></code> + </p> + </td> +<td> + <p> + A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a> + </p> + </td> +<td> + <p> + Operation's argument + </p> + </td> +</tr></tbody> +</table></div> +</div> +<br class="table-break"><h6> +<a name="fusion.algorithm.transformation.metafunctions.pop_front.h2"></a> + <span><a name="fusion.algorithm.transformation.metafunctions.pop_front.expression_semantics"></a></span><a class="link" href="pop_front.html#fusion.algorithm.transformation.metafunctions.pop_front.expression_semantics">Expression + Semantics</a> + </h6> +<pre class="programlisting"><a class="link" href="pop_front.html" title="pop_front"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">pop_front</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">>::</span><span class="identifier">type</span> +</pre> +<p> + <span class="bold"><strong>Return type</strong></span>: + </p> +<div class="itemizedlist"><ul class="itemizedlist" type="disc"> +<li class="listitem"> + A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a>. + </li> +<li class="listitem"> + A model of <a class="link" href="../../../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative + Sequence</a> if <code class="computeroutput"><span class="identifier">Sequence</span></code> + implements the <a class="link" href="../../../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative + Sequence</a> model. + </li> +</ul></div> +<p> + <span class="bold"><strong>Semantics</strong></span>: Returns a sequence with all + the elements of <code class="computeroutput"><span class="identifier">Sequence</span></code> + except the first element. + </p> +<h6> +<a name="fusion.algorithm.transformation.metafunctions.pop_front.h3"></a> + <span><a name="fusion.algorithm.transformation.metafunctions.pop_front.complexity"></a></span><a class="link" href="pop_front.html#fusion.algorithm.transformation.metafunctions.pop_front.complexity">Complexity</a> + </h6> +<p> + Constant. + </p> +<h6> +<a name="fusion.algorithm.transformation.metafunctions.pop_front.h4"></a> + <span><a name="fusion.algorithm.transformation.metafunctions.pop_front.header"></a></span><a class="link" href="pop_front.html#fusion.algorithm.transformation.metafunctions.pop_front.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">pop_front</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">pop_front</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +</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-2006, 2011 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="pop_back.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="push_back.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/algorithm/transformation/metafunctions/push_back.html b/libs/fusion/doc/html/fusion/algorithm/transformation/metafunctions/push_back.html new file mode 100755 index 0000000000..07d797b6ea --- /dev/null +++ b/libs/fusion/doc/html/fusion/algorithm/transformation/metafunctions/push_back.html @@ -0,0 +1,163 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>push_back</title> +<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../metafunctions.html" title="Metafunctions"> +<link rel="prev" href="pop_front.html" title="pop_front"> +<link rel="next" href="push_front.html" title="push_front"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="pop_front.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="push_front.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h5 class="title"> +<a name="fusion.algorithm.transformation.metafunctions.push_back"></a><a class="link" href="push_back.html" title="push_back">push_back</a> +</h5></div></div></div> +<h6> +<a name="fusion.algorithm.transformation.metafunctions.push_back.h0"></a> + <span><a name="fusion.algorithm.transformation.metafunctions.push_back.description"></a></span><a class="link" href="push_back.html#fusion.algorithm.transformation.metafunctions.push_back.description">Description</a> + </h6> +<p> + Returns the result type of <a class="link" href="../functions/push_back.html" title="push_back"><code class="computeroutput"><span class="identifier">push_back</span></code></a>, given the types of + the input sequence and element to push. + </p> +<h6> +<a name="fusion.algorithm.transformation.metafunctions.push_back.h1"></a> + <span><a name="fusion.algorithm.transformation.metafunctions.push_back.synopsis"></a></span><a class="link" href="push_back.html#fusion.algorithm.transformation.metafunctions.push_back.synopsis">Synopsis</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span> + <span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">T</span> + <span class="special">></span> +<span class="keyword">struct</span> <span class="identifier">push_back</span> +<span class="special">{</span> + <span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">type</span><span class="special">;</span> +<span class="special">};</span> +</pre> +<div class="table"> +<a name="fusion.algorithm.transformation.metafunctions.push_back.t0"></a><p class="title"><b>Table 1.100. Parameters</b></p> +<div class="table-contents"><table class="table" summary="Parameters"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Requirement + </p> + </th> +<th> + <p> + Description + </p> + </th> +</tr></thead> +<tbody> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">Sequence</span></code> + </p> + </td> +<td> + <p> + A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a> + </p> + </td> +<td> + <p> + Operation's argument + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">T</span></code> + </p> + </td> +<td> + <p> + Any type + </p> + </td> +<td> + <p> + Operation's argument + </p> + </td> +</tr> +</tbody> +</table></div> +</div> +<br class="table-break"><h6> +<a name="fusion.algorithm.transformation.metafunctions.push_back.h2"></a> + <span><a name="fusion.algorithm.transformation.metafunctions.push_back.expression_semantics"></a></span><a class="link" href="push_back.html#fusion.algorithm.transformation.metafunctions.push_back.expression_semantics">Expression + Semantics</a> + </h6> +<pre class="programlisting"><a class="link" href="push_back.html" title="push_back"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">push_back</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">T</span><span class="special">>::</span><span class="identifier">type</span> +</pre> +<p> + <span class="bold"><strong>Return type</strong></span>: + </p> +<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"> + A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a>. + </li></ul></div> +<p> + <span class="bold"><strong>Semantics</strong></span>: Returns a sequence with the + elements of <code class="computeroutput"><span class="identifier">Sequence</span></code> + and an element of type <code class="computeroutput"><span class="identifier">T</span></code> + added to the end. + </p> +<h6> +<a name="fusion.algorithm.transformation.metafunctions.push_back.h3"></a> + <span><a name="fusion.algorithm.transformation.metafunctions.push_back.complexity"></a></span><a class="link" href="push_back.html#fusion.algorithm.transformation.metafunctions.push_back.complexity">Complexity</a> + </h6> +<p> + Constant. + </p> +<h6> +<a name="fusion.algorithm.transformation.metafunctions.push_back.h4"></a> + <span><a name="fusion.algorithm.transformation.metafunctions.push_back.header"></a></span><a class="link" href="push_back.html#fusion.algorithm.transformation.metafunctions.push_back.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">push_back</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">push_back</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +</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-2006, 2011 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="pop_front.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="push_front.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/algorithm/transformation/metafunctions/push_front.html b/libs/fusion/doc/html/fusion/algorithm/transformation/metafunctions/push_front.html new file mode 100755 index 0000000000..81380d3258 --- /dev/null +++ b/libs/fusion/doc/html/fusion/algorithm/transformation/metafunctions/push_front.html @@ -0,0 +1,163 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>push_front</title> +<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../metafunctions.html" title="Metafunctions"> +<link rel="prev" href="push_back.html" title="push_back"> +<link rel="next" href="../../../tuple.html" title="Tuple"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="push_back.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../../../tuple.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h5 class="title"> +<a name="fusion.algorithm.transformation.metafunctions.push_front"></a><a class="link" href="push_front.html" title="push_front">push_front</a> +</h5></div></div></div> +<h6> +<a name="fusion.algorithm.transformation.metafunctions.push_front.h0"></a> + <span><a name="fusion.algorithm.transformation.metafunctions.push_front.description"></a></span><a class="link" href="push_front.html#fusion.algorithm.transformation.metafunctions.push_front.description">Description</a> + </h6> +<p> + Returns the result type of <a class="link" href="../functions/push_front.html" title="push_front"><code class="computeroutput"><span class="identifier">push_front</span></code></a>, given the types + of the input sequence and element to push. + </p> +<h6> +<a name="fusion.algorithm.transformation.metafunctions.push_front.h1"></a> + <span><a name="fusion.algorithm.transformation.metafunctions.push_front.synopsis"></a></span><a class="link" href="push_front.html#fusion.algorithm.transformation.metafunctions.push_front.synopsis">Synopsis</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span> + <span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">T</span> + <span class="special">></span> +<span class="keyword">struct</span> <span class="identifier">push_front</span> +<span class="special">{</span> + <span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">type</span><span class="special">;</span> +<span class="special">};</span> +</pre> +<div class="table"> +<a name="fusion.algorithm.transformation.metafunctions.push_front.t0"></a><p class="title"><b>Table 1.101. Parameters</b></p> +<div class="table-contents"><table class="table" summary="Parameters"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Requirement + </p> + </th> +<th> + <p> + Description + </p> + </th> +</tr></thead> +<tbody> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">Sequence</span></code> + </p> + </td> +<td> + <p> + A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a> + </p> + </td> +<td> + <p> + Operation's argument + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">T</span></code> + </p> + </td> +<td> + <p> + Any type + </p> + </td> +<td> + <p> + Operation's argument + </p> + </td> +</tr> +</tbody> +</table></div> +</div> +<br class="table-break"><h6> +<a name="fusion.algorithm.transformation.metafunctions.push_front.h2"></a> + <span><a name="fusion.algorithm.transformation.metafunctions.push_front.expression_semantics"></a></span><a class="link" href="push_front.html#fusion.algorithm.transformation.metafunctions.push_front.expression_semantics">Expression + Semantics</a> + </h6> +<pre class="programlisting"><a class="link" href="push_front.html" title="push_front"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">push_front</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">T</span><span class="special">>::</span><span class="identifier">type</span> +</pre> +<p> + <span class="bold"><strong>Return type</strong></span>: + </p> +<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"> + A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a>. + </li></ul></div> +<p> + <span class="bold"><strong>Semantics</strong></span>: Returns a sequence with the + elements of <code class="computeroutput"><span class="identifier">Sequence</span></code> + and an element of type <code class="computeroutput"><span class="identifier">T</span></code> + added to the beginning. + </p> +<h6> +<a name="fusion.algorithm.transformation.metafunctions.push_front.h3"></a> + <span><a name="fusion.algorithm.transformation.metafunctions.push_front.complexity"></a></span><a class="link" href="push_front.html#fusion.algorithm.transformation.metafunctions.push_front.complexity">Complexity</a> + </h6> +<p> + Constant. + </p> +<h6> +<a name="fusion.algorithm.transformation.metafunctions.push_front.h4"></a> + <span><a name="fusion.algorithm.transformation.metafunctions.push_front.header"></a></span><a class="link" href="push_front.html#fusion.algorithm.transformation.metafunctions.push_front.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">push_front</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">push_front</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +</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-2006, 2011 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="push_back.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../../../tuple.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/algorithm/transformation/metafunctions/remove.html b/libs/fusion/doc/html/fusion/algorithm/transformation/metafunctions/remove.html new file mode 100755 index 0000000000..48db2c006e --- /dev/null +++ b/libs/fusion/doc/html/fusion/algorithm/transformation/metafunctions/remove.html @@ -0,0 +1,172 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>remove</title> +<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../metafunctions.html" title="Metafunctions"> +<link rel="prev" href="replace_if.html" title="replace_if"> +<link rel="next" href="remove_if.html" title="remove_if"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="replace_if.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="remove_if.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h5 class="title"> +<a name="fusion.algorithm.transformation.metafunctions.remove"></a><a class="link" href="remove.html" title="remove">remove</a> +</h5></div></div></div> +<h6> +<a name="fusion.algorithm.transformation.metafunctions.remove.h0"></a> + <span><a name="fusion.algorithm.transformation.metafunctions.remove.description"></a></span><a class="link" href="remove.html#fusion.algorithm.transformation.metafunctions.remove.description">Description</a> + </h6> +<p> + Returns the result type of <a class="link" href="../functions/remove.html" title="remove"><code class="computeroutput"><span class="identifier">remove</span></code></a>, given the sequence and + removal types. + </p> +<h6> +<a name="fusion.algorithm.transformation.metafunctions.remove.h1"></a> + <span><a name="fusion.algorithm.transformation.metafunctions.remove.synopsis"></a></span><a class="link" href="remove.html#fusion.algorithm.transformation.metafunctions.remove.synopsis">Synopsis</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span> + <span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">T</span> + <span class="special">></span> +<span class="keyword">struct</span> <span class="identifier">remove</span> +<span class="special">{</span> + <span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">type</span><span class="special">;</span> +<span class="special">};</span> +</pre> +<div class="table"> +<a name="fusion.algorithm.transformation.metafunctions.remove.t0"></a><p class="title"><b>Table 1.90. Parameters</b></p> +<div class="table-contents"><table class="table" summary="Parameters"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Requirement + </p> + </th> +<th> + <p> + Description + </p> + </th> +</tr></thead> +<tbody> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">Sequence</span></code> + </p> + </td> +<td> + <p> + A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a> + </p> + </td> +<td> + <p> + Operation's argument + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">T</span></code> + </p> + </td> +<td> + <p> + Any type + </p> + </td> +<td> + <p> + Remove elements of this type + </p> + </td> +</tr> +</tbody> +</table></div> +</div> +<br class="table-break"><h6> +<a name="fusion.algorithm.transformation.metafunctions.remove.h2"></a> + <span><a name="fusion.algorithm.transformation.metafunctions.remove.expression_semantics"></a></span><a class="link" href="remove.html#fusion.algorithm.transformation.metafunctions.remove.expression_semantics">Expression + Semantics</a> + </h6> +<pre class="programlisting"><a class="link" href="remove.html" title="remove"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">remove</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">T</span><span class="special">>::</span><span class="identifier">type</span> +</pre> +<p> + <span class="bold"><strong>Return type</strong></span>: + </p> +<div class="itemizedlist"><ul class="itemizedlist" type="disc"> +<li class="listitem"> + A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a>. + </li> +<li class="listitem"> + A model of <a class="link" href="../../../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative + Sequence</a> if <code class="computeroutput"><span class="identifier">Sequence</span></code> + implements the <a class="link" href="../../../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative + Sequence</a> model. + </li> +</ul></div> +<p> + <span class="bold"><strong>Semantics</strong></span>: Returns a sequence containing + the elements of <code class="computeroutput"><span class="identifier">Sequence</span></code> + not of type <code class="computeroutput"><span class="identifier">T</span></code>. Equivalent + to <code class="computeroutput"><a class="link" href="replace_if.html" title="replace_if"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">replace_if</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">,</span> + <span class="identifier">boost</span><span class="special">::</span><span class="identifier">is_same</span><span class="special"><</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">_</span><span class="special">,</span> <span class="identifier">T</span><span class="special">></span> <span class="special">>::</span><span class="identifier">type</span></code>. + </p> +<h6> +<a name="fusion.algorithm.transformation.metafunctions.remove.h3"></a> + <span><a name="fusion.algorithm.transformation.metafunctions.remove.complexity"></a></span><a class="link" href="remove.html#fusion.algorithm.transformation.metafunctions.remove.complexity">Complexity</a> + </h6> +<p> + Constant. + </p> +<h6> +<a name="fusion.algorithm.transformation.metafunctions.remove.h4"></a> + <span><a name="fusion.algorithm.transformation.metafunctions.remove.header"></a></span><a class="link" href="remove.html#fusion.algorithm.transformation.metafunctions.remove.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">remove</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">remove</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +</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-2006, 2011 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="replace_if.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="remove_if.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/algorithm/transformation/metafunctions/remove_if.html b/libs/fusion/doc/html/fusion/algorithm/transformation/metafunctions/remove_if.html new file mode 100755 index 0000000000..4d94d65f81 --- /dev/null +++ b/libs/fusion/doc/html/fusion/algorithm/transformation/metafunctions/remove_if.html @@ -0,0 +1,173 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>remove_if</title> +<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../metafunctions.html" title="Metafunctions"> +<link rel="prev" href="remove.html" title="remove"> +<link rel="next" href="reverse.html" title="reverse"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="remove.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="reverse.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h5 class="title"> +<a name="fusion.algorithm.transformation.metafunctions.remove_if"></a><a class="link" href="remove_if.html" title="remove_if">remove_if</a> +</h5></div></div></div> +<h6> +<a name="fusion.algorithm.transformation.metafunctions.remove_if.h0"></a> + <span><a name="fusion.algorithm.transformation.metafunctions.remove_if.description"></a></span><a class="link" href="remove_if.html#fusion.algorithm.transformation.metafunctions.remove_if.description">Description</a> + </h6> +<p> + Returns the result type of <a class="link" href="../functions/remove_if.html" title="remove_if"><code class="computeroutput"><span class="identifier">remove_if</span></code></a>, given the input sequence + and unary <a href="http://www.boost.org/libs/mpl/doc/refmanual/lambda-expression.html" target="_top">MPL + Lambda Expression</a> predicate types. + </p> +<h6> +<a name="fusion.algorithm.transformation.metafunctions.remove_if.h1"></a> + <span><a name="fusion.algorithm.transformation.metafunctions.remove_if.synopsis"></a></span><a class="link" href="remove_if.html#fusion.algorithm.transformation.metafunctions.remove_if.synopsis">Synopsis</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span> + <span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">Pred</span> + <span class="special">></span> +<span class="keyword">struct</span> <span class="identifier">remove_if</span> +<span class="special">{</span> + <span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">type</span><span class="special">;</span> +<span class="special">};</span> +</pre> +<div class="table"> +<a name="fusion.algorithm.transformation.metafunctions.remove_if.t0"></a><p class="title"><b>Table 1.91. Parameters</b></p> +<div class="table-contents"><table class="table" summary="Parameters"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Requirement + </p> + </th> +<th> + <p> + Description + </p> + </th> +</tr></thead> +<tbody> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">Sequence</span></code> + </p> + </td> +<td> + <p> + A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a> + </p> + </td> +<td> + <p> + Operation's argument + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">Pred</span></code> + </p> + </td> +<td> + <p> + A model of unary <a href="http://www.boost.org/libs/mpl/doc/refmanual/lambda-expression.html" target="_top">MPL + Lambda Expression</a> + </p> + </td> +<td> + <p> + Remove elements which evaluate to <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">true_</span></code> + </p> + </td> +</tr> +</tbody> +</table></div> +</div> +<br class="table-break"><h6> +<a name="fusion.algorithm.transformation.metafunctions.remove_if.h2"></a> + <span><a name="fusion.algorithm.transformation.metafunctions.remove_if.expression_semantics"></a></span><a class="link" href="remove_if.html#fusion.algorithm.transformation.metafunctions.remove_if.expression_semantics">Expression + Semantics</a> + </h6> +<pre class="programlisting"><a class="link" href="remove_if.html" title="remove_if"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">remove_if</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">Pred</span><span class="special">>::</span><span class="identifier">type</span> +</pre> +<p> + <span class="bold"><strong>Return type</strong></span>: + </p> +<div class="itemizedlist"><ul class="itemizedlist" type="disc"> +<li class="listitem"> + A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a>. + </li> +<li class="listitem"> + A model of <a class="link" href="../../../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative + Sequence</a> if <code class="computeroutput"><span class="identifier">Sequence</span></code> + implements the <a class="link" href="../../../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative + Sequence</a> model. + </li> +</ul></div> +<p> + <span class="bold"><strong>Semantics</strong></span>: Returns a sequence containing + the elements of <code class="computeroutput"><span class="identifier">Sequence</span></code> + for which <code class="computeroutput"><span class="identifier">Pred</span></code> evaluates + to <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">false_</span></code>. + </p> +<h6> +<a name="fusion.algorithm.transformation.metafunctions.remove_if.h3"></a> + <span><a name="fusion.algorithm.transformation.metafunctions.remove_if.complexity"></a></span><a class="link" href="remove_if.html#fusion.algorithm.transformation.metafunctions.remove_if.complexity">Complexity</a> + </h6> +<p> + Constant. + </p> +<h6> +<a name="fusion.algorithm.transformation.metafunctions.remove_if.h4"></a> + <span><a name="fusion.algorithm.transformation.metafunctions.remove_if.header"></a></span><a class="link" href="remove_if.html#fusion.algorithm.transformation.metafunctions.remove_if.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">remove_if</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">remove_if</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +</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-2006, 2011 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="remove.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="reverse.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/algorithm/transformation/metafunctions/replace.html b/libs/fusion/doc/html/fusion/algorithm/transformation/metafunctions/replace.html new file mode 100755 index 0000000000..95ce34ccd5 --- /dev/null +++ b/libs/fusion/doc/html/fusion/algorithm/transformation/metafunctions/replace.html @@ -0,0 +1,158 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>replace</title> +<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../metafunctions.html" title="Metafunctions"> +<link rel="prev" href="transform.html" title="transform"> +<link rel="next" href="replace_if.html" title="replace_if"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="transform.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="replace_if.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h5 class="title"> +<a name="fusion.algorithm.transformation.metafunctions.replace"></a><a class="link" href="replace.html" title="replace">replace</a> +</h5></div></div></div> +<h6> +<a name="fusion.algorithm.transformation.metafunctions.replace.h0"></a> + <span><a name="fusion.algorithm.transformation.metafunctions.replace.description"></a></span><a class="link" href="replace.html#fusion.algorithm.transformation.metafunctions.replace.description">Description</a> + </h6> +<p> + Returns the result type of <a class="link" href="../functions/replace.html" title="replace"><code class="computeroutput"><span class="identifier">replace</span></code></a>, given the types of + the input sequence and element to replace. + </p> +<h6> +<a name="fusion.algorithm.transformation.metafunctions.replace.h1"></a> + <span><a name="fusion.algorithm.transformation.metafunctions.replace.synopsis"></a></span><a class="link" href="replace.html#fusion.algorithm.transformation.metafunctions.replace.synopsis">Synopsis</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span> + <span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">T</span> + <span class="special">></span> +<span class="keyword">struct</span> <span class="identifier">replace</span> +<span class="special">{</span> + <span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">type</span><span class="special">;</span> +<span class="special">};</span> +</pre> +<div class="table"> +<a name="fusion.algorithm.transformation.metafunctions.replace.t0"></a><p class="title"><b>Table 1.88. Parameters</b></p> +<div class="table-contents"><table class="table" summary="Parameters"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Requirement + </p> + </th> +<th> + <p> + Description + </p> + </th> +</tr></thead> +<tbody> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">Sequence</span></code> + </p> + </td> +<td> + <p> + A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a> + </p> + </td> +<td> + <p> + Operation's argument + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">T</span></code> + </p> + </td> +<td> + <p> + Any type + </p> + </td> +<td> + <p> + The type of the search and replacement objects + </p> + </td> +</tr> +</tbody> +</table></div> +</div> +<br class="table-break"><h6> +<a name="fusion.algorithm.transformation.metafunctions.replace.h2"></a> + <span><a name="fusion.algorithm.transformation.metafunctions.replace.expression_semantics"></a></span><a class="link" href="replace.html#fusion.algorithm.transformation.metafunctions.replace.expression_semantics">Expression + Semantics</a> + </h6> +<pre class="programlisting"><a class="link" href="replace.html" title="replace"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">replace</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">,</span><span class="identifier">T</span><span class="special">>::</span><span class="identifier">type</span> +</pre> +<p> + <span class="bold"><strong>Return type</strong></span>: A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a>. + </p> +<p> + <span class="bold"><strong>Semantics</strong></span>: Returns the return type of + <a class="link" href="../functions/replace.html" title="replace"><code class="computeroutput"><span class="identifier">replace</span></code></a>. + </p> +<h6> +<a name="fusion.algorithm.transformation.metafunctions.replace.h3"></a> + <span><a name="fusion.algorithm.transformation.metafunctions.replace.complexity"></a></span><a class="link" href="replace.html#fusion.algorithm.transformation.metafunctions.replace.complexity">Complexity</a> + </h6> +<p> + Constant. + </p> +<h6> +<a name="fusion.algorithm.transformation.metafunctions.replace.h4"></a> + <span><a name="fusion.algorithm.transformation.metafunctions.replace.header"></a></span><a class="link" href="replace.html#fusion.algorithm.transformation.metafunctions.replace.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">replace</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">replace</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +</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-2006, 2011 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="transform.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="replace_if.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/algorithm/transformation/metafunctions/replace_if.html b/libs/fusion/doc/html/fusion/algorithm/transformation/metafunctions/replace_if.html new file mode 100755 index 0000000000..904ca0e2bd --- /dev/null +++ b/libs/fusion/doc/html/fusion/algorithm/transformation/metafunctions/replace_if.html @@ -0,0 +1,177 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>replace_if</title> +<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../metafunctions.html" title="Metafunctions"> +<link rel="prev" href="replace.html" title="replace"> +<link rel="next" href="remove.html" title="remove"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="replace.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="remove.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h5 class="title"> +<a name="fusion.algorithm.transformation.metafunctions.replace_if"></a><a class="link" href="replace_if.html" title="replace_if">replace_if</a> +</h5></div></div></div> +<h6> +<a name="fusion.algorithm.transformation.metafunctions.replace_if.h0"></a> + <span><a name="fusion.algorithm.transformation.metafunctions.replace_if.description"></a></span><a class="link" href="replace_if.html#fusion.algorithm.transformation.metafunctions.replace_if.description">Description</a> + </h6> +<p> + Returns the result type of <a class="link" href="../functions/replace_if.html" title="replace_if"><code class="computeroutput"><span class="identifier">replace_if</span></code></a>, given the types + of the sequence, <a class="link" href="../../../functional/concepts/poly.html" title="Polymorphic Function Object">Polymorphic + Function Object</a> predicate and replacement object. + </p> +<h6> +<a name="fusion.algorithm.transformation.metafunctions.replace_if.h1"></a> + <span><a name="fusion.algorithm.transformation.metafunctions.replace_if.synopsis"></a></span><a class="link" href="replace_if.html#fusion.algorithm.transformation.metafunctions.replace_if.synopsis">Synopsis</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span> + <span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">F</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">T</span><span class="special">></span> +<span class="keyword">struct</span> <span class="identifier">replace_if</span> +<span class="special">{</span> + <span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">type</span><span class="special">;</span> +<span class="special">};</span> +</pre> +<div class="table"> +<a name="fusion.algorithm.transformation.metafunctions.replace_if.t0"></a><p class="title"><b>Table 1.89. Parameters</b></p> +<div class="table-contents"><table class="table" summary="Parameters"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Requirement + </p> + </th> +<th> + <p> + Description + </p> + </th> +</tr></thead> +<tbody> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">Sequence</span></code> + </p> + </td> +<td> + <p> + A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a> + </p> + </td> +<td> + <p> + Operation's argument + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">F</span></code> + </p> + </td> +<td> + <p> + A model of unary <a class="link" href="../../../functional/concepts/poly.html" title="Polymorphic Function Object">Polymorphic + Function Object</a> + </p> + </td> +<td> + <p> + Replacement predicate + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">T</span></code> + </p> + </td> +<td> + <p> + Any type + </p> + </td> +<td> + <p> + The type of the replacement object + </p> + </td> +</tr> +</tbody> +</table></div> +</div> +<br class="table-break"><h6> +<a name="fusion.algorithm.transformation.metafunctions.replace_if.h2"></a> + <span><a name="fusion.algorithm.transformation.metafunctions.replace_if.expression_semantics"></a></span><a class="link" href="replace_if.html#fusion.algorithm.transformation.metafunctions.replace_if.expression_semantics">Expression + Semantics</a> + </h6> +<pre class="programlisting"><a class="link" href="replace_if.html" title="replace_if"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">replace_if</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">,</span><span class="identifier">F</span><span class="special">,</span><span class="identifier">T</span><span class="special">>::</span><span class="identifier">type</span> +</pre> +<p> + <span class="bold"><strong>Return type</strong></span>: A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a>. + </p> +<p> + <span class="bold"><strong>Semantics</strong></span>: Returns the return type of + <a class="link" href="../functions/replace_if.html" title="replace_if"><code class="computeroutput"><span class="identifier">replace_if</span></code></a>. + </p> +<h6> +<a name="fusion.algorithm.transformation.metafunctions.replace_if.h3"></a> + <span><a name="fusion.algorithm.transformation.metafunctions.replace_if.complexity"></a></span><a class="link" href="replace_if.html#fusion.algorithm.transformation.metafunctions.replace_if.complexity">Complexity</a> + </h6> +<p> + Constant. + </p> +<h6> +<a name="fusion.algorithm.transformation.metafunctions.replace_if.h4"></a> + <span><a name="fusion.algorithm.transformation.metafunctions.replace_if.header"></a></span><a class="link" href="replace_if.html#fusion.algorithm.transformation.metafunctions.replace_if.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">replace_if</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">replace_if</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +</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-2006, 2011 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="replace.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="remove.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/algorithm/transformation/metafunctions/reverse.html b/libs/fusion/doc/html/fusion/algorithm/transformation/metafunctions/reverse.html new file mode 100755 index 0000000000..1ac950f4d3 --- /dev/null +++ b/libs/fusion/doc/html/fusion/algorithm/transformation/metafunctions/reverse.html @@ -0,0 +1,154 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>reverse</title> +<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../metafunctions.html" title="Metafunctions"> +<link rel="prev" href="remove_if.html" title="remove_if"> +<link rel="next" href="clear.html" title="clear"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="remove_if.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="clear.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h5 class="title"> +<a name="fusion.algorithm.transformation.metafunctions.reverse"></a><a class="link" href="reverse.html" title="reverse">reverse</a> +</h5></div></div></div> +<h6> +<a name="fusion.algorithm.transformation.metafunctions.reverse.h0"></a> + <span><a name="fusion.algorithm.transformation.metafunctions.reverse.description"></a></span><a class="link" href="reverse.html#fusion.algorithm.transformation.metafunctions.reverse.description">Description</a> + </h6> +<p> + Returns the result type of <a class="link" href="../functions/reverse.html" title="reverse"><code class="computeroutput"><span class="identifier">reverse</span></code></a>, given the input sequence + type. + </p> +<h6> +<a name="fusion.algorithm.transformation.metafunctions.reverse.h1"></a> + <span><a name="fusion.algorithm.transformation.metafunctions.reverse.synopsis"></a></span><a class="link" href="reverse.html#fusion.algorithm.transformation.metafunctions.reverse.synopsis">Synopsis</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span> + <span class="keyword">typename</span> <span class="identifier">Sequence</span> + <span class="special">></span> +<span class="keyword">struct</span> <span class="identifier">reverse</span> +<span class="special">{</span> + <span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">type</span><span class="special">;</span> +<span class="special">};</span> +</pre> +<div class="table"> +<a name="fusion.algorithm.transformation.metafunctions.reverse.t0"></a><p class="title"><b>Table 1.92. Parameters</b></p> +<div class="table-contents"><table class="table" summary="Parameters"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Requirement + </p> + </th> +<th> + <p> + Description + </p> + </th> +</tr></thead> +<tbody><tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">Sequence</span></code> + </p> + </td> +<td> + <p> + A model of <a class="link" href="../../../sequence/concepts/bidirectional_sequence.html" title="Bidirectional Sequence">Bidirectional + Sequence</a> + </p> + </td> +<td> + <p> + Operation's argument + </p> + </td> +</tr></tbody> +</table></div> +</div> +<br class="table-break"><h6> +<a name="fusion.algorithm.transformation.metafunctions.reverse.h2"></a> + <span><a name="fusion.algorithm.transformation.metafunctions.reverse.expression_semantics"></a></span><a class="link" href="reverse.html#fusion.algorithm.transformation.metafunctions.reverse.expression_semantics">Expression + Semantics</a> + </h6> +<pre class="programlisting"><a class="link" href="reverse.html" title="reverse"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">reverse</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">>::</span><span class="identifier">type</span> +</pre> +<p> + <span class="bold"><strong>Return type</strong></span>: + </p> +<div class="itemizedlist"><ul class="itemizedlist" type="disc"> +<li class="listitem"> + A model of <a class="link" href="../../../sequence/concepts/bidirectional_sequence.html" title="Bidirectional Sequence">Bidirectional + Sequence</a> if <code class="computeroutput"><span class="identifier">Sequence</span></code> + is a <a class="link" href="../../../sequence/concepts/bidirectional_sequence.html" title="Bidirectional Sequence">Bidirectional + Sequence</a> else, <a class="link" href="../../../sequence/concepts/random_access_sequence.html" title="Random Access Sequence">Random + Access Sequence</a> if <code class="computeroutput"><span class="identifier">Sequence</span></code> + is a <a class="link" href="../../../sequence/concepts/random_access_sequence.html" title="Random Access Sequence">Random + Access Sequence</a>. + </li> +<li class="listitem"> + A model of <a class="link" href="../../../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative + Sequence</a> if <code class="computeroutput"><span class="identifier">Sequence</span></code> + implements the <a class="link" href="../../../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative + Sequence</a> model. + </li> +</ul></div> +<p> + <span class="bold"><strong>Semantics</strong></span>: Returns a sequence with the + elements in the reverse order to <code class="computeroutput"><span class="identifier">Sequence</span></code>. + </p> +<h6> +<a name="fusion.algorithm.transformation.metafunctions.reverse.h3"></a> + <span><a name="fusion.algorithm.transformation.metafunctions.reverse.complexity"></a></span><a class="link" href="reverse.html#fusion.algorithm.transformation.metafunctions.reverse.complexity">Complexity</a> + </h6> +<p> + Constant. + </p> +<h6> +<a name="fusion.algorithm.transformation.metafunctions.reverse.h4"></a> + <span><a name="fusion.algorithm.transformation.metafunctions.reverse.header"></a></span><a class="link" href="reverse.html#fusion.algorithm.transformation.metafunctions.reverse.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">reverse</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">reverse</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +</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-2006, 2011 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="remove_if.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="clear.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/algorithm/transformation/metafunctions/transform.html b/libs/fusion/doc/html/fusion/algorithm/transformation/metafunctions/transform.html new file mode 100755 index 0000000000..91f158d2dc --- /dev/null +++ b/libs/fusion/doc/html/fusion/algorithm/transformation/metafunctions/transform.html @@ -0,0 +1,302 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>transform</title> +<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../metafunctions.html" title="Metafunctions"> +<link rel="prev" href="filter_if.html" title="filter_if"> +<link rel="next" href="replace.html" title="replace"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="filter_if.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="replace.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h5 class="title"> +<a name="fusion.algorithm.transformation.metafunctions.transform"></a><a class="link" href="transform.html" title="transform">transform</a> +</h5></div></div></div> +<h6> +<a name="fusion.algorithm.transformation.metafunctions.transform.h0"></a> + <span><a name="fusion.algorithm.transformation.metafunctions.transform.description"></a></span><a class="link" href="transform.html#fusion.algorithm.transformation.metafunctions.transform.description">Description</a> + </h6> +<p> + For a sequence <code class="computeroutput"><span class="identifier">seq</span></code> and + function object or function pointer <code class="computeroutput"><span class="identifier">f</span></code>, + <code class="computeroutput"><span class="identifier">transform</span></code> returns a new + sequence with elements created by applying <code class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e</span><span class="special">)</span></code> to each element of <code class="computeroutput"><span class="identifier">e</span></code> + of <code class="computeroutput"><span class="identifier">seq</span></code>. + </p> +<h6> +<a name="fusion.algorithm.transformation.metafunctions.transform.h1"></a> + <span><a name="fusion.algorithm.transformation.metafunctions.transform.unary_version_synopsis"></a></span><a class="link" href="transform.html#fusion.algorithm.transformation.metafunctions.transform.unary_version_synopsis">Unary + version synopsis</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span> + <span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">F</span> + <span class="special">></span> +<span class="keyword">typename</span> <a class="link" href="transform.html" title="transform"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">transform</span></code></a><span class="special"><</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">F</span><span class="special">>::</span><span class="identifier">type</span> <span class="identifier">transform</span><span class="special">(</span> + <span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">seq</span><span class="special">,</span> <span class="identifier">F</span> <span class="identifier">f</span><span class="special">);</span> +</pre> +<div class="table"> +<a name="fusion.algorithm.transformation.metafunctions.transform.t0"></a><p class="title"><b>Table 1.86. Parameters</b></p> +<div class="table-contents"><table class="table" summary="Parameters"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Requirement + </p> + </th> +<th> + <p> + Description + </p> + </th> +</tr></thead> +<tbody> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">seq</span></code> + </p> + </td> +<td> + <p> + A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a> + </p> + </td> +<td> + <p> + Operation's argument + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">f</span></code> + </p> + </td> +<td> + <p> + <code class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e</span><span class="special">)</span></code> + is a valid expression for each element <code class="computeroutput"><span class="identifier">e</span></code> + of <code class="computeroutput"><span class="identifier">seq</span></code>. <code class="computeroutput"><a href="http://www.boost.org/libs/utility/utility.htm#result_of" target="_top"><code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">result_of</span></code></a><span class="special"><</span><span class="identifier">F</span><span class="special">(</span><span class="identifier">E</span><span class="special">)>::</span><span class="identifier">type</span></code> + is the return type of <code class="computeroutput"><span class="identifier">f</span></code> + when called with a value of each element type <code class="computeroutput"><span class="identifier">E</span></code>. + </p> + </td> +<td> + <p> + Transformation function + </p> + </td> +</tr> +</tbody> +</table></div> +</div> +<br class="table-break"><h6> +<a name="fusion.algorithm.transformation.metafunctions.transform.h2"></a> + <span><a name="fusion.algorithm.transformation.metafunctions.transform.expression_semantics"></a></span><a class="link" href="transform.html#fusion.algorithm.transformation.metafunctions.transform.expression_semantics">Expression + Semantics</a> + </h6> +<pre class="programlisting"><a class="link" href="../functions/transform.html" title="transform"><code class="computeroutput"><span class="identifier">transform</span></code></a><span class="special">(</span><span class="identifier">seq</span><span class="special">,</span> <span class="identifier">f</span><span class="special">);</span> +</pre> +<p> + <span class="bold"><strong>Return type</strong></span>: + </p> +<div class="itemizedlist"><ul class="itemizedlist" type="disc"> +<li class="listitem"> + A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a> + </li> +<li class="listitem"> + A model of <a class="link" href="../../../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative + Sequence</a> if <code class="computeroutput"><span class="identifier">Sequence</span></code> + implements the <a class="link" href="../../../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative + Sequence</a> model. + </li> +</ul></div> +<p> + <span class="bold"><strong>Semantics</strong></span>: Returns a new sequence, containing + the return values of <code class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e</span><span class="special">)</span></code> for each element <code class="computeroutput"><span class="identifier">e</span></code> + within <code class="computeroutput"><span class="identifier">seq</span></code>. + </p> +<h6> +<a name="fusion.algorithm.transformation.metafunctions.transform.h3"></a> + <span><a name="fusion.algorithm.transformation.metafunctions.transform.binary_version_synopsis"></a></span><a class="link" href="transform.html#fusion.algorithm.transformation.metafunctions.transform.binary_version_synopsis">Binary + version synopsis</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span> + <span class="keyword">typename</span> <span class="identifier">Sequence1</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">Sequence2</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">F</span> + <span class="special">></span> +<span class="keyword">typename</span> <a class="link" href="transform.html" title="transform"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">transform</span></code></a><span class="special"><</span><span class="identifier">Sequence1</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">Sequence2</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">F</span><span class="special">>::</span><span class="identifier">type</span> <span class="identifier">transform</span><span class="special">(</span> + <span class="identifier">Sequence1</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">seq1</span><span class="special">,</span> <span class="identifier">Sequence2</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">seq2</span><span class="special">,</span> <span class="identifier">F</span> <span class="identifier">f</span><span class="special">);</span> +</pre> +<div class="table"> +<a name="fusion.algorithm.transformation.metafunctions.transform.t1"></a><p class="title"><b>Table 1.87. Parameters</b></p> +<div class="table-contents"><table class="table" summary="Parameters"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Requirement + </p> + </th> +<th> + <p> + Description + </p> + </th> +</tr></thead> +<tbody> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">seq1</span></code> + </p> + </td> +<td> + <p> + A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a> + </p> + </td> +<td> + <p> + Operation's argument + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">seq2</span></code> + </p> + </td> +<td> + <p> + A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a> + </p> + </td> +<td> + <p> + Operation's argument + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">f</span></code> + </p> + </td> +<td> + <p> + <code class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e1</span><span class="special">,</span><span class="identifier">e2</span><span class="special">)</span></code> + is a valid expression for each pair of elements <code class="computeroutput"><span class="identifier">e1</span></code> of <code class="computeroutput"><span class="identifier">seq1</span></code> + and <code class="computeroutput"><span class="identifier">e2</span></code> of + <code class="computeroutput"><span class="identifier">seq2</span></code>. <code class="computeroutput"><a href="http://www.boost.org/libs/utility/utility.htm#result_of" target="_top"><code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">result_of</span></code></a><span class="special"><</span><span class="identifier">F</span><span class="special">(</span><span class="identifier">E1</span><span class="special">,</span><span class="identifier">E2</span><span class="special">)>::</span><span class="identifier">type</span></code> + is the return type of <code class="computeroutput"><span class="identifier">f</span></code> + when called with elements of type <code class="computeroutput"><span class="identifier">E1</span></code> + and <code class="computeroutput"><span class="identifier">E2</span></code> + </p> + </td> +<td> + <p> + Transformation function + </p> + </td> +</tr> +</tbody> +</table></div> +</div> +<br class="table-break"><p> + <span class="bold"><strong>Return type</strong></span>: A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a>. + </p> +<p> + <span class="bold"><strong>Semantics</strong></span>: Returns a new sequence, containing + the return values of <code class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e1</span><span class="special">,</span> <span class="identifier">e2</span><span class="special">)</span></code> for each pair of elements <code class="computeroutput"><span class="identifier">e1</span></code> and <code class="computeroutput"><span class="identifier">e2</span></code> + within <code class="computeroutput"><span class="identifier">seq1</span></code> and <code class="computeroutput"><span class="identifier">seq2</span></code> respectively. + </p> +<h6> +<a name="fusion.algorithm.transformation.metafunctions.transform.h4"></a> + <span><a name="fusion.algorithm.transformation.metafunctions.transform.complexity"></a></span><a class="link" href="transform.html#fusion.algorithm.transformation.metafunctions.transform.complexity">Complexity</a> + </h6> +<p> + Constant. Returns a view which is lazily evaluated. + </p> +<h6> +<a name="fusion.algorithm.transformation.metafunctions.transform.h5"></a> + <span><a name="fusion.algorithm.transformation.metafunctions.transform.header"></a></span><a class="link" href="transform.html#fusion.algorithm.transformation.metafunctions.transform.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">transform</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">transform</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h6> +<a name="fusion.algorithm.transformation.metafunctions.transform.h6"></a> + <span><a name="fusion.algorithm.transformation.metafunctions.transform.example"></a></span><a class="link" href="transform.html#fusion.algorithm.transformation.metafunctions.transform.example">Example</a> + </h6> +<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">triple</span> +<span class="special">{</span> + <span class="keyword">typedef</span> <span class="keyword">int</span> <span class="identifier">result_type</span><span class="special">;</span> + + <span class="keyword">int</span> <span class="keyword">operator</span><span class="special">()(</span><span class="keyword">int</span> <span class="identifier">t</span><span class="special">)</span> <span class="keyword">const</span> + <span class="special">{</span> + <span class="keyword">return</span> <span class="identifier">t</span> <span class="special">*</span> <span class="number">3</span><span class="special">;</span> + <span class="special">};</span> +<span class="special">};</span> +<span class="special">...</span> +<span class="identifier">assert</span><span class="special">(</span><a class="link" href="../functions/transform.html" title="transform"><code class="computeroutput"><span class="identifier">transform</span></code></a><span class="special">(</span><a class="link" href="../../../container/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">,</span><span class="number">3</span><span class="special">),</span> <span class="identifier">triple</span><span class="special">())</span> <span class="special">==</span> <a class="link" href="../../../container/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></a><span class="special">(</span><span class="number">3</span><span class="special">,</span><span class="number">6</span><span class="special">,</span><span class="number">9</span><span class="special">));</span> +</pre> +</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-2006, 2011 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="filter_if.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="replace.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/algorithm/transformation/metafunctions/zip.html b/libs/fusion/doc/html/fusion/algorithm/transformation/metafunctions/zip.html new file mode 100755 index 0000000000..fb4f989f1e --- /dev/null +++ b/libs/fusion/doc/html/fusion/algorithm/transformation/metafunctions/zip.html @@ -0,0 +1,103 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>zip</title> +<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../metafunctions.html" title="Metafunctions"> +<link rel="prev" href="join.html" title="join"> +<link rel="next" href="pop_back.html" title="pop_back"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="join.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="pop_back.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h5 class="title"> +<a name="fusion.algorithm.transformation.metafunctions.zip"></a><a class="link" href="zip.html" title="zip">zip</a> +</h5></div></div></div> +<h6> +<a name="fusion.algorithm.transformation.metafunctions.zip.h0"></a> + <span><a name="fusion.algorithm.transformation.metafunctions.zip.description"></a></span><a class="link" href="zip.html#fusion.algorithm.transformation.metafunctions.zip.description">Description</a> + </h6> +<p> + Zips sequences together to form a single sequence, whos members are tuples + of the members of the component sequences. + </p> +<h6> +<a name="fusion.algorithm.transformation.metafunctions.zip.h1"></a> + <span><a name="fusion.algorithm.transformation.metafunctions.zip.synopsis"></a></span><a class="link" href="zip.html#fusion.algorithm.transformation.metafunctions.zip.synopsis">Synopsis</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span> + <span class="keyword">typename</span> <span class="identifier">Sequence1</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">Sequence2</span><span class="special">,</span> + <span class="special">...</span> + <span class="keyword">typename</span> <span class="identifier">SequenceN</span> + <span class="special">></span> +<span class="keyword">struct</span> <span class="identifier">zip</span> +<span class="special">{</span> + <span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">type</span><span class="special">;</span> +<span class="special">};</span> +</pre> +<h6> +<a name="fusion.algorithm.transformation.metafunctions.zip.h2"></a> + <span><a name="fusion.algorithm.transformation.metafunctions.zip.expression_semantics"></a></span><a class="link" href="zip.html#fusion.algorithm.transformation.metafunctions.zip.expression_semantics">Expression + Semantics</a> + </h6> +<pre class="programlisting"><a class="link" href="zip.html" title="zip"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">zip</span></code></a><span class="special"><</span><span class="identifier">Sequence1</span><span class="special">,</span> <span class="identifier">Sequence2</span><span class="special">,</span> <span class="special">...</span> <span class="identifier">SequenceN</span><span class="special">>::</span><span class="identifier">type</span> +</pre> +<p> + <span class="bold"><strong>Return type</strong></span>: A model of the most restrictive + traversal category of sequences <code class="computeroutput"><span class="identifier">Sequence1</span></code> + to <code class="computeroutput"><span class="identifier">SequenceN</span></code>. + </p> +<p> + <span class="bold"><strong>Semantics</strong></span>: Return a sequence containing + tuples of elements from each sequence. For example, applying zip to tuples + <code class="computeroutput"><span class="special">(</span><span class="number">1</span><span class="special">,</span> <span class="number">2</span><span class="special">,</span> + <span class="number">3</span><span class="special">)</span></code> + and <code class="computeroutput"><span class="special">(</span><span class="char">'a'</span><span class="special">,</span> <span class="char">'b'</span><span class="special">,</span> + <span class="char">'c'</span><span class="special">)</span></code> + would return <code class="computeroutput"><span class="special">((</span><span class="number">1</span><span class="special">,</span> <span class="char">'a'</span><span class="special">),(</span><span class="number">2</span><span class="special">,</span> <span class="char">'b'</span><span class="special">),(</span><span class="number">3</span><span class="special">,</span> + <span class="char">'c'</span><span class="special">))</span></code> + </p> +<h6> +<a name="fusion.algorithm.transformation.metafunctions.zip.h3"></a> + <span><a name="fusion.algorithm.transformation.metafunctions.zip.complexity"></a></span><a class="link" href="zip.html#fusion.algorithm.transformation.metafunctions.zip.complexity">Complexity</a> + </h6> +<p> + Constant. + </p> +<h6> +<a name="fusion.algorithm.transformation.metafunctions.zip.h4"></a> + <span><a name="fusion.algorithm.transformation.metafunctions.zip.header"></a></span><a class="link" href="zip.html#fusion.algorithm.transformation.metafunctions.zip.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">zip</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">zip</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +</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-2006, 2011 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="join.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="pop_back.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/change_log.html b/libs/fusion/doc/html/fusion/change_log.html new file mode 100755 index 0000000000..f360a8f342 --- /dev/null +++ b/libs/fusion/doc/html/fusion/change_log.html @@ -0,0 +1,123 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Change log</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="prev" href="notes.html" title="Notes"> +<link rel="next" href="acknowledgements.html" title="Acknowledgements"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="notes.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="acknowledgements.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h2 class="title" style="clear: both"> +<a name="fusion.change_log"></a><a class="link" href="change_log.html" title="Change log">Change log</a> +</h2></div></div></div> +<p> + This section summarizes significant changes to the Fusion library. + </p> +<div class="itemizedlist"><ul class="itemizedlist" type="disc"> +<li class="listitem"> + Sep 27, 2006: Added <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">tuple</span></code> + support. (Joel de Guzman) + </li> +<li class="listitem"> + Nov 17, 2006: Added <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">variant</span></code> + support. (Joel de Guzman) + </li> +<li class="listitem"> + Feb 15, 2007: Added functional module. (Tobias Schwinger) + </li> +<li class="listitem"> + April 2, 2007: Added struct adapter. (Joel de Guzman) + </li> +<li class="listitem"> + May 8, 2007: Added associative struct adapter. (Dan Marsden) + </li> +<li class="listitem"> + Dec 20, 2007: Removed <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">variant</span></code> + support. After thorough investigation, I think now that the move to make + variant a fusion sequence is rather quirky. A variant will always have + a size==1 regardless of the number of types it can contain and there's + no way to know at compile time what it contains. Iterating over its types + is simply wrong. All these imply that the variant is <span class="bold"><strong>not</strong></span> + a fusion sequence. (Joel de Guzman) + </li> +<li class="listitem"> + Oct 12, 2009: The accumulator is the first argument to the functor of + <a class="link" href="algorithm/iteration/functions/fold.html" title="fold"><code class="computeroutput"><span class="identifier">fold</span></code></a> and <a class="link" href="algorithm/iteration/functions/accumulate.html" title="accumulate"><code class="computeroutput"><span class="identifier">accumulate</span></code></a>. (Christopher Schmidt) + </li> +<li class="listitem"> + Oct 30, 2009: Added support for associative iterators and views. (Christopher + Schmidt) + </li> +<li class="listitem"> + March 1, 2010: Added <a class="link" href="adapted/adapt_struct_named.html" title="BOOST_FUSION_ADAPT_STRUCT_NAMED"><code class="computeroutput"><span class="identifier">BOOST_FUSION_ADAPT_STRUCT_NAMED</span></code></a> + and <a class="link" href="adapted/adapt_struct_named.html" title="BOOST_FUSION_ADAPT_STRUCT_NAMED"><code class="computeroutput"><span class="identifier">BOOST_FUSION_ADAPT_STRUCT_NAMED_NS</span></code></a> + (Hartmut Kaiser) + </li> +<li class="listitem"> + April 4, 2010: Added <a class="link" href="adapted/array.html" title="Array">array</a> + support, <a class="link" href="adapted/adapt_tpl_struct.html" title="BOOST_FUSION_ADAPT_TPL_STRUCT"><code class="computeroutput"><span class="identifier">BOOST_FUSION_ADAPT_TPL_STRUCT</span></code></a>, + <a class="link" href="adapted/adapt_assoc_tpl_struct.html" title="BOOST_FUSION_ADAPT_ASSOC_TPL_STRUCT"><code class="computeroutput"><span class="identifier">BOOST_FUSION_ADAPT_ASSOC_TPL_STRUCT</span></code></a>, + <a class="link" href="adapted/adapt_assoc_struct_named.html" title="BOOST_FUSION_ADAPT_ASSOC_STRUCT_NAMED"><code class="computeroutput"><span class="identifier">BOOST_FUSION_ADAPT_ASSOC_STRUCT_NAMED</span></code></a> + and <a class="link" href="adapted/adapt_assoc_struct_named.html" title="BOOST_FUSION_ADAPT_ASSOC_STRUCT_NAMED"><code class="computeroutput"><span class="identifier">BOOST_FUSION_ADAPT_ASSOC_STRUCT_NAMED_NS</span></code></a> + (Christopher Schmidt) + </li> +<li class="listitem"> + April 5, 2010: Added <a class="link" href="adapted/define_struct.html" title="BOOST_FUSION_DEFINE_STRUCT"><code class="computeroutput"><span class="identifier">BOOST_FUSION_DEFINE_STRUCT</span></code></a>, <a class="link" href="adapted/define_tpl_struct.html" title="BOOST_FUSION_DEFINE_TPL_STRUCT"><code class="computeroutput"><span class="identifier">BOOST_FUSION_DEFINE_TPL_STRUCT</span></code></a>, + <a class="link" href="adapted/define_assoc_struct.html" title="BOOST_FUSION_DEFINE_ASSOC_STRUCT"><code class="computeroutput"><span class="identifier">BOOST_FUSION_DEFINE_ASSOC_STRUCT</span></code></a> + and <a class="link" href="adapted/define_assoc_tpl_struct.html" title="BOOST_FUSION_DEFINE_ASSOC_TPL_STRUCT"><code class="computeroutput"><span class="identifier">BOOST_FUSION_DEFINE_ASSOC_TPL_STRUCT</span></code></a> + (Christopher Schmidt) + </li> +<li class="listitem"> + June 18, 2010: Added <a class="link" href="algorithm/iteration/functions/reverse_fold.html" title="reverse_fold"><code class="computeroutput"><span class="identifier">reverse_fold</span></code></a>, <a class="link" href="algorithm/iteration/functions/iter_fold.html" title="iter_fold"><code class="computeroutput"><span class="identifier">iter_fold</span></code></a> and <a class="link" href="algorithm/iteration/functions/reverse_iter_fold.html" title="reverse_iter_fold"><code class="computeroutput"><span class="identifier">reverse_iter_fold</span></code></a> (Christopher + Schmidt) + </li> +<li class="listitem"> + October 7, 2010: Added <a class="link" href="adapted/adapt_adt.html" title="BOOST_FUSION_ADAPT_ADT"><code class="computeroutput"><span class="identifier">BOOST_FUSION_ADAPT_ADT</span></code></a>, <a class="link" href="adapted/adapt_tpl_adt.html" title="BOOST_FUSION_ADAPT_TPL_ADT"><code class="computeroutput"><span class="identifier">BOOST_FUSION_ADAPT_TPL_ADT</span></code></a>, + <a class="link" href="adapted/adapt_assoc_adt.html" title="BOOST_FUSION_ADAPT_ASSOC_ADT"><code class="computeroutput"><span class="identifier">BOOST_FUSION_ADAPT_ASSOC_ADT</span></code></a> + and <a class="link" href="adapted/adapt_assoc_tpl_adt.html" title="BOOST_FUSION_ADAPT_ASSOC_TPL_ADT"><code class="computeroutput"><span class="identifier">BOOST_FUSION_ADAPT_ASSOC_TPL_ADT</span></code></a> + (Joel de Guzman, Hartmut Kaiser and Christopher Schmidt) + </li> +<li class="listitem"> + August 29, 2011: Added support for segmented sequences and iterators (Eric + Niebler) + </li> +<li class="listitem"> + September 16, 2011: Added preprocessed files (using wave) to speed up compilation + (Joel de Guzman) + </li> +<li class="listitem"> + October 8, 2011: Added adaptor for std::tuple (Joel de Guzman) + </li> +</ul></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-2006, 2011 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="notes.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="acknowledgements.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/container.html b/libs/fusion/doc/html/fusion/container.html new file mode 100755 index 0000000000..82abdba14a --- /dev/null +++ b/libs/fusion/doc/html/fusion/container.html @@ -0,0 +1,73 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Container</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="prev" href="sequence/operator/comparison/greater_than_equal.html" title="greater than equal"> +<link rel="next" href="container/vector.html" title="vector"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="sequence/operator/comparison/greater_than_equal.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="container/vector.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h2 class="title" style="clear: both"> +<a name="fusion.container"></a><a class="link" href="container.html" title="Container">Container</a> +</h2></div></div></div> +<div class="toc"><dl> +<dt><span class="section"><a href="container/vector.html">vector</a></span></dt> +<dt><span class="section"><a href="container/cons.html">cons</a></span></dt> +<dt><span class="section"><a href="container/list.html">list</a></span></dt> +<dt><span class="section"><a href="container/set.html">set</a></span></dt> +<dt><span class="section"><a href="container/map.html">map</a></span></dt> +<dt><span class="section"><a href="container/generation.html">Generation</a></span></dt> +<dd><dl> +<dt><span class="section"><a href="container/generation/functions.html">Functions</a></span></dt> +<dt><span class="section"><a href="container/generation/metafunctions.html">MetaFunctions</a></span></dt> +</dl></dd> +<dt><span class="section"><a href="container/conversion.html">Conversion</a></span></dt> +<dd><dl> +<dt><span class="section"><a href="container/conversion/functions.html">Functions</a></span></dt> +<dt><span class="section"><a href="container/conversion/metafunctions.html">Metafunctions</a></span></dt> +</dl></dd> +</dl></div> +<p> + Fusion provides a few predefined sequences out of the box. These <span class="emphasis"><em>containers</em></span> + actually hold heterogenously typed data; unlike <a class="link" href="view.html" title="View">Views</a>. + These containers are more or less counterparts of those in <a href="http://en.wikipedia.org/wiki/Standard_Template_Library" target="_top">STL</a>. + </p> +<h4> +<a name="fusion.container.h0"></a> + <span><a name="fusion.container.header"></a></span><a class="link" href="container.html#fusion.container.header">Header</a> + </h4> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</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">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">></span> +</pre> +</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-2006, 2011 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="sequence/operator/comparison/greater_than_equal.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="container/vector.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/container/cons.html b/libs/fusion/doc/html/fusion/container/cons.html new file mode 100755 index 0000000000..7ddcff1b54 --- /dev/null +++ b/libs/fusion/doc/html/fusion/container/cons.html @@ -0,0 +1,320 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>cons</title> +<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../container.html" title="Container"> +<link rel="prev" href="vector.html" title="vector"> +<link rel="next" href="list.html" title="list"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="vector.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../container.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="list.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h3 class="title"> +<a name="fusion.container.cons"></a><a class="link" href="cons.html" title="cons">cons</a> +</h3></div></div></div> +<h5> +<a name="fusion.container.cons.h0"></a> + <span><a name="fusion.container.cons.description"></a></span><a class="link" href="cons.html#fusion.container.cons.description">Description</a> + </h5> +<p> + <code class="computeroutput"><span class="identifier">cons</span></code> is a simple <a class="link" href="../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a>. It is a lisp style recursive list structure where <code class="computeroutput"><span class="identifier">car</span></code> is the <span class="emphasis"><em>head</em></span> and + <code class="computeroutput"><span class="identifier">cdr</span></code> is the <span class="emphasis"><em>tail</em></span>: + usually another cons structure or <code class="computeroutput"><span class="identifier">nil</span></code>: + the empty list. Fusion's <a class="link" href="list.html" title="list"><code class="computeroutput"><span class="identifier">list</span></code></a> is built on top of this more + primitive data structure. It is more efficient than <a class="link" href="vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a> when the target sequence + is constructed piecemeal (a data at a time). The runtime cost of access to + each element is peculiarly constant (see <a class="link" href="../notes.html#fusion.notes.recursive_inlined_functions">Recursive + Inlined Functions</a>). + </p> +<h5> +<a name="fusion.container.cons.h1"></a> + <span><a name="fusion.container.cons.header"></a></span><a class="link" href="cons.html#fusion.container.cons.header">Header</a> + </h5> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</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">cons</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">cons</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h5> +<a name="fusion.container.cons.h2"></a> + <span><a name="fusion.container.cons.synopsis"></a></span><a class="link" href="cons.html#fusion.container.cons.synopsis">Synopsis</a> + </h5> +<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Car</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Cdr</span> <span class="special">=</span> <span class="identifier">nil</span><span class="special">></span> +<span class="keyword">struct</span> <span class="identifier">cons</span><span class="special">;</span> +</pre> +<h5> +<a name="fusion.container.cons.h3"></a> + <span><a name="fusion.container.cons.template_parameters"></a></span><a class="link" href="cons.html#fusion.container.cons.template_parameters">Template + parameters</a> + </h5> +<div class="informaltable"><table class="table"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Description + </p> + </th> +<th> + <p> + Default + </p> + </th> +</tr></thead> +<tbody> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">Car</span></code> + </p> + </td> +<td> + <p> + Head type + </p> + </td> +<td> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">Cdr</span></code> + </p> + </td> +<td> + <p> + Tail type + </p> + </td> +<td> + <p> + <code class="computeroutput"><span class="identifier">nil</span></code> + </p> + </td> +</tr> +</tbody> +</table></div> +<h5> +<a name="fusion.container.cons.h4"></a> + <span><a name="fusion.container.cons.model_of"></a></span><a class="link" href="cons.html#fusion.container.cons.model_of">Model + of</a> + </h5> +<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"> + <a class="link" href="../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward Sequence</a> + </li></ul></div> +<div class="variablelist"> +<p class="title"><b>Notation</b></p> +<dl> +<dt><span class="term"><code class="computeroutput"><span class="identifier">nil</span></code></span></dt> +<dd><p> + An empty <code class="computeroutput"><span class="identifier">cons</span></code> + </p></dd> +<dt><span class="term"><code class="computeroutput"><span class="identifier">C</span></code></span></dt> +<dd><p> + A <code class="computeroutput"><span class="identifier">cons</span></code> type + </p></dd> +<dt><span class="term"><code class="computeroutput"><span class="identifier">l</span></code>, <code class="computeroutput"><span class="identifier">l2</span></code></span></dt> +<dd><p> + Instances of <code class="computeroutput"><span class="identifier">cons</span></code> + </p></dd> +<dt><span class="term"><code class="computeroutput"><span class="identifier">car</span></code></span></dt> +<dd><p> + An arbitrary data + </p></dd> +<dt><span class="term"><code class="computeroutput"><span class="identifier">cdr</span></code></span></dt> +<dd><p> + Another <code class="computeroutput"><span class="identifier">cons</span></code> list + </p></dd> +<dt><span class="term"><code class="computeroutput"><span class="identifier">s</span></code></span></dt> +<dd><p> + A <a class="link" href="../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a> + </p></dd> +<dt><span class="term"><code class="computeroutput"><span class="identifier">N</span></code></span></dt> +<dd><p> + An <a href="http://www.boost.org/libs/mpl/doc/refmanual/integral-constant.html" target="_top">MPL + Integral Constant</a> + </p></dd> +</dl> +</div> +<h5> +<a name="fusion.container.cons.h5"></a> + <span><a name="fusion.container.cons.expression_semantics"></a></span><a class="link" href="cons.html#fusion.container.cons.expression_semantics">Expression + Semantics</a> + </h5> +<p> + Semantics of an expression is defined only where it differs from, or is not + defined in <a class="link" href="../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a>. + </p> +<div class="informaltable"><table class="table"> +<colgroup> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Expression + </p> + </th> +<th> + <p> + Semantics + </p> + </th> +</tr></thead> +<tbody> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">nil</span><span class="special">()</span></code> + </p> + </td> +<td> + <p> + Creates an empty list. + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">C</span><span class="special">()</span></code> + </p> + </td> +<td> + <p> + Creates a cons with default constructed elements. + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">C</span><span class="special">(</span><span class="identifier">car</span><span class="special">)</span></code> + </p> + </td> +<td> + <p> + Creates a cons with <code class="computeroutput"><span class="identifier">car</span></code> + head and default constructed tail. + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">C</span><span class="special">(</span><span class="identifier">car</span><span class="special">,</span> + <span class="identifier">cdr</span><span class="special">)</span></code> + </p> + </td> +<td> + <p> + Creates a cons with <code class="computeroutput"><span class="identifier">car</span></code> + head and <code class="computeroutput"><span class="identifier">cdr</span></code> tail. + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">C</span><span class="special">(</span><span class="identifier">s</span><span class="special">)</span></code> + </p> + </td> +<td> + <p> + Copy constructs a cons from a <a class="link" href="../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a>, <code class="computeroutput"><span class="identifier">s</span></code>. + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">l</span> <span class="special">=</span> + <span class="identifier">s</span></code> + </p> + </td> +<td> + <p> + Assigns to a cons, <code class="computeroutput"><span class="identifier">l</span></code>, + from a <a class="link" href="../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a>, <code class="computeroutput"><span class="identifier">s</span></code>. + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><a class="link" href="../sequence/intrinsic/functions/at.html" title="at"><code class="computeroutput"><span class="identifier">at</span></code></a><span class="special"><</span><span class="identifier">N</span><span class="special">>(</span><span class="identifier">l</span><span class="special">)</span></code> + </p> + </td> +<td> + <p> + The Nth element from the beginning of the sequence; see <a class="link" href="../sequence/intrinsic/functions/at.html" title="at"><code class="computeroutput"><span class="identifier">at</span></code></a>. + </p> + </td> +</tr> +</tbody> +</table></div> +<div class="sidebar"> +<div class="titlepage"></div> +<p> + <span class="inlinemediaobject"><img src="../../images/note.png" alt="note"></span> <code class="computeroutput"><a class="link" href="../sequence/intrinsic/functions/at.html" title="at"><code class="computeroutput"><span class="identifier">at</span></code></a><span class="special"><</span><span class="identifier">N</span><span class="special">>(</span><span class="identifier">l</span><span class="special">)</span></code> is provided + for convenience and compatibility with the original <a href="http://www.boost.org/libs/tuple/doc/tuple_users_guide.html" target="_top">Boost.Tuple</a> + library, despite <code class="computeroutput"><span class="identifier">cons</span></code> being + a <a class="link" href="../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward Sequence</a> + only (<code class="computeroutput"><span class="identifier">at</span></code> is supposed to be + a <a class="link" href="../sequence/concepts/random_access_sequence.html" title="Random Access Sequence">Random + Access Sequence</a> requirement). The runtime complexity of <a class="link" href="../sequence/intrinsic/functions/at.html" title="at"><code class="computeroutput"><span class="identifier">at</span></code></a> is constant (see <a class="link" href="../notes.html#fusion.notes.recursive_inlined_functions">Recursive + Inlined Functions</a>). + </p> +</div> +<h5> +<a name="fusion.container.cons.h6"></a> + <span><a name="fusion.container.cons.example"></a></span><a class="link" href="cons.html#fusion.container.cons.example">Example</a> + </h5> +<pre class="programlisting"><span class="identifier">cons</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="identifier">cons</span><span class="special"><</span><span class="keyword">float</span><span class="special">></span> <span class="special">></span> <span class="identifier">l</span><span class="special">(</span><span class="number">12</span><span class="special">,</span> <span class="identifier">cons</span><span class="special"><</span><span class="keyword">float</span><span class="special">>(</span><span class="number">5.5f</span><span class="special">));</span> +<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special"><<</span> <a class="link" href="../sequence/intrinsic/functions/at_c.html" title="at_c"><code class="computeroutput"><span class="identifier">at_c</span></code></a><span class="special"><</span><span class="number">0</span><span class="special">>(</span><span class="identifier">l</span><span class="special">)</span> <span class="special"><<</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span> +<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special"><<</span> <a class="link" href="../sequence/intrinsic/functions/at_c.html" title="at_c"><code class="computeroutput"><span class="identifier">at_c</span></code></a><span class="special"><</span><span class="number">1</span><span class="special">>(</span><span class="identifier">l</span><span class="special">)</span> <span class="special"><<</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span> +</pre> +</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-2006, 2011 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="vector.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../container.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="list.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/container/conversion.html b/libs/fusion/doc/html/fusion/container/conversion.html new file mode 100755 index 0000000000..8a359c4b0d --- /dev/null +++ b/libs/fusion/doc/html/fusion/container/conversion.html @@ -0,0 +1,58 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Conversion</title> +<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../container.html" title="Container"> +<link rel="prev" href="generation/metafunctions/map_tie.html" title="map_tie"> +<link rel="next" href="conversion/functions.html" title="Functions"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="generation/metafunctions/map_tie.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../container.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="conversion/functions.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h3 class="title"> +<a name="fusion.container.conversion"></a><a class="link" href="conversion.html" title="Conversion">Conversion</a> +</h3></div></div></div> +<div class="toc"><dl> +<dt><span class="section"><a href="conversion/functions.html">Functions</a></span></dt> +<dt><span class="section"><a href="conversion/metafunctions.html">Metafunctions</a></span></dt> +</dl></div> +<p> + All fusion sequences can be converted to one of the <a class="link" href="../container.html" title="Container">Container</a> + types using one of these conversion functions. + </p> +<h5> +<a name="fusion.container.conversion.h0"></a> + <span><a name="fusion.container.conversion.header"></a></span><a class="link" href="conversion.html#fusion.container.conversion.header">Header</a> + </h5> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</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">convert</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +</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-2006, 2011 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="generation/metafunctions/map_tie.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../container.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="conversion/functions.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/container/conversion/functions.html b/libs/fusion/doc/html/fusion/container/conversion/functions.html new file mode 100755 index 0000000000..93964a9b68 --- /dev/null +++ b/libs/fusion/doc/html/fusion/container/conversion/functions.html @@ -0,0 +1,50 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Functions</title> +<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../conversion.html" title="Conversion"> +<link rel="prev" href="../conversion.html" title="Conversion"> +<link rel="next" href="functions/as_list.html" title="as_list"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="../conversion.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../conversion.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="functions/as_list.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h4 class="title"> +<a name="fusion.container.conversion.functions"></a><a class="link" href="functions.html" title="Functions">Functions</a> +</h4></div></div></div> +<div class="toc"><dl> +<dt><span class="section"><a href="functions/as_list.html">as_list</a></span></dt> +<dt><span class="section"><a href="functions/as_vector.html">as_vector</a></span></dt> +<dt><span class="section"><a href="functions/as_set.html">as_set</a></span></dt> +<dt><span class="section"><a href="functions/as_map.html">as_map</a></span></dt> +</dl></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-2006, 2011 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="../conversion.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../conversion.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="functions/as_list.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/container/conversion/functions/as_list.html b/libs/fusion/doc/html/fusion/container/conversion/functions/as_list.html new file mode 100755 index 0000000000..3643c6958f --- /dev/null +++ b/libs/fusion/doc/html/fusion/container/conversion/functions/as_list.html @@ -0,0 +1,135 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>as_list</title> +<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../functions.html" title="Functions"> +<link rel="prev" href="../functions.html" title="Functions"> +<link rel="next" href="as_vector.html" title="as_vector"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="../functions.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="as_vector.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h5 class="title"> +<a name="fusion.container.conversion.functions.as_list"></a><a class="link" href="as_list.html" title="as_list">as_list</a> +</h5></div></div></div> +<h6> +<a name="fusion.container.conversion.functions.as_list.h0"></a> + <span><a name="fusion.container.conversion.functions.as_list.description"></a></span><a class="link" href="as_list.html#fusion.container.conversion.functions.as_list.description">Description</a> + </h6> +<p> + Convert a fusion sequence to a <a class="link" href="../../list.html" title="list"><code class="computeroutput"><span class="identifier">list</span></code></a>. + </p> +<h6> +<a name="fusion.container.conversion.functions.as_list.h1"></a> + <span><a name="fusion.container.conversion.functions.as_list.synopsis"></a></span><a class="link" href="as_list.html#fusion.container.conversion.functions.as_list.synopsis">Synopsis</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">></span> +<span class="keyword">typename</span> <span class="identifier">result_of</span><span class="special">::</span><span class="identifier">as_list</span><span class="special"><</span><span class="identifier">Sequence</span><span class="special">>::</span><span class="identifier">type</span> +<span class="identifier">as_list</span><span class="special">(</span><span class="identifier">Sequence</span><span class="special">&</span> <span class="identifier">seq</span><span class="special">);</span> + +<span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">></span> +<span class="keyword">typename</span> <span class="identifier">result_of</span><span class="special">::</span><span class="identifier">as_list</span><span class="special"><</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">>::</span><span class="identifier">type</span> +<span class="identifier">as_list</span><span class="special">(</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">seq</span><span class="special">);</span> +</pre> +<h6> +<a name="fusion.container.conversion.functions.as_list.h2"></a> + <span><a name="fusion.container.conversion.functions.as_list.parameters"></a></span><a class="link" href="as_list.html#fusion.container.conversion.functions.as_list.parameters">Parameters</a> + </h6> +<div class="informaltable"><table class="table"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Requirement + </p> + </th> +<th> + <p> + Description + </p> + </th> +</tr></thead> +<tbody><tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">seq</span></code> + </p> + </td> +<td> + <p> + An instance of Sequence + </p> + </td> +<td> + <p> + The sequence to convert. + </p> + </td> +</tr></tbody> +</table></div> +<h6> +<a name="fusion.container.conversion.functions.as_list.h3"></a> + <span><a name="fusion.container.conversion.functions.as_list.expression_semantics"></a></span><a class="link" href="as_list.html#fusion.container.conversion.functions.as_list.expression_semantics">Expression + Semantics</a> + </h6> +<pre class="programlisting"><span class="identifier">as_list</span><span class="special">(</span><span class="identifier">seq</span><span class="special">);</span> +</pre> +<p> + <span class="bold"><strong>Return type</strong></span>: <a class="link" href="../metafunctions/as_list.html" title="as_list"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">as_list</span></code></a><code class="computeroutput"><span class="special"><</span><span class="identifier">Sequence</span><span class="special">>::</span><span class="identifier">type</span></code> + </p> +<p> + <span class="bold"><strong>Semantics</strong></span>: Convert a fusion sequence, + <code class="computeroutput"><span class="identifier">seq</span></code>, to a <a class="link" href="../../list.html" title="list"><code class="computeroutput"><span class="identifier">list</span></code></a>. + </p> +<h6> +<a name="fusion.container.conversion.functions.as_list.h4"></a> + <span><a name="fusion.container.conversion.functions.as_list.header"></a></span><a class="link" href="as_list.html#fusion.container.conversion.functions.as_list.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</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">convert</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">as_list</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h6> +<a name="fusion.container.conversion.functions.as_list.h5"></a> + <span><a name="fusion.container.conversion.functions.as_list.example"></a></span><a class="link" href="as_list.html#fusion.container.conversion.functions.as_list.example">Example</a> + </h6> +<pre class="programlisting"><span class="identifier">as_list</span><span class="special">(</span><a class="link" href="../../generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></a><span class="special">(</span><span class="char">'x'</span><span class="special">,</span> <span class="number">123</span><span class="special">,</span> <span class="string">"hello"</span><span class="special">))</span> +</pre> +</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-2006, 2011 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="../functions.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="as_vector.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/container/conversion/functions/as_map.html b/libs/fusion/doc/html/fusion/container/conversion/functions/as_map.html new file mode 100755 index 0000000000..78871a6b95 --- /dev/null +++ b/libs/fusion/doc/html/fusion/container/conversion/functions/as_map.html @@ -0,0 +1,141 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>as_map</title> +<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../functions.html" title="Functions"> +<link rel="prev" href="as_set.html" title="as_set"> +<link rel="next" href="../metafunctions.html" title="Metafunctions"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="as_set.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h5 class="title"> +<a name="fusion.container.conversion.functions.as_map"></a><a class="link" href="as_map.html" title="as_map">as_map</a> +</h5></div></div></div> +<h6> +<a name="fusion.container.conversion.functions.as_map.h0"></a> + <span><a name="fusion.container.conversion.functions.as_map.description"></a></span><a class="link" href="as_map.html#fusion.container.conversion.functions.as_map.description">Description</a> + </h6> +<p> + Convert a fusion sequence to a <a class="link" href="../../map.html" title="map"><code class="computeroutput"><span class="identifier">map</span></code></a>. + </p> +<h6> +<a name="fusion.container.conversion.functions.as_map.h1"></a> + <span><a name="fusion.container.conversion.functions.as_map.synopsis"></a></span><a class="link" href="as_map.html#fusion.container.conversion.functions.as_map.synopsis">Synopsis</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">></span> +<span class="keyword">typename</span> <span class="identifier">result_of</span><span class="special">::</span><span class="identifier">as_map</span><span class="special"><</span><span class="identifier">Sequence</span><span class="special">>::</span><span class="identifier">type</span> +<span class="identifier">as_map</span><span class="special">(</span><span class="identifier">Sequence</span><span class="special">&</span> <span class="identifier">seq</span><span class="special">);</span> + +<span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">></span> +<span class="keyword">typename</span> <span class="identifier">result_of</span><span class="special">::</span><span class="identifier">as_map</span><span class="special"><</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">>::</span><span class="identifier">type</span> +<span class="identifier">as_map</span><span class="special">(</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">seq</span><span class="special">);</span> +</pre> +<h6> +<a name="fusion.container.conversion.functions.as_map.h2"></a> + <span><a name="fusion.container.conversion.functions.as_map.parameters"></a></span><a class="link" href="as_map.html#fusion.container.conversion.functions.as_map.parameters">Parameters</a> + </h6> +<div class="informaltable"><table class="table"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Requirement + </p> + </th> +<th> + <p> + Description + </p> + </th> +</tr></thead> +<tbody><tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">seq</span></code> + </p> + </td> +<td> + <p> + An instance of Sequence + </p> + </td> +<td> + <p> + The sequence to convert. + </p> + </td> +</tr></tbody> +</table></div> +<h6> +<a name="fusion.container.conversion.functions.as_map.h3"></a> + <span><a name="fusion.container.conversion.functions.as_map.expression_semantics"></a></span><a class="link" href="as_map.html#fusion.container.conversion.functions.as_map.expression_semantics">Expression + Semantics</a> + </h6> +<pre class="programlisting"><span class="identifier">as_map</span><span class="special">(</span><span class="identifier">seq</span><span class="special">);</span> +</pre> +<p> + <span class="bold"><strong>Return type</strong></span>: <a class="link" href="../metafunctions/as_map.html" title="as_map"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">as_map</span></code></a><code class="computeroutput"><span class="special"><</span><span class="identifier">Sequence</span><span class="special">>::</span><span class="identifier">type</span></code> + </p> +<p> + <span class="bold"><strong>Semantics</strong></span>: Convert a fusion sequence, + <code class="computeroutput"><span class="identifier">seq</span></code>, to a <a class="link" href="../../map.html" title="map"><code class="computeroutput"><span class="identifier">map</span></code></a>. + </p> +<p> + <span class="bold"><strong>Precondition</strong></span>: The elements of the sequence + are assumed to be __fusion_pair__s. There may be no duplicate <a class="link" href="../../../support/pair.html" title="pair"><code class="computeroutput"><span class="identifier">fusion</span><span class="special">::</span><span class="identifier">pair</span></code></a> key types. + </p> +<h6> +<a name="fusion.container.conversion.functions.as_map.h4"></a> + <span><a name="fusion.container.conversion.functions.as_map.header"></a></span><a class="link" href="as_map.html#fusion.container.conversion.functions.as_map.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</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">map</span><span class="special">/</span><span class="identifier">convert</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">as_map</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h6> +<a name="fusion.container.conversion.functions.as_map.h5"></a> + <span><a name="fusion.container.conversion.functions.as_map.example"></a></span><a class="link" href="as_map.html#fusion.container.conversion.functions.as_map.example">Example</a> + </h6> +<pre class="programlisting"><span class="identifier">as_map</span><span class="special">(</span><a class="link" href="../../generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></a><span class="special">(</span> + <a class="link" href="../../../support/pair.html" title="pair"><code class="computeroutput"><span class="identifier">make_pair</span></code></a><span class="special"><</span><span class="keyword">int</span><span class="special">>(</span><span class="char">'X'</span><span class="special">)</span> + <span class="special">,</span> <a class="link" href="../../../support/pair.html" title="pair"><code class="computeroutput"><span class="identifier">make_pair</span></code></a><span class="special"><</span><span class="keyword">double</span><span class="special">>(</span><span class="string">"Men"</span><span class="special">)))</span> +</pre> +</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-2006, 2011 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="as_set.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/container/conversion/functions/as_set.html b/libs/fusion/doc/html/fusion/container/conversion/functions/as_set.html new file mode 100755 index 0000000000..81b7091cb5 --- /dev/null +++ b/libs/fusion/doc/html/fusion/container/conversion/functions/as_set.html @@ -0,0 +1,139 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>as_set</title> +<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../functions.html" title="Functions"> +<link rel="prev" href="as_vector.html" title="as_vector"> +<link rel="next" href="as_map.html" title="as_map"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="as_vector.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="as_map.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h5 class="title"> +<a name="fusion.container.conversion.functions.as_set"></a><a class="link" href="as_set.html" title="as_set">as_set</a> +</h5></div></div></div> +<h6> +<a name="fusion.container.conversion.functions.as_set.h0"></a> + <span><a name="fusion.container.conversion.functions.as_set.description"></a></span><a class="link" href="as_set.html#fusion.container.conversion.functions.as_set.description">Description</a> + </h6> +<p> + Convert a fusion sequence to a <a class="link" href="../../set.html" title="set"><code class="computeroutput"><span class="identifier">set</span></code></a>. + </p> +<h6> +<a name="fusion.container.conversion.functions.as_set.h1"></a> + <span><a name="fusion.container.conversion.functions.as_set.synopsis"></a></span><a class="link" href="as_set.html#fusion.container.conversion.functions.as_set.synopsis">Synopsis</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">></span> +<span class="keyword">typename</span> <span class="identifier">result_of</span><span class="special">::</span><span class="identifier">as_set</span><span class="special"><</span><span class="identifier">Sequence</span><span class="special">>::</span><span class="identifier">type</span> +<span class="identifier">as_set</span><span class="special">(</span><span class="identifier">Sequence</span><span class="special">&</span> <span class="identifier">seq</span><span class="special">);</span> + +<span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">></span> +<span class="keyword">typename</span> <span class="identifier">result_of</span><span class="special">::</span><span class="identifier">as_set</span><span class="special"><</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">>::</span><span class="identifier">type</span> +<span class="identifier">as_set</span><span class="special">(</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">seq</span><span class="special">);</span> +</pre> +<h6> +<a name="fusion.container.conversion.functions.as_set.h2"></a> + <span><a name="fusion.container.conversion.functions.as_set.parameters"></a></span><a class="link" href="as_set.html#fusion.container.conversion.functions.as_set.parameters">Parameters</a> + </h6> +<div class="informaltable"><table class="table"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Requirement + </p> + </th> +<th> + <p> + Description + </p> + </th> +</tr></thead> +<tbody><tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">seq</span></code> + </p> + </td> +<td> + <p> + An instance of Sequence + </p> + </td> +<td> + <p> + The sequence to convert. + </p> + </td> +</tr></tbody> +</table></div> +<h6> +<a name="fusion.container.conversion.functions.as_set.h3"></a> + <span><a name="fusion.container.conversion.functions.as_set.expression_semantics"></a></span><a class="link" href="as_set.html#fusion.container.conversion.functions.as_set.expression_semantics">Expression + Semantics</a> + </h6> +<pre class="programlisting"><span class="identifier">as_set</span><span class="special">(</span><span class="identifier">seq</span><span class="special">);</span> +</pre> +<p> + <span class="bold"><strong>Return type</strong></span>: <a class="link" href="../metafunctions/as_set.html" title="as_set"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">as_set</span></code></a><code class="computeroutput"><span class="special"><</span><span class="identifier">Sequence</span><span class="special">>::</span><span class="identifier">type</span></code> + </p> +<p> + <span class="bold"><strong>Semantics</strong></span>: Convert a fusion sequence, + <code class="computeroutput"><span class="identifier">seq</span></code>, to a <a class="link" href="../../set.html" title="set"><code class="computeroutput"><span class="identifier">set</span></code></a>. + </p> +<p> + <span class="bold"><strong>Precondition</strong></span>: There may be no duplicate + key types. + </p> +<h6> +<a name="fusion.container.conversion.functions.as_set.h4"></a> + <span><a name="fusion.container.conversion.functions.as_set.header"></a></span><a class="link" href="as_set.html#fusion.container.conversion.functions.as_set.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</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">set</span><span class="special">/</span><span class="identifier">convert</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">as_set</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h6> +<a name="fusion.container.conversion.functions.as_set.h5"></a> + <span><a name="fusion.container.conversion.functions.as_set.example"></a></span><a class="link" href="as_set.html#fusion.container.conversion.functions.as_set.example">Example</a> + </h6> +<pre class="programlisting"><span class="identifier">as_set</span><span class="special">(</span><a class="link" href="../../generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></a><span class="special">(</span><span class="char">'x'</span><span class="special">,</span> <span class="number">123</span><span class="special">,</span> <span class="string">"hello"</span><span class="special">))</span> +</pre> +</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-2006, 2011 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="as_vector.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="as_map.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/container/conversion/functions/as_vector.html b/libs/fusion/doc/html/fusion/container/conversion/functions/as_vector.html new file mode 100755 index 0000000000..a7eb65c92f --- /dev/null +++ b/libs/fusion/doc/html/fusion/container/conversion/functions/as_vector.html @@ -0,0 +1,135 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>as_vector</title> +<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../functions.html" title="Functions"> +<link rel="prev" href="as_list.html" title="as_list"> +<link rel="next" href="as_set.html" title="as_set"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="as_list.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="as_set.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h5 class="title"> +<a name="fusion.container.conversion.functions.as_vector"></a><a class="link" href="as_vector.html" title="as_vector">as_vector</a> +</h5></div></div></div> +<h6> +<a name="fusion.container.conversion.functions.as_vector.h0"></a> + <span><a name="fusion.container.conversion.functions.as_vector.description"></a></span><a class="link" href="as_vector.html#fusion.container.conversion.functions.as_vector.description">Description</a> + </h6> +<p> + Convert a fusion sequence to a <a class="link" href="../../vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a>. + </p> +<h6> +<a name="fusion.container.conversion.functions.as_vector.h1"></a> + <span><a name="fusion.container.conversion.functions.as_vector.synopsis"></a></span><a class="link" href="as_vector.html#fusion.container.conversion.functions.as_vector.synopsis">Synopsis</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">></span> +<span class="keyword">typename</span> <span class="identifier">result_of</span><span class="special">::</span><span class="identifier">as_vector</span><span class="special"><</span><span class="identifier">Sequence</span><span class="special">>::</span><span class="identifier">type</span> +<span class="identifier">as_vector</span><span class="special">(</span><span class="identifier">Sequence</span><span class="special">&</span> <span class="identifier">seq</span><span class="special">);</span> + +<span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">></span> +<span class="keyword">typename</span> <span class="identifier">result_of</span><span class="special">::</span><span class="identifier">as_vector</span><span class="special"><</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">>::</span><span class="identifier">type</span> +<span class="identifier">as_vector</span><span class="special">(</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">seq</span><span class="special">);</span> +</pre> +<h6> +<a name="fusion.container.conversion.functions.as_vector.h2"></a> + <span><a name="fusion.container.conversion.functions.as_vector.parameters"></a></span><a class="link" href="as_vector.html#fusion.container.conversion.functions.as_vector.parameters">Parameters</a> + </h6> +<div class="informaltable"><table class="table"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Requirement + </p> + </th> +<th> + <p> + Description + </p> + </th> +</tr></thead> +<tbody><tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">seq</span></code> + </p> + </td> +<td> + <p> + An instance of Sequence + </p> + </td> +<td> + <p> + The sequence to convert. + </p> + </td> +</tr></tbody> +</table></div> +<h6> +<a name="fusion.container.conversion.functions.as_vector.h3"></a> + <span><a name="fusion.container.conversion.functions.as_vector.expression_semantics"></a></span><a class="link" href="as_vector.html#fusion.container.conversion.functions.as_vector.expression_semantics">Expression + Semantics</a> + </h6> +<pre class="programlisting"><span class="identifier">as_vector</span><span class="special">(</span><span class="identifier">seq</span><span class="special">);</span> +</pre> +<p> + <span class="bold"><strong>Return type</strong></span>: <a class="link" href="../metafunctions/as_vector.html" title="as_vector"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">as_vector</span></code></a><code class="computeroutput"><span class="special"><</span><span class="identifier">Sequence</span><span class="special">>::</span><span class="identifier">type</span></code> + </p> +<p> + <span class="bold"><strong>Semantics</strong></span>: Convert a fusion sequence, + <code class="computeroutput"><span class="identifier">seq</span></code>, to a <a class="link" href="../../vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a>. + </p> +<h6> +<a name="fusion.container.conversion.functions.as_vector.h4"></a> + <span><a name="fusion.container.conversion.functions.as_vector.header"></a></span><a class="link" href="as_vector.html#fusion.container.conversion.functions.as_vector.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</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">vector</span><span class="special">/</span><span class="identifier">convert</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">as_vector</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h6> +<a name="fusion.container.conversion.functions.as_vector.h5"></a> + <span><a name="fusion.container.conversion.functions.as_vector.example"></a></span><a class="link" href="as_vector.html#fusion.container.conversion.functions.as_vector.example">Example</a> + </h6> +<pre class="programlisting"><span class="identifier">as_vector</span><span class="special">(</span><a class="link" href="../../generation/functions/make_list.html" title="make_list"><code class="computeroutput"><span class="identifier">make_list</span></code></a><span class="special">(</span><span class="char">'x'</span><span class="special">,</span> <span class="number">123</span><span class="special">,</span> <span class="string">"hello"</span><span class="special">))</span> +</pre> +</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-2006, 2011 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="as_list.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="as_set.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/container/conversion/metafunctions.html b/libs/fusion/doc/html/fusion/container/conversion/metafunctions.html new file mode 100755 index 0000000000..f0070f840b --- /dev/null +++ b/libs/fusion/doc/html/fusion/container/conversion/metafunctions.html @@ -0,0 +1,50 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Metafunctions</title> +<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../conversion.html" title="Conversion"> +<link rel="prev" href="functions/as_map.html" title="as_map"> +<link rel="next" href="metafunctions/as_list.html" title="as_list"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="functions/as_map.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../conversion.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="metafunctions/as_list.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h4 class="title"> +<a name="fusion.container.conversion.metafunctions"></a><a class="link" href="metafunctions.html" title="Metafunctions">Metafunctions</a> +</h4></div></div></div> +<div class="toc"><dl> +<dt><span class="section"><a href="metafunctions/as_list.html">as_list</a></span></dt> +<dt><span class="section"><a href="metafunctions/as_vector.html">as_vector</a></span></dt> +<dt><span class="section"><a href="metafunctions/as_set.html">as_set</a></span></dt> +<dt><span class="section"><a href="metafunctions/as_map.html">as_map</a></span></dt> +</dl></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-2006, 2011 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="functions/as_map.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../conversion.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="metafunctions/as_list.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/container/conversion/metafunctions/as_list.html b/libs/fusion/doc/html/fusion/container/conversion/metafunctions/as_list.html new file mode 100755 index 0000000000..df9cdf3d2d --- /dev/null +++ b/libs/fusion/doc/html/fusion/container/conversion/metafunctions/as_list.html @@ -0,0 +1,131 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>as_list</title> +<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../metafunctions.html" title="Metafunctions"> +<link rel="prev" href="../metafunctions.html" title="Metafunctions"> +<link rel="next" href="as_vector.html" title="as_vector"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="../metafunctions.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="as_vector.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h5 class="title"> +<a name="fusion.container.conversion.metafunctions.as_list"></a><a class="link" href="as_list.html" title="as_list">as_list</a> +</h5></div></div></div> +<h6> +<a name="fusion.container.conversion.metafunctions.as_list.h0"></a> + <span><a name="fusion.container.conversion.metafunctions.as_list.description"></a></span><a class="link" href="as_list.html#fusion.container.conversion.metafunctions.as_list.description">Description</a> + </h6> +<p> + Returns the result type of <a class="link" href="../functions/as_list.html" title="as_list"><code class="computeroutput"><span class="identifier">as_list</span></code></a>. + </p> +<h6> +<a name="fusion.container.conversion.metafunctions.as_list.h1"></a> + <span><a name="fusion.container.conversion.metafunctions.as_list.synopsis"></a></span><a class="link" href="as_list.html#fusion.container.conversion.metafunctions.as_list.synopsis">Synopsis</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">></span> +<span class="keyword">struct</span> <span class="identifier">as_list</span><span class="special">;</span> +</pre> +<h6> +<a name="fusion.container.conversion.metafunctions.as_list.h2"></a> + <span><a name="fusion.container.conversion.metafunctions.as_list.parameters"></a></span><a class="link" href="as_list.html#fusion.container.conversion.metafunctions.as_list.parameters">Parameters</a> + </h6> +<div class="informaltable"><table class="table"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Requirement + </p> + </th> +<th> + <p> + Description + </p> + </th> +</tr></thead> +<tbody><tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">Sequence</span></code> + </p> + </td> +<td> + <p> + A fusion <a class="link" href="../../../sequence.html" title="Sequence">Sequence</a> + </p> + </td> +<td> + <p> + The sequence type to convert. + </p> + </td> +</tr></tbody> +</table></div> +<h6> +<a name="fusion.container.conversion.metafunctions.as_list.h3"></a> + <span><a name="fusion.container.conversion.metafunctions.as_list.expression_semantics"></a></span><a class="link" href="as_list.html#fusion.container.conversion.metafunctions.as_list.expression_semantics">Expression + Semantics</a> + </h6> +<pre class="programlisting"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">as_list</span><span class="special"><</span><span class="identifier">Sequence</span><span class="special">>::</span><span class="identifier">type</span><span class="special">;</span> +</pre> +<p> + <span class="bold"><strong>Return type</strong></span>: A <a class="link" href="../../list.html" title="list"><code class="computeroutput"><span class="identifier">list</span></code></a> with same elements as the + input sequence, <code class="computeroutput"><span class="identifier">Sequence</span></code>. + </p> +<p> + <span class="bold"><strong>Semantics</strong></span>: Convert a fusion sequence, + <code class="computeroutput"><span class="identifier">Sequence</span></code>, to a <a class="link" href="../../list.html" title="list"><code class="computeroutput"><span class="identifier">list</span></code></a>. + </p> +<h6> +<a name="fusion.container.conversion.metafunctions.as_list.h4"></a> + <span><a name="fusion.container.conversion.metafunctions.as_list.header"></a></span><a class="link" href="as_list.html#fusion.container.conversion.metafunctions.as_list.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</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">convert</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">as_list</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h6> +<a name="fusion.container.conversion.metafunctions.as_list.h5"></a> + <span><a name="fusion.container.conversion.metafunctions.as_list.example"></a></span><a class="link" href="as_list.html#fusion.container.conversion.metafunctions.as_list.example">Example</a> + </h6> +<pre class="programlisting"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">as_list</span><span class="special"><</span><a class="link" href="../../vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><</span><span class="keyword">char</span><span class="special">,</span> <span class="keyword">int</span><span class="special">></span> <span class="special">>::</span><span class="identifier">type</span> +</pre> +</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-2006, 2011 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="../metafunctions.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="as_vector.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/container/conversion/metafunctions/as_map.html b/libs/fusion/doc/html/fusion/container/conversion/metafunctions/as_map.html new file mode 100755 index 0000000000..3b8cefd123 --- /dev/null +++ b/libs/fusion/doc/html/fusion/container/conversion/metafunctions/as_map.html @@ -0,0 +1,137 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>as_map</title> +<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../metafunctions.html" title="Metafunctions"> +<link rel="prev" href="as_set.html" title="as_set"> +<link rel="next" href="../../../view.html" title="View"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="as_set.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../../../view.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h5 class="title"> +<a name="fusion.container.conversion.metafunctions.as_map"></a><a class="link" href="as_map.html" title="as_map">as_map</a> +</h5></div></div></div> +<h6> +<a name="fusion.container.conversion.metafunctions.as_map.h0"></a> + <span><a name="fusion.container.conversion.metafunctions.as_map.description"></a></span><a class="link" href="as_map.html#fusion.container.conversion.metafunctions.as_map.description">Description</a> + </h6> +<p> + Returns the result type of <a class="link" href="../functions/as_map.html" title="as_map"><code class="computeroutput"><span class="identifier">as_map</span></code></a>. + </p> +<h6> +<a name="fusion.container.conversion.metafunctions.as_map.h1"></a> + <span><a name="fusion.container.conversion.metafunctions.as_map.synopsis"></a></span><a class="link" href="as_map.html#fusion.container.conversion.metafunctions.as_map.synopsis">Synopsis</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">></span> +<span class="keyword">struct</span> <span class="identifier">as_map</span><span class="special">;</span> +</pre> +<h6> +<a name="fusion.container.conversion.metafunctions.as_map.h2"></a> + <span><a name="fusion.container.conversion.metafunctions.as_map.parameters"></a></span><a class="link" href="as_map.html#fusion.container.conversion.metafunctions.as_map.parameters">Parameters</a> + </h6> +<div class="informaltable"><table class="table"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Requirement + </p> + </th> +<th> + <p> + Description + </p> + </th> +</tr></thead> +<tbody><tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">Sequence</span></code> + </p> + </td> +<td> + <p> + A fusion <a class="link" href="../../../sequence.html" title="Sequence">Sequence</a> + </p> + </td> +<td> + <p> + The sequence to convert. + </p> + </td> +</tr></tbody> +</table></div> +<h6> +<a name="fusion.container.conversion.metafunctions.as_map.h3"></a> + <span><a name="fusion.container.conversion.metafunctions.as_map.expression_semantics"></a></span><a class="link" href="as_map.html#fusion.container.conversion.metafunctions.as_map.expression_semantics">Expression + Semantics</a> + </h6> +<pre class="programlisting"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">as_map</span><span class="special"><</span><span class="identifier">Sequence</span><span class="special">>::</span><span class="identifier">type</span><span class="special">;</span> +</pre> +<p> + <span class="bold"><strong>Return type</strong></span>: A <a class="link" href="../../map.html" title="map"><code class="computeroutput"><span class="identifier">map</span></code></a> with same elements as the + input sequence, <code class="computeroutput"><span class="identifier">Sequence</span></code>. + </p> +<p> + <span class="bold"><strong>Semantics</strong></span>: Convert a fusion sequence, + <code class="computeroutput"><span class="identifier">Sequence</span></code>, to a <a class="link" href="../../map.html" title="map"><code class="computeroutput"><span class="identifier">map</span></code></a>. + </p> +<p> + <span class="bold"><strong>Precondition</strong></span>: The elements of the sequence + are assumed to be __fusion_pair__s. There may be no duplicate <a class="link" href="../../../support/pair.html" title="pair"><code class="computeroutput"><span class="identifier">fusion</span><span class="special">::</span><span class="identifier">pair</span></code></a> key types. + </p> +<h6> +<a name="fusion.container.conversion.metafunctions.as_map.h4"></a> + <span><a name="fusion.container.conversion.metafunctions.as_map.header"></a></span><a class="link" href="as_map.html#fusion.container.conversion.metafunctions.as_map.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</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">map</span><span class="special">/</span><span class="identifier">convert</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">as_map</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h6> +<a name="fusion.container.conversion.metafunctions.as_map.h5"></a> + <span><a name="fusion.container.conversion.metafunctions.as_map.example"></a></span><a class="link" href="as_map.html#fusion.container.conversion.metafunctions.as_map.example">Example</a> + </h6> +<pre class="programlisting"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">as_map</span><span class="special"><</span><a class="link" href="../../vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><</span> + <a class="link" href="../../../support/pair.html" title="pair"><code class="computeroutput"><span class="identifier">fusion</span><span class="special">::</span><span class="identifier">pair</span></code></a><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">char</span><span class="special">></span> + <span class="special">,</span> <a class="link" href="../../../support/pair.html" title="pair"><code class="computeroutput"><span class="identifier">fusion</span><span class="special">::</span><span class="identifier">pair</span></code></a><span class="special"><</span><span class="keyword">double</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">></span> <span class="special">></span> <span class="special">>::</span><span class="identifier">type</span> +</pre> +</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-2006, 2011 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="as_set.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../../../view.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/container/conversion/metafunctions/as_set.html b/libs/fusion/doc/html/fusion/container/conversion/metafunctions/as_set.html new file mode 100755 index 0000000000..fbe54fbd29 --- /dev/null +++ b/libs/fusion/doc/html/fusion/container/conversion/metafunctions/as_set.html @@ -0,0 +1,135 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>as_set</title> +<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../metafunctions.html" title="Metafunctions"> +<link rel="prev" href="as_vector.html" title="as_vector"> +<link rel="next" href="as_map.html" title="as_map"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="as_vector.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="as_map.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h5 class="title"> +<a name="fusion.container.conversion.metafunctions.as_set"></a><a class="link" href="as_set.html" title="as_set">as_set</a> +</h5></div></div></div> +<h6> +<a name="fusion.container.conversion.metafunctions.as_set.h0"></a> + <span><a name="fusion.container.conversion.metafunctions.as_set.description"></a></span><a class="link" href="as_set.html#fusion.container.conversion.metafunctions.as_set.description">Description</a> + </h6> +<p> + Returns the result type of <a class="link" href="../functions/as_set.html" title="as_set"><code class="computeroutput"><span class="identifier">as_set</span></code></a>. + </p> +<h6> +<a name="fusion.container.conversion.metafunctions.as_set.h1"></a> + <span><a name="fusion.container.conversion.metafunctions.as_set.synopsis"></a></span><a class="link" href="as_set.html#fusion.container.conversion.metafunctions.as_set.synopsis">Synopsis</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">></span> +<span class="keyword">struct</span> <span class="identifier">as_set</span><span class="special">;</span> +</pre> +<h6> +<a name="fusion.container.conversion.metafunctions.as_set.h2"></a> + <span><a name="fusion.container.conversion.metafunctions.as_set.parameters"></a></span><a class="link" href="as_set.html#fusion.container.conversion.metafunctions.as_set.parameters">Parameters</a> + </h6> +<div class="informaltable"><table class="table"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Requirement + </p> + </th> +<th> + <p> + Description + </p> + </th> +</tr></thead> +<tbody><tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">Sequence</span></code> + </p> + </td> +<td> + <p> + A fusion <a class="link" href="../../../sequence.html" title="Sequence">Sequence</a> + </p> + </td> +<td> + <p> + The sequence to convert. + </p> + </td> +</tr></tbody> +</table></div> +<h6> +<a name="fusion.container.conversion.metafunctions.as_set.h3"></a> + <span><a name="fusion.container.conversion.metafunctions.as_set.expression_semantics"></a></span><a class="link" href="as_set.html#fusion.container.conversion.metafunctions.as_set.expression_semantics">Expression + Semantics</a> + </h6> +<pre class="programlisting"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">as_set</span><span class="special"><</span><span class="identifier">Sequence</span><span class="special">>::</span><span class="identifier">type</span><span class="special">;</span> +</pre> +<p> + <span class="bold"><strong>Return type</strong></span>: A <a class="link" href="../../set.html" title="set"><code class="computeroutput"><span class="identifier">set</span></code></a> with same elements as the + input sequence, <code class="computeroutput"><span class="identifier">Sequence</span></code>. + </p> +<p> + <span class="bold"><strong>Semantics</strong></span>: Convert a fusion sequence, + <code class="computeroutput"><span class="identifier">Sequence</span></code>, to a <a class="link" href="../../set.html" title="set"><code class="computeroutput"><span class="identifier">set</span></code></a>. + </p> +<p> + <span class="bold"><strong>Precondition</strong></span>: There may be no duplicate + key types. + </p> +<h6> +<a name="fusion.container.conversion.metafunctions.as_set.h4"></a> + <span><a name="fusion.container.conversion.metafunctions.as_set.header"></a></span><a class="link" href="as_set.html#fusion.container.conversion.metafunctions.as_set.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</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">set</span><span class="special">/</span><span class="identifier">convert</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">as_set</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h6> +<a name="fusion.container.conversion.metafunctions.as_set.h5"></a> + <span><a name="fusion.container.conversion.metafunctions.as_set.example"></a></span><a class="link" href="as_set.html#fusion.container.conversion.metafunctions.as_set.example">Example</a> + </h6> +<pre class="programlisting"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">as_set</span><span class="special"><</span><a class="link" href="../../vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><</span><span class="keyword">char</span><span class="special">,</span> <span class="keyword">int</span><span class="special">></span> <span class="special">>::</span><span class="identifier">type</span> +</pre> +</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-2006, 2011 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="as_vector.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="as_map.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/container/conversion/metafunctions/as_vector.html b/libs/fusion/doc/html/fusion/container/conversion/metafunctions/as_vector.html new file mode 100755 index 0000000000..6baeed5817 --- /dev/null +++ b/libs/fusion/doc/html/fusion/container/conversion/metafunctions/as_vector.html @@ -0,0 +1,131 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>as_vector</title> +<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../metafunctions.html" title="Metafunctions"> +<link rel="prev" href="as_list.html" title="as_list"> +<link rel="next" href="as_set.html" title="as_set"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="as_list.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="as_set.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h5 class="title"> +<a name="fusion.container.conversion.metafunctions.as_vector"></a><a class="link" href="as_vector.html" title="as_vector">as_vector</a> +</h5></div></div></div> +<h6> +<a name="fusion.container.conversion.metafunctions.as_vector.h0"></a> + <span><a name="fusion.container.conversion.metafunctions.as_vector.description"></a></span><a class="link" href="as_vector.html#fusion.container.conversion.metafunctions.as_vector.description">Description</a> + </h6> +<p> + Returns the result type of <a class="link" href="../functions/as_vector.html" title="as_vector"><code class="computeroutput"><span class="identifier">as_vector</span></code></a>. + </p> +<h6> +<a name="fusion.container.conversion.metafunctions.as_vector.h1"></a> + <span><a name="fusion.container.conversion.metafunctions.as_vector.synopsis"></a></span><a class="link" href="as_vector.html#fusion.container.conversion.metafunctions.as_vector.synopsis">Synopsis</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">></span> +<span class="keyword">struct</span> <span class="identifier">as_vector</span><span class="special">;</span> +</pre> +<h6> +<a name="fusion.container.conversion.metafunctions.as_vector.h2"></a> + <span><a name="fusion.container.conversion.metafunctions.as_vector.parameters"></a></span><a class="link" href="as_vector.html#fusion.container.conversion.metafunctions.as_vector.parameters">Parameters</a> + </h6> +<div class="informaltable"><table class="table"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Requirement + </p> + </th> +<th> + <p> + Description + </p> + </th> +</tr></thead> +<tbody><tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">Sequence</span></code> + </p> + </td> +<td> + <p> + A fusion <a class="link" href="../../../sequence.html" title="Sequence">Sequence</a> + </p> + </td> +<td> + <p> + The sequence to convert. + </p> + </td> +</tr></tbody> +</table></div> +<h6> +<a name="fusion.container.conversion.metafunctions.as_vector.h3"></a> + <span><a name="fusion.container.conversion.metafunctions.as_vector.expression_semantics"></a></span><a class="link" href="as_vector.html#fusion.container.conversion.metafunctions.as_vector.expression_semantics">Expression + Semantics</a> + </h6> +<pre class="programlisting"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">as_vector</span><span class="special"><</span><span class="identifier">Sequence</span><span class="special">>::</span><span class="identifier">type</span><span class="special">;</span> +</pre> +<p> + <span class="bold"><strong>Return type</strong></span>: A <a class="link" href="../../vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a> with same elements as + the input sequence, <code class="computeroutput"><span class="identifier">Sequence</span></code>. + </p> +<p> + <span class="bold"><strong>Semantics</strong></span>: Convert a fusion sequence, + <code class="computeroutput"><span class="identifier">Sequence</span></code>, to a <a class="link" href="../../vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a>. + </p> +<h6> +<a name="fusion.container.conversion.metafunctions.as_vector.h4"></a> + <span><a name="fusion.container.conversion.metafunctions.as_vector.header"></a></span><a class="link" href="as_vector.html#fusion.container.conversion.metafunctions.as_vector.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</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">vector</span><span class="special">/</span><span class="identifier">convert</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">as_vector</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h6> +<a name="fusion.container.conversion.metafunctions.as_vector.h5"></a> + <span><a name="fusion.container.conversion.metafunctions.as_vector.example"></a></span><a class="link" href="as_vector.html#fusion.container.conversion.metafunctions.as_vector.example">Example</a> + </h6> +<pre class="programlisting"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">as_vector</span><span class="special"><</span><a class="link" href="../../list.html" title="list"><code class="computeroutput"><span class="identifier">list</span></code></a><span class="special"><</span><span class="keyword">char</span><span class="special">,</span> <span class="keyword">int</span><span class="special">></span> <span class="special">>::</span><span class="identifier">type</span> +</pre> +</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-2006, 2011 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="as_list.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="as_set.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/container/generation.html b/libs/fusion/doc/html/fusion/container/generation.html new file mode 100755 index 0000000000..ffcbe187cb --- /dev/null +++ b/libs/fusion/doc/html/fusion/container/generation.html @@ -0,0 +1,58 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Generation</title> +<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../container.html" title="Container"> +<link rel="prev" href="map.html" title="map"> +<link rel="next" href="generation/functions.html" title="Functions"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="map.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../container.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="generation/functions.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h3 class="title"> +<a name="fusion.container.generation"></a><a class="link" href="generation.html" title="Generation">Generation</a> +</h3></div></div></div> +<div class="toc"><dl> +<dt><span class="section"><a href="generation/functions.html">Functions</a></span></dt> +<dt><span class="section"><a href="generation/metafunctions.html">MetaFunctions</a></span></dt> +</dl></div> +<p> + These are the functions that you can use to generate various forms of <a class="link" href="../container.html" title="Container">Container</a> from elemental values. + </p> +<h5> +<a name="fusion.container.generation.h0"></a> + <span><a name="fusion.container.generation.header"></a></span><a class="link" href="generation.html#fusion.container.generation.header">Header</a> + </h5> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</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">generation</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">generation</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +</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-2006, 2011 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="map.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../container.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="generation/functions.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/container/generation/functions.html b/libs/fusion/doc/html/fusion/container/generation/functions.html new file mode 100755 index 0000000000..c7a605dd03 --- /dev/null +++ b/libs/fusion/doc/html/fusion/container/generation/functions.html @@ -0,0 +1,55 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Functions</title> +<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../generation.html" title="Generation"> +<link rel="prev" href="../generation.html" title="Generation"> +<link rel="next" href="functions/make_list.html" title="make_list"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="../generation.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../generation.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="functions/make_list.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h4 class="title"> +<a name="fusion.container.generation.functions"></a><a class="link" href="functions.html" title="Functions">Functions</a> +</h4></div></div></div> +<div class="toc"><dl> +<dt><span class="section"><a href="functions/make_list.html">make_list</a></span></dt> +<dt><span class="section"><a href="functions/make_cons.html">make_cons</a></span></dt> +<dt><span class="section"><a href="functions/make_vector.html">make_vector</a></span></dt> +<dt><span class="section"><a href="functions/make_set.html">make_set</a></span></dt> +<dt><span class="section"><a href="functions/make_map.html">make_map</a></span></dt> +<dt><span class="section"><a href="functions/tiers.html">Tiers</a></span></dt> +<dt><span class="section"><a href="functions/list_tie.html">list_tie</a></span></dt> +<dt><span class="section"><a href="functions/vector_tie.html">vector_tie</a></span></dt> +<dt><span class="section"><a href="functions/map_tie.html">map_tie</a></span></dt> +</dl></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-2006, 2011 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="../generation.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../generation.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="functions/make_list.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/container/generation/functions/list_tie.html b/libs/fusion/doc/html/fusion/container/generation/functions/list_tie.html new file mode 100755 index 0000000000..a210cbd985 --- /dev/null +++ b/libs/fusion/doc/html/fusion/container/generation/functions/list_tie.html @@ -0,0 +1,145 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>list_tie</title> +<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../functions.html" title="Functions"> +<link rel="prev" href="tiers.html" title="Tiers"> +<link rel="next" href="vector_tie.html" title="vector_tie"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="tiers.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="vector_tie.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h5 class="title"> +<a name="fusion.container.generation.functions.list_tie"></a><a class="link" href="list_tie.html" title="list_tie">list_tie</a> +</h5></div></div></div> +<h6> +<a name="fusion.container.generation.functions.list_tie.h0"></a> + <span><a name="fusion.container.generation.functions.list_tie.description"></a></span><a class="link" href="list_tie.html#fusion.container.generation.functions.list_tie.description">Description</a> + </h6> +<p> + Constructs a tie using a <a class="link" href="../../list.html" title="list"><code class="computeroutput"><span class="identifier">list</span></code></a> sequence. + </p> +<h6> +<a name="fusion.container.generation.functions.list_tie.h1"></a> + <span><a name="fusion.container.generation.functions.list_tie.synopsis"></a></span><a class="link" href="list_tie.html#fusion.container.generation.functions.list_tie.synopsis">Synopsis</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">T0</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T1</span><span class="special">,...</span> <span class="keyword">typename</span> <span class="identifier">TN</span><span class="special">></span> +<a class="link" href="../../list.html" title="list"><code class="computeroutput"><span class="identifier">list</span></code></a><span class="special"><</span><span class="identifier">T0</span><span class="special">&,</span> <span class="identifier">T1</span><span class="special">&,...</span> <span class="identifier">TN</span><span class="special">&></span> +<span class="identifier">list_tie</span><span class="special">(</span><span class="identifier">T0</span><span class="special">&</span> <span class="identifier">x0</span><span class="special">,</span> <span class="identifier">T1</span><span class="special">&</span> <span class="identifier">x1</span><span class="special">...</span> <span class="identifier">TN</span><span class="special">&</span> <span class="identifier">xN</span><span class="special">);</span> +</pre> +<p> + The variadic function accepts <code class="computeroutput"><span class="number">0</span></code> + to <code class="computeroutput"><span class="identifier">FUSION_MAX_LIST_SIZE</span></code> + elements, where <code class="computeroutput"><span class="identifier">FUSION_MAX_LIST_SIZE</span></code> + is a user definable predefined maximum that defaults to <code class="computeroutput"><span class="number">10</span></code>. You may define the preprocessor constant + <code class="computeroutput"><span class="identifier">FUSION_MAX_LIST_SIZE</span></code> + before including any Fusion header to change the default. Example: + </p> +<pre class="programlisting"><span class="preprocessor">#define</span> <span class="identifier">FUSION_MAX_LIST_SIZE</span> <span class="number">20</span> +</pre> +<h6> +<a name="fusion.container.generation.functions.list_tie.h2"></a> + <span><a name="fusion.container.generation.functions.list_tie.parameters"></a></span><a class="link" href="list_tie.html#fusion.container.generation.functions.list_tie.parameters">Parameters</a> + </h6> +<div class="informaltable"><table class="table"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Requirement + </p> + </th> +<th> + <p> + Description + </p> + </th> +</tr></thead> +<tbody><tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">x0</span><span class="special">,</span> + <span class="identifier">x1</span><span class="special">,...</span> + <span class="identifier">xN</span></code> + </p> + </td> +<td> + <p> + Instances of <code class="computeroutput"><span class="identifier">T0</span><span class="special">,</span> <span class="identifier">T1</span><span class="special">,...</span> <span class="identifier">TN</span></code> + </p> + </td> +<td> + <p> + The arguments to <code class="computeroutput"><span class="identifier">list_tie</span></code> + </p> + </td> +</tr></tbody> +</table></div> +<h6> +<a name="fusion.container.generation.functions.list_tie.h3"></a> + <span><a name="fusion.container.generation.functions.list_tie.expression_semantics"></a></span><a class="link" href="list_tie.html#fusion.container.generation.functions.list_tie.expression_semantics">Expression + Semantics</a> + </h6> +<pre class="programlisting"><span class="identifier">list_tie</span><span class="special">(</span><span class="identifier">x0</span><span class="special">,</span> <span class="identifier">x1</span><span class="special">,...</span> <span class="identifier">xN</span><span class="special">);</span> +</pre> +<p> + <span class="bold"><strong>Return type</strong></span>: <a class="link" href="../../list.html" title="list"><code class="computeroutput"><span class="identifier">list</span></code></a><T0&, T1&,... + TN&> + </p> +<p> + <span class="bold"><strong>Semantics</strong></span>: Create a <a class="link" href="../../list.html" title="list"><code class="computeroutput"><span class="identifier">list</span></code></a> of references from <code class="computeroutput"><span class="identifier">x0</span><span class="special">,</span> <span class="identifier">x1</span><span class="special">,...</span> <span class="identifier">xN</span></code>. + </p> +<h6> +<a name="fusion.container.generation.functions.list_tie.h4"></a> + <span><a name="fusion.container.generation.functions.list_tie.header"></a></span><a class="link" href="list_tie.html#fusion.container.generation.functions.list_tie.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</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">generation</span><span class="special">/</span><span class="identifier">list_tie</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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_tie</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h6> +<a name="fusion.container.generation.functions.list_tie.h5"></a> + <span><a name="fusion.container.generation.functions.list_tie.example"></a></span><a class="link" href="list_tie.html#fusion.container.generation.functions.list_tie.example">Example</a> + </h6> +<pre class="programlisting"><span class="keyword">int</span> <span class="identifier">i</span> <span class="special">=</span> <span class="number">123</span><span class="special">;</span> +<span class="keyword">double</span> <span class="identifier">d</span> <span class="special">=</span> <span class="number">123.456</span><span class="special">;</span> +<span class="identifier">list_tie</span><span class="special">(</span><span class="identifier">i</span><span class="special">,</span> <span class="identifier">d</span><span class="special">)</span> +</pre> +</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-2006, 2011 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="tiers.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="vector_tie.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/container/generation/functions/make_cons.html b/libs/fusion/doc/html/fusion/container/generation/functions/make_cons.html new file mode 100755 index 0000000000..e9c8623012 --- /dev/null +++ b/libs/fusion/doc/html/fusion/container/generation/functions/make_cons.html @@ -0,0 +1,165 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>make_cons</title> +<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../functions.html" title="Functions"> +<link rel="prev" href="make_list.html" title="make_list"> +<link rel="next" href="make_vector.html" title="make_vector"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="make_list.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="make_vector.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h5 class="title"> +<a name="fusion.container.generation.functions.make_cons"></a><a class="link" href="make_cons.html" title="make_cons">make_cons</a> +</h5></div></div></div> +<h6> +<a name="fusion.container.generation.functions.make_cons.h0"></a> + <span><a name="fusion.container.generation.functions.make_cons.description"></a></span><a class="link" href="make_cons.html#fusion.container.generation.functions.make_cons.description">Description</a> + </h6> +<p> + Create a <a class="link" href="../../cons.html" title="cons"><code class="computeroutput"><span class="identifier">cons</span></code></a> + from <code class="computeroutput"><span class="identifier">car</span></code> (<span class="emphasis"><em>head</em></span>) + and optional <code class="computeroutput"><span class="identifier">cdr</span></code> (<span class="emphasis"><em>tail</em></span>). + </p> +<h6> +<a name="fusion.container.generation.functions.make_cons.h1"></a> + <span><a name="fusion.container.generation.functions.make_cons.synopsis"></a></span><a class="link" href="make_cons.html#fusion.container.generation.functions.make_cons.synopsis">Synopsis</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Car</span><span class="special">></span> +<span class="keyword">typename</span> <a class="link" href="../metafunctions/make_cons.html" title="make_cons"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">make_cons</span></code></a><span class="special"><</span><span class="identifier">Car</span><span class="special">>::</span><span class="identifier">type</span> +<span class="identifier">make_cons</span><span class="special">(</span><span class="identifier">Car</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">car</span><span class="special">);</span> + +<span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Car</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Cdr</span><span class="special">></span> +<span class="keyword">typename</span> <a class="link" href="../metafunctions/make_cons.html" title="make_cons"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">make_cons</span></code></a><span class="special"><</span><span class="identifier">Car</span><span class="special">,</span> <span class="identifier">Cdr</span><span class="special">>::</span><span class="identifier">type</span> +<span class="identifier">make_cons</span><span class="special">(</span><span class="identifier">Car</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">car</span><span class="special">,</span> <span class="identifier">Cdr</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">cdr</span><span class="special">);</span> +</pre> +<h6> +<a name="fusion.container.generation.functions.make_cons.h2"></a> + <span><a name="fusion.container.generation.functions.make_cons.parameters"></a></span><a class="link" href="make_cons.html#fusion.container.generation.functions.make_cons.parameters">Parameters</a> + </h6> +<div class="informaltable"><table class="table"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Requirement + </p> + </th> +<th> + <p> + Description + </p> + </th> +</tr></thead> +<tbody> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">car</span></code> + </p> + </td> +<td> + <p> + Instance of <code class="computeroutput"><span class="identifier">Car</span></code> + </p> + </td> +<td> + <p> + The list's head + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">cdr</span></code> + </p> + </td> +<td> + <p> + Instance of <code class="computeroutput"><span class="identifier">Cdr</span></code> + </p> + </td> +<td> + <p> + The list's tail (optional) + </p> + </td> +</tr> +</tbody> +</table></div> +<h6> +<a name="fusion.container.generation.functions.make_cons.h3"></a> + <span><a name="fusion.container.generation.functions.make_cons.expression_semantics"></a></span><a class="link" href="make_cons.html#fusion.container.generation.functions.make_cons.expression_semantics">Expression + Semantics</a> + </h6> +<pre class="programlisting"><span class="identifier">make_cons</span><span class="special">(</span><span class="identifier">car</span><span class="special">,</span> <span class="identifier">cdr</span><span class="special">);</span> +</pre> +<p> + <span class="bold"><strong>Return type</strong></span>: <a class="link" href="../metafunctions/make_cons.html" title="make_cons"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">make_cons</span></code></a><code class="computeroutput"><span class="special"><</span><span class="identifier">Car</span><span class="special">,</span> <span class="identifier">Cdr</span><span class="special">>::</span><span class="identifier">type</span></code> or <a class="link" href="../metafunctions/make_cons.html" title="make_cons"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">make_cons</span></code></a><code class="computeroutput"><span class="special"><</span><span class="identifier">Car</span><span class="special">>::</span><span class="identifier">type</span></code> + </p> +<p> + <span class="bold"><strong>Semantics</strong></span>: Create a <a class="link" href="../../cons.html" title="cons"><code class="computeroutput"><span class="identifier">cons</span></code></a> from <code class="computeroutput"><span class="identifier">car</span></code> + (<span class="emphasis"><em>head</em></span>) and optional <code class="computeroutput"><span class="identifier">cdr</span></code> + (<span class="emphasis"><em>tail</em></span>). + </p> +<h6> +<a name="fusion.container.generation.functions.make_cons.h4"></a> + <span><a name="fusion.container.generation.functions.make_cons.header"></a></span><a class="link" href="make_cons.html#fusion.container.generation.functions.make_cons.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</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">generation</span><span class="special">/</span><span class="identifier">make_cons</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">make_cons</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h6> +<a name="fusion.container.generation.functions.make_cons.h5"></a> + <span><a name="fusion.container.generation.functions.make_cons.example"></a></span><a class="link" href="make_cons.html#fusion.container.generation.functions.make_cons.example">Example</a> + </h6> +<pre class="programlisting"><span class="identifier">make_cons</span><span class="special">(</span><span class="char">'x'</span><span class="special">,</span> <span class="identifier">make_cons</span><span class="special">(</span><span class="number">123</span><span class="special">))</span> +</pre> +<h6> +<a name="fusion.container.generation.functions.make_cons.h6"></a> + <span><a name="fusion.container.generation.functions.make_cons.see_also"></a></span><a class="link" href="make_cons.html#fusion.container.generation.functions.make_cons.see_also">See + also</a> + </h6> +<p> + <a class="link" href="../../../notes.html#fusion.notes.boost__ref"><code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">ref</span></code></a> + </p> +</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-2006, 2011 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="make_list.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="make_vector.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/container/generation/functions/make_list.html b/libs/fusion/doc/html/fusion/container/generation/functions/make_list.html new file mode 100755 index 0000000000..8c83ca1984 --- /dev/null +++ b/libs/fusion/doc/html/fusion/container/generation/functions/make_list.html @@ -0,0 +1,151 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>make_list</title> +<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../functions.html" title="Functions"> +<link rel="prev" href="../functions.html" title="Functions"> +<link rel="next" href="make_cons.html" title="make_cons"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="../functions.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="make_cons.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h5 class="title"> +<a name="fusion.container.generation.functions.make_list"></a><a class="link" href="make_list.html" title="make_list">make_list</a> +</h5></div></div></div> +<h6> +<a name="fusion.container.generation.functions.make_list.h0"></a> + <span><a name="fusion.container.generation.functions.make_list.description"></a></span><a class="link" href="make_list.html#fusion.container.generation.functions.make_list.description">Description</a> + </h6> +<p> + Create a <a class="link" href="../../list.html" title="list"><code class="computeroutput"><span class="identifier">list</span></code></a> + from one or more values. + </p> +<h6> +<a name="fusion.container.generation.functions.make_list.h1"></a> + <span><a name="fusion.container.generation.functions.make_list.synopsis"></a></span><a class="link" href="make_list.html#fusion.container.generation.functions.make_list.synopsis">Synopsis</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">T0</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T1</span><span class="special">,...</span> <span class="keyword">typename</span> <span class="identifier">TN</span><span class="special">></span> +<span class="keyword">typename</span> <a class="link" href="../metafunctions/make_list.html" title="make_list"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">make_list</span></code></a><span class="special"><</span><span class="identifier">T0</span><span class="special">,</span> <span class="identifier">T1</span><span class="special">,...</span> <span class="identifier">TN</span><span class="special">>::</span><span class="identifier">type</span> +<span class="identifier">make_list</span><span class="special">(</span><span class="identifier">T0</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">x0</span><span class="special">,</span> <span class="identifier">T1</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">x1</span><span class="special">...</span> <span class="identifier">TN</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">xN</span><span class="special">);</span> +</pre> +<p> + The variadic function accepts <code class="computeroutput"><span class="number">0</span></code> + to <code class="computeroutput"><span class="identifier">FUSION_MAX_LIST_SIZE</span></code> + elements, where <code class="computeroutput"><span class="identifier">FUSION_MAX_LIST_SIZE</span></code> + is a user definable predefined maximum that defaults to <code class="computeroutput"><span class="number">10</span></code>. You may define the preprocessor constant + <code class="computeroutput"><span class="identifier">FUSION_MAX_LIST_SIZE</span></code> + before including any Fusion header to change the default. Example: + </p> +<pre class="programlisting"><span class="preprocessor">#define</span> <span class="identifier">FUSION_MAX_LIST_SIZE</span> <span class="number">20</span> +</pre> +<h6> +<a name="fusion.container.generation.functions.make_list.h2"></a> + <span><a name="fusion.container.generation.functions.make_list.parameters"></a></span><a class="link" href="make_list.html#fusion.container.generation.functions.make_list.parameters">Parameters</a> + </h6> +<div class="informaltable"><table class="table"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Requirement + </p> + </th> +<th> + <p> + Description + </p> + </th> +</tr></thead> +<tbody><tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">x0</span><span class="special">,</span> + <span class="identifier">x1</span><span class="special">,...</span> + <span class="identifier">xN</span></code> + </p> + </td> +<td> + <p> + Instances of <code class="computeroutput"><span class="identifier">T0</span><span class="special">,</span> <span class="identifier">T1</span><span class="special">,...</span> <span class="identifier">TN</span></code> + </p> + </td> +<td> + <p> + The arguments to <code class="computeroutput"><span class="identifier">make_list</span></code> + </p> + </td> +</tr></tbody> +</table></div> +<h6> +<a name="fusion.container.generation.functions.make_list.h3"></a> + <span><a name="fusion.container.generation.functions.make_list.expression_semantics"></a></span><a class="link" href="make_list.html#fusion.container.generation.functions.make_list.expression_semantics">Expression + Semantics</a> + </h6> +<pre class="programlisting"><span class="identifier">make_list</span><span class="special">(</span><span class="identifier">x0</span><span class="special">,</span> <span class="identifier">x1</span><span class="special">,...</span> <span class="identifier">xN</span><span class="special">);</span> +</pre> +<p> + <span class="bold"><strong>Return type</strong></span>: <a class="link" href="../metafunctions/make_list.html" title="make_list"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">make_list</span></code></a><code class="computeroutput"><span class="special"><</span><span class="identifier">T0</span><span class="special">,</span> <span class="identifier">T1</span><span class="special">,...</span> <span class="identifier">TN</span><span class="special">>::</span><span class="identifier">type</span></code> + </p> +<p> + <span class="bold"><strong>Semantics</strong></span>: Create a <a class="link" href="../../list.html" title="list"><code class="computeroutput"><span class="identifier">list</span></code></a> from <code class="computeroutput"><span class="identifier">x0</span><span class="special">,</span> <span class="identifier">x1</span><span class="special">,...</span> <span class="identifier">xN</span></code>. + </p> +<h6> +<a name="fusion.container.generation.functions.make_list.h4"></a> + <span><a name="fusion.container.generation.functions.make_list.header"></a></span><a class="link" href="make_list.html#fusion.container.generation.functions.make_list.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</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">generation</span><span class="special">/</span><span class="identifier">make_list</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">make_list</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h6> +<a name="fusion.container.generation.functions.make_list.h5"></a> + <span><a name="fusion.container.generation.functions.make_list.example"></a></span><a class="link" href="make_list.html#fusion.container.generation.functions.make_list.example">Example</a> + </h6> +<pre class="programlisting"><span class="identifier">make_list</span><span class="special">(</span><span class="number">123</span><span class="special">,</span> <span class="string">"hello"</span><span class="special">,</span> <span class="number">12.5</span><span class="special">)</span> +</pre> +<h6> +<a name="fusion.container.generation.functions.make_list.h6"></a> + <span><a name="fusion.container.generation.functions.make_list.see_also"></a></span><a class="link" href="make_list.html#fusion.container.generation.functions.make_list.see_also">See + also</a> + </h6> +<p> + <a class="link" href="../../../notes.html#fusion.notes.boost__ref"><code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">ref</span></code></a> + </p> +</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-2006, 2011 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="../functions.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="make_cons.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/container/generation/functions/make_map.html b/libs/fusion/doc/html/fusion/container/generation/functions/make_map.html new file mode 100755 index 0000000000..a9e40912a2 --- /dev/null +++ b/libs/fusion/doc/html/fusion/container/generation/functions/make_map.html @@ -0,0 +1,182 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>make_map</title> +<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../functions.html" title="Functions"> +<link rel="prev" href="make_set.html" title="make_set"> +<link rel="next" href="tiers.html" title="Tiers"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="make_set.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="tiers.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h5 class="title"> +<a name="fusion.container.generation.functions.make_map"></a><a class="link" href="make_map.html" title="make_map">make_map</a> +</h5></div></div></div> +<h6> +<a name="fusion.container.generation.functions.make_map.h0"></a> + <span><a name="fusion.container.generation.functions.make_map.description"></a></span><a class="link" href="make_map.html#fusion.container.generation.functions.make_map.description">Description</a> + </h6> +<p> + Create a <a class="link" href="../../map.html" title="map"><code class="computeroutput"><span class="identifier">map</span></code></a> + from one or more key/data pairs. + </p> +<h6> +<a name="fusion.container.generation.functions.make_map.h1"></a> + <span><a name="fusion.container.generation.functions.make_map.synopsis"></a></span><a class="link" href="make_map.html#fusion.container.generation.functions.make_map.synopsis">Synopsis</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span> + <span class="keyword">typename</span> <span class="identifier">K0</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">K1</span><span class="special">,...</span> <span class="keyword">typename</span> <span class="identifier">KN</span> + <span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T0</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T1</span><span class="special">,...</span> <span class="keyword">typename</span> <span class="identifier">TN</span><span class="special">></span> +<span class="keyword">typename</span> <a class="link" href="../metafunctions/make_map.html" title="make_map"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">make_map</span></code></a><span class="special"><</span><span class="identifier">K0</span><span class="special">,</span> <span class="identifier">K0</span><span class="special">,...</span> <span class="identifier">KN</span><span class="special">,</span> <span class="identifier">T0</span><span class="special">,</span> <span class="identifier">T1</span><span class="special">,...</span> <span class="identifier">TN</span><span class="special">>::</span><span class="identifier">type</span> +<span class="identifier">make_map</span><span class="special">(</span><span class="identifier">T0</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">x0</span><span class="special">,</span> <span class="identifier">T1</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">x1</span><span class="special">...</span> <span class="identifier">TN</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">xN</span><span class="special">);</span> +</pre> +<p> + The variadic function accepts <code class="computeroutput"><span class="number">0</span></code> + to <code class="computeroutput"><span class="identifier">FUSION_MAX_MAP_SIZE</span></code> + elements, where <code class="computeroutput"><span class="identifier">FUSION_MAX_MAP_SIZE</span></code> + is a user definable predefined maximum that defaults to <code class="computeroutput"><span class="number">10</span></code>. You may define the preprocessor constant + <code class="computeroutput"><span class="identifier">FUSION_MAX_MAP_SIZE</span></code> before + including any Fusion header to change the default. Example: + </p> +<pre class="programlisting"><span class="preprocessor">#define</span> <span class="identifier">FUSION_MAX_MAP_SIZE</span> <span class="number">20</span> +</pre> +<h6> +<a name="fusion.container.generation.functions.make_map.h2"></a> + <span><a name="fusion.container.generation.functions.make_map.parameters"></a></span><a class="link" href="make_map.html#fusion.container.generation.functions.make_map.parameters">Parameters</a> + </h6> +<div class="informaltable"><table class="table"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Requirement + </p> + </th> +<th> + <p> + Description + </p> + </th> +</tr></thead> +<tbody> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">K0</span><span class="special">,</span> + <span class="identifier">K1</span><span class="special">,...</span> + <span class="identifier">KN</span></code> + </p> + </td> +<td> + <p> + The key types + </p> + </td> +<td> + <p> + Keys associated with <code class="computeroutput"><span class="identifier">x0</span><span class="special">,</span> <span class="identifier">x1</span><span class="special">,...</span> <span class="identifier">xN</span></code> + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">x0</span><span class="special">,</span> + <span class="identifier">x1</span><span class="special">,...</span> + <span class="identifier">xN</span></code> + </p> + </td> +<td> + <p> + Instances of <code class="computeroutput"><span class="identifier">T0</span><span class="special">,</span> <span class="identifier">T1</span><span class="special">,...</span> <span class="identifier">TN</span></code> + </p> + </td> +<td> + <p> + The arguments to <code class="computeroutput"><span class="identifier">make_map</span></code> + </p> + </td> +</tr> +</tbody> +</table></div> +<h6> +<a name="fusion.container.generation.functions.make_map.h3"></a> + <span><a name="fusion.container.generation.functions.make_map.expression_semantics"></a></span><a class="link" href="make_map.html#fusion.container.generation.functions.make_map.expression_semantics">Expression + Semantics</a> + </h6> +<pre class="programlisting"><span class="identifier">make_map</span><span class="special"><</span><span class="identifier">K0</span><span class="special">,</span> <span class="identifier">K1</span><span class="special">,...</span> <span class="identifier">KN</span><span class="special">>(</span><span class="identifier">x0</span><span class="special">,</span> <span class="identifier">x1</span><span class="special">,...</span> <span class="identifier">xN</span><span class="special">);</span> +</pre> +<p> + <span class="bold"><strong>Return type</strong></span>: <a class="link" href="../metafunctions/make_map.html" title="make_map"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">make_map</span></code></a><code class="computeroutput"><span class="special"><</span><span class="identifier">K0</span><span class="special">,</span> <span class="identifier">K0</span><span class="special">,...</span> <span class="identifier">KN</span><span class="special">,</span> <span class="identifier">T0</span><span class="special">,</span> <span class="identifier">T1</span><span class="special">,...</span> <span class="identifier">TN</span><span class="special">>::</span><span class="identifier">type</span></code> + </p> +<p> + <span class="bold"><strong>Semantics</strong></span>: Create a <a class="link" href="../../map.html" title="map"><code class="computeroutput"><span class="identifier">map</span></code></a> from <code class="computeroutput"><span class="identifier">K0</span><span class="special">,</span> <span class="identifier">K1</span><span class="special">,...</span> <span class="identifier">KN</span></code> + keys and <code class="computeroutput"><span class="identifier">x0</span><span class="special">,</span> + <span class="identifier">x1</span><span class="special">,...</span> + <span class="identifier">xN</span></code> data. + </p> +<p> + <span class="bold"><strong>Precondition</strong></span>: There may be no duplicate + key types. + </p> +<h6> +<a name="fusion.container.generation.functions.make_map.h4"></a> + <span><a name="fusion.container.generation.functions.make_map.header"></a></span><a class="link" href="make_map.html#fusion.container.generation.functions.make_map.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</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">generation</span><span class="special">/</span><span class="identifier">make_map</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">make_map</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h6> +<a name="fusion.container.generation.functions.make_map.h5"></a> + <span><a name="fusion.container.generation.functions.make_map.example"></a></span><a class="link" href="make_map.html#fusion.container.generation.functions.make_map.example">Example</a> + </h6> +<pre class="programlisting"><span class="identifier">make_map</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">double</span><span class="special">>(</span><span class="char">'X'</span><span class="special">,</span> <span class="string">"Men"</span><span class="special">)</span> +</pre> +<h6> +<a name="fusion.container.generation.functions.make_map.h6"></a> + <span><a name="fusion.container.generation.functions.make_map.see_also"></a></span><a class="link" href="make_map.html#fusion.container.generation.functions.make_map.see_also">See + also</a> + </h6> +<p> + <a class="link" href="../../../notes.html#fusion.notes.boost__ref"><code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">ref</span></code></a>, + <a class="link" href="../../../support/pair.html" title="pair"><code class="computeroutput"><span class="identifier">fusion</span><span class="special">::</span><span class="identifier">pair</span></code></a> + </p> +</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-2006, 2011 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="make_set.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="tiers.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/container/generation/functions/make_set.html b/libs/fusion/doc/html/fusion/container/generation/functions/make_set.html new file mode 100755 index 0000000000..0d1ce58bca --- /dev/null +++ b/libs/fusion/doc/html/fusion/container/generation/functions/make_set.html @@ -0,0 +1,155 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>make_set</title> +<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../functions.html" title="Functions"> +<link rel="prev" href="make_vector.html" title="make_vector"> +<link rel="next" href="make_map.html" title="make_map"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="make_vector.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="make_map.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h5 class="title"> +<a name="fusion.container.generation.functions.make_set"></a><a class="link" href="make_set.html" title="make_set">make_set</a> +</h5></div></div></div> +<h6> +<a name="fusion.container.generation.functions.make_set.h0"></a> + <span><a name="fusion.container.generation.functions.make_set.description"></a></span><a class="link" href="make_set.html#fusion.container.generation.functions.make_set.description">Description</a> + </h6> +<p> + Create a <a class="link" href="../../set.html" title="set"><code class="computeroutput"><span class="identifier">set</span></code></a> + from one or more values. + </p> +<h6> +<a name="fusion.container.generation.functions.make_set.h1"></a> + <span><a name="fusion.container.generation.functions.make_set.synopsis"></a></span><a class="link" href="make_set.html#fusion.container.generation.functions.make_set.synopsis">Synopsis</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">T0</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T1</span><span class="special">,...</span> <span class="keyword">typename</span> <span class="identifier">TN</span><span class="special">></span> +<span class="keyword">typename</span> <a class="link" href="../metafunctions/make_set.html" title="make_set"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">make_set</span></code></a><span class="special"><</span><span class="identifier">T0</span><span class="special">,</span> <span class="identifier">T1</span><span class="special">,...</span> <span class="identifier">TN</span><span class="special">>::</span><span class="identifier">type</span> +<span class="identifier">make_set</span><span class="special">(</span><span class="identifier">T0</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">x0</span><span class="special">,</span> <span class="identifier">T1</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">x1</span><span class="special">...</span> <span class="identifier">TN</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">xN</span><span class="special">);</span> +</pre> +<p> + The variadic function accepts <code class="computeroutput"><span class="number">0</span></code> + to <code class="computeroutput"><span class="identifier">FUSION_MAX_SET_SIZE</span></code> + elements, where <code class="computeroutput"><span class="identifier">FUSION_MAX_SET_SIZE</span></code> + is a user definable predefined maximum that defaults to <code class="computeroutput"><span class="number">10</span></code>. You may define the preprocessor constant + <code class="computeroutput"><span class="identifier">FUSION_MAX_SET_SIZE</span></code> before + including any Fusion header to change the default. Example: + </p> +<pre class="programlisting"><span class="preprocessor">#define</span> <span class="identifier">FUSION_MAX_SET_SIZE</span> <span class="number">20</span> +</pre> +<h6> +<a name="fusion.container.generation.functions.make_set.h2"></a> + <span><a name="fusion.container.generation.functions.make_set.parameters"></a></span><a class="link" href="make_set.html#fusion.container.generation.functions.make_set.parameters">Parameters</a> + </h6> +<div class="informaltable"><table class="table"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Requirement + </p> + </th> +<th> + <p> + Description + </p> + </th> +</tr></thead> +<tbody><tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">x0</span><span class="special">,</span> + <span class="identifier">x1</span><span class="special">,...</span> + <span class="identifier">xN</span></code> + </p> + </td> +<td> + <p> + Instances of <code class="computeroutput"><span class="identifier">T0</span><span class="special">,</span> <span class="identifier">T1</span><span class="special">,...</span> <span class="identifier">TN</span></code> + </p> + </td> +<td> + <p> + The arguments to <code class="computeroutput"><span class="identifier">make_set</span></code> + </p> + </td> +</tr></tbody> +</table></div> +<h6> +<a name="fusion.container.generation.functions.make_set.h3"></a> + <span><a name="fusion.container.generation.functions.make_set.expression_semantics"></a></span><a class="link" href="make_set.html#fusion.container.generation.functions.make_set.expression_semantics">Expression + Semantics</a> + </h6> +<pre class="programlisting"><span class="identifier">make_set</span><span class="special">(</span><span class="identifier">x0</span><span class="special">,</span> <span class="identifier">x1</span><span class="special">,...</span> <span class="identifier">xN</span><span class="special">);</span> +</pre> +<p> + <span class="bold"><strong>Return type</strong></span>: <a class="link" href="../metafunctions/make_set.html" title="make_set"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">make_set</span></code></a><code class="computeroutput"><span class="special"><</span><span class="identifier">T0</span><span class="special">,</span> <span class="identifier">T1</span><span class="special">,...</span> <span class="identifier">TN</span><span class="special">>::</span><span class="identifier">type</span></code> + </p> +<p> + <span class="bold"><strong>Semantics</strong></span>: Create a <a class="link" href="../../set.html" title="set"><code class="computeroutput"><span class="identifier">set</span></code></a> from <code class="computeroutput"><span class="identifier">x0</span><span class="special">,</span> <span class="identifier">x1</span><span class="special">,...</span> <span class="identifier">xN</span></code>. + </p> +<p> + <span class="bold"><strong>Precondition</strong></span>: There may be no duplicate + key types. + </p> +<h6> +<a name="fusion.container.generation.functions.make_set.h4"></a> + <span><a name="fusion.container.generation.functions.make_set.header"></a></span><a class="link" href="make_set.html#fusion.container.generation.functions.make_set.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</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">generation</span><span class="special">/</span><span class="identifier">make_set</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">make_set</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h6> +<a name="fusion.container.generation.functions.make_set.h5"></a> + <span><a name="fusion.container.generation.functions.make_set.example"></a></span><a class="link" href="make_set.html#fusion.container.generation.functions.make_set.example">Example</a> + </h6> +<pre class="programlisting"><span class="identifier">make_set</span><span class="special">(</span><span class="number">123</span><span class="special">,</span> <span class="string">"hello"</span><span class="special">,</span> <span class="number">12.5</span><span class="special">)</span> +</pre> +<h6> +<a name="fusion.container.generation.functions.make_set.h6"></a> + <span><a name="fusion.container.generation.functions.make_set.see_also"></a></span><a class="link" href="make_set.html#fusion.container.generation.functions.make_set.see_also">See + also</a> + </h6> +<p> + <a class="link" href="../../../notes.html#fusion.notes.boost__ref"><code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">ref</span></code></a> + </p> +</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-2006, 2011 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="make_vector.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="make_map.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/container/generation/functions/make_vector.html b/libs/fusion/doc/html/fusion/container/generation/functions/make_vector.html new file mode 100755 index 0000000000..db75ea59b8 --- /dev/null +++ b/libs/fusion/doc/html/fusion/container/generation/functions/make_vector.html @@ -0,0 +1,151 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>make_vector</title> +<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../functions.html" title="Functions"> +<link rel="prev" href="make_cons.html" title="make_cons"> +<link rel="next" href="make_set.html" title="make_set"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="make_cons.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="make_set.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h5 class="title"> +<a name="fusion.container.generation.functions.make_vector"></a><a class="link" href="make_vector.html" title="make_vector">make_vector</a> +</h5></div></div></div> +<h6> +<a name="fusion.container.generation.functions.make_vector.h0"></a> + <span><a name="fusion.container.generation.functions.make_vector.description"></a></span><a class="link" href="make_vector.html#fusion.container.generation.functions.make_vector.description">Description</a> + </h6> +<p> + Create a <a class="link" href="../../vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a> + from one or more values. + </p> +<h6> +<a name="fusion.container.generation.functions.make_vector.h1"></a> + <span><a name="fusion.container.generation.functions.make_vector.synopsis"></a></span><a class="link" href="make_vector.html#fusion.container.generation.functions.make_vector.synopsis">Synopsis</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">T0</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T1</span><span class="special">,...</span> <span class="keyword">typename</span> <span class="identifier">TN</span><span class="special">></span> +<span class="keyword">typename</span> <a class="link" href="../metafunctions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">make_vector</span></code></a><span class="special"><</span><span class="identifier">T0</span><span class="special">,</span> <span class="identifier">T1</span><span class="special">,...</span> <span class="identifier">TN</span><span class="special">>::</span><span class="identifier">type</span> +<span class="identifier">make_vector</span><span class="special">(</span><span class="identifier">T0</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">x0</span><span class="special">,</span> <span class="identifier">T1</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">x1</span><span class="special">...</span> <span class="identifier">TN</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">xN</span><span class="special">);</span> +</pre> +<p> + The variadic function accepts <code class="computeroutput"><span class="number">0</span></code> + to <code class="computeroutput"><span class="identifier">FUSION_MAX_VECTOR_SIZE</span></code> + elements, where <code class="computeroutput"><span class="identifier">FUSION_MAX_VECTOR_SIZE</span></code> + is a user definable predefined maximum that defaults to <code class="computeroutput"><span class="number">10</span></code>. You may define the preprocessor constant + <code class="computeroutput"><span class="identifier">FUSION_MAX_VECTOR_SIZE</span></code> + before including any Fusion header to change the default. Example: + </p> +<pre class="programlisting"><span class="preprocessor">#define</span> <span class="identifier">FUSION_MAX_VECTOR_SIZE</span> <span class="number">20</span> +</pre> +<h6> +<a name="fusion.container.generation.functions.make_vector.h2"></a> + <span><a name="fusion.container.generation.functions.make_vector.parameters"></a></span><a class="link" href="make_vector.html#fusion.container.generation.functions.make_vector.parameters">Parameters</a> + </h6> +<div class="informaltable"><table class="table"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Requirement + </p> + </th> +<th> + <p> + Description + </p> + </th> +</tr></thead> +<tbody><tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">x0</span><span class="special">,</span> + <span class="identifier">x1</span><span class="special">,...</span> + <span class="identifier">xN</span></code> + </p> + </td> +<td> + <p> + Instances of <code class="computeroutput"><span class="identifier">T0</span><span class="special">,</span> <span class="identifier">T1</span><span class="special">,...</span> <span class="identifier">TN</span></code> + </p> + </td> +<td> + <p> + The arguments to <code class="computeroutput"><span class="identifier">make_vector</span></code> + </p> + </td> +</tr></tbody> +</table></div> +<h6> +<a name="fusion.container.generation.functions.make_vector.h3"></a> + <span><a name="fusion.container.generation.functions.make_vector.expression_semantics"></a></span><a class="link" href="make_vector.html#fusion.container.generation.functions.make_vector.expression_semantics">Expression + Semantics</a> + </h6> +<pre class="programlisting"><span class="identifier">make_vector</span><span class="special">(</span><span class="identifier">x0</span><span class="special">,</span> <span class="identifier">x1</span><span class="special">,...</span> <span class="identifier">xN</span><span class="special">);</span> +</pre> +<p> + <span class="bold"><strong>Return type</strong></span>: <a class="link" href="../metafunctions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">make_vector</span></code></a><code class="computeroutput"><span class="special"><</span><span class="identifier">T0</span><span class="special">,</span> <span class="identifier">T1</span><span class="special">,...</span> <span class="identifier">TN</span><span class="special">>::</span><span class="identifier">type</span></code> + </p> +<p> + <span class="bold"><strong>Semantics</strong></span>: Create a <a class="link" href="../../vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a> from <code class="computeroutput"><span class="identifier">x0</span><span class="special">,</span> <span class="identifier">x1</span><span class="special">,...</span> <span class="identifier">xN</span></code>. + </p> +<h6> +<a name="fusion.container.generation.functions.make_vector.h4"></a> + <span><a name="fusion.container.generation.functions.make_vector.header"></a></span><a class="link" href="make_vector.html#fusion.container.generation.functions.make_vector.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</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">generation</span><span class="special">/</span><span class="identifier">make_vector</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">make_vector</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h6> +<a name="fusion.container.generation.functions.make_vector.h5"></a> + <span><a name="fusion.container.generation.functions.make_vector.example"></a></span><a class="link" href="make_vector.html#fusion.container.generation.functions.make_vector.example">Example</a> + </h6> +<pre class="programlisting"><span class="identifier">make_vector</span><span class="special">(</span><span class="number">123</span><span class="special">,</span> <span class="string">"hello"</span><span class="special">,</span> <span class="number">12.5</span><span class="special">)</span> +</pre> +<h6> +<a name="fusion.container.generation.functions.make_vector.h6"></a> + <span><a name="fusion.container.generation.functions.make_vector.see_also"></a></span><a class="link" href="make_vector.html#fusion.container.generation.functions.make_vector.see_also">See + also</a> + </h6> +<p> + <a class="link" href="../../../notes.html#fusion.notes.boost__ref"><code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">ref</span></code></a> + </p> +</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-2006, 2011 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="make_cons.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="make_set.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/container/generation/functions/map_tie.html b/libs/fusion/doc/html/fusion/container/generation/functions/map_tie.html new file mode 100755 index 0000000000..b0f1a23f49 --- /dev/null +++ b/libs/fusion/doc/html/fusion/container/generation/functions/map_tie.html @@ -0,0 +1,171 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>map_tie</title> +<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../functions.html" title="Functions"> +<link rel="prev" href="vector_tie.html" title="vector_tie"> +<link rel="next" href="../metafunctions.html" title="MetaFunctions"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="vector_tie.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h5 class="title"> +<a name="fusion.container.generation.functions.map_tie"></a><a class="link" href="map_tie.html" title="map_tie">map_tie</a> +</h5></div></div></div> +<h6> +<a name="fusion.container.generation.functions.map_tie.h0"></a> + <span><a name="fusion.container.generation.functions.map_tie.description"></a></span><a class="link" href="map_tie.html#fusion.container.generation.functions.map_tie.description">Description</a> + </h6> +<p> + Constructs a tie using a <a class="link" href="../../map.html" title="map"><code class="computeroutput"><span class="identifier">map</span></code></a> sequence. + </p> +<h6> +<a name="fusion.container.generation.functions.map_tie.h1"></a> + <span><a name="fusion.container.generation.functions.map_tie.synopsis"></a></span><a class="link" href="map_tie.html#fusion.container.generation.functions.map_tie.synopsis">Synopsis</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">K0</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">K1</span><span class="special">,...</span> <span class="keyword">typename</span> <span class="identifier">KN</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">D0</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">D1</span><span class="special">,...</span> <span class="keyword">typename</span> <span class="identifier">DN</span><span class="special">></span> +<a class="link" href="../../map.html" title="map"><code class="computeroutput"><span class="identifier">map</span></code></a><span class="special"><</span><a class="link" href="../../../support/pair.html" title="pair"><code class="computeroutput"><span class="identifier">pair</span></code></a><span class="special"><</span><span class="identifier">K0</span><span class="special">,</span> <span class="identifier">D0</span><span class="special">&>,</span> <a class="link" href="../../../support/pair.html" title="pair"><code class="computeroutput"><span class="identifier">pair</span></code></a><span class="special"><</span><span class="identifier">K1</span><span class="special">,</span> <span class="identifier">D1</span><span class="special">&>,...</span> <a class="link" href="../../../support/pair.html" title="pair"><code class="computeroutput"><span class="identifier">pair</span></code></a><span class="special"><</span><span class="identifier">KN</span><span class="special">,</span> <span class="identifier">DN</span><span class="special">&></span> <span class="special">></span> +<span class="identifier">map_tie</span><span class="special">(</span><span class="identifier">D0</span><span class="special">&</span> <span class="identifier">d0</span><span class="special">,</span> <span class="identifier">D1</span><span class="special">&</span> <span class="identifier">d1</span><span class="special">...</span> <span class="identifier">DN</span><span class="special">&</span> <span class="identifier">dN</span><span class="special">);</span> +</pre> +<p> + The variadic function accepts <code class="computeroutput"><span class="number">0</span></code> + to <code class="computeroutput"><span class="identifier">FUSION_MAX_MAP_SIZE</span></code> + elements, where <code class="computeroutput"><span class="identifier">FUSION_MAX_MAP_SIZE</span></code> + is a user definable predefined maximum that defaults to <code class="computeroutput"><span class="number">10</span></code>, and a corresponding number of key types. + You may define the preprocessor constant <code class="computeroutput"><span class="identifier">FUSION_MAX_MAP_SIZE</span></code> + before including any Fusion header to change the default. Example: + </p> +<pre class="programlisting"><span class="preprocessor">#define</span> <span class="identifier">FUSION_MAX_MAP_SIZE</span> <span class="number">20</span> +</pre> +<h6> +<a name="fusion.container.generation.functions.map_tie.h2"></a> + <span><a name="fusion.container.generation.functions.map_tie.parameters"></a></span><a class="link" href="map_tie.html#fusion.container.generation.functions.map_tie.parameters">Parameters</a> + </h6> +<div class="informaltable"><table class="table"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Requirement + </p> + </th> +<th> + <p> + Description + </p> + </th> +</tr></thead> +<tbody> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">K0</span><span class="special">,</span> + <span class="identifier">K1</span><span class="special">,...</span> + <span class="identifier">KN</span></code> + </p> + </td> +<td> + <p> + Any type + </p> + </td> +<td> + <p> + The key types associated with each of the <code class="computeroutput"><span class="identifier">x1</span><span class="special">,</span><span class="identifier">x2</span><span class="special">,...,</span><span class="identifier">xN</span></code> + values + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">x0</span><span class="special">,</span> + <span class="identifier">x1</span><span class="special">,...</span> + <span class="identifier">xN</span></code> + </p> + </td> +<td> + <p> + Instances of <code class="computeroutput"><span class="identifier">T0</span><span class="special">,</span> <span class="identifier">T1</span><span class="special">,...</span> <span class="identifier">TN</span></code> + </p> + </td> +<td> + <p> + The arguments to <code class="computeroutput"><span class="identifier">map_tie</span></code> + </p> + </td> +</tr> +</tbody> +</table></div> +<h6> +<a name="fusion.container.generation.functions.map_tie.h3"></a> + <span><a name="fusion.container.generation.functions.map_tie.expression_semantics"></a></span><a class="link" href="map_tie.html#fusion.container.generation.functions.map_tie.expression_semantics">Expression + Semantics</a> + </h6> +<pre class="programlisting"><span class="identifier">map_tie</span><span class="special"><</span><span class="identifier">K0</span><span class="special">,</span> <span class="identifier">K1</span><span class="special">,...</span> <span class="identifier">KN</span><span class="special">>(</span><span class="identifier">x0</span><span class="special">,</span> <span class="identifier">x1</span><span class="special">,...</span> <span class="identifier">xN</span><span class="special">);</span> +</pre> +<p> + <span class="bold"><strong>Return type</strong></span>: <a class="link" href="../../map.html" title="map"><code class="computeroutput"><span class="identifier">map</span></code></a><<a class="link" href="../../../support/pair.html" title="pair"><code class="computeroutput"><span class="identifier">pair</span></code></a><K0, D0&>, <a class="link" href="../../../support/pair.html" title="pair"><code class="computeroutput"><span class="identifier">pair</span></code></a><K1, + D1&>,... <a class="link" href="../../../support/pair.html" title="pair"><code class="computeroutput"><span class="identifier">pair</span></code></a><KN, + DN&> > + </p> +<p> + <span class="bold"><strong>Semantics</strong></span>: Create a <a class="link" href="../../map.html" title="map"><code class="computeroutput"><span class="identifier">map</span></code></a> of references from <code class="computeroutput"><span class="identifier">x0</span><span class="special">,</span> <span class="identifier">x1</span><span class="special">,...</span> <span class="identifier">xN</span></code> with keys <code class="computeroutput"><span class="identifier">K0</span><span class="special">,</span> <span class="identifier">K1</span><span class="special">,...</span> <span class="identifier">KN</span></code> + </p> +<h6> +<a name="fusion.container.generation.functions.map_tie.h4"></a> + <span><a name="fusion.container.generation.functions.map_tie.header"></a></span><a class="link" href="map_tie.html#fusion.container.generation.functions.map_tie.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</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">generation</span><span class="special">/</span><span class="identifier">map_tie</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">map_tie</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h6> +<a name="fusion.container.generation.functions.map_tie.h5"></a> + <span><a name="fusion.container.generation.functions.map_tie.example"></a></span><a class="link" href="map_tie.html#fusion.container.generation.functions.map_tie.example">Example</a> + </h6> +<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">int_key</span><span class="special">;</span> +<span class="keyword">struct</span> <span class="identifier">double_key</span><span class="special">;</span> +<span class="special">...</span> +<span class="keyword">int</span> <span class="identifier">i</span> <span class="special">=</span> <span class="number">123</span><span class="special">;</span> +<span class="keyword">double</span> <span class="identifier">d</span> <span class="special">=</span> <span class="number">123.456</span><span class="special">;</span> +<span class="identifier">map_tie</span><span class="special"><</span><span class="identifier">int_key</span><span class="special">,</span> <span class="identifier">double_key</span><span class="special">>(</span><span class="identifier">i</span><span class="special">,</span> <span class="identifier">d</span><span class="special">)</span> +</pre> +</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-2006, 2011 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="vector_tie.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/container/generation/functions/tiers.html b/libs/fusion/doc/html/fusion/container/generation/functions/tiers.html new file mode 100755 index 0000000000..d084c3ba5a --- /dev/null +++ b/libs/fusion/doc/html/fusion/container/generation/functions/tiers.html @@ -0,0 +1,107 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Tiers</title> +<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../functions.html" title="Functions"> +<link rel="prev" href="make_map.html" title="make_map"> +<link rel="next" href="list_tie.html" title="list_tie"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="make_map.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="list_tie.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h5 class="title"> +<a name="fusion.container.generation.functions.tiers"></a><a class="link" href="tiers.html" title="Tiers">Tiers</a> +</h5></div></div></div> +<p> + Tiers are sequences, where all elements are non-const reference types. + They are constructed with a call to a couple of <span class="emphasis"><em>tie</em></span> + function templates. The succeeding sections document the various <span class="emphasis"><em>tier</em></span> + flavors. + </p> +<div class="itemizedlist"><ul class="itemizedlist" type="disc"> +<li class="listitem"> + <a class="link" href="list_tie.html" title="list_tie"><code class="computeroutput"><span class="identifier">list_tie</span></code></a> + </li> +<li class="listitem"> + <a class="link" href="vector_tie.html" title="vector_tie"><code class="computeroutput"><span class="identifier">vector_tie</span></code></a> + </li> +<li class="listitem"> + <a class="link" href="vector_tie.html" title="vector_tie"><code class="computeroutput"><span class="identifier">map_tie</span></code></a> + </li> +</ul></div> +<p> + Example: + </p> +<pre class="programlisting"><span class="keyword">int</span> <span class="identifier">i</span><span class="special">;</span> <span class="keyword">char</span> <span class="identifier">c</span><span class="special">;</span> <span class="keyword">double</span> <span class="identifier">d</span><span class="special">;</span> + <span class="special">...</span> +<a class="link" href="vector_tie.html" title="vector_tie"><code class="computeroutput"><span class="identifier">vector_tie</span></code></a><span class="special">(</span><span class="identifier">i</span><span class="special">,</span> <span class="identifier">c</span><span class="special">,</span> <span class="identifier">a</span><span class="special">);</span> +</pre> +<p> + The <a class="link" href="vector_tie.html" title="vector_tie"><code class="computeroutput"><span class="identifier">vector_tie</span></code></a> function creates + a <a class="link" href="../../vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a> + of type <code class="computeroutput"><a class="link" href="../../vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><</span><span class="keyword">int</span><span class="special">&,</span> <span class="keyword">char</span><span class="special">&,</span> <span class="keyword">double</span><span class="special">&></span></code>. The same result could be achieved + with the call <a class="link" href="make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></a>(<a href="http://www.boost.org/doc/html/ref.html" target="_top"><code class="computeroutput"><span class="identifier">ref</span></code></a>(i), <a href="http://www.boost.org/doc/html/ref.html" target="_top"><code class="computeroutput"><span class="identifier">ref</span></code></a>(c), <a href="http://www.boost.org/doc/html/ref.html" target="_top"><code class="computeroutput"><span class="identifier">ref</span></code></a>(a)) <sup>[<a name="fusion.container.generation.functions.tiers.f0" href="#ftn.fusion.container.generation.functions.tiers.f0" class="footnote">10</a>]</sup>. + </p> +<p> + A <span class="emphasis"><em>tie</em></span> can be used to 'unpack' another tuple into + variables. E.g.: + </p> +<pre class="programlisting"><span class="keyword">int</span> <span class="identifier">i</span><span class="special">;</span> <span class="keyword">char</span> <span class="identifier">c</span><span class="special">;</span> <span class="keyword">double</span> <span class="identifier">d</span><span class="special">;</span> +<a class="link" href="vector_tie.html" title="vector_tie"><code class="computeroutput"><span class="identifier">vector_tie</span></code></a><span class="special">(</span><span class="identifier">i</span><span class="special">,</span> <span class="identifier">c</span><span class="special">,</span> <span class="identifier">d</span><span class="special">)</span> <span class="special">=</span> <a class="link" href="make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="char">'a'</span><span class="special">,</span> <span class="number">5.5</span><span class="special">);</span> +<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special"><<</span> <span class="identifier">i</span> <span class="special"><<</span> <span class="string">" "</span> <span class="special"><<</span> <span class="identifier">c</span> <span class="special"><<</span> <span class="string">" "</span> <span class="special"><<</span> <span class="identifier">d</span><span class="special">;</span> +</pre> +<p> + This code prints 1 a 5.5 to the standard output stream. A sequence unpacking + operation like this is found for example in ML and Python. It is convenient + when calling functions which return sequences. + </p> +<h6> +<a name="fusion.container.generation.functions.tiers.h0"></a> + <span><a name="fusion.container.generation.functions.tiers.ignore"></a></span><a class="link" href="tiers.html#fusion.container.generation.functions.tiers.ignore">Ignore</a> + </h6> +<p> + There is also an object called <span class="emphasis"><em>ignore</em></span> which allows + you to ignore an element assigned by a sequence. The idea is that a function + may return a sequence, only part of which you are interested in. For + example: + </p> +<pre class="programlisting"><span class="keyword">char</span> <span class="identifier">c</span><span class="special">;</span> +<a class="link" href="vector_tie.html" title="vector_tie"><code class="computeroutput"><span class="identifier">vector_tie</span></code></a><span class="special">(</span><span class="identifier">ignore</span><span class="special">,</span> <span class="identifier">c</span><span class="special">)</span> <span class="special">=</span> <a class="link" href="make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></a><span class="special">(</span><span class="number">1</span><span class="special">,</span> <span class="char">'a'</span><span class="special">);</span> +</pre> +<div class="footnotes"> +<br><hr width="100" align="left"> +<div class="footnote"><p><sup>[<a id="ftn.fusion.container.generation.functions.tiers.f0" href="#fusion.container.generation.functions.tiers.f0" class="para">10</a>] </sup> + see <a href="http://www.boost.org/doc/html/ref.html" target="_top">Boost.Ref</a> + for details about <code class="computeroutput"><span class="identifier">ref</span></code> + </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-2006, 2011 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="make_map.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="list_tie.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/container/generation/functions/vector_tie.html b/libs/fusion/doc/html/fusion/container/generation/functions/vector_tie.html new file mode 100755 index 0000000000..b153580bc4 --- /dev/null +++ b/libs/fusion/doc/html/fusion/container/generation/functions/vector_tie.html @@ -0,0 +1,145 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>vector_tie</title> +<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../functions.html" title="Functions"> +<link rel="prev" href="list_tie.html" title="list_tie"> +<link rel="next" href="map_tie.html" title="map_tie"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="list_tie.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="map_tie.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h5 class="title"> +<a name="fusion.container.generation.functions.vector_tie"></a><a class="link" href="vector_tie.html" title="vector_tie">vector_tie</a> +</h5></div></div></div> +<h6> +<a name="fusion.container.generation.functions.vector_tie.h0"></a> + <span><a name="fusion.container.generation.functions.vector_tie.description"></a></span><a class="link" href="vector_tie.html#fusion.container.generation.functions.vector_tie.description">Description</a> + </h6> +<p> + Constructs a tie using a <a class="link" href="../../vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a> sequence. + </p> +<h6> +<a name="fusion.container.generation.functions.vector_tie.h1"></a> + <span><a name="fusion.container.generation.functions.vector_tie.synopsis"></a></span><a class="link" href="vector_tie.html#fusion.container.generation.functions.vector_tie.synopsis">Synopsis</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">T0</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T1</span><span class="special">,...</span> <span class="keyword">typename</span> <span class="identifier">TN</span><span class="special">></span> +<a class="link" href="../../vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><</span><span class="identifier">T0</span><span class="special">&,</span> <span class="identifier">T1</span><span class="special">&,...</span> <span class="identifier">TN</span><span class="special">&></span> +<span class="identifier">vector_tie</span><span class="special">(</span><span class="identifier">T0</span><span class="special">&</span> <span class="identifier">x0</span><span class="special">,</span> <span class="identifier">T1</span><span class="special">&</span> <span class="identifier">x1</span><span class="special">...</span> <span class="identifier">TN</span><span class="special">&</span> <span class="identifier">xN</span><span class="special">);</span> +</pre> +<p> + The variadic function accepts <code class="computeroutput"><span class="number">0</span></code> + to <code class="computeroutput"><span class="identifier">FUSION_MAX_VECTOR_SIZE</span></code> + elements, where <code class="computeroutput"><span class="identifier">FUSION_MAX_VECTOR_SIZE</span></code> + is a user definable predefined maximum that defaults to <code class="computeroutput"><span class="number">10</span></code>. You may define the preprocessor constant + <code class="computeroutput"><span class="identifier">FUSION_MAX_VECTOR_SIZE</span></code> + before including any Fusion header to change the default. Example: + </p> +<pre class="programlisting"><span class="preprocessor">#define</span> <span class="identifier">FUSION_MAX_VECTOR_SIZE</span> <span class="number">20</span> +</pre> +<h6> +<a name="fusion.container.generation.functions.vector_tie.h2"></a> + <span><a name="fusion.container.generation.functions.vector_tie.parameters"></a></span><a class="link" href="vector_tie.html#fusion.container.generation.functions.vector_tie.parameters">Parameters</a> + </h6> +<div class="informaltable"><table class="table"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Requirement + </p> + </th> +<th> + <p> + Description + </p> + </th> +</tr></thead> +<tbody><tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">x0</span><span class="special">,</span> + <span class="identifier">x1</span><span class="special">,...</span> + <span class="identifier">xN</span></code> + </p> + </td> +<td> + <p> + Instances of <code class="computeroutput"><span class="identifier">T0</span><span class="special">,</span> <span class="identifier">T1</span><span class="special">,...</span> <span class="identifier">TN</span></code> + </p> + </td> +<td> + <p> + The arguments to <code class="computeroutput"><span class="identifier">vector_tie</span></code> + </p> + </td> +</tr></tbody> +</table></div> +<h6> +<a name="fusion.container.generation.functions.vector_tie.h3"></a> + <span><a name="fusion.container.generation.functions.vector_tie.expression_semantics"></a></span><a class="link" href="vector_tie.html#fusion.container.generation.functions.vector_tie.expression_semantics">Expression + Semantics</a> + </h6> +<pre class="programlisting"><span class="identifier">vector_tie</span><span class="special">(</span><span class="identifier">x0</span><span class="special">,</span> <span class="identifier">x1</span><span class="special">,...</span> <span class="identifier">xN</span><span class="special">);</span> +</pre> +<p> + <span class="bold"><strong>Return type</strong></span>: <a class="link" href="../../vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><T0&, T1&,... + TN&> + </p> +<p> + <span class="bold"><strong>Semantics</strong></span>: Create a <a class="link" href="../../vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a> of references from <code class="computeroutput"><span class="identifier">x0</span><span class="special">,</span> <span class="identifier">x1</span><span class="special">,...</span> <span class="identifier">xN</span></code>. + </p> +<h6> +<a name="fusion.container.generation.functions.vector_tie.h4"></a> + <span><a name="fusion.container.generation.functions.vector_tie.header"></a></span><a class="link" href="vector_tie.html#fusion.container.generation.functions.vector_tie.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</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">generation</span><span class="special">/</span><span class="identifier">vector_tie</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">vector_tie</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h6> +<a name="fusion.container.generation.functions.vector_tie.h5"></a> + <span><a name="fusion.container.generation.functions.vector_tie.example"></a></span><a class="link" href="vector_tie.html#fusion.container.generation.functions.vector_tie.example">Example</a> + </h6> +<pre class="programlisting"><span class="keyword">int</span> <span class="identifier">i</span> <span class="special">=</span> <span class="number">123</span><span class="special">;</span> +<span class="keyword">double</span> <span class="identifier">d</span> <span class="special">=</span> <span class="number">123.456</span><span class="special">;</span> +<span class="identifier">vector_tie</span><span class="special">(</span><span class="identifier">i</span><span class="special">,</span> <span class="identifier">d</span><span class="special">)</span> +</pre> +</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-2006, 2011 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="list_tie.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="map_tie.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/container/generation/metafunctions.html b/libs/fusion/doc/html/fusion/container/generation/metafunctions.html new file mode 100755 index 0000000000..5c1f6b4e2d --- /dev/null +++ b/libs/fusion/doc/html/fusion/container/generation/metafunctions.html @@ -0,0 +1,54 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>MetaFunctions</title> +<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../generation.html" title="Generation"> +<link rel="prev" href="functions/map_tie.html" title="map_tie"> +<link rel="next" href="metafunctions/make_list.html" title="make_list"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="functions/map_tie.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../generation.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="metafunctions/make_list.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h4 class="title"> +<a name="fusion.container.generation.metafunctions"></a><a class="link" href="metafunctions.html" title="MetaFunctions">MetaFunctions</a> +</h4></div></div></div> +<div class="toc"><dl> +<dt><span class="section"><a href="metafunctions/make_list.html">make_list</a></span></dt> +<dt><span class="section"><a href="metafunctions/make_cons.html">make_cons</a></span></dt> +<dt><span class="section"><a href="metafunctions/make_vector.html">make_vector</a></span></dt> +<dt><span class="section"><a href="metafunctions/make_set.html">make_set</a></span></dt> +<dt><span class="section"><a href="metafunctions/make_map.html">make_map</a></span></dt> +<dt><span class="section"><a href="metafunctions/list_tie.html">list_tie</a></span></dt> +<dt><span class="section"><a href="metafunctions/vector_tie.html">vector_tie</a></span></dt> +<dt><span class="section"><a href="metafunctions/map_tie.html">map_tie</a></span></dt> +</dl></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-2006, 2011 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="functions/map_tie.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../generation.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="metafunctions/make_list.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/container/generation/metafunctions/list_tie.html b/libs/fusion/doc/html/fusion/container/generation/metafunctions/list_tie.html new file mode 100755 index 0000000000..c38d846e3b --- /dev/null +++ b/libs/fusion/doc/html/fusion/container/generation/metafunctions/list_tie.html @@ -0,0 +1,142 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>list_tie</title> +<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../metafunctions.html" title="MetaFunctions"> +<link rel="prev" href="make_map.html" title="make_map"> +<link rel="next" href="vector_tie.html" title="vector_tie"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="make_map.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="vector_tie.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h5 class="title"> +<a name="fusion.container.generation.metafunctions.list_tie"></a><a class="link" href="list_tie.html" title="list_tie">list_tie</a> +</h5></div></div></div> +<h6> +<a name="fusion.container.generation.metafunctions.list_tie.h0"></a> + <span><a name="fusion.container.generation.metafunctions.list_tie.description"></a></span><a class="link" href="list_tie.html#fusion.container.generation.metafunctions.list_tie.description">Description</a> + </h6> +<p> + Returns the result type of <a class="link" href="../functions/list_tie.html" title="list_tie"><code class="computeroutput"><span class="identifier">list_tie</span></code></a>. + </p> +<h6> +<a name="fusion.container.generation.metafunctions.list_tie.h1"></a> + <span><a name="fusion.container.generation.metafunctions.list_tie.synopsis"></a></span><a class="link" href="list_tie.html#fusion.container.generation.metafunctions.list_tie.synopsis">Synopsis</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">T0</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T1</span><span class="special">,...</span> <span class="keyword">typename</span> <span class="identifier">TN</span><span class="special">></span> +<span class="keyword">struct</span> <span class="identifier">list_tie</span><span class="special">;</span> +</pre> +<p> + The variadic function accepts <code class="computeroutput"><span class="number">0</span></code> + to <code class="computeroutput"><span class="identifier">FUSION_MAX_LIST_SIZE</span></code> + elements, where <code class="computeroutput"><span class="identifier">FUSION_MAX_LIST_SIZE</span></code> + is a user definable predefined maximum that defaults to <code class="computeroutput"><span class="number">10</span></code>. You may define the preprocessor constant + <code class="computeroutput"><span class="identifier">FUSION_MAX_LIST_SIZE</span></code> + before including any Fusion header to change the default. Example: + </p> +<pre class="programlisting"><span class="preprocessor">#define</span> <span class="identifier">FUSION_MAX_LIST_SIZE</span> <span class="number">20</span> +</pre> +<h6> +<a name="fusion.container.generation.metafunctions.list_tie.h2"></a> + <span><a name="fusion.container.generation.metafunctions.list_tie.parameters"></a></span><a class="link" href="list_tie.html#fusion.container.generation.metafunctions.list_tie.parameters">Parameters</a> + </h6> +<div class="informaltable"><table class="table"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Requirement + </p> + </th> +<th> + <p> + Description + </p> + </th> +</tr></thead> +<tbody><tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">T0</span><span class="special">,</span> + <span class="identifier">T1</span><span class="special">,...</span> + <span class="identifier">TN</span></code> + </p> + </td> +<td> + <p> + Any type + </p> + </td> +<td> + <p> + The arguments to <code class="computeroutput"><span class="identifier">list_tie</span></code> + </p> + </td> +</tr></tbody> +</table></div> +<h6> +<a name="fusion.container.generation.metafunctions.list_tie.h3"></a> + <span><a name="fusion.container.generation.metafunctions.list_tie.expression_semantics"></a></span><a class="link" href="list_tie.html#fusion.container.generation.metafunctions.list_tie.expression_semantics">Expression + Semantics</a> + </h6> +<pre class="programlisting"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">list_tie</span><span class="special"><</span><span class="identifier">T0</span><span class="special">,</span> <span class="identifier">T1</span><span class="special">,...</span> <span class="identifier">TN</span><span class="special">>::</span><span class="identifier">type</span><span class="special">;</span> +</pre> +<p> + <span class="bold"><strong>Return type</strong></span>: <a class="link" href="../../list.html" title="list"><code class="computeroutput"><span class="identifier">list</span></code></a><T0&, T1&,... + TN&> + </p> +<p> + <span class="bold"><strong>Semantics</strong></span>: Create a <a class="link" href="../../list.html" title="list"><code class="computeroutput"><span class="identifier">list</span></code></a> of references from <code class="computeroutput"><span class="identifier">T0</span><span class="special">,</span> <span class="identifier">T1</span><span class="special">,...</span> <span class="identifier">TN</span></code>. + </p> +<h6> +<a name="fusion.container.generation.metafunctions.list_tie.h4"></a> + <span><a name="fusion.container.generation.metafunctions.list_tie.header"></a></span><a class="link" href="list_tie.html#fusion.container.generation.metafunctions.list_tie.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</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">generation</span><span class="special">/</span><span class="identifier">list_tie</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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_tie</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h6> +<a name="fusion.container.generation.metafunctions.list_tie.h5"></a> + <span><a name="fusion.container.generation.metafunctions.list_tie.example"></a></span><a class="link" href="list_tie.html#fusion.container.generation.metafunctions.list_tie.example">Example</a> + </h6> +<pre class="programlisting"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">list_tie</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">double</span><span class="special">>::</span><span class="identifier">type</span> +</pre> +</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-2006, 2011 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="make_map.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="vector_tie.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/container/generation/metafunctions/make_cons.html b/libs/fusion/doc/html/fusion/container/generation/metafunctions/make_cons.html new file mode 100755 index 0000000000..dc236c0a9f --- /dev/null +++ b/libs/fusion/doc/html/fusion/container/generation/metafunctions/make_cons.html @@ -0,0 +1,152 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>make_cons</title> +<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../metafunctions.html" title="MetaFunctions"> +<link rel="prev" href="make_list.html" title="make_list"> +<link rel="next" href="make_vector.html" title="make_vector"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="make_list.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="make_vector.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h5 class="title"> +<a name="fusion.container.generation.metafunctions.make_cons"></a><a class="link" href="make_cons.html" title="make_cons">make_cons</a> +</h5></div></div></div> +<h6> +<a name="fusion.container.generation.metafunctions.make_cons.h0"></a> + <span><a name="fusion.container.generation.metafunctions.make_cons.description"></a></span><a class="link" href="make_cons.html#fusion.container.generation.metafunctions.make_cons.description">Description</a> + </h6> +<p> + Returns the result type of <a class="link" href="../functions/make_cons.html" title="make_cons"><code class="computeroutput"><span class="identifier">make_cons</span></code></a>. + </p> +<h6> +<a name="fusion.container.generation.metafunctions.make_cons.h1"></a> + <span><a name="fusion.container.generation.metafunctions.make_cons.synopsis"></a></span><a class="link" href="make_cons.html#fusion.container.generation.metafunctions.make_cons.synopsis">Synopsis</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Car</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Cdr</span> <span class="special">=</span> <span class="identifier">nil</span><span class="special">></span> +<span class="keyword">struct</span> <span class="identifier">make_cons</span><span class="special">;</span> +</pre> +<h6> +<a name="fusion.container.generation.metafunctions.make_cons.h2"></a> + <span><a name="fusion.container.generation.metafunctions.make_cons.parameters"></a></span><a class="link" href="make_cons.html#fusion.container.generation.metafunctions.make_cons.parameters">Parameters</a> + </h6> +<div class="informaltable"><table class="table"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Requirement + </p> + </th> +<th> + <p> + Description + </p> + </th> +</tr></thead> +<tbody> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">Car</span></code> + </p> + </td> +<td> + <p> + Any type + </p> + </td> +<td> + <p> + The list's head type + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">Cdr</span></code> + </p> + </td> +<td> + <p> + A <code class="computeroutput"><span class="identifier">cons</span></code> + </p> + </td> +<td> + <p> + The list's tail type (optional) + </p> + </td> +</tr> +</tbody> +</table></div> +<h6> +<a name="fusion.container.generation.metafunctions.make_cons.h3"></a> + <span><a name="fusion.container.generation.metafunctions.make_cons.expression_semantics"></a></span><a class="link" href="make_cons.html#fusion.container.generation.metafunctions.make_cons.expression_semantics">Expression + Semantics</a> + </h6> +<pre class="programlisting"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">make_cons</span><span class="special"><</span><span class="identifier">Car</span><span class="special">,</span> <span class="identifier">Cdr</span><span class="special">>::</span><span class="identifier">type</span> +</pre> +<p> + <span class="bold"><strong>Return type</strong></span>: A <a class="link" href="../../cons.html" title="cons"><code class="computeroutput"><span class="identifier">cons</span></code></a> with head element, <code class="computeroutput"><span class="identifier">Car</span></code>, of type converted following the + rules for <a class="link" href="../../../notes.html#fusion.notes.element_conversion"><span class="emphasis"><em>element + conversion</em></span></a>, and tail, <code class="computeroutput"><span class="identifier">Cdr</span></code>. + </p> +<p> + <span class="bold"><strong>Semantics</strong></span>: Create a <a class="link" href="../../cons.html" title="cons"><code class="computeroutput"><span class="identifier">cons</span></code></a> from <code class="computeroutput"><span class="identifier">Car</span></code> + (<span class="emphasis"><em>head</em></span>) and optional <code class="computeroutput"><span class="identifier">Cdr</span></code> + (<span class="emphasis"><em>tail</em></span>). + </p> +<h6> +<a name="fusion.container.generation.metafunctions.make_cons.h4"></a> + <span><a name="fusion.container.generation.metafunctions.make_cons.header"></a></span><a class="link" href="make_cons.html#fusion.container.generation.metafunctions.make_cons.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</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">generation</span><span class="special">/</span><span class="identifier">make_cons</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">make_cons</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h6> +<a name="fusion.container.generation.metafunctions.make_cons.h5"></a> + <span><a name="fusion.container.generation.metafunctions.make_cons.example"></a></span><a class="link" href="make_cons.html#fusion.container.generation.metafunctions.make_cons.example">Example</a> + </h6> +<pre class="programlisting"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">make_cons</span><span class="special"><</span><span class="keyword">char</span><span class="special">,</span> <span class="identifier">result_of</span><span class="special">::</span><span class="identifier">make_cons</span><span class="special"><</span><span class="keyword">int</span><span class="special">>::</span><span class="identifier">type</span><span class="special">>::</span><span class="identifier">type</span> +</pre> +</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-2006, 2011 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="make_list.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="make_vector.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/container/generation/metafunctions/make_list.html b/libs/fusion/doc/html/fusion/container/generation/metafunctions/make_list.html new file mode 100755 index 0000000000..bf926e80b9 --- /dev/null +++ b/libs/fusion/doc/html/fusion/container/generation/metafunctions/make_list.html @@ -0,0 +1,143 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>make_list</title> +<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../metafunctions.html" title="MetaFunctions"> +<link rel="prev" href="../metafunctions.html" title="MetaFunctions"> +<link rel="next" href="make_cons.html" title="make_cons"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="../metafunctions.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="make_cons.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h5 class="title"> +<a name="fusion.container.generation.metafunctions.make_list"></a><a class="link" href="make_list.html" title="make_list">make_list</a> +</h5></div></div></div> +<h6> +<a name="fusion.container.generation.metafunctions.make_list.h0"></a> + <span><a name="fusion.container.generation.metafunctions.make_list.description"></a></span><a class="link" href="make_list.html#fusion.container.generation.metafunctions.make_list.description">Description</a> + </h6> +<p> + Returns the result type of <a class="link" href="../functions/make_list.html" title="make_list"><code class="computeroutput"><span class="identifier">make_list</span></code></a>. + </p> +<h6> +<a name="fusion.container.generation.metafunctions.make_list.h1"></a> + <span><a name="fusion.container.generation.metafunctions.make_list.synopsis"></a></span><a class="link" href="make_list.html#fusion.container.generation.metafunctions.make_list.synopsis">Synopsis</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">T0</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T1</span><span class="special">,...</span> <span class="keyword">typename</span> <span class="identifier">TN</span><span class="special">></span> +<span class="keyword">struct</span> <span class="identifier">make_list</span><span class="special">;</span> +</pre> +<p> + The variadic function accepts <code class="computeroutput"><span class="number">0</span></code> + to <code class="computeroutput"><span class="identifier">FUSION_MAX_LIST_SIZE</span></code> + elements, where <code class="computeroutput"><span class="identifier">FUSION_MAX_LIST_SIZE</span></code> + is a user definable predefined maximum that defaults to <code class="computeroutput"><span class="number">10</span></code>. You may define the preprocessor constant + <code class="computeroutput"><span class="identifier">FUSION_MAX_LIST_SIZE</span></code> + before including any Fusion header to change the default. Example: + </p> +<pre class="programlisting"><span class="preprocessor">#define</span> <span class="identifier">FUSION_MAX_LIST_SIZE</span> <span class="number">20</span> +</pre> +<h6> +<a name="fusion.container.generation.metafunctions.make_list.h2"></a> + <span><a name="fusion.container.generation.metafunctions.make_list.parameters"></a></span><a class="link" href="make_list.html#fusion.container.generation.metafunctions.make_list.parameters">Parameters</a> + </h6> +<div class="informaltable"><table class="table"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Requirement + </p> + </th> +<th> + <p> + Description + </p> + </th> +</tr></thead> +<tbody><tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">T0</span><span class="special">,</span> + <span class="identifier">T1</span><span class="special">,...</span> + <span class="identifier">TN</span></code> + </p> + </td> +<td> + <p> + Any type + </p> + </td> +<td> + <p> + Template arguments to <code class="computeroutput"><span class="identifier">make_list</span></code> + </p> + </td> +</tr></tbody> +</table></div> +<h6> +<a name="fusion.container.generation.metafunctions.make_list.h3"></a> + <span><a name="fusion.container.generation.metafunctions.make_list.expression_semantics"></a></span><a class="link" href="make_list.html#fusion.container.generation.metafunctions.make_list.expression_semantics">Expression + Semantics</a> + </h6> +<pre class="programlisting"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">make_list</span><span class="special"><</span><span class="identifier">T0</span><span class="special">,</span> <span class="identifier">T1</span><span class="special">,...</span> <span class="identifier">TN</span><span class="special">>::</span><span class="identifier">type</span> +</pre> +<p> + <span class="bold"><strong>Return type</strong></span>: A <a class="link" href="../../list.html" title="list"><code class="computeroutput"><span class="identifier">list</span></code></a> with elements of types + converted following the rules for <a class="link" href="../../../notes.html#fusion.notes.element_conversion"><span class="emphasis"><em>element + conversion</em></span></a>. + </p> +<p> + <span class="bold"><strong>Semantics</strong></span>: Create a <a class="link" href="../../list.html" title="list"><code class="computeroutput"><span class="identifier">list</span></code></a> from <code class="computeroutput"><span class="identifier">T0</span><span class="special">,</span> <span class="identifier">T1</span><span class="special">,...</span> <span class="identifier">TN</span></code>. + </p> +<h6> +<a name="fusion.container.generation.metafunctions.make_list.h4"></a> + <span><a name="fusion.container.generation.metafunctions.make_list.header"></a></span><a class="link" href="make_list.html#fusion.container.generation.metafunctions.make_list.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</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">generation</span><span class="special">/</span><span class="identifier">make_list</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">make_list</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h6> +<a name="fusion.container.generation.metafunctions.make_list.h5"></a> + <span><a name="fusion.container.generation.metafunctions.make_list.example"></a></span><a class="link" href="make_list.html#fusion.container.generation.metafunctions.make_list.example">Example</a> + </h6> +<pre class="programlisting"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">make_list</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">const</span> <span class="keyword">char</span><span class="special">(&)[</span><span class="number">7</span><span class="special">],</span> <span class="keyword">double</span><span class="special">>::</span><span class="identifier">type</span> +</pre> +</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-2006, 2011 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="../metafunctions.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="make_cons.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/container/generation/metafunctions/make_map.html b/libs/fusion/doc/html/fusion/container/generation/metafunctions/make_map.html new file mode 100755 index 0000000000..a16f33b7d7 --- /dev/null +++ b/libs/fusion/doc/html/fusion/container/generation/metafunctions/make_map.html @@ -0,0 +1,178 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>make_map</title> +<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../metafunctions.html" title="MetaFunctions"> +<link rel="prev" href="make_set.html" title="make_set"> +<link rel="next" href="list_tie.html" title="list_tie"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="make_set.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="list_tie.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h5 class="title"> +<a name="fusion.container.generation.metafunctions.make_map"></a><a class="link" href="make_map.html" title="make_map">make_map</a> +</h5></div></div></div> +<h6> +<a name="fusion.container.generation.metafunctions.make_map.h0"></a> + <span><a name="fusion.container.generation.metafunctions.make_map.description"></a></span><a class="link" href="make_map.html#fusion.container.generation.metafunctions.make_map.description">Description</a> + </h6> +<p> + Returns the result type of <a class="link" href="../functions/make_map.html" title="make_map"><code class="computeroutput"><span class="identifier">make_map</span></code></a>. + </p> +<h6> +<a name="fusion.container.generation.metafunctions.make_map.h1"></a> + <span><a name="fusion.container.generation.metafunctions.make_map.synopsis"></a></span><a class="link" href="make_map.html#fusion.container.generation.metafunctions.make_map.synopsis">Synopsis</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span> + <span class="keyword">typename</span> <span class="identifier">K0</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">K1</span><span class="special">,...</span> <span class="keyword">typename</span> <span class="identifier">KN</span> + <span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T0</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T1</span><span class="special">,...</span> <span class="keyword">typename</span> <span class="identifier">TN</span><span class="special">></span> +<span class="keyword">struct</span> <span class="identifier">make_map</span><span class="special">;</span> +</pre> +<p> + The variadic function accepts <code class="computeroutput"><span class="number">0</span></code> + to <code class="computeroutput"><span class="identifier">FUSION_MAX_MAP_SIZE</span></code> + elements, where <code class="computeroutput"><span class="identifier">FUSION_MAX_MAP_SIZE</span></code> + is a user definable predefined maximum that defaults to <code class="computeroutput"><span class="number">10</span></code>. You may define the preprocessor constant + <code class="computeroutput"><span class="identifier">FUSION_MAX_MAP_SIZE</span></code> before + including any Fusion header to change the default. Example: + </p> +<pre class="programlisting"><span class="preprocessor">#define</span> <span class="identifier">FUSION_MAX_MAP_SIZE</span> <span class="number">20</span> +</pre> +<h6> +<a name="fusion.container.generation.metafunctions.make_map.h2"></a> + <span><a name="fusion.container.generation.metafunctions.make_map.parameters"></a></span><a class="link" href="make_map.html#fusion.container.generation.metafunctions.make_map.parameters">Parameters</a> + </h6> +<div class="informaltable"><table class="table"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Requirement + </p> + </th> +<th> + <p> + Description + </p> + </th> +</tr></thead> +<tbody> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">K0</span><span class="special">,</span> + <span class="identifier">K1</span><span class="special">,...</span> + <span class="identifier">KN</span></code> + </p> + </td> +<td> + <p> + Any type + </p> + </td> +<td> + <p> + Keys associated with <code class="computeroutput"><span class="identifier">T0</span><span class="special">,</span> <span class="identifier">T1</span><span class="special">,...</span> <span class="identifier">TN</span></code> + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">T0</span><span class="special">,</span> + <span class="identifier">T1</span><span class="special">,...</span> + <span class="identifier">TN</span></code> + </p> + </td> +<td> + <p> + Any type + </p> + </td> +<td> + <p> + Data associated with keys <code class="computeroutput"><span class="identifier">K0</span><span class="special">,</span> <span class="identifier">K1</span><span class="special">,...</span> <span class="identifier">KN</span></code> + </p> + </td> +</tr> +</tbody> +</table></div> +<h6> +<a name="fusion.container.generation.metafunctions.make_map.h3"></a> + <span><a name="fusion.container.generation.metafunctions.make_map.expression_semantics"></a></span><a class="link" href="make_map.html#fusion.container.generation.metafunctions.make_map.expression_semantics">Expression + Semantics</a> + </h6> +<pre class="programlisting"><span class="identifier">resulf_of</span><span class="special">::</span><span class="identifier">make_map</span><span class="special"><</span><span class="identifier">K0</span><span class="special">,</span> <span class="identifier">K1</span><span class="special">,...</span> <span class="identifier">KN</span><span class="special">,</span> <span class="identifier">T0</span><span class="special">,</span> <span class="identifier">T1</span><span class="special">,...</span> <span class="identifier">TN</span><span class="special">>::</span><span class="identifier">type</span><span class="special">;</span> +</pre> +<p> + <span class="bold"><strong>Return type</strong></span>: <a class="link" href="make_map.html" title="make_map"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">make_map</span></code></a><code class="computeroutput"><span class="special"><</span><span class="identifier">K0</span><span class="special">,</span> <span class="identifier">K0</span><span class="special">,...</span> <span class="identifier">KN</span><span class="special">,</span> <span class="identifier">T0</span><span class="special">,</span> <span class="identifier">T1</span><span class="special">,...</span> <span class="identifier">TN</span><span class="special">>::</span><span class="identifier">type</span></code> + </p> +<p> + <span class="bold"><strong>Semantics</strong></span>: A <a class="link" href="../../map.html" title="map"><code class="computeroutput"><span class="identifier">map</span></code></a> with <a class="link" href="../../../support/pair.html" title="pair"><code class="computeroutput"><span class="identifier">fusion</span><span class="special">::</span><span class="identifier">pair</span></code></a> elements where the <code class="computeroutput"><span class="identifier">second_type</span></code> is converted following + the rules for <a class="link" href="../../../notes.html#fusion.notes.element_conversion"><span class="emphasis"><em>element + conversion</em></span></a>. + </p> +<p> + <span class="bold"><strong>Precondition</strong></span>: There may be no duplicate + key types. + </p> +<h6> +<a name="fusion.container.generation.metafunctions.make_map.h4"></a> + <span><a name="fusion.container.generation.metafunctions.make_map.header"></a></span><a class="link" href="make_map.html#fusion.container.generation.metafunctions.make_map.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</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">generation</span><span class="special">/</span><span class="identifier">make_map</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">make_map</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h6> +<a name="fusion.container.generation.metafunctions.make_map.h5"></a> + <span><a name="fusion.container.generation.metafunctions.make_map.example"></a></span><a class="link" href="make_map.html#fusion.container.generation.metafunctions.make_map.example">Example</a> + </h6> +<pre class="programlisting"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">make_map</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">double</span><span class="special">,</span> <span class="keyword">char</span><span class="special">,</span> <span class="keyword">double</span><span class="special">>::</span><span class="identifier">type</span> +</pre> +<h6> +<a name="fusion.container.generation.metafunctions.make_map.h6"></a> + <span><a name="fusion.container.generation.metafunctions.make_map.see_also"></a></span><a class="link" href="make_map.html#fusion.container.generation.metafunctions.make_map.see_also">See + also</a> + </h6> +<p> + <a class="link" href="../../../support/pair.html" title="pair"><code class="computeroutput"><span class="identifier">fusion</span><span class="special">::</span><span class="identifier">pair</span></code></a> + </p> +</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-2006, 2011 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="make_set.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="list_tie.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/container/generation/metafunctions/make_set.html b/libs/fusion/doc/html/fusion/container/generation/metafunctions/make_set.html new file mode 100755 index 0000000000..186d571f20 --- /dev/null +++ b/libs/fusion/doc/html/fusion/container/generation/metafunctions/make_set.html @@ -0,0 +1,147 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>make_set</title> +<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../metafunctions.html" title="MetaFunctions"> +<link rel="prev" href="make_vector.html" title="make_vector"> +<link rel="next" href="make_map.html" title="make_map"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="make_vector.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="make_map.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h5 class="title"> +<a name="fusion.container.generation.metafunctions.make_set"></a><a class="link" href="make_set.html" title="make_set">make_set</a> +</h5></div></div></div> +<h6> +<a name="fusion.container.generation.metafunctions.make_set.h0"></a> + <span><a name="fusion.container.generation.metafunctions.make_set.description"></a></span><a class="link" href="make_set.html#fusion.container.generation.metafunctions.make_set.description">Description</a> + </h6> +<p> + Returns the result type of <a class="link" href="../functions/make_set.html" title="make_set"><code class="computeroutput"><span class="identifier">make_set</span></code></a>. + </p> +<h6> +<a name="fusion.container.generation.metafunctions.make_set.h1"></a> + <span><a name="fusion.container.generation.metafunctions.make_set.synopsis"></a></span><a class="link" href="make_set.html#fusion.container.generation.metafunctions.make_set.synopsis">Synopsis</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">T0</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T1</span><span class="special">,...</span> <span class="keyword">typename</span> <span class="identifier">TN</span><span class="special">></span> +<span class="keyword">struct</span> <span class="identifier">make_set</span><span class="special">;</span> +</pre> +<p> + The variadic function accepts <code class="computeroutput"><span class="number">0</span></code> + to <code class="computeroutput"><span class="identifier">FUSION_MAX_SET_SIZE</span></code> + elements, where <code class="computeroutput"><span class="identifier">FUSION_MAX_SET_SIZE</span></code> + is a user definable predefined maximum that defaults to <code class="computeroutput"><span class="number">10</span></code>. You may define the preprocessor constant + <code class="computeroutput"><span class="identifier">FUSION_MAX_SET_SIZE</span></code> before + including any Fusion header to change the default. Example: + </p> +<pre class="programlisting"><span class="preprocessor">#define</span> <span class="identifier">FUSION_MAX_SET_SIZE</span> <span class="number">20</span> +</pre> +<h6> +<a name="fusion.container.generation.metafunctions.make_set.h2"></a> + <span><a name="fusion.container.generation.metafunctions.make_set.parameters"></a></span><a class="link" href="make_set.html#fusion.container.generation.metafunctions.make_set.parameters">Parameters</a> + </h6> +<div class="informaltable"><table class="table"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Requirement + </p> + </th> +<th> + <p> + Description + </p> + </th> +</tr></thead> +<tbody><tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">T0</span><span class="special">,</span> + <span class="identifier">T1</span><span class="special">,...</span> + <span class="identifier">TN</span></code> + </p> + </td> +<td> + <p> + Any type + </p> + </td> +<td> + <p> + The arguments to <code class="computeroutput"><span class="identifier">make_set</span></code> + </p> + </td> +</tr></tbody> +</table></div> +<h6> +<a name="fusion.container.generation.metafunctions.make_set.h3"></a> + <span><a name="fusion.container.generation.metafunctions.make_set.expression_semantics"></a></span><a class="link" href="make_set.html#fusion.container.generation.metafunctions.make_set.expression_semantics">Expression + Semantics</a> + </h6> +<pre class="programlisting"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">make_set</span><span class="special"><</span><span class="identifier">T0</span><span class="special">,</span> <span class="identifier">T1</span><span class="special">,...</span> <span class="identifier">TN</span><span class="special">>::</span><span class="identifier">type</span> +</pre> +<p> + <span class="bold"><strong>Return type</strong></span>: A <a class="link" href="../../set.html" title="set"><code class="computeroutput"><span class="identifier">set</span></code></a> with elements of types converted + following the rules for <a class="link" href="../../../notes.html#fusion.notes.element_conversion"><span class="emphasis"><em>element + conversion</em></span></a>. + </p> +<p> + <span class="bold"><strong>Semantics</strong></span>: Create a <a class="link" href="../../set.html" title="set"><code class="computeroutput"><span class="identifier">set</span></code></a> from <code class="computeroutput"><span class="identifier">T0</span><span class="special">,</span> <span class="identifier">T1</span><span class="special">,...</span> <span class="identifier">TN</span></code>. + </p> +<p> + <span class="bold"><strong>Precondition</strong></span>: There may be no duplicate + key types. + </p> +<h6> +<a name="fusion.container.generation.metafunctions.make_set.h4"></a> + <span><a name="fusion.container.generation.metafunctions.make_set.header"></a></span><a class="link" href="make_set.html#fusion.container.generation.metafunctions.make_set.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</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">generation</span><span class="special">/</span><span class="identifier">make_set</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">make_set</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h6> +<a name="fusion.container.generation.metafunctions.make_set.h5"></a> + <span><a name="fusion.container.generation.metafunctions.make_set.example"></a></span><a class="link" href="make_set.html#fusion.container.generation.metafunctions.make_set.example">Example</a> + </h6> +<pre class="programlisting"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">make_set</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">char</span><span class="special">,</span> <span class="keyword">double</span><span class="special">>::</span><span class="identifier">type</span> +</pre> +</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-2006, 2011 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="make_vector.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="make_map.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/container/generation/metafunctions/make_vector.html b/libs/fusion/doc/html/fusion/container/generation/metafunctions/make_vector.html new file mode 100755 index 0000000000..5a7122d441 --- /dev/null +++ b/libs/fusion/doc/html/fusion/container/generation/metafunctions/make_vector.html @@ -0,0 +1,143 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>make_vector</title> +<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../metafunctions.html" title="MetaFunctions"> +<link rel="prev" href="make_cons.html" title="make_cons"> +<link rel="next" href="make_set.html" title="make_set"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="make_cons.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="make_set.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h5 class="title"> +<a name="fusion.container.generation.metafunctions.make_vector"></a><a class="link" href="make_vector.html" title="make_vector">make_vector</a> +</h5></div></div></div> +<h6> +<a name="fusion.container.generation.metafunctions.make_vector.h0"></a> + <span><a name="fusion.container.generation.metafunctions.make_vector.description"></a></span><a class="link" href="make_vector.html#fusion.container.generation.metafunctions.make_vector.description">Description</a> + </h6> +<p> + Returns the result type of <a class="link" href="../functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></a>. + </p> +<h6> +<a name="fusion.container.generation.metafunctions.make_vector.h1"></a> + <span><a name="fusion.container.generation.metafunctions.make_vector.synopsis"></a></span><a class="link" href="make_vector.html#fusion.container.generation.metafunctions.make_vector.synopsis">Synopsis</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">T0</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T1</span><span class="special">,...</span> <span class="keyword">typename</span> <span class="identifier">TN</span><span class="special">></span> +<span class="keyword">struct</span> <span class="identifier">make_vector</span><span class="special">;</span> +</pre> +<p> + The variadic function accepts <code class="computeroutput"><span class="number">0</span></code> + to <code class="computeroutput"><span class="identifier">FUSION_MAX_VECTOR_SIZE</span></code> + elements, where <code class="computeroutput"><span class="identifier">FUSION_MAX_VECTOR_SIZE</span></code> + is a user definable predefined maximum that defaults to <code class="computeroutput"><span class="number">10</span></code>. You may define the preprocessor constant + <code class="computeroutput"><span class="identifier">FUSION_MAX_VECTOR_SIZE</span></code> + before including any Fusion header to change the default. Example: + </p> +<pre class="programlisting"><span class="preprocessor">#define</span> <span class="identifier">FUSION_MAX_VECTOR_SIZE</span> <span class="number">20</span> +</pre> +<h6> +<a name="fusion.container.generation.metafunctions.make_vector.h2"></a> + <span><a name="fusion.container.generation.metafunctions.make_vector.parameters"></a></span><a class="link" href="make_vector.html#fusion.container.generation.metafunctions.make_vector.parameters">Parameters</a> + </h6> +<div class="informaltable"><table class="table"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Requirement + </p> + </th> +<th> + <p> + Description + </p> + </th> +</tr></thead> +<tbody><tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">T0</span><span class="special">,</span> + <span class="identifier">T1</span><span class="special">,...</span> + <span class="identifier">TN</span></code> + </p> + </td> +<td> + <p> + Any type + </p> + </td> +<td> + <p> + Template arguments to <code class="computeroutput"><span class="identifier">make_vector</span></code> + </p> + </td> +</tr></tbody> +</table></div> +<h6> +<a name="fusion.container.generation.metafunctions.make_vector.h3"></a> + <span><a name="fusion.container.generation.metafunctions.make_vector.expression_semantics"></a></span><a class="link" href="make_vector.html#fusion.container.generation.metafunctions.make_vector.expression_semantics">Expression + Semantics</a> + </h6> +<pre class="programlisting"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">make_vector</span><span class="special"><</span><span class="identifier">T0</span><span class="special">,</span> <span class="identifier">T1</span><span class="special">,...</span> <span class="identifier">TN</span><span class="special">>::</span><span class="identifier">type</span> +</pre> +<p> + <span class="bold"><strong>Return type</strong></span>: A <a class="link" href="../../vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a> with elements of types + converted following the rules for <a class="link" href="../../../notes.html#fusion.notes.element_conversion"><span class="emphasis"><em>element + conversion</em></span></a>. + </p> +<p> + <span class="bold"><strong>Semantics</strong></span>: Create a <a class="link" href="../../vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a> from <code class="computeroutput"><span class="identifier">T0</span><span class="special">,</span> <span class="identifier">T1</span><span class="special">,...</span> <span class="identifier">TN</span></code>. + </p> +<h6> +<a name="fusion.container.generation.metafunctions.make_vector.h4"></a> + <span><a name="fusion.container.generation.metafunctions.make_vector.header"></a></span><a class="link" href="make_vector.html#fusion.container.generation.metafunctions.make_vector.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</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">generation</span><span class="special">/</span><span class="identifier">make_list</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">make_list</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h6> +<a name="fusion.container.generation.metafunctions.make_vector.h5"></a> + <span><a name="fusion.container.generation.metafunctions.make_vector.example"></a></span><a class="link" href="make_vector.html#fusion.container.generation.metafunctions.make_vector.example">Example</a> + </h6> +<pre class="programlisting"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">make_vector</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">const</span> <span class="keyword">char</span><span class="special">(&)[</span><span class="number">7</span><span class="special">],</span> <span class="keyword">double</span><span class="special">>::</span><span class="identifier">type</span> +</pre> +</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-2006, 2011 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="make_cons.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="make_set.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/container/generation/metafunctions/map_tie.html b/libs/fusion/doc/html/fusion/container/generation/metafunctions/map_tie.html new file mode 100755 index 0000000000..a323d037b8 --- /dev/null +++ b/libs/fusion/doc/html/fusion/container/generation/metafunctions/map_tie.html @@ -0,0 +1,167 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>map_tie</title> +<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../metafunctions.html" title="MetaFunctions"> +<link rel="prev" href="vector_tie.html" title="vector_tie"> +<link rel="next" href="../../conversion.html" title="Conversion"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="vector_tie.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../../conversion.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h5 class="title"> +<a name="fusion.container.generation.metafunctions.map_tie"></a><a class="link" href="map_tie.html" title="map_tie">map_tie</a> +</h5></div></div></div> +<h6> +<a name="fusion.container.generation.metafunctions.map_tie.h0"></a> + <span><a name="fusion.container.generation.metafunctions.map_tie.description"></a></span><a class="link" href="map_tie.html#fusion.container.generation.metafunctions.map_tie.description">Description</a> + </h6> +<p> + Returns the result type of <a class="link" href="../functions/vector_tie.html" title="vector_tie"><code class="computeroutput"><span class="identifier">map_tie</span></code></a>. + </p> +<h6> +<a name="fusion.container.generation.metafunctions.map_tie.h1"></a> + <span><a name="fusion.container.generation.metafunctions.map_tie.synopsis"></a></span><a class="link" href="map_tie.html#fusion.container.generation.metafunctions.map_tie.synopsis">Synopsis</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">K0</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">K1</span><span class="special">,...</span> <span class="keyword">typename</span> <span class="identifier">KN</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">D0</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">D1</span><span class="special">,...</span> <span class="keyword">typename</span> <span class="identifier">DN</span><span class="special">></span> +<span class="keyword">struct</span> <span class="identifier">map_tie</span><span class="special">;</span> +</pre> +<p> + The variadic function accepts <code class="computeroutput"><span class="number">0</span></code> + to <code class="computeroutput"><span class="identifier">FUSION_MAX_MAP_SIZE</span></code> + elements, where <code class="computeroutput"><span class="identifier">FUSION_MAX_MAP_SIZE</span></code> + is a user definable predefined maximum that defaults to <code class="computeroutput"><span class="number">10</span></code>. You may define the preprocessor constant + <code class="computeroutput"><span class="identifier">FUSION_MAX_MAP_SIZE</span></code> before + including any Fusion header to change the default. Example: + </p> +<pre class="programlisting"><span class="preprocessor">#define</span> <span class="identifier">FUSION_MAX_MAP_SIZE</span> <span class="number">20</span> +</pre> +<h6> +<a name="fusion.container.generation.metafunctions.map_tie.h2"></a> + <span><a name="fusion.container.generation.metafunctions.map_tie.parameters"></a></span><a class="link" href="map_tie.html#fusion.container.generation.metafunctions.map_tie.parameters">Parameters</a> + </h6> +<div class="informaltable"><table class="table"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Requirement + </p> + </th> +<th> + <p> + Description + </p> + </th> +</tr></thead> +<tbody> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">K0</span><span class="special">,</span> + <span class="identifier">K1</span><span class="special">,...</span> + <span class="identifier">KN</span></code> + </p> + </td> +<td> + <p> + Any type + </p> + </td> +<td> + <p> + The key types for <code class="computeroutput"><span class="identifier">map_tie</span></code> + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">D0</span><span class="special">,</span> + <span class="identifier">D1</span><span class="special">,...</span> + <span class="identifier">DN</span></code> + </p> + </td> +<td> + <p> + Any type + </p> + </td> +<td> + <p> + The arguments types for <code class="computeroutput"><span class="identifier">map_tie</span></code> + </p> + </td> +</tr> +</tbody> +</table></div> +<h6> +<a name="fusion.container.generation.metafunctions.map_tie.h3"></a> + <span><a name="fusion.container.generation.metafunctions.map_tie.expression_semantics"></a></span><a class="link" href="map_tie.html#fusion.container.generation.metafunctions.map_tie.expression_semantics">Expression + Semantics</a> + </h6> +<pre class="programlisting"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">map_tie</span><span class="special"><</span><span class="identifier">K0</span><span class="special">,</span> <span class="identifier">K1</span><span class="special">,...</span> <span class="identifier">KN</span><span class="special">,</span> <span class="identifier">D0</span><span class="special">,</span> <span class="identifier">D1</span><span class="special">,...</span> <span class="identifier">DN</span><span class="special">>::</span><span class="identifier">type</span><span class="special">;</span> +</pre> +<p> + <span class="bold"><strong>Return type</strong></span>: <a class="link" href="../../map.html" title="map"><code class="computeroutput"><span class="identifier">map</span></code></a><<a class="link" href="../../../support/pair.html" title="pair"><code class="computeroutput"><span class="identifier">pair</span></code></a><K0, D0&>, <a class="link" href="../../../support/pair.html" title="pair"><code class="computeroutput"><span class="identifier">pair</span></code></a><K1, + D1&>,... <a class="link" href="../../../support/pair.html" title="pair"><code class="computeroutput"><span class="identifier">pair</span></code></a><KN, + DN&> > + </p> +<p> + <span class="bold"><strong>Semantics</strong></span>: Create a <a class="link" href="../../map.html" title="map"><code class="computeroutput"><span class="identifier">map</span></code></a> of references from <code class="computeroutput"><span class="identifier">D0</span><span class="special">,</span> <span class="identifier">D1</span><span class="special">,...</span> <span class="identifier">DN</span></code> with keys <code class="computeroutput"><span class="identifier">K0</span><span class="special">,</span> <span class="identifier">K1</span><span class="special">,...</span> <span class="identifier">KN</span></code> + </p> +<h6> +<a name="fusion.container.generation.metafunctions.map_tie.h4"></a> + <span><a name="fusion.container.generation.metafunctions.map_tie.header"></a></span><a class="link" href="map_tie.html#fusion.container.generation.metafunctions.map_tie.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</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">generation</span><span class="special">/</span><span class="identifier">map_tie</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">map_tie</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h6> +<a name="fusion.container.generation.metafunctions.map_tie.h5"></a> + <span><a name="fusion.container.generation.metafunctions.map_tie.example"></a></span><a class="link" href="map_tie.html#fusion.container.generation.metafunctions.map_tie.example">Example</a> + </h6> +<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">int_key</span><span class="special">;</span> +<span class="keyword">struct</span> <span class="identifier">double_key</span><span class="special">;</span> +<span class="special">...</span> +<span class="identifier">result_of</span><span class="special">::</span><span class="identifier">map_tie</span><span class="special"><</span><span class="identifier">int_key</span><span class="special">,</span> <span class="identifier">double_key</span><span class="special">,</span> <span class="keyword">int</span><span class="special">,</span> <span class="keyword">double</span><span class="special">>::</span><span class="identifier">type</span> +</pre> +</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-2006, 2011 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="vector_tie.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../../conversion.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/container/generation/metafunctions/vector_tie.html b/libs/fusion/doc/html/fusion/container/generation/metafunctions/vector_tie.html new file mode 100755 index 0000000000..9f5bbd1270 --- /dev/null +++ b/libs/fusion/doc/html/fusion/container/generation/metafunctions/vector_tie.html @@ -0,0 +1,142 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>vector_tie</title> +<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../metafunctions.html" title="MetaFunctions"> +<link rel="prev" href="list_tie.html" title="list_tie"> +<link rel="next" href="map_tie.html" title="map_tie"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="list_tie.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="map_tie.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h5 class="title"> +<a name="fusion.container.generation.metafunctions.vector_tie"></a><a class="link" href="vector_tie.html" title="vector_tie">vector_tie</a> +</h5></div></div></div> +<h6> +<a name="fusion.container.generation.metafunctions.vector_tie.h0"></a> + <span><a name="fusion.container.generation.metafunctions.vector_tie.description"></a></span><a class="link" href="vector_tie.html#fusion.container.generation.metafunctions.vector_tie.description">Description</a> + </h6> +<p> + Returns the result type of <a class="link" href="../functions/vector_tie.html" title="vector_tie"><code class="computeroutput"><span class="identifier">vector_tie</span></code></a>. + </p> +<h6> +<a name="fusion.container.generation.metafunctions.vector_tie.h1"></a> + <span><a name="fusion.container.generation.metafunctions.vector_tie.synopsis"></a></span><a class="link" href="vector_tie.html#fusion.container.generation.metafunctions.vector_tie.synopsis">Synopsis</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">T0</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T1</span><span class="special">,...</span> <span class="keyword">typename</span> <span class="identifier">TN</span><span class="special">></span> +<span class="keyword">struct</span> <span class="identifier">vector_tie</span><span class="special">;</span> +</pre> +<p> + The variadic function accepts <code class="computeroutput"><span class="number">0</span></code> + to <code class="computeroutput"><span class="identifier">FUSION_MAX_VECTOR_SIZE</span></code> + elements, where <code class="computeroutput"><span class="identifier">FUSION_MAX_VECTOR_SIZE</span></code> + is a user definable predefined maximum that defaults to <code class="computeroutput"><span class="number">10</span></code>. You may define the preprocessor constant + <code class="computeroutput"><span class="identifier">FUSION_MAX_VECTOR_SIZE</span></code> + before including any Fusion header to change the default. Example: + </p> +<pre class="programlisting"><span class="preprocessor">#define</span> <span class="identifier">FUSION_MAX_VECTOR_SIZE</span> <span class="number">20</span> +</pre> +<h6> +<a name="fusion.container.generation.metafunctions.vector_tie.h2"></a> + <span><a name="fusion.container.generation.metafunctions.vector_tie.parameters"></a></span><a class="link" href="vector_tie.html#fusion.container.generation.metafunctions.vector_tie.parameters">Parameters</a> + </h6> +<div class="informaltable"><table class="table"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Requirement + </p> + </th> +<th> + <p> + Description + </p> + </th> +</tr></thead> +<tbody><tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">T0</span><span class="special">,</span> + <span class="identifier">T1</span><span class="special">,...</span> + <span class="identifier">TN</span></code> + </p> + </td> +<td> + <p> + Any type + </p> + </td> +<td> + <p> + The arguments to <code class="computeroutput"><span class="identifier">vector_tie</span></code> + </p> + </td> +</tr></tbody> +</table></div> +<h6> +<a name="fusion.container.generation.metafunctions.vector_tie.h3"></a> + <span><a name="fusion.container.generation.metafunctions.vector_tie.expression_semantics"></a></span><a class="link" href="vector_tie.html#fusion.container.generation.metafunctions.vector_tie.expression_semantics">Expression + Semantics</a> + </h6> +<pre class="programlisting"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">vector_tie</span><span class="special"><</span><span class="identifier">T0</span><span class="special">,</span> <span class="identifier">T1</span><span class="special">,...</span> <span class="identifier">TN</span><span class="special">>::</span><span class="identifier">type</span><span class="special">;</span> +</pre> +<p> + <span class="bold"><strong>Return type</strong></span>: <a class="link" href="../../vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><T0&, T1&,... + TN&> + </p> +<p> + <span class="bold"><strong>Semantics</strong></span>: Create a <a class="link" href="../../vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a> of references from <code class="computeroutput"><span class="identifier">T0</span><span class="special">,</span> <span class="identifier">T1</span><span class="special">,...</span> <span class="identifier">TN</span></code>. + </p> +<h6> +<a name="fusion.container.generation.metafunctions.vector_tie.h4"></a> + <span><a name="fusion.container.generation.metafunctions.vector_tie.header"></a></span><a class="link" href="vector_tie.html#fusion.container.generation.metafunctions.vector_tie.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</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">generation</span><span class="special">/</span><span class="identifier">vector_tie</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">vector_tie</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h6> +<a name="fusion.container.generation.metafunctions.vector_tie.h5"></a> + <span><a name="fusion.container.generation.metafunctions.vector_tie.example"></a></span><a class="link" href="vector_tie.html#fusion.container.generation.metafunctions.vector_tie.example">Example</a> + </h6> +<pre class="programlisting"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">vector_tie</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">double</span><span class="special">>::</span><span class="identifier">type</span> +</pre> +</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-2006, 2011 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="list_tie.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="map_tie.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/container/list.html b/libs/fusion/doc/html/fusion/container/list.html new file mode 100755 index 0000000000..91d665b49a --- /dev/null +++ b/libs/fusion/doc/html/fusion/container/list.html @@ -0,0 +1,289 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>list</title> +<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../container.html" title="Container"> +<link rel="prev" href="cons.html" title="cons"> +<link rel="next" href="set.html" title="set"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="cons.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../container.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="set.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h3 class="title"> +<a name="fusion.container.list"></a><a class="link" href="list.html" title="list">list</a> +</h3></div></div></div> +<h5> +<a name="fusion.container.list.h0"></a> + <span><a name="fusion.container.list.description"></a></span><a class="link" href="list.html#fusion.container.list.description">Description</a> + </h5> +<p> + <code class="computeroutput"><span class="identifier">list</span></code> is a <a class="link" href="../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a> of heterogenous typed data built on top of <a class="link" href="cons.html" title="cons"><code class="computeroutput"><span class="identifier">cons</span></code></a>. It is more efficient than + <a class="link" href="vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a> + when the target sequence is constructed piecemeal (a data at a time). The + runtime cost of access to each element is peculiarly constant (see <a class="link" href="../notes.html#fusion.notes.recursive_inlined_functions">Recursive Inlined Functions</a>). + </p> +<h5> +<a name="fusion.container.list.h1"></a> + <span><a name="fusion.container.list.header"></a></span><a class="link" href="list.html#fusion.container.list.header">Header</a> + </h5> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</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">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">list_fwd</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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_fwd</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h5> +<a name="fusion.container.list.h2"></a> + <span><a name="fusion.container.list.synopsis"></a></span><a class="link" href="list.html#fusion.container.list.synopsis">Synopsis</a> + </h5> +<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span> + <span class="keyword">typename</span> <span class="identifier">T0</span> <span class="special">=</span> <span class="emphasis"><em>unspecified</em></span> + <span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T1</span> <span class="special">=</span> <span class="emphasis"><em>unspecified</em></span> + <span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T2</span> <span class="special">=</span> <span class="emphasis"><em>unspecified</em></span> + <span class="special">...</span> + <span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">TN</span> <span class="special">=</span> <span class="emphasis"><em>unspecified</em></span> +<span class="special">></span> +<span class="keyword">struct</span> <span class="identifier">list</span><span class="special">;</span> +</pre> +<p> + The variadic class interface accepts <code class="computeroutput"><span class="number">0</span></code> + to <code class="computeroutput"><span class="identifier">FUSION_MAX_LIST_SIZE</span></code> elements, + where <code class="computeroutput"><span class="identifier">FUSION_MAX_LIST_SIZE</span></code> + is a user definable predefined maximum that defaults to <code class="computeroutput"><span class="number">10</span></code>. + Example: + </p> +<pre class="programlisting"><span class="identifier">list</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">char</span><span class="special">,</span> <span class="keyword">double</span><span class="special">></span> +</pre> +<p> + You may define the preprocessor constant <code class="computeroutput"><span class="identifier">FUSION_MAX_LIST_SIZE</span></code> + before including any Fusion header to change the default. Example: + </p> +<pre class="programlisting"><span class="preprocessor">#define</span> <span class="identifier">FUSION_MAX_LIST_SIZE</span> <span class="number">20</span> +</pre> +<h5> +<a name="fusion.container.list.h3"></a> + <span><a name="fusion.container.list.template_parameters"></a></span><a class="link" href="list.html#fusion.container.list.template_parameters">Template + parameters</a> + </h5> +<div class="informaltable"><table class="table"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Description + </p> + </th> +<th> + <p> + Default + </p> + </th> +</tr></thead> +<tbody><tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">T0</span></code>...<code class="computeroutput"><span class="identifier">TN</span></code> + </p> + </td> +<td> + <p> + Element types + </p> + </td> +<td> + <p> + <span class="emphasis"><em>unspecified-type</em></span> + </p> + </td> +</tr></tbody> +</table></div> +<h5> +<a name="fusion.container.list.h4"></a> + <span><a name="fusion.container.list.model_of"></a></span><a class="link" href="list.html#fusion.container.list.model_of">Model + of</a> + </h5> +<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"> + <a class="link" href="../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward Sequence</a> + </li></ul></div> +<div class="variablelist"> +<p class="title"><b>Notation</b></p> +<dl> +<dt><span class="term"><code class="computeroutput"><span class="identifier">L</span></code></span></dt> +<dd><p> + A <code class="computeroutput"><span class="identifier">list</span></code> type + </p></dd> +<dt><span class="term"><code class="computeroutput"><span class="identifier">l</span></code></span></dt> +<dd><p> + An instance of <code class="computeroutput"><span class="identifier">list</span></code> + </p></dd> +<dt><span class="term"><code class="computeroutput"><span class="identifier">e0</span></code>...<code class="computeroutput"><span class="identifier">en</span></code></span></dt> +<dd><p> + Heterogeneous values + </p></dd> +<dt><span class="term"><code class="computeroutput"><span class="identifier">s</span></code></span></dt> +<dd><p> + A <a class="link" href="../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a> + </p></dd> +<dt><span class="term"><code class="computeroutput"><span class="identifier">N</span></code></span></dt> +<dd><p> + An <a href="http://www.boost.org/libs/mpl/doc/refmanual/integral-constant.html" target="_top">MPL + Integral Constant</a> + </p></dd> +</dl> +</div> +<h5> +<a name="fusion.container.list.h5"></a> + <span><a name="fusion.container.list.expression_semantics"></a></span><a class="link" href="list.html#fusion.container.list.expression_semantics">Expression + Semantics</a> + </h5> +<p> + Semantics of an expression is defined only where it differs from, or is not + defined in <a class="link" href="../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a>. + </p> +<div class="informaltable"><table class="table"> +<colgroup> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Expression + </p> + </th> +<th> + <p> + Semantics + </p> + </th> +</tr></thead> +<tbody> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">L</span><span class="special">()</span></code> + </p> + </td> +<td> + <p> + Creates a list with default constructed elements. + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">L</span><span class="special">(</span><span class="identifier">e0</span><span class="special">,</span> + <span class="identifier">e1</span><span class="special">,...</span> + <span class="identifier">en</span><span class="special">)</span></code> + </p> + </td> +<td> + <p> + Creates a list with elements <code class="computeroutput"><span class="identifier">e0</span></code>...<code class="computeroutput"><span class="identifier">en</span></code>. + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">L</span><span class="special">(</span><span class="identifier">s</span><span class="special">)</span></code> + </p> + </td> +<td> + <p> + Copy constructs a list from a <a class="link" href="../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a>, <code class="computeroutput"><span class="identifier">s</span></code>. + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">l</span> <span class="special">=</span> + <span class="identifier">s</span></code> + </p> + </td> +<td> + <p> + Assigns to a list, <code class="computeroutput"><span class="identifier">l</span></code>, + from a <a class="link" href="../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a>, <code class="computeroutput"><span class="identifier">s</span></code>. + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><a class="link" href="../sequence/intrinsic/functions/at.html" title="at"><code class="computeroutput"><span class="identifier">at</span></code></a><span class="special"><</span><span class="identifier">N</span><span class="special">>(</span><span class="identifier">l</span><span class="special">)</span></code> + </p> + </td> +<td> + <p> + The Nth element from the beginning of the sequence; see <a class="link" href="../sequence/intrinsic/functions/at.html" title="at"><code class="computeroutput"><span class="identifier">at</span></code></a>. + </p> + </td> +</tr> +</tbody> +</table></div> +<div class="sidebar"> +<div class="titlepage"></div> +<p> + <span class="inlinemediaobject"><img src="../../images/note.png" alt="note"></span> <code class="computeroutput"><a class="link" href="../sequence/intrinsic/functions/at.html" title="at"><code class="computeroutput"><span class="identifier">at</span></code></a><span class="special"><</span><span class="identifier">n</span><span class="special">>(</span><span class="identifier">l</span><span class="special">)</span></code> is provided + for convenience and compatibility with the original <a href="http://www.boost.org/libs/tuple/doc/tuple_users_guide.html" target="_top">Boost.Tuple</a> + library, despite <code class="computeroutput"><span class="identifier">list</span></code> being + a <a class="link" href="../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward Sequence</a> + only (<a class="link" href="../sequence/intrinsic/functions/at.html" title="at"><code class="computeroutput"><span class="identifier">at</span></code></a> is supposed to be a <a class="link" href="../sequence/concepts/random_access_sequence.html" title="Random Access Sequence">Random + Access Sequence</a> requirement). The runtime complexity of <a class="link" href="../sequence/intrinsic/functions/at.html" title="at"><code class="computeroutput"><span class="identifier">at</span></code></a> is constant (see <a class="link" href="../notes.html#fusion.notes.recursive_inlined_functions">Recursive + Inlined Functions</a>). + </p> +</div> +<h5> +<a name="fusion.container.list.h6"></a> + <span><a name="fusion.container.list.example"></a></span><a class="link" href="list.html#fusion.container.list.example">Example</a> + </h5> +<pre class="programlisting"><span class="identifier">list</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">float</span><span class="special">></span> <span class="identifier">l</span><span class="special">(</span><span class="number">12</span><span class="special">,</span> <span class="number">5.5f</span><span class="special">);</span> +<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special"><<</span> <a class="link" href="../sequence/intrinsic/functions/at_c.html" title="at_c"><code class="computeroutput"><span class="identifier">at_c</span></code></a><span class="special"><</span><span class="number">0</span><span class="special">>(</span><span class="identifier">l</span><span class="special">)</span> <span class="special"><<</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span> +<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special"><<</span> <a class="link" href="../sequence/intrinsic/functions/at_c.html" title="at_c"><code class="computeroutput"><span class="identifier">at_c</span></code></a><span class="special"><</span><span class="number">1</span><span class="special">>(</span><span class="identifier">l</span><span class="special">)</span> <span class="special"><<</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span> +</pre> +</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-2006, 2011 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="cons.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../container.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="set.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/container/map.html b/libs/fusion/doc/html/fusion/container/map.html new file mode 100755 index 0000000000..019a96f01d --- /dev/null +++ b/libs/fusion/doc/html/fusion/container/map.html @@ -0,0 +1,277 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>map</title> +<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../container.html" title="Container"> +<link rel="prev" href="set.html" title="set"> +<link rel="next" href="generation.html" title="Generation"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="set.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../container.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="generation.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h3 class="title"> +<a name="fusion.container.map"></a><a class="link" href="map.html" title="map">map</a> +</h3></div></div></div> +<h5> +<a name="fusion.container.map.h0"></a> + <span><a name="fusion.container.map.description"></a></span><a class="link" href="map.html#fusion.container.map.description">Description</a> + </h5> +<p> + map is an <a class="link" href="../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative + Sequence</a> of heteregenous typed data elements. Each element is a key/data + pair (see <a class="link" href="../support/pair.html" title="pair"><code class="computeroutput"><span class="identifier">fusion</span><span class="special">::</span><span class="identifier">pair</span></code></a>) + where the key has no data (type only). Type identity is used to impose an + equivalence relation on keys. A map may contain at most one element for each + key. Membership testing and element key lookup has constant runtime complexity + (see <a class="link" href="../notes.html#fusion.notes.overloaded_functions">Overloaded Functions</a>). + </p> +<h5> +<a name="fusion.container.map.h1"></a> + <span><a name="fusion.container.map.header"></a></span><a class="link" href="map.html#fusion.container.map.header">Header</a> + </h5> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</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">map</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">map</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">map</span><span class="special">/</span><span class="identifier">map_fwd</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">map_fwd</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h5> +<a name="fusion.container.map.h2"></a> + <span><a name="fusion.container.map.synopsis"></a></span><a class="link" href="map.html#fusion.container.map.synopsis">Synopsis</a> + </h5> +<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span> + <span class="keyword">typename</span> <span class="identifier">T0</span> <span class="special">=</span> <span class="emphasis"><em>unspecified</em></span> + <span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T1</span> <span class="special">=</span> <span class="emphasis"><em>unspecified</em></span> + <span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T2</span> <span class="special">=</span> <span class="emphasis"><em>unspecified</em></span> + <span class="special">...</span> + <span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">TN</span> <span class="special">=</span> <span class="emphasis"><em>unspecified</em></span> +<span class="special">></span> +<span class="keyword">struct</span> <span class="identifier">map</span><span class="special">;</span> +</pre> +<p> + The variadic class interface accepts <code class="computeroutput"><span class="number">0</span></code> + to <code class="computeroutput"><span class="identifier">FUSION_MAX_MAP_SIZE</span></code> elements, + where <code class="computeroutput"><span class="identifier">FUSION_MAX_MAP_SIZE</span></code> + is a user definable predefined maximum that defaults to <code class="computeroutput"><span class="number">10</span></code>. + Example: + </p> +<pre class="programlisting"><span class="identifier">map</span><span class="special"><</span><a class="link" href="../support/pair.html" title="pair"><code class="computeroutput"><span class="identifier">pair</span></code></a><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">char</span><span class="special">>,</span> <a class="link" href="../support/pair.html" title="pair"><code class="computeroutput"><span class="identifier">pair</span></code></a><span class="special"><</span><span class="keyword">char</span><span class="special">,</span> <span class="keyword">char</span><span class="special">>,</span> <a class="link" href="../support/pair.html" title="pair"><code class="computeroutput"><span class="identifier">pair</span></code></a><span class="special"><</span><span class="keyword">double</span><span class="special">,</span> <span class="keyword">char</span><span class="special">></span> <span class="special">></span> +</pre> +<p> + You may define the preprocessor constant <code class="computeroutput"><span class="identifier">FUSION_MAX_MAP_SIZE</span></code> + before including any Fusion header to change the default. Example: + </p> +<pre class="programlisting"><span class="preprocessor">#define</span> <span class="identifier">FUSION_MAX_MAP_SIZE</span> <span class="number">20</span> +</pre> +<h5> +<a name="fusion.container.map.h3"></a> + <span><a name="fusion.container.map.template_parameters"></a></span><a class="link" href="map.html#fusion.container.map.template_parameters">Template + parameters</a> + </h5> +<div class="informaltable"><table class="table"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Description + </p> + </th> +<th> + <p> + Default + </p> + </th> +</tr></thead> +<tbody><tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">T0</span></code>...<code class="computeroutput"><span class="identifier">TN</span></code> + </p> + </td> +<td> + <p> + Element types + </p> + </td> +<td> + <p> + <span class="emphasis"><em>unspecified-type</em></span> + </p> + </td> +</tr></tbody> +</table></div> +<h5> +<a name="fusion.container.map.h4"></a> + <span><a name="fusion.container.map.model_of"></a></span><a class="link" href="map.html#fusion.container.map.model_of">Model + of</a> + </h5> +<div class="itemizedlist"><ul class="itemizedlist" type="disc"> +<li class="listitem"> + <a class="link" href="../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative + Sequence</a> + </li> +<li class="listitem"> + <a class="link" href="../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward Sequence</a> + </li> +</ul></div> +<div class="variablelist"> +<p class="title"><b>Notation</b></p> +<dl> +<dt><span class="term"><code class="computeroutput"><span class="identifier">M</span></code></span></dt> +<dd><p> + A <code class="computeroutput"><span class="identifier">map</span></code> type + </p></dd> +<dt><span class="term"><code class="computeroutput"><span class="identifier">m</span></code></span></dt> +<dd><p> + An instance of <code class="computeroutput"><span class="identifier">map</span></code> + </p></dd> +<dt><span class="term"><code class="computeroutput"><span class="identifier">e0</span></code>...<code class="computeroutput"><span class="identifier">en</span></code></span></dt> +<dd><p> + Heterogeneous key/value pairs (see <a class="link" href="../support/pair.html" title="pair"><code class="computeroutput"><span class="identifier">fusion</span><span class="special">::</span><span class="identifier">pair</span></code></a>) + </p></dd> +<dt><span class="term"><code class="computeroutput"><span class="identifier">s</span></code></span></dt> +<dd><p> + A <a class="link" href="../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a> + </p></dd> +</dl> +</div> +<h5> +<a name="fusion.container.map.h5"></a> + <span><a name="fusion.container.map.expression_semantics"></a></span><a class="link" href="map.html#fusion.container.map.expression_semantics">Expression + Semantics</a> + </h5> +<p> + Semantics of an expression is defined only where it differs from, or is not + defined in <a class="link" href="../sequence/concepts/random_access_sequence.html" title="Random Access Sequence">Random + Access Sequence</a> and <a class="link" href="../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative + Sequence</a>. + </p> +<div class="informaltable"><table class="table"> +<colgroup> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Expression + </p> + </th> +<th> + <p> + Semantics + </p> + </th> +</tr></thead> +<tbody> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">M</span><span class="special">()</span></code> + </p> + </td> +<td> + <p> + Creates a map with default constructed elements. + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">M</span><span class="special">(</span><span class="identifier">e0</span><span class="special">,</span> + <span class="identifier">e1</span><span class="special">,...</span> + <span class="identifier">en</span><span class="special">)</span></code> + </p> + </td> +<td> + <p> + Creates a map with element pairs <code class="computeroutput"><span class="identifier">e0</span></code>...<code class="computeroutput"><span class="identifier">en</span></code>. + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">M</span><span class="special">(</span><span class="identifier">s</span><span class="special">)</span></code> + </p> + </td> +<td> + <p> + Copy constructs a map from a <a class="link" href="../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a> <code class="computeroutput"><span class="identifier">s</span></code>. + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">m</span> <span class="special">=</span> + <span class="identifier">s</span></code> + </p> + </td> +<td> + <p> + Assigns to a map, <code class="computeroutput"><span class="identifier">m</span></code>, + from a <a class="link" href="../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a> <code class="computeroutput"><span class="identifier">s</span></code>. + </p> + </td> +</tr> +</tbody> +</table></div> +<h5> +<a name="fusion.container.map.h6"></a> + <span><a name="fusion.container.map.example"></a></span><a class="link" href="map.html#fusion.container.map.example">Example</a> + </h5> +<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">map</span><span class="special"><</span> + <a class="link" href="../support/pair.html" title="pair"><code class="computeroutput"><span class="identifier">pair</span></code></a><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">char</span><span class="special">></span> + <span class="special">,</span> <a class="link" href="../support/pair.html" title="pair"><code class="computeroutput"><span class="identifier">pair</span></code></a><span class="special"><</span><span class="keyword">double</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">></span> <span class="special">></span> +<span class="identifier">map_type</span><span class="special">;</span> + +<span class="identifier">map_type</span> <span class="identifier">m</span><span class="special">(</span> + <a class="link" href="../support/pair.html" title="pair"><code class="computeroutput"><span class="identifier">make_pair</span></code></a><span class="special"><</span><span class="keyword">int</span><span class="special">>(</span><span class="char">'X'</span><span class="special">)</span> + <span class="special">,</span> <a class="link" href="../support/pair.html" title="pair"><code class="computeroutput"><span class="identifier">make_pair</span></code></a><span class="special"><</span><span class="keyword">double</span><span class="special">>(</span><span class="string">"Men"</span><span class="special">));</span> + +<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special"><<</span> <a class="link" href="../sequence/intrinsic/functions/at_key.html" title="at_key"><code class="computeroutput"><span class="identifier">at_key</span></code></a><span class="special"><</span><span class="keyword">int</span><span class="special">>(</span><span class="identifier">m</span><span class="special">)</span> <span class="special"><<</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span> +<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special"><<</span> <a class="link" href="../sequence/intrinsic/functions/at_key.html" title="at_key"><code class="computeroutput"><span class="identifier">at_key</span></code></a><span class="special"><</span><span class="keyword">double</span><span class="special">>(</span><span class="identifier">m</span><span class="special">)</span> <span class="special"><<</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span> +</pre> +</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-2006, 2011 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="set.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../container.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="generation.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/container/set.html b/libs/fusion/doc/html/fusion/container/set.html new file mode 100755 index 0000000000..fb1c4d7596 --- /dev/null +++ b/libs/fusion/doc/html/fusion/container/set.html @@ -0,0 +1,270 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>set</title> +<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../container.html" title="Container"> +<link rel="prev" href="list.html" title="list"> +<link rel="next" href="map.html" title="map"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="list.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../container.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="map.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h3 class="title"> +<a name="fusion.container.set"></a><a class="link" href="set.html" title="set">set</a> +</h3></div></div></div> +<h5> +<a name="fusion.container.set.h0"></a> + <span><a name="fusion.container.set.description"></a></span><a class="link" href="set.html#fusion.container.set.description">Description</a> + </h5> +<p> + set is an <a class="link" href="../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative + Sequence</a> of heteregenous typed data elements. Type identity is used + to impose an equivalence relation on keys. The element's type is its key. + A set may contain at most one element for each key. Membership testing and + element key lookup has constant runtime complexity (see <a class="link" href="../notes.html#fusion.notes.overloaded_functions">Overloaded + Functions</a>). + </p> +<h5> +<a name="fusion.container.set.h1"></a> + <span><a name="fusion.container.set.header"></a></span><a class="link" href="set.html#fusion.container.set.header">Header</a> + </h5> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</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">set</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">set</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">set</span><span class="special">/</span><span class="identifier">set_fwd</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">set_fwd</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h5> +<a name="fusion.container.set.h2"></a> + <span><a name="fusion.container.set.synopsis"></a></span><a class="link" href="set.html#fusion.container.set.synopsis">Synopsis</a> + </h5> +<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span> + <span class="keyword">typename</span> <span class="identifier">T0</span> <span class="special">=</span> <span class="emphasis"><em>unspecified</em></span> + <span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T1</span> <span class="special">=</span> <span class="emphasis"><em>unspecified</em></span> + <span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T2</span> <span class="special">=</span> <span class="emphasis"><em>unspecified</em></span> + <span class="special">...</span> + <span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">TN</span> <span class="special">=</span> <span class="emphasis"><em>unspecified</em></span> +<span class="special">></span> +<span class="keyword">struct</span> <span class="identifier">set</span><span class="special">;</span> +</pre> +<p> + The variadic class interface accepts <code class="computeroutput"><span class="number">0</span></code> + to <code class="computeroutput"><span class="identifier">FUSION_MAX_SET_SIZE</span></code> elements, + where <code class="computeroutput"><span class="identifier">FUSION_MAX_SET_SIZE</span></code> + is a user definable predefined maximum that defaults to <code class="computeroutput"><span class="number">10</span></code>. + Example: + </p> +<pre class="programlisting"><span class="identifier">set</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">char</span><span class="special">,</span> <span class="keyword">double</span><span class="special">></span> +</pre> +<p> + You may define the preprocessor constant <code class="computeroutput"><span class="identifier">FUSION_MAX_SET_SIZE</span></code> + before including any Fusion header to change the default. Example: + </p> +<pre class="programlisting"><span class="preprocessor">#define</span> <span class="identifier">FUSION_MAX_SET_SIZE</span> <span class="number">20</span> +</pre> +<h5> +<a name="fusion.container.set.h3"></a> + <span><a name="fusion.container.set.template_parameters"></a></span><a class="link" href="set.html#fusion.container.set.template_parameters">Template + parameters</a> + </h5> +<div class="informaltable"><table class="table"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Description + </p> + </th> +<th> + <p> + Default + </p> + </th> +</tr></thead> +<tbody><tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">T0</span></code>...<code class="computeroutput"><span class="identifier">TN</span></code> + </p> + </td> +<td> + <p> + Element types + </p> + </td> +<td> + <p> + <span class="emphasis"><em>unspecified-type</em></span> + </p> + </td> +</tr></tbody> +</table></div> +<h5> +<a name="fusion.container.set.h4"></a> + <span><a name="fusion.container.set.model_of"></a></span><a class="link" href="set.html#fusion.container.set.model_of">Model + of</a> + </h5> +<div class="itemizedlist"><ul class="itemizedlist" type="disc"> +<li class="listitem"> + <a class="link" href="../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative + Sequence</a> + </li> +<li class="listitem"> + <a class="link" href="../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward Sequence</a> + </li> +</ul></div> +<div class="variablelist"> +<p class="title"><b>Notation</b></p> +<dl> +<dt><span class="term"><code class="computeroutput"><span class="identifier">S</span></code></span></dt> +<dd><p> + A <code class="computeroutput"><span class="identifier">set</span></code> type + </p></dd> +<dt><span class="term"><code class="computeroutput"><span class="identifier">s</span></code></span></dt> +<dd><p> + An instance of <code class="computeroutput"><span class="identifier">set</span></code> + </p></dd> +<dt><span class="term"><code class="computeroutput"><span class="identifier">e0</span></code>...<code class="computeroutput"><span class="identifier">en</span></code></span></dt> +<dd><p> + Heterogeneous values + </p></dd> +<dt><span class="term"><code class="computeroutput"><span class="identifier">fs</span></code></span></dt> +<dd><p> + A <a class="link" href="../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a> + </p></dd> +</dl> +</div> +<h5> +<a name="fusion.container.set.h5"></a> + <span><a name="fusion.container.set.expression_semantics"></a></span><a class="link" href="set.html#fusion.container.set.expression_semantics">Expression + Semantics</a> + </h5> +<p> + Semantics of an expression is defined only where it differs from, or is not + defined in <a class="link" href="../sequence/concepts/random_access_sequence.html" title="Random Access Sequence">Random + Access Sequence</a> and <a class="link" href="../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative + Sequence</a>. + </p> +<div class="informaltable"><table class="table"> +<colgroup> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Expression + </p> + </th> +<th> + <p> + Semantics + </p> + </th> +</tr></thead> +<tbody> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">S</span><span class="special">()</span></code> + </p> + </td> +<td> + <p> + Creates a set with default constructed elements. + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">S</span><span class="special">(</span><span class="identifier">e0</span><span class="special">,</span> + <span class="identifier">e1</span><span class="special">,...</span> + <span class="identifier">en</span><span class="special">)</span></code> + </p> + </td> +<td> + <p> + Creates a set with elements <code class="computeroutput"><span class="identifier">e0</span></code>...<code class="computeroutput"><span class="identifier">en</span></code>. + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">S</span><span class="special">(</span><span class="identifier">fs</span><span class="special">)</span></code> + </p> + </td> +<td> + <p> + Copy constructs a set from a <a class="link" href="../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a> <code class="computeroutput"><span class="identifier">fs</span></code>. + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">s</span> <span class="special">=</span> + <span class="identifier">fs</span></code> + </p> + </td> +<td> + <p> + Assigns to a set, <code class="computeroutput"><span class="identifier">s</span></code>, + from a <a class="link" href="../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a> <code class="computeroutput"><span class="identifier">fs</span></code>. + </p> + </td> +</tr> +</tbody> +</table></div> +<h5> +<a name="fusion.container.set.h6"></a> + <span><a name="fusion.container.set.example"></a></span><a class="link" href="set.html#fusion.container.set.example">Example</a> + </h5> +<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">set</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">float</span><span class="special">></span> <span class="identifier">S</span><span class="special">;</span> +<span class="identifier">S</span> <span class="identifier">s</span><span class="special">(</span><span class="number">12</span><span class="special">,</span> <span class="number">5.5f</span><span class="special">);</span> +<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special"><<</span> <a class="link" href="../sequence/intrinsic/functions/at_key.html" title="at_key"><code class="computeroutput"><span class="identifier">at_key</span></code></a><span class="special"><</span><span class="keyword">int</span><span class="special">>(</span><span class="identifier">s</span><span class="special">)</span> <span class="special"><<</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span> +<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special"><<</span> <a class="link" href="../sequence/intrinsic/functions/at_key.html" title="at_key"><code class="computeroutput"><span class="identifier">at_key</span></code></a><span class="special"><</span><span class="keyword">float</span><span class="special">>(</span><span class="identifier">s</span><span class="special">)</span> <span class="special"><<</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span> +<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special"><<</span> <a class="link" href="../sequence/intrinsic/metafunctions/has_key.html" title="has_key"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">has_key</span></code></a><span class="special"><</span><span class="identifier">S</span><span class="special">,</span> <span class="keyword">double</span><span class="special">>::</span><span class="identifier">value</span> <span class="special"><<</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span> +</pre> +</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-2006, 2011 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="list.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../container.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="map.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/container/vector.html b/libs/fusion/doc/html/fusion/container/vector.html new file mode 100755 index 0000000000..fd9b889ae3 --- /dev/null +++ b/libs/fusion/doc/html/fusion/container/vector.html @@ -0,0 +1,301 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>vector</title> +<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../container.html" title="Container"> +<link rel="prev" href="../container.html" title="Container"> +<link rel="next" href="cons.html" title="cons"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="../container.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../container.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="cons.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h3 class="title"> +<a name="fusion.container.vector"></a><a class="link" href="vector.html" title="vector">vector</a> +</h3></div></div></div> +<h5> +<a name="fusion.container.vector.h0"></a> + <span><a name="fusion.container.vector.description"></a></span><a class="link" href="vector.html#fusion.container.vector.description">Description</a> + </h5> +<p> + <code class="computeroutput"><span class="identifier">vector</span></code> is a <a class="link" href="../sequence/concepts/random_access_sequence.html" title="Random Access Sequence">Random + Access Sequence</a> of heterogenous typed data structured as a simple + <code class="computeroutput"><span class="keyword">struct</span></code> where each element is + held as a member variable. <code class="computeroutput"><span class="identifier">vector</span></code> + is the simplest of the Fusion sequence container, and in many cases the most + efficient. + </p> +<h5> +<a name="fusion.container.vector.h1"></a> + <span><a name="fusion.container.vector.header"></a></span><a class="link" href="vector.html#fusion.container.vector.header">Header</a> + </h5> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</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">vector</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">vector</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">vector</span><span class="special">/</span><span class="identifier">vector_fwd</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">vector_fwd</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> + +<span class="comment">// numbered forms</span> +<span class="preprocessor">#include</span> <span class="special"><</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">vector</span><span class="special">/</span><span class="identifier">vector10</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">vector10</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">vector</span><span class="special">/</span><span class="identifier">vector20</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">vector20</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">vector</span><span class="special">/</span><span class="identifier">vector30</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">vector30</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">vector</span><span class="special">/</span><span class="identifier">vector40</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">vector40</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">vector</span><span class="special">/</span><span class="identifier">vector50</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">vector50</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h5> +<a name="fusion.container.vector.h2"></a> + <span><a name="fusion.container.vector.synopsis"></a></span><a class="link" href="vector.html#fusion.container.vector.synopsis">Synopsis</a> + </h5> +<p> + <span class="bold"><strong>Numbered forms</strong></span> + </p> +<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">vector0</span><span class="special">;</span> + +<span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">T0</span><span class="special">></span> +<span class="keyword">struct</span> <span class="identifier">vector1</span><span class="special">;</span> + +<span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">T0</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T1</span><span class="special">></span> +<span class="keyword">struct</span> <span class="identifier">vector2</span><span class="special">;</span> + +<span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">T0</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T2</span><span class="special">></span> +<span class="keyword">struct</span> <span class="identifier">vector3</span><span class="special">;</span> + +<span class="special">...</span> + +<span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">T0</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T2</span><span class="special">...,</span> <span class="keyword">typename</span> <span class="identifier">TN</span><span class="special">></span> +<span class="keyword">struct</span> <span class="identifier">vectorN</span><span class="special">;</span> +</pre> +<p> + <span class="bold"><strong>Variadic form</strong></span> + </p> +<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span> + <span class="keyword">typename</span> <span class="identifier">T0</span> <span class="special">=</span> <span class="emphasis"><em>unspecified</em></span> + <span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T1</span> <span class="special">=</span> <span class="emphasis"><em>unspecified</em></span> + <span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T2</span> <span class="special">=</span> <span class="emphasis"><em>unspecified</em></span> + <span class="special">...</span> + <span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">TN</span> <span class="special">=</span> <span class="emphasis"><em>unspecified</em></span> +<span class="special">></span> +<span class="keyword">struct</span> <span class="identifier">vector</span><span class="special">;</span> +</pre> +<p> + The numbered form accepts the exact number of elements. Example: + </p> +<pre class="programlisting"><span class="identifier">vector3</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">char</span><span class="special">,</span> <span class="keyword">double</span><span class="special">></span> +</pre> +<p> + The variadic form accepts <code class="computeroutput"><span class="number">0</span></code> to + <code class="computeroutput"><span class="identifier">FUSION_MAX_VECTOR_SIZE</span></code> elements, + where <code class="computeroutput"><span class="identifier">FUSION_MAX_VECTOR_SIZE</span></code> + is a user definable predefined maximum that defaults to <code class="computeroutput"><span class="number">10</span></code>. + Example: + </p> +<pre class="programlisting"><span class="identifier">vector</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">char</span><span class="special">,</span> <span class="keyword">double</span><span class="special">></span> +</pre> +<p> + You may define the preprocessor constant <code class="computeroutput"><span class="identifier">FUSION_MAX_VECTOR_SIZE</span></code> + before including any Fusion header to change the default. Example: + </p> +<pre class="programlisting"><span class="preprocessor">#define</span> <span class="identifier">FUSION_MAX_VECTOR_SIZE</span> <span class="number">20</span> +</pre> +<h5> +<a name="fusion.container.vector.h3"></a> + <span><a name="fusion.container.vector.template_parameters"></a></span><a class="link" href="vector.html#fusion.container.vector.template_parameters">Template + parameters</a> + </h5> +<div class="informaltable"><table class="table"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Description + </p> + </th> +<th> + <p> + Default + </p> + </th> +</tr></thead> +<tbody><tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">T0</span></code>...<code class="computeroutput"><span class="identifier">TN</span></code> + </p> + </td> +<td> + <p> + Element types + </p> + </td> +<td> + <p> + <span class="emphasis"><em>unspecified</em></span> + </p> + </td> +</tr></tbody> +</table></div> +<h5> +<a name="fusion.container.vector.h4"></a> + <span><a name="fusion.container.vector.model_of"></a></span><a class="link" href="vector.html#fusion.container.vector.model_of">Model + of</a> + </h5> +<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"> + <a class="link" href="../sequence/concepts/random_access_sequence.html" title="Random Access Sequence">Random + Access Sequence</a> + </li></ul></div> +<div class="variablelist"> +<p class="title"><b>Notation</b></p> +<dl> +<dt><span class="term"><code class="computeroutput"><span class="identifier">v</span></code></span></dt> +<dd><p> + Instance of <code class="computeroutput"><span class="identifier">vector</span></code> + </p></dd> +<dt><span class="term"><code class="computeroutput"><span class="identifier">V</span></code></span></dt> +<dd><p> + A <code class="computeroutput"><span class="identifier">vector</span></code> type + </p></dd> +<dt><span class="term"><code class="computeroutput"><span class="identifier">e0</span></code>...<code class="computeroutput"><span class="identifier">en</span></code></span></dt> +<dd><p> + Heterogeneous values + </p></dd> +<dt><span class="term"><code class="computeroutput"><span class="identifier">s</span></code></span></dt> +<dd><p> + A <a class="link" href="../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a> + </p></dd> +</dl> +</div> +<h5> +<a name="fusion.container.vector.h5"></a> + <span><a name="fusion.container.vector.expression_semantics"></a></span><a class="link" href="vector.html#fusion.container.vector.expression_semantics">Expression + Semantics</a> + </h5> +<p> + Semantics of an expression is defined only where it differs from, or is not + defined in <a class="link" href="../sequence/concepts/random_access_sequence.html" title="Random Access Sequence">Random + Access Sequence</a>. + </p> +<div class="informaltable"><table class="table"> +<colgroup> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Expression + </p> + </th> +<th> + <p> + Semantics + </p> + </th> +</tr></thead> +<tbody> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">V</span><span class="special">()</span></code> + </p> + </td> +<td> + <p> + Creates a vector with default constructed elements. + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">V</span><span class="special">(</span><span class="identifier">e0</span><span class="special">,</span> + <span class="identifier">e1</span><span class="special">,...</span> + <span class="identifier">en</span><span class="special">)</span></code> + </p> + </td> +<td> + <p> + Creates a vector with elements <code class="computeroutput"><span class="identifier">e0</span></code>...<code class="computeroutput"><span class="identifier">en</span></code>. + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">V</span><span class="special">(</span><span class="identifier">s</span><span class="special">)</span></code> + </p> + </td> +<td> + <p> + Copy constructs a vector from a <a class="link" href="../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a>, <code class="computeroutput"><span class="identifier">s</span></code>. + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">v</span> <span class="special">=</span> + <span class="identifier">s</span></code> + </p> + </td> +<td> + <p> + Assigns to a vector, <code class="computeroutput"><span class="identifier">v</span></code>, + from a <a class="link" href="../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a>, <code class="computeroutput"><span class="identifier">s</span></code>. + </p> + </td> +</tr> +</tbody> +</table></div> +<h5> +<a name="fusion.container.vector.h6"></a> + <span><a name="fusion.container.vector.example"></a></span><a class="link" href="vector.html#fusion.container.vector.example">Example</a> + </h5> +<pre class="programlisting"><span class="identifier">vector</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">float</span><span class="special">></span> <span class="identifier">v</span><span class="special">(</span><span class="number">12</span><span class="special">,</span> <span class="number">5.5f</span><span class="special">);</span> +<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special"><<</span> <a class="link" href="../sequence/intrinsic/functions/at_c.html" title="at_c"><code class="computeroutput"><span class="identifier">at_c</span></code></a><span class="special"><</span><span class="number">0</span><span class="special">>(</span><span class="identifier">v</span><span class="special">)</span> <span class="special"><<</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span> +<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special"><<</span> <a class="link" href="../sequence/intrinsic/functions/at_c.html" title="at_c"><code class="computeroutput"><span class="identifier">at_c</span></code></a><span class="special"><</span><span class="number">1</span><span class="special">>(</span><span class="identifier">v</span><span class="special">)</span> <span class="special"><<</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span> +</pre> +</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-2006, 2011 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="../container.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../container.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="cons.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/extension.html b/libs/fusion/doc/html/fusion/extension.html new file mode 100755 index 0000000000..f0923f06a9 --- /dev/null +++ b/libs/fusion/doc/html/fusion/extension.html @@ -0,0 +1,49 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Extension</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="prev" href="tuple/pairs.html" title="Pairs"> +<link rel="next" href="extension/ext_full.html" title="The Full Extension Mechanism"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="tuple/pairs.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="extension/ext_full.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h2 class="title" style="clear: both"> +<a name="fusion.extension"></a><a class="link" href="extension.html" title="Extension">Extension</a> +</h2></div></div></div> +<div class="toc"><dl> +<dt><span class="section"><a href="extension/ext_full.html">The Full Extension Mechanism</a></span></dt> +<dt><span class="section"><a href="extension/sequence_facade.html">Sequence Facade</a></span></dt> +<dt><span class="section"><a href="extension/iterator_facade.html">Iterator Facade</a></span></dt> +</dl></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-2006, 2011 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="tuple/pairs.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="extension/ext_full.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/extension/ext_full.html b/libs/fusion/doc/html/fusion/extension/ext_full.html new file mode 100755 index 0000000000..10d8c64d97 --- /dev/null +++ b/libs/fusion/doc/html/fusion/extension/ext_full.html @@ -0,0 +1,527 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>The Full Extension Mechanism</title> +<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../extension.html" title="Extension"> +<link rel="prev" href="../extension.html" title="Extension"> +<link rel="next" href="sequence_facade.html" title="Sequence Facade"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="../extension.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../extension.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="sequence_facade.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h3 class="title"> +<a name="fusion.extension.ext_full"></a><a class="link" href="ext_full.html" title="The Full Extension Mechanism">The Full Extension Mechanism</a> +</h3></div></div></div> +<p> + The Fusion library is designed to be extensible, new sequences types can + easily be added. In fact, the library support for <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span></code>, + <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span></code> and <a href="http://www.boost.org/libs/mpl/index.html" target="_top">MPL</a> + sequences is entirely provided using the extension mechanism. + </p> +<p> + The process for adding a new sequence type to Fusion is: + </p> +<div class="orderedlist"><ol class="orderedlist" type="1"> +<li class="listitem"> + Enable the <a class="link" href="../notes.html#fusion.notes.tag_dispatching"><span class="emphasis"><em>tag + dispatching</em></span></a> mechanism used by Fusion for your sequence + type + </li> +<li class="listitem"> + Design an iterator type for the sequence + </li> +<li class="listitem"> + Provide specialized behaviour for the intrinsic operations of the new + Fusion sequence + </li> +</ol></div> +<h5> +<a name="fusion.extension.ext_full.h0"></a> + <span><a name="fusion.extension.ext_full.our_example"></a></span><a class="link" href="ext_full.html#fusion.extension.ext_full.our_example">Our + example</a> + </h5> +<p> + In order to illustrate enabling a new sequence type for use with Fusion, + we are going to use the type: + </p> +<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">example</span> +<span class="special">{</span> + <span class="keyword">struct</span> <span class="identifier">example_struct</span> + <span class="special">{</span> + <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">name</span><span class="special">;</span> + <span class="keyword">int</span> <span class="identifier">age</span><span class="special">;</span> + <span class="identifier">example_struct</span><span class="special">(</span> + <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">&</span> <span class="identifier">n</span><span class="special">,</span> + <span class="keyword">int</span> <span class="identifier">a</span><span class="special">)</span> + <span class="special">:</span> <span class="identifier">name</span><span class="special">(</span><span class="identifier">n</span><span class="special">),</span> <span class="identifier">age</span><span class="special">(</span><span class="identifier">a</span><span class="special">)</span> + <span class="special">{}</span> + <span class="special">};</span> +<span class="special">}</span> +</pre> +<p> + We are going to pretend that this type has been provided by a 3rd party library, + and therefore cannot be modified. We shall work through all the necessary + steps to enable <code class="computeroutput"><span class="identifier">example_struct</span></code> + to serve as an <a class="link" href="../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative + Sequence</a> as described in the <a class="link" href="../quick_start.html" title="Quick Start">Quick + Start</a> guide. + </p> +<h5> +<a name="fusion.extension.ext_full.h1"></a> + <span><a name="fusion.extension.ext_full.enabling_tag_dispatching"></a></span><a class="link" href="ext_full.html#fusion.extension.ext_full.enabling_tag_dispatching">Enabling + Tag Dispatching</a> + </h5> +<p> + The Fusion extensibility mechanism uses <a class="link" href="../notes.html#fusion.notes.tag_dispatching"><span class="emphasis"><em>tag + dispatching</em></span></a> to call the correct code for a given sequence + type. In order to exploit the tag dispatching mechanism we must first declare + a new tag type for the mechanism to use. For example: + </p> +<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">example</span> <span class="special">{</span> + <span class="keyword">struct</span> <span class="identifier">example_sequence_tag</span><span class="special">;</span> <span class="comment">// Only definition needed</span> +<span class="special">}</span> +</pre> +<p> + Next we need to enable the <code class="computeroutput"><span class="identifier">traits</span><span class="special">::</span><span class="identifier">tag_of</span></code> + metafunction to return our newly chosen tag type for operations involving + our sequence. This is done by specializing <code class="computeroutput"><span class="identifier">traits</span><span class="special">::</span><span class="identifier">tag_of</span></code> + for our sequence type. + </p> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">support</span><span class="special">/</span><span class="identifier">tag_of_fwd</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">tag_of_fwd</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> + +<span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">fusion</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">traits</span> <span class="special">{</span> + <span class="keyword">template</span><span class="special"><></span> + <span class="keyword">struct</span> <span class="identifier">tag_of</span><span class="special"><</span><span class="identifier">example_struct</span><span class="special">></span> + <span class="special">{</span> + <span class="keyword">typedef</span> <span class="identifier">example</span><span class="special">::</span><span class="identifier">example_sequence_tag</span> <span class="identifier">type</span><span class="special">;</span> + <span class="special">};</span> +<span class="special">}}}</span> +</pre> +<p> + <code class="computeroutput"><span class="identifier">traits</span><span class="special">::</span><span class="identifier">tag_of</span></code> also has a second template argument, + that can be used in conjuction with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">enable_if</span></code> + to provide tag support for groups of related types. This feature is not necessary + for our sequence, but for an example see the code in: + </p> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">adapted</span><span class="special">/</span><span class="identifier">array</span><span class="special">/</span><span class="identifier">tag_of</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">tag_of</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h5> +<a name="fusion.extension.ext_full.h2"></a> + <span><a name="fusion.extension.ext_full.designing_a_suitable_iterator"></a></span><a class="link" href="ext_full.html#fusion.extension.ext_full.designing_a_suitable_iterator">Designing + a suitable iterator</a> + </h5> +<p> + We need an iterator to describe positions, and provide access to the data + within our sequence. As it is straightforward to do, we are going to provide + a random access iterator in our example. + </p> +<p> + We will use a simple design, in which the 2 members of <code class="computeroutput"><span class="identifier">example_struct</span></code> + are given numbered indices, 0 for <code class="computeroutput"><span class="identifier">name</span></code> + and 1 for <code class="computeroutput"><span class="identifier">age</span></code> respectively. + </p> +<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Struct</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">Pos</span><span class="special">></span> +<span class="keyword">struct</span> <span class="identifier">example_struct_iterator</span> + <span class="special">:</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">fusion</span><span class="special">::</span><span class="identifier">iterator_base</span><span class="special"><</span><span class="identifier">example_struct_iterator</span><span class="special"><</span><span class="identifier">Struct</span><span class="special">,</span> <span class="identifier">Pos</span><span class="special">></span> <span class="special">></span> +<span class="special">{</span> + <span class="identifier">BOOST_STATIC_ASSERT</span><span class="special">(</span><span class="identifier">Pos</span> <span class="special">>=</span><span class="number">0</span> <span class="special">&&</span> <span class="identifier">Pos</span> <span class="special"><</span> <span class="number">3</span><span class="special">);</span> + <span class="keyword">typedef</span> <span class="identifier">Struct</span> <span class="identifier">struct_type</span><span class="special">;</span> + <span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">int_</span><span class="special"><</span><span class="identifier">Pos</span><span class="special">></span> <span class="identifier">index</span><span class="special">;</span> + <span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">fusion</span><span class="special">::</span><span class="identifier">random_access_traversal_tag</span> <span class="identifier">category</span><span class="special">;</span> + + <span class="identifier">example_struct_iterator</span><span class="special">(</span><span class="identifier">Struct</span><span class="special">&</span> <span class="identifier">str</span><span class="special">)</span> + <span class="special">:</span> <span class="identifier">struct_</span><span class="special">(</span><span class="identifier">str</span><span class="special">)</span> <span class="special">{}</span> + + <span class="identifier">Struct</span><span class="special">&</span> <span class="identifier">struct_</span><span class="special">;</span> +<span class="special">};</span> +</pre> +<p> + A quick summary of the details of our iterator: + </p> +<div class="orderedlist"><ol class="orderedlist" type="1"> +<li class="listitem"> + The iterator is parameterized by the type it is iterating over, and the + index of the current element. + </li> +<li class="listitem"> + The typedefs <code class="computeroutput"><span class="identifier">struct_type</span></code> + and <code class="computeroutput"><span class="identifier">index</span></code> provide convenient + access to information we will need later in the implementation. + </li> +<li class="listitem"> + The typedef <code class="computeroutput"><span class="identifier">category</span></code> + allows the <code class="computeroutput"><span class="identifier">traits</span><span class="special">::</span><a class="link" href="../support/category_of.html" title="category_of"><code class="computeroutput"><span class="identifier">category_of</span></code></a></code> + metafunction to establish the traversal category of the iterator. + </li> +<li class="listitem"> + The constructor stores a reference to the <code class="computeroutput"><span class="identifier">example_struct</span></code> + being iterated over. + </li> +</ol></div> +<p> + We also need to enable <a class="link" href="../notes.html#fusion.notes.tag_dispatching"><span class="emphasis"><em>tag + dispatching</em></span></a> for our iterator type, with another specialization + of <code class="computeroutput"><span class="identifier">traits</span><span class="special">::</span><span class="identifier">tag_of</span></code>. + </p> +<p> + In isolation, the iterator implementation is pretty dry. Things should become + clearer as we add features to our implementation. + </p> +<h5> +<a name="fusion.extension.ext_full.h3"></a> + <span><a name="fusion.extension.ext_full.a_first_couple_of_instructive_features"></a></span><a class="link" href="ext_full.html#fusion.extension.ext_full.a_first_couple_of_instructive_features">A + first couple of instructive features</a> + </h5> +<p> + To start with, we will get the <a class="link" href="../iterator/metafunctions/value_of.html" title="value_of"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">value_of</span></code></a> metafunction working. To + do this, we provide a specialization of the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">fusion</span><span class="special">::</span><span class="identifier">extension</span><span class="special">::</span><span class="identifier">value_of_impl</span></code> + template for our iterator's tag type. + </p> +<pre class="programlisting"><span class="keyword">template</span><span class="special"><></span> +<span class="keyword">struct</span> <span class="identifier">value_of_impl</span><span class="special"><</span><span class="identifier">example</span><span class="special">::</span><span class="identifier">example_struct_iterator_tag</span><span class="special">></span> +<span class="special">{</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Iterator</span><span class="special">></span> + <span class="keyword">struct</span> <span class="identifier">apply</span><span class="special">;</span> + + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Struct</span><span class="special">></span> + <span class="keyword">struct</span> <span class="identifier">apply</span><span class="special"><</span><span class="identifier">example</span><span class="special">::</span><span class="identifier">example_struct_iterator</span><span class="special"><</span><span class="identifier">Struct</span><span class="special">,</span> <span class="number">0</span><span class="special">></span> <span class="special">></span> + <span class="special">{</span> + <span class="keyword">typedef</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">type</span><span class="special">;</span> + <span class="special">};</span> + + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Struct</span><span class="special">></span> + <span class="keyword">struct</span> <span class="identifier">apply</span><span class="special"><</span><span class="identifier">example</span><span class="special">::</span><span class="identifier">example_struct_iterator</span><span class="special"><</span><span class="identifier">Struct</span><span class="special">,</span> <span class="number">1</span><span class="special">></span> <span class="special">></span> + <span class="special">{</span> + <span class="keyword">typedef</span> <span class="keyword">int</span> <span class="identifier">type</span><span class="special">;</span> + <span class="special">};</span> +<span class="special">};</span> +</pre> +<p> + The implementation itself is pretty simple, it just uses 2 partial specializations + to provide the type of the 2 different members of <code class="computeroutput"><span class="identifier">example_struct</span></code>, + based on the index of the iterator. + </p> +<p> + To understand how <code class="computeroutput"><span class="identifier">value_of_impl</span></code> + is used by the library we will look at the implementation of <a class="link" href="../iterator/metafunctions/value_of.html" title="value_of"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">value_of</span></code></a>: + </p> +<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Iterator</span><span class="special">></span> +<span class="keyword">struct</span> <span class="identifier">value_of</span> + <span class="special">:</span> <span class="identifier">extension</span><span class="special">::</span><span class="identifier">value_of_impl</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">detail</span><span class="special">::</span><span class="identifier">tag_of</span><span class="special"><</span><span class="identifier">Iterator</span><span class="special">>::</span><span class="identifier">type</span><span class="special">>::</span> + <span class="keyword">template</span> <span class="identifier">apply</span><span class="special"><</span><span class="identifier">Iterator</span><span class="special">></span> +<span class="special">{};</span> +</pre> +<p> + So <a class="link" href="../iterator/metafunctions/value_of.html" title="value_of"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">value_of</span></code></a> + uses <a class="link" href="../notes.html#fusion.notes.tag_dispatching"><span class="emphasis"><em>tag dispatching</em></span></a> + to select an <a href="http://www.boost.org/libs/mpl/doc/refmanual/metafunction-class.html" target="_top">MPL + Metafunction Class</a> to provide its functionality. You will notice + this pattern throughout the implementation of Fusion. + </p> +<p> + Ok, lets enable dereferencing of our iterator. In this case we must provide + a suitable specialization of <code class="computeroutput"><span class="identifier">deref_impl</span></code>. + </p> +<pre class="programlisting"><span class="keyword">template</span><span class="special"><></span> +<span class="keyword">struct</span> <span class="identifier">deref_impl</span><span class="special"><</span><span class="identifier">example</span><span class="special">::</span><span class="identifier">example_struct_iterator_tag</span><span class="special">></span> +<span class="special">{</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Iterator</span><span class="special">></span> + <span class="keyword">struct</span> <span class="identifier">apply</span><span class="special">;</span> + + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Struct</span><span class="special">></span> + <span class="keyword">struct</span> <span class="identifier">apply</span><span class="special"><</span><span class="identifier">example</span><span class="special">::</span><span class="identifier">example_struct_iterator</span><span class="special"><</span><span class="identifier">Struct</span><span class="special">,</span> <span class="number">0</span><span class="special">></span> <span class="special">></span> + <span class="special">{</span> + <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">mpl</span><span class="special">::</span><span class="identifier">if_</span><span class="special"><</span> + <span class="identifier">is_const</span><span class="special"><</span><span class="identifier">Struct</span><span class="special">>,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="keyword">const</span><span class="special">&,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">&>::</span><span class="identifier">type</span> <span class="identifier">type</span><span class="special">;</span> + + <span class="keyword">static</span> <span class="identifier">type</span> + <span class="identifier">call</span><span class="special">(</span><span class="identifier">example</span><span class="special">::</span><span class="identifier">example_struct_iterator</span><span class="special"><</span><span class="identifier">Struct</span><span class="special">,</span> <span class="number">0</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">it</span><span class="special">)</span> + <span class="special">{</span> + <span class="keyword">return</span> <span class="identifier">it</span><span class="special">.</span><span class="identifier">struct_</span><span class="special">.</span><span class="identifier">name</span><span class="special">;</span> + <span class="special">}</span> + <span class="special">};</span> + + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Struct</span><span class="special">></span> + <span class="keyword">struct</span> <span class="identifier">apply</span><span class="special"><</span><span class="identifier">example</span><span class="special">::</span><span class="identifier">example_struct_iterator</span><span class="special"><</span><span class="identifier">Struct</span><span class="special">,</span> <span class="number">1</span><span class="special">></span> <span class="special">></span> + <span class="special">{</span> + <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">mpl</span><span class="special">::</span><span class="identifier">if_</span><span class="special"><</span> + <span class="identifier">is_const</span><span class="special"><</span><span class="identifier">Struct</span><span class="special">>,</span> <span class="keyword">int</span> <span class="keyword">const</span><span class="special">&,</span> <span class="keyword">int</span><span class="special">&>::</span><span class="identifier">type</span> <span class="identifier">type</span><span class="special">;</span> + + <span class="keyword">static</span> <span class="identifier">type</span> + <span class="identifier">call</span><span class="special">(</span><span class="identifier">example</span><span class="special">::</span><span class="identifier">example_struct_iterator</span><span class="special"><</span><span class="identifier">Struct</span><span class="special">,</span> <span class="number">1</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">it</span><span class="special">)</span> + <span class="special">{</span> + <span class="keyword">return</span> <span class="identifier">it</span><span class="special">.</span><span class="identifier">struct_</span><span class="special">.</span><span class="identifier">age</span><span class="special">;</span> + <span class="special">}</span> + <span class="special">};</span> + <span class="special">};</span> +<span class="special">}</span> +</pre> +<p> + The use of <code class="computeroutput"><span class="identifier">deref_impl</span></code> is + very similar to that of <code class="computeroutput"><span class="identifier">value_of_impl</span></code>, + but it also provides some runtime functionality this time via the <code class="computeroutput"><span class="identifier">call</span></code> static member function. To see how + <code class="computeroutput"><span class="identifier">deref_impl</span></code> is used, lets + have a look at the implementation of <a class="link" href="../iterator/functions/deref.html" title="deref"><code class="computeroutput"><span class="identifier">deref</span></code></a>: + </p> +<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">result_of</span> +<span class="special">{</span> + <span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Iterator</span><span class="special">></span> + <span class="keyword">struct</span> <a class="link" href="../iterator/functions/deref.html" title="deref"><code class="computeroutput"><span class="identifier">deref</span></code></a> + <span class="special">:</span> <span class="identifier">extension</span><span class="special">::</span><span class="identifier">deref_impl</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">detail</span><span class="special">::</span><span class="identifier">tag_of</span><span class="special"><</span><span class="identifier">Iterator</span><span class="special">>::</span><span class="identifier">type</span><span class="special">>::</span> + <span class="keyword">template</span> <span class="identifier">apply</span><span class="special"><</span><span class="identifier">Iterator</span><span class="special">></span> + <span class="special">{};</span> +<span class="special">}</span> + +<span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Iterator</span><span class="special">></span> +<span class="keyword">typename</span> <span class="identifier">result_of</span><span class="special">::</span><span class="identifier">deref</span><span class="special"><</span><span class="identifier">Iterator</span><span class="special">>::</span><span class="identifier">type</span> +<a class="link" href="../iterator/functions/deref.html" title="deref"><code class="computeroutput"><span class="identifier">deref</span></code></a><span class="special">(</span><span class="identifier">Iterator</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">i</span><span class="special">)</span> +<span class="special">{</span> + <span class="keyword">typedef</span> <span class="identifier">result_of</span><span class="special">::</span><span class="identifier">deref</span><span class="special"><</span><span class="identifier">Iterator</span><span class="special">></span> <span class="identifier">deref_meta</span><span class="special">;</span> + <span class="keyword">return</span> <span class="identifier">deref_meta</span><span class="special">::</span><span class="identifier">call</span><span class="special">(</span><span class="identifier">i</span><span class="special">);</span> +<span class="special">}</span> +</pre> +<p> + So again <a class="link" href="../iterator/metafunctions/deref.html" title="deref"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">deref</span></code></a> uses <a class="link" href="../notes.html#fusion.notes.tag_dispatching"><span class="emphasis"><em>tag + dispatching</em></span></a> in exactly the same way as the <a class="link" href="../iterator/metafunctions/value_of.html" title="value_of"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">value_of</span></code></a> implementation. The runtime + functionality used by <a class="link" href="../iterator/functions/deref.html" title="deref"><code class="computeroutput"><span class="identifier">deref</span></code></a> is provided by the <code class="computeroutput"><span class="identifier">call</span></code> static function of the selected <a href="http://www.boost.org/libs/mpl/doc/refmanual/metafunction-class.html" target="_top">MPL + Metafunction Class</a>. + </p> +<p> + The actual implementation of <code class="computeroutput"><span class="identifier">deref_impl</span></code> + is slightly more complex than that of <code class="computeroutput"><span class="identifier">value_of_impl</span></code>. + We also need to implement the <code class="computeroutput"><span class="identifier">call</span></code> + function, which returns a reference to the appropriate member of the underlying + sequence. We also require a little bit of metaprogramming to return <code class="computeroutput"><span class="keyword">const</span></code> references if the underlying sequence + is const. + </p> +<div class="note"><table border="0" summary="Note"> +<tr> +<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../../doc/src/images/note.png"></td> +<th align="left">Note</th> +</tr> +<tr><td align="left" valign="top"><p> + Although there is a fair amount of left to do to produce a fully fledged + Fusion sequence, <a class="link" href="../iterator/metafunctions/value_of.html" title="value_of"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">value_of</span></code></a> and <a class="link" href="../iterator/functions/deref.html" title="deref"><code class="computeroutput"><span class="identifier">deref</span></code></a> illustrate all the signficant + concepts required. The remainder of the process is very repetitive, simply + requiring implementation of a suitable <code class="computeroutput"><span class="identifier">xxxx_impl</span></code> + for each feature <code class="computeroutput"><span class="identifier">xxxx</span></code>. + </p></td></tr> +</table></div> +<h5> +<a name="fusion.extension.ext_full.h4"></a> + <span><a name="fusion.extension.ext_full.implementing_the_remaining_iterator_functionality"></a></span><a class="link" href="ext_full.html#fusion.extension.ext_full.implementing_the_remaining_iterator_functionality">Implementing + the remaining iterator functionality</a> + </h5> +<p> + Ok, now we have seen the way <a class="link" href="../iterator/metafunctions/value_of.html" title="value_of"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">value_of</span></code></a> and <a class="link" href="../iterator/functions/deref.html" title="deref"><code class="computeroutput"><span class="identifier">deref</span></code></a> work, everything else will + work in pretty much the same way. Lets start with forward iteration, by providing + a <code class="computeroutput"><span class="identifier">next_impl</span></code>: + </p> +<pre class="programlisting"><span class="keyword">template</span><span class="special"><></span> +<span class="keyword">struct</span> <span class="identifier">next_impl</span><span class="special"><</span><span class="identifier">example</span><span class="special">::</span><span class="identifier">example_struct_iterator_tag</span><span class="special">></span> +<span class="special">{</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Iterator</span><span class="special">></span> + <span class="keyword">struct</span> <span class="identifier">apply</span> + <span class="special">{</span> + <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">Iterator</span><span class="special">::</span><span class="identifier">struct_type</span> <span class="identifier">struct_type</span><span class="special">;</span> + <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">Iterator</span><span class="special">::</span><span class="identifier">index</span> <span class="identifier">index</span><span class="special">;</span> + <span class="keyword">typedef</span> <span class="identifier">example</span><span class="special">::</span><span class="identifier">example_struct_iterator</span><span class="special"><</span><span class="identifier">struct_type</span><span class="special">,</span> <span class="identifier">index</span><span class="special">::</span><span class="identifier">value</span> <span class="special">+</span> <span class="number">1</span><span class="special">></span> <span class="identifier">type</span><span class="special">;</span> + + <span class="keyword">static</span> <span class="identifier">type</span> + <span class="identifier">call</span><span class="special">(</span><span class="identifier">Iterator</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">i</span><span class="special">)</span> + <span class="special">{</span> + <span class="keyword">return</span> <span class="identifier">type</span><span class="special">(</span><span class="identifier">i</span><span class="special">.</span><span class="identifier">struct_</span><span class="special">);</span> + <span class="special">}</span> + <span class="special">};</span> +<span class="special">};</span> +</pre> +<p> + This should be very familiar from our <code class="computeroutput"><span class="identifier">deref_impl</span></code> + implementation, we will be using this approach again and again now. Our design + is simply to increment the <code class="computeroutput"><span class="identifier">index</span></code> + counter to move on to the next element. The various other iterator manipulations + we need to perform will all just involve simple calculations with the <code class="computeroutput"><span class="identifier">index</span></code> variables. + </p> +<p> + We also need to provide a suitable <code class="computeroutput"><span class="identifier">equal_to_impl</span></code> + so that iterators can be correctly compared. A <a class="link" href="../iterator/concepts/bidirectional_iterator.html" title="Bidirectional Iterator">Bidirectional + Iterator</a> will also need an implementation of <code class="computeroutput"><span class="identifier">prior_impl</span></code>. + For a <a class="link" href="../iterator/concepts/random_access_iterator.html" title="Random Access Iterator">Random + Access Iterator</a> <code class="computeroutput"><span class="identifier">distance_impl</span></code> + and <code class="computeroutput"><span class="identifier">advance_impl</span></code> also need + to be provided in order to satisfy the necessary complexity guarantees. As + our iterator is a <a class="link" href="../iterator/concepts/random_access_iterator.html" title="Random Access Iterator">Random + Access Iterator</a> we will have to implement all of these functions. + </p> +<p> + Full implementations of <code class="computeroutput"><span class="identifier">prior_impl</span></code>, + <code class="computeroutput"><span class="identifier">advance_impl</span></code>, <code class="computeroutput"><span class="identifier">distance_impl</span></code> and <code class="computeroutput"><span class="identifier">equal_to_impl</span></code> + are provided in the example code. + </p> +<h5> +<a name="fusion.extension.ext_full.h5"></a> + <span><a name="fusion.extension.ext_full.implementing_the_intrinsic_functions_of_the_sequence"></a></span><a class="link" href="ext_full.html#fusion.extension.ext_full.implementing_the_intrinsic_functions_of_the_sequence">Implementing + the intrinsic functions of the sequence</a> + </h5> +<p> + In order that Fusion can correctly identify our sequence as a Fusion sequence, + we need to enable <code class="computeroutput"><span class="identifier">is_sequence</span></code> + for our sequence type. As usual we just create an <code class="computeroutput"><span class="identifier">impl</span></code> + type specialized for our sequence tag: + </p> +<pre class="programlisting"><span class="keyword">template</span><span class="special"><></span> +<span class="keyword">struct</span> <span class="identifier">is_sequence_impl</span><span class="special"><</span><span class="identifier">example</span><span class="special">::</span><span class="identifier">example_sequence_tag</span><span class="special">></span> +<span class="special">{</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">></span> + <span class="keyword">struct</span> <span class="identifier">apply</span> <span class="special">:</span> <span class="identifier">mpl</span><span class="special">::</span><span class="identifier">true_</span> <span class="special">{};</span> +<span class="special">};</span> +</pre> +<p> + We've some similar formalities to complete, providing <code class="computeroutput"><span class="identifier">category_of_impl</span></code> + so Fusion can correctly identify our sequence type, and <code class="computeroutput"><span class="identifier">is_view_impl</span></code> + so Fusion can correctly identify our sequence as not being a <a class="link" href="../view.html" title="View">View</a> + type. Implementations are provide in the example code. + </p> +<p> + Now we've completed some formalities, on to more interesting features. Lets + get <a class="link" href="../sequence/intrinsic/functions/begin.html" title="begin"><code class="computeroutput"><span class="identifier">begin</span></code></a> working so that we can get + an iterator to start accessing the data in our sequence. + </p> +<pre class="programlisting"><span class="keyword">template</span><span class="special"><></span> +<span class="keyword">struct</span> <span class="identifier">begin_impl</span><span class="special"><</span><span class="identifier">example</span><span class="special">::</span><span class="identifier">example_sequence_tag</span><span class="special">></span> +<span class="special">{</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">></span> + <span class="keyword">struct</span> <span class="identifier">apply</span> + <span class="special">{</span> + <span class="keyword">typedef</span> <span class="identifier">example</span><span class="special">::</span><span class="identifier">example_struct_iterator</span><span class="special"><</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="number">0</span><span class="special">></span> <span class="identifier">type</span><span class="special">;</span> + + <span class="keyword">static</span> <span class="identifier">type</span> + <span class="identifier">call</span><span class="special">(</span><span class="identifier">Sequence</span><span class="special">&</span> <span class="identifier">seq</span><span class="special">)</span> + <span class="special">{</span> + <span class="keyword">return</span> <span class="identifier">type</span><span class="special">(</span><span class="identifier">seq</span><span class="special">);</span> + <span class="special">}</span> + <span class="special">};</span> +<span class="special">};</span> +</pre> +<p> + The implementation uses the same ideas we have applied throughout, in this + case we are just creating one of the iterators we developed earlier, pointing + to the first element in the sequence. The implementation of <a class="link" href="../sequence/intrinsic/functions/end.html" title="end"><code class="computeroutput"><span class="identifier">end</span></code></a> is very similar, and is provided + in the example code. + </p> +<p> + For our <a class="link" href="../sequence/concepts/random_access_sequence.html" title="Random Access Sequence">Random + Access Sequence</a> we will also need to implement <code class="computeroutput"><span class="identifier">size_impl</span></code>, + <code class="computeroutput"><span class="identifier">value_at_impl</span></code> and <code class="computeroutput"><span class="identifier">at_impl</span></code>. + </p> +<h5> +<a name="fusion.extension.ext_full.h6"></a> + <span><a name="fusion.extension.ext_full.enabling_our_type_as_an_associative_sequence"></a></span><a class="link" href="ext_full.html#fusion.extension.ext_full.enabling_our_type_as_an_associative_sequence">Enabling + our type as an associative sequence</a> + </h5> +<p> + In order for <code class="computeroutput"><span class="identifier">example_struct</span></code> + to serve as an associative forward sequence, we need to adapt the traversal + category of our sequence and our iterator accordingly and enable 3 intrinsic + sequence lookup features, <a class="link" href="../sequence/intrinsic/functions/at_key.html" title="at_key"><code class="computeroutput"><span class="identifier">at_key</span></code></a>, __value_at_key__ and <a class="link" href="../sequence/intrinsic/functions/has_key.html" title="has_key"><code class="computeroutput"><span class="identifier">has_key</span></code></a>. + We also need to enable 3 iterator lookup features, <a class="link" href="../iterator/metafunctions/key_of.html" title="key_of"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">key_of</span></code></a>, <a class="link" href="../iterator/metafunctions/value_of_data.html" title="value_of_data"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">value_of_data</span></code></a> and <a class="link" href="../iterator/functions/deref_data.html" title="deref_data"><code class="computeroutput"><span class="identifier">deref_data</span></code></a>. + </p> +<p> + To implement <code class="computeroutput"><span class="identifier">at_key_impl</span></code> + we need to associate the <code class="computeroutput"><span class="identifier">fields</span><span class="special">::</span><span class="identifier">name</span></code> + and <code class="computeroutput"><span class="identifier">fields</span><span class="special">::</span><span class="identifier">age</span></code> types described in the <a class="link" href="../quick_start.html" title="Quick Start">Quick + Start</a> guide with the appropriate members of <code class="computeroutput"><span class="identifier">example_struct</span></code>. + Our implementation is as follows: + </p> +<pre class="programlisting"><span class="keyword">template</span><span class="special"><></span> +<span class="keyword">struct</span> <span class="identifier">at_key_impl</span><span class="special"><</span><span class="identifier">example</span><span class="special">::</span><span class="identifier">example_sequence_tag</span><span class="special">></span> +<span class="special">{</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Key</span><span class="special">></span> + <span class="keyword">struct</span> <span class="identifier">apply</span><span class="special">;</span> + + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">></span> + <span class="keyword">struct</span> <span class="identifier">apply</span><span class="special"><</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">fields</span><span class="special">::</span><span class="identifier">name</span><span class="special">></span> + <span class="special">{</span> + <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">mpl</span><span class="special">::</span><span class="identifier">if_</span><span class="special"><</span> + <span class="identifier">is_const</span><span class="special"><</span><span class="identifier">Sequence</span><span class="special">>,</span> + <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="keyword">const</span><span class="special">&,</span> + <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">&>::</span><span class="identifier">type</span> <span class="identifier">type</span><span class="special">;</span> + + <span class="keyword">static</span> <span class="identifier">type</span> + <span class="identifier">call</span><span class="special">(</span><span class="identifier">Sequence</span><span class="special">&</span> <span class="identifier">seq</span><span class="special">)</span> + <span class="special">{</span> + <span class="keyword">return</span> <span class="identifier">seq</span><span class="special">.</span><span class="identifier">name</span><span class="special">;</span> + <span class="special">};</span> + <span class="special">};</span> + + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">></span> + <span class="keyword">struct</span> <span class="identifier">apply</span><span class="special"><</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">fields</span><span class="special">::</span><span class="identifier">age</span><span class="special">></span> + <span class="special">{</span> + <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">mpl</span><span class="special">::</span><span class="identifier">if_</span><span class="special"><</span> + <span class="identifier">is_const</span><span class="special"><</span><span class="identifier">Sequence</span><span class="special">>,</span> + <span class="keyword">int</span> <span class="keyword">const</span><span class="special">&,</span> + <span class="keyword">int</span><span class="special">&>::</span><span class="identifier">type</span> <span class="identifier">type</span><span class="special">;</span> + + <span class="keyword">static</span> <span class="identifier">type</span> + <span class="identifier">call</span><span class="special">(</span><span class="identifier">Sequence</span><span class="special">&</span> <span class="identifier">seq</span><span class="special">)</span> + <span class="special">{</span> + <span class="keyword">return</span> <span class="identifier">seq</span><span class="special">.</span><span class="identifier">age</span><span class="special">;</span> + <span class="special">};</span> + <span class="special">};</span> +<span class="special">};</span> +</pre> +<p> + Its all very similar to the implementations we've seen previously, such as + <code class="computeroutput"><span class="identifier">deref_impl</span></code> and <code class="computeroutput"><span class="identifier">value_of_impl</span></code>. Instead of identifying the + members by index or position, we are now selecting them using the types + <code class="computeroutput"><span class="identifier">fields</span><span class="special">::</span><span class="identifier">name</span></code> and <code class="computeroutput"><span class="identifier">fields</span><span class="special">::</span><span class="identifier">age</span></code>. + The implementations of the other functions are equally straightforward, and + are provided in the example code. + </p> +<h5> +<a name="fusion.extension.ext_full.h7"></a> + <span><a name="fusion.extension.ext_full.summary"></a></span><a class="link" href="ext_full.html#fusion.extension.ext_full.summary">Summary</a> + </h5> +<p> + We've now worked through the entire process for adding a new random access + sequence and we've also enabled our type to serve as an associative sequence. + The implementation was slightly longwinded, but followed a simple repeating + pattern. + </p> +<p> + The support for <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span></code>, <a href="http://www.boost.org/libs/mpl/index.html" target="_top">MPL</a> + sequences, and <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span></code> all use the same approach, and provide + additional examples of the approach for a variety of types. + </p> +</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-2006, 2011 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="../extension.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../extension.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="sequence_facade.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/extension/iterator_facade.html b/libs/fusion/doc/html/fusion/extension/iterator_facade.html new file mode 100755 index 0000000000..13be0b9dba --- /dev/null +++ b/libs/fusion/doc/html/fusion/extension/iterator_facade.html @@ -0,0 +1,474 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Iterator Facade</title> +<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../extension.html" title="Extension"> +<link rel="prev" href="sequence_facade.html" title="Sequence Facade"> +<link rel="next" href="../functional.html" title="Functional"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="sequence_facade.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../extension.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../functional.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h3 class="title"> +<a name="fusion.extension.iterator_facade"></a><a class="link" href="iterator_facade.html" title="Iterator Facade">Iterator Facade</a> +</h3></div></div></div> +<h5> +<a name="fusion.extension.iterator_facade.h0"></a> + <span><a name="fusion.extension.iterator_facade.description"></a></span><a class="link" href="iterator_facade.html#fusion.extension.iterator_facade.description">Description</a> + </h5> +<p> + The <a class="link" href="iterator_facade.html" title="Iterator Facade"><code class="computeroutput"><span class="identifier">iterator_facade</span></code></a> + template provides an intrusive mechanism for producing a conforming Fusion + iterator. + </p> +<h5> +<a name="fusion.extension.iterator_facade.h1"></a> + <span><a name="fusion.extension.iterator_facade.synopsis"></a></span><a class="link" href="iterator_facade.html#fusion.extension.iterator_facade.synopsis">Synopsis</a> + </h5> +<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Derived</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">TravesalTag</span><span class="special">></span> +<span class="keyword">struct</span> <span class="identifier">iterator_facade</span><span class="special">;</span> +</pre> +<h5> +<a name="fusion.extension.iterator_facade.h2"></a> + <span><a name="fusion.extension.iterator_facade.usage"></a></span><a class="link" href="iterator_facade.html#fusion.extension.iterator_facade.usage">Usage</a> + </h5> +<p> + The user of iterator_facade derives his iterator type from a specialization + of iterator_facade and passes the derived iterator type as the first template + parameter. The second template parameter should be the traversal category + of the iterator being implemented. + </p> +<p> + The user must the implement the key expressions required by their iterator + type. + </p> +<div class="table"> +<a name="fusion.extension.iterator_facade.t0"></a><p class="title"><b>Table 1.104. Parameters</b></p> +<div class="table-contents"><table class="table" summary="Parameters"> +<colgroup> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Name + </p> + </th> +<th> + <p> + Description + </p> + </th> +</tr></thead> +<tbody> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">iterator</span></code>, <code class="computeroutput"><span class="identifier">It</span></code>, <code class="computeroutput"><span class="identifier">It1</span></code>, + <code class="computeroutput"><span class="identifier">It2</span></code> + </p> + </td> +<td> + <p> + A type derived from <a class="link" href="iterator_facade.html" title="Iterator Facade"><code class="computeroutput"><span class="identifier">iterator_facade</span></code></a> + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">N</span></code> + </p> + </td> +<td> + <p> + An <a href="http://www.boost.org/libs/mpl/doc/refmanual/integral-constant.html" target="_top">MPL + Integral Constant</a> + </p> + </td> +</tr> +</tbody> +</table></div> +</div> +<br class="table-break"><div class="table"> +<a name="fusion.extension.iterator_facade.t1"></a><p class="title"><b>Table 1.105. Key Expressions</b></p> +<div class="table-contents"><table class="table" summary="Key Expressions"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Expression + </p> + </th> +<th> + <p> + Result + </p> + </th> +<th> + <p> + Default + </p> + </th> +</tr></thead> +<tbody> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">iterator</span><span class="special">::</span><span class="keyword">template</span> <span class="identifier">value_of</span><span class="special"><</span><span class="identifier">It</span><span class="special">>::</span><span class="identifier">type</span></code> + </p> + </td> +<td> + <p> + The element stored at iterator position <code class="computeroutput"><span class="identifier">It</span></code> + </p> + </td> +<td> + <p> + None + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">iterator</span><span class="special">::</span><span class="keyword">template</span> <span class="identifier">deref</span><span class="special"><</span><span class="identifier">It</span><span class="special">>::</span><span class="identifier">type</span></code> + </p> + </td> +<td> + <p> + The type returned when dereferencing an iterator of type <code class="computeroutput"><span class="identifier">It</span></code> + </p> + </td> +<td> + <p> + None + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">iterator</span><span class="special">::</span><span class="keyword">template</span> <span class="identifier">deref</span><span class="special"><</span><span class="identifier">It</span><span class="special">>::</span><span class="identifier">call</span><span class="special">(</span><span class="identifier">it</span><span class="special">)</span></code> + </p> + </td> +<td> + <p> + Dereferences iterator <code class="computeroutput"><span class="identifier">it</span></code> + </p> + </td> +<td> + <p> + None + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">iterator</span><span class="special">::</span><span class="keyword">template</span> <span class="identifier">next</span><span class="special"><</span><span class="identifier">It</span><span class="special">>::</span><span class="identifier">type</span></code> + </p> + </td> +<td> + <p> + The type of the next element from <code class="computeroutput"><span class="identifier">It</span></code> + </p> + </td> +<td> + <p> + None + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">iterator</span><span class="special">::</span><span class="keyword">template</span> <span class="identifier">next</span><span class="special"><</span><span class="identifier">It</span><span class="special">>::</span><span class="identifier">call</span><span class="special">(</span><span class="identifier">it</span><span class="special">)</span></code> + </p> + </td> +<td> + <p> + The next iterator after <code class="computeroutput"><span class="identifier">it</span></code> + </p> + </td> +<td> + <p> + None + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">iterator</span><span class="special">::</span><span class="keyword">template</span> <span class="identifier">prior</span><span class="special"><</span><span class="identifier">It</span><span class="special">>::</span><span class="identifier">type</span></code> + </p> + </td> +<td> + <p> + The type of the next element from <code class="computeroutput"><span class="identifier">It</span></code> + </p> + </td> +<td> + <p> + None + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">iterator</span><span class="special">::</span><span class="keyword">template</span> <span class="identifier">prior</span><span class="special"><</span><span class="identifier">It</span><span class="special">>::</span><span class="identifier">call</span><span class="special">(</span><span class="identifier">it</span><span class="special">)</span></code> + </p> + </td> +<td> + <p> + The next iterator after <code class="computeroutput"><span class="identifier">it</span></code> + </p> + </td> +<td> + <p> + None + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">iterator</span><span class="special">::</span><span class="keyword">template</span> <span class="identifier">advance</span><span class="special"><</span><span class="identifier">It</span><span class="special">,</span> <span class="identifier">N</span><span class="special">>::</span><span class="identifier">type</span></code> + </p> + </td> +<td> + <p> + The type of an iterator advanced <code class="computeroutput"><span class="identifier">N</span></code> + elements from <code class="computeroutput"><span class="identifier">It</span></code> + </p> + </td> +<td> + <p> + Implemented in terms of <code class="computeroutput"><span class="identifier">next</span></code> + and <code class="computeroutput"><span class="identifier">prior</span></code> + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">iterator</span><span class="special">::</span><span class="keyword">template</span> <span class="identifier">advance</span><span class="special"><</span><span class="identifier">It</span><span class="special">,</span> <span class="identifier">N</span><span class="special">>::</span><span class="identifier">call</span><span class="special">(</span><span class="identifier">it</span><span class="special">)</span></code> + </p> + </td> +<td> + <p> + An iterator advanced <code class="computeroutput"><span class="identifier">N</span></code> + elements from <code class="computeroutput"><span class="identifier">it</span></code> + </p> + </td> +<td> + <p> + Implemented in terms of <code class="computeroutput"><span class="identifier">next</span></code> + and <code class="computeroutput"><span class="identifier">prior</span></code> + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">iterator</span><span class="special">::</span><span class="keyword">template</span> <span class="identifier">distance</span><span class="special"><</span><span class="identifier">It1</span><span class="special">,</span> <span class="identifier">It2</span><span class="special">>::</span><span class="identifier">type</span></code> + </p> + </td> +<td> + <p> + The distance between iterators of type <code class="computeroutput"><span class="identifier">It1</span></code> + and <code class="computeroutput"><span class="identifier">It2</span></code> as an + <a href="http://www.boost.org/libs/mpl/doc/refmanual/integral-constant.html" target="_top">MPL + Integral Constant</a> + </p> + </td> +<td> + <p> + None + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">iterator</span><span class="special">::</span><span class="keyword">template</span> <span class="identifier">distance</span><span class="special"><</span><span class="identifier">It1</span><span class="special">,</span> <span class="identifier">It2</span><span class="special">>::</span><span class="identifier">call</span><span class="special">(</span><span class="identifier">it1</span><span class="special">,</span> <span class="identifier">it2</span><span class="special">)</span></code> + </p> + </td> +<td> + <p> + The distance between iterator <code class="computeroutput"><span class="identifier">it1</span></code> + and <code class="computeroutput"><span class="identifier">it2</span></code> + </p> + </td> +<td> + <p> + None + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">iterator</span><span class="special">::</span><span class="keyword">template</span> <span class="identifier">equal_to</span><span class="special"><</span><span class="identifier">It1</span><span class="special">,</span> <span class="identifier">It2</span><span class="special">>::</span><span class="identifier">type</span></code> + </p> + </td> +<td> + <p> + Returns <code class="computeroutput"><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">true_</span></code> if <code class="computeroutput"><span class="identifier">It1</span></code> + is equal to <code class="computeroutput"><span class="identifier">It2</span></code>, + <code class="computeroutput"><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">false_</span></code> otherwise. + </p> + </td> +<td> + <p> + <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">same_type</span><span class="special"><</span><span class="identifier">It1</span><span class="special">,</span> + <span class="identifier">It2</span><span class="special">>::</span><span class="identifier">type</span></code> + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">iterator</span><span class="special">::</span><span class="keyword">template</span> <span class="identifier">equal_to</span><span class="special"><</span><span class="identifier">It1</span><span class="special">,</span> <span class="identifier">It2</span><span class="special">>::</span><span class="identifier">call</span><span class="special">(</span><span class="identifier">it1</span><span class="special">,</span> <span class="identifier">it2</span><span class="special">)</span></code> + </p> + </td> +<td> + <p> + Returns a type convertible to <code class="computeroutput"><span class="keyword">bool</span></code> + that evaluates to <code class="computeroutput"><span class="keyword">true</span></code> + if <code class="computeroutput"><span class="identifier">It1</span></code> is equal + to <code class="computeroutput"><span class="identifier">It2</span></code>, <code class="computeroutput"><span class="keyword">false</span></code> otherwise. + </p> + </td> +<td> + <p> + <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">same_type</span><span class="special"><</span><span class="identifier">It1</span><span class="special">,</span> + <span class="identifier">It2</span><span class="special">>::</span><span class="identifier">type</span><span class="special">()</span></code> + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">iterator</span><span class="special">::</span><span class="keyword">template</span> <span class="identifier">key_of</span><span class="special"><</span><span class="identifier">It</span><span class="special">>::</span><span class="identifier">type</span></code> + </p> + </td> +<td> + <p> + The key type associated with the element from <code class="computeroutput"><span class="identifier">It</span></code> + </p> + </td> +<td> + <p> + None + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">iterator</span><span class="special">::</span><span class="keyword">template</span> <span class="identifier">value_of_data</span><span class="special"><</span><span class="identifier">It</span><span class="special">>::</span><span class="identifier">type</span></code> + </p> + </td> +<td> + <p> + The type of the data property associated with the element from + <code class="computeroutput"><span class="identifier">It</span></code> + </p> + </td> +<td> + <p> + None + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">iterator</span><span class="special">::</span><span class="keyword">template</span> <span class="identifier">deref_data</span><span class="special"><</span><span class="identifier">It</span><span class="special">>::</span><span class="identifier">type</span></code> + </p> + </td> +<td> + <p> + The type that will be returned by dereferencing the data property + of the element from <code class="computeroutput"><span class="identifier">It</span></code> + </p> + </td> +<td> + <p> + None + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">iterator</span><span class="special">::</span><span class="keyword">template</span> <span class="identifier">deref_data</span><span class="special"><</span><span class="identifier">It</span><span class="special">>::</span><span class="identifier">call</span><span class="special">(</span><span class="identifier">it</span><span class="special">)</span></code> + </p> + </td> +<td> + <p> + Deferences the data property associated with the element referenced + by <code class="computeroutput"><span class="identifier">it</span></code> + </p> + </td> +<td> + <p> + None + </p> + </td> +</tr> +</tbody> +</table></div> +</div> +<br class="table-break"><h5> +<a name="fusion.extension.iterator_facade.h3"></a> + <span><a name="fusion.extension.iterator_facade.header"></a></span><a class="link" href="iterator_facade.html#fusion.extension.iterator_facade.header">Header</a> + </h5> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">iterator</span><span class="special">/</span><span class="identifier">iterator_facade</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">iterator_facade</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h5> +<a name="fusion.extension.iterator_facade.h4"></a> + <span><a name="fusion.extension.iterator_facade.example"></a></span><a class="link" href="iterator_facade.html#fusion.extension.iterator_facade.example">Example</a> + </h5> +<p> + A full working example using <a class="link" href="iterator_facade.html" title="Iterator Facade"><code class="computeroutput"><span class="identifier">iterator_facade</span></code></a> is provided in triple.cpp + in the extension examples. + </p> +</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-2006, 2011 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="sequence_facade.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../extension.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../functional.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/extension/sequence_facade.html b/libs/fusion/doc/html/fusion/extension/sequence_facade.html new file mode 100755 index 0000000000..7b2ae2cd2d --- /dev/null +++ b/libs/fusion/doc/html/fusion/extension/sequence_facade.html @@ -0,0 +1,304 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Sequence Facade</title> +<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../extension.html" title="Extension"> +<link rel="prev" href="ext_full.html" title="The Full Extension Mechanism"> +<link rel="next" href="iterator_facade.html" title="Iterator Facade"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="ext_full.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../extension.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="iterator_facade.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h3 class="title"> +<a name="fusion.extension.sequence_facade"></a><a class="link" href="sequence_facade.html" title="Sequence Facade">Sequence Facade</a> +</h3></div></div></div> +<h5> +<a name="fusion.extension.sequence_facade.h0"></a> + <span><a name="fusion.extension.sequence_facade.description"></a></span><a class="link" href="sequence_facade.html#fusion.extension.sequence_facade.description">Description</a> + </h5> +<p> + The <a class="link" href="sequence_facade.html" title="Sequence Facade"><code class="computeroutput"><span class="identifier">sequence_facade</span></code></a> + template provides an intrusive mechanism for producing a conforming Fusion + sequence. + </p> +<h5> +<a name="fusion.extension.sequence_facade.h1"></a> + <span><a name="fusion.extension.sequence_facade.synopsis"></a></span><a class="link" href="sequence_facade.html#fusion.extension.sequence_facade.synopsis">Synopsis</a> + </h5> +<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Derived</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">TravesalTag</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">IsView</span> <span class="special">=</span> <span class="identifier">mpl</span><span class="special">::</span><span class="identifier">false_</span><span class="special">></span> +<span class="keyword">struct</span> <span class="identifier">sequence_facade</span><span class="special">;</span> +</pre> +<h5> +<a name="fusion.extension.sequence_facade.h2"></a> + <span><a name="fusion.extension.sequence_facade.usage"></a></span><a class="link" href="sequence_facade.html#fusion.extension.sequence_facade.usage">Usage</a> + </h5> +<p> + The user of <a class="link" href="sequence_facade.html" title="Sequence Facade"><code class="computeroutput"><span class="identifier">sequence_facade</span></code></a> derives his sequence + type from a specialization of <a class="link" href="sequence_facade.html" title="Sequence Facade"><code class="computeroutput"><span class="identifier">sequence_facade</span></code></a> and passes the derived + sequence type as the first template parameter. The second template parameter + should be the traversal category of the sequence being implemented. The 3rd + parameter should be set to <code class="computeroutput"><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">true_</span></code> + if the sequence is a view. + </p> +<p> + The user must the implement the key expressions required by their sequence + type. + </p> +<div class="table"> +<a name="fusion.extension.sequence_facade.t0"></a><p class="title"><b>Table 1.102. Parameters</b></p> +<div class="table-contents"><table class="table" summary="Parameters"> +<colgroup> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Name + </p> + </th> +<th> + <p> + Description + </p> + </th> +</tr></thead> +<tbody> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">sequence</span></code>, <code class="computeroutput"><span class="identifier">Seq</span></code> + </p> + </td> +<td> + <p> + A type derived from <a class="link" href="sequence_facade.html" title="Sequence Facade"><code class="computeroutput"><span class="identifier">sequence_facade</span></code></a> + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">N</span></code> + </p> + </td> +<td> + <p> + An <a href="http://www.boost.org/libs/mpl/doc/refmanual/integral-constant.html" target="_top">MPL + Integral Constant</a> + </p> + </td> +</tr> +</tbody> +</table></div> +</div> +<br class="table-break"><div class="table"> +<a name="fusion.extension.sequence_facade.t1"></a><p class="title"><b>Table 1.103. Key Expressions</b></p> +<div class="table-contents"><table class="table" summary="Key Expressions"> +<colgroup> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Expression + </p> + </th> +<th> + <p> + Result + </p> + </th> +</tr></thead> +<tbody> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">sequence</span><span class="special">::</span><span class="keyword">template</span> <span class="identifier">begin</span><span class="special"><</span><span class="identifier">Seq</span><span class="special">>::</span><span class="identifier">type</span></code> + </p> + </td> +<td> + <p> + The type of an iterator to the beginning of a sequence of type + <code class="computeroutput"><span class="identifier">Seq</span></code> + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">sequence</span><span class="special">::</span><span class="keyword">template</span> <span class="identifier">begin</span><span class="special"><</span><span class="identifier">Seq</span><span class="special">>::</span><span class="identifier">call</span><span class="special">(</span><span class="identifier">seq</span><span class="special">)</span></code> + </p> + </td> +<td> + <p> + An iterator to the beginning of sequence <code class="computeroutput"><span class="identifier">seq</span></code> + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">sequence</span><span class="special">::</span><span class="keyword">template</span> <span class="identifier">end</span><span class="special"><</span><span class="identifier">Seq</span><span class="special">>::</span><span class="identifier">type</span></code> + </p> + </td> +<td> + <p> + The type of an iterator to the end of a sequence of type <code class="computeroutput"><span class="identifier">Seq</span></code> + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">sequence</span><span class="special">::</span><span class="keyword">template</span> <span class="identifier">end</span><span class="special"><</span><span class="identifier">Seq</span><span class="special">>::</span><span class="identifier">call</span><span class="special">(</span><span class="identifier">seq</span><span class="special">)</span></code> + </p> + </td> +<td> + <p> + An iterator to the end of sequence <code class="computeroutput"><span class="identifier">seq</span></code> + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">sequence</span><span class="special">::</span><span class="keyword">template</span> <span class="identifier">size</span><span class="special"><</span><span class="identifier">Seq</span><span class="special">>::</span><span class="identifier">type</span></code> + </p> + </td> +<td> + <p> + The size of a sequence of type <code class="computeroutput"><span class="identifier">Seq</span></code> + as an <a href="http://www.boost.org/libs/mpl/doc/refmanual/integral-constant.html" target="_top">MPL + Integral Constant</a> + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">sequence</span><span class="special">::</span><span class="keyword">template</span> <span class="identifier">size</span><span class="special"><</span><span class="identifier">Seq</span><span class="special">>::</span><span class="identifier">call</span><span class="special">(</span><span class="identifier">seq</span><span class="special">)</span></code> + </p> + </td> +<td> + <p> + The size of sequence <code class="computeroutput"><span class="identifier">seq</span></code> + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">sequence</span><span class="special">::</span><span class="keyword">template</span> <span class="identifier">empty</span><span class="special"><</span><span class="identifier">Seq</span><span class="special">>::</span><span class="identifier">type</span></code> + </p> + </td> +<td> + <p> + Returns <code class="computeroutput"><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">true_</span></code> if <code class="computeroutput"><span class="identifier">Seq</span></code> + has zero elements, <code class="computeroutput"><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">false_</span></code> + otherwise. + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">sequence</span><span class="special">::</span><span class="keyword">template</span> <span class="identifier">empty</span><span class="special"><</span><span class="identifier">Seq</span><span class="special">>::</span><span class="identifier">call</span></code> + </p> + </td> +<td> + <p> + Returns a type convertible to <code class="computeroutput"><span class="keyword">bool</span></code> + that evaluates to true if the sequence is empty, else, evaluates + to false. + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">sequence</span><span class="special">::</span><span class="keyword">template</span> <span class="identifier">at</span><span class="special"><</span><span class="identifier">Seq</span><span class="special">,</span> <span class="identifier">N</span><span class="special">>::</span><span class="identifier">type</span></code> + </p> + </td> +<td> + <p> + The type of element <code class="computeroutput"><span class="identifier">N</span></code> + in a sequence of type <code class="computeroutput"><span class="identifier">Seq</span></code> + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">sequence</span><span class="special">::</span><span class="keyword">template</span> <span class="identifier">at</span><span class="special"><</span><span class="identifier">Seq</span><span class="special">,</span> <span class="identifier">N</span><span class="special">>::</span><span class="identifier">call</span><span class="special">(</span><span class="identifier">seq</span><span class="special">)</span></code> + </p> + </td> +<td> + <p> + Element <code class="computeroutput"><span class="identifier">N</span></code> in sequence + <code class="computeroutput"><span class="identifier">seq</span></code> + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">sequence</span><span class="special">::</span><span class="keyword">template</span> <span class="identifier">value_at</span><span class="special"><</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">N</span><span class="special">>::</span><span class="identifier">type</span></code> + </p> + </td> +<td> + <p> + The type of the <code class="computeroutput"><span class="identifier">N</span></code>th + element in a sequence of type <code class="computeroutput"><span class="identifier">Seq</span></code> + </p> + </td> +</tr> +</tbody> +</table></div> +</div> +<br class="table-break"><h5> +<a name="fusion.extension.sequence_facade.h3"></a> + <span><a name="fusion.extension.sequence_facade.include"></a></span><a class="link" href="sequence_facade.html#fusion.extension.sequence_facade.include">Include</a> + </h5> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">sequence</span><span class="special">/</span><span class="identifier">sequence_facade</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">sequence_facade</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h5> +<a name="fusion.extension.sequence_facade.h4"></a> + <span><a name="fusion.extension.sequence_facade.example"></a></span><a class="link" href="sequence_facade.html#fusion.extension.sequence_facade.example">Example</a> + </h5> +<p> + A full working example using <a class="link" href="sequence_facade.html" title="Sequence Facade"><code class="computeroutput"><span class="identifier">sequence_facade</span></code></a> is provided in triple.cpp + in the extension examples. + </p> +</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-2006, 2011 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="ext_full.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../extension.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="iterator_facade.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/functional.html b/libs/fusion/doc/html/fusion/functional.html new file mode 100755 index 0000000000..09986358bb --- /dev/null +++ b/libs/fusion/doc/html/fusion/functional.html @@ -0,0 +1,171 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Functional</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="prev" href="extension/iterator_facade.html" title="Iterator Facade"> +<link rel="next" href="functional/concepts.html" title="Concepts"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="extension/iterator_facade.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="functional/concepts.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h2 class="title" style="clear: both"> +<a name="fusion.functional"></a><a class="link" href="functional.html" title="Functional">Functional</a> +</h2></div></div></div> +<div class="toc"><dl> +<dt><span class="section"><a href="functional/concepts.html">Concepts</a></span></dt> +<dd><dl> +<dt><span class="section"><a href="functional/concepts/callable.html">Callable Object</a></span></dt> +<dt><span class="section"><a href="functional/concepts/reg_callable.html">Regular Callable + Object</a></span></dt> +<dt><span class="section"><a href="functional/concepts/def_callable.html">Deferred Callable + Object</a></span></dt> +<dt><span class="section"><a href="functional/concepts/poly.html">Polymorphic Function + Object</a></span></dt> +</dl></dd> +<dt><span class="section"><a href="functional/invocation.html">Invocation</a></span></dt> +<dd><dl> +<dt><span class="section"><a href="functional/invocation/functions.html">Functions</a></span></dt> +<dt><span class="section"><a href="functional/invocation/metafunctions.html">Metafunctions</a></span></dt> +<dt><span class="section"><a href="functional/invocation/limits.html">Limits</a></span></dt> +</dl></dd> +<dt><span class="section"><a href="functional/adapters.html">Adapters</a></span></dt> +<dd><dl> +<dt><span class="section"><a href="functional/adapters/fused.html">fused</a></span></dt> +<dt><span class="section"><a href="functional/adapters/fused_procedure.html">fused_procedure</a></span></dt> +<dt><span class="section"><a href="functional/adapters/fused_function_object.html">fused_function_object</a></span></dt> +<dt><span class="section"><a href="functional/adapters/unfused.html">unfused</a></span></dt> +<dt><span class="section"><a href="functional/adapters/unfused_typed.html">unfused_typed</a></span></dt> +<dt><span class="section"><a href="functional/adapters/limits.html">Limits</a></span></dt> +</dl></dd> +<dt><span class="section"><a href="functional/generation.html">Generation</a></span></dt> +<dd><dl> +<dt><span class="section"><a href="functional/generation/functions.html">Functions</a></span></dt> +<dt><span class="section"><a href="functional/generation/metafunctions.html">Metafunctions</a></span></dt> +</dl></dd> +</dl></div> +<p> + Components to call functions and function objects and to make Fusion code callable + through a function object interface. + </p> +<h4> +<a name="fusion.functional.h0"></a> + <span><a name="fusion.functional.header"></a></span><a class="link" href="functional.html#fusion.functional.header">Header</a> + </h4> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">functional</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h4> +<a name="fusion.functional.h1"></a> + <span><a name="fusion.functional.fused_and_unfused_forms"></a></span><a class="link" href="functional.html#fusion.functional.fused_and_unfused_forms">Fused + and unfused forms</a> + </h4> +<p> + What is a function call? + </p> +<pre class="programlisting"><span class="identifier">f</span> <span class="special">(</span><span class="identifier">a</span><span class="special">,</span><span class="identifier">b</span><span class="special">,</span><span class="identifier">c</span><span class="special">)</span> +</pre> +<p> + It is a name and a tuple written next to each other, left-to-right. + </p> +<p> + Although the C++ syntax does not allow to replace <code class="literal">(a,b,c)</code> + with some Fusion <a class="link" href="sequence.html" title="Sequence">Sequence</a>, introducing + yet another function provides a solution: + </p> +<pre class="programlisting"><span class="identifier">invoke</span><span class="special">(</span><span class="identifier">f</span><span class="special">,</span><span class="identifier">my_sequence</span><span class="special">)</span> +</pre> +<p> + Alternatively it is possible to apply a simple transformation to <code class="literal">f</code> + in order to achieve the same effect: + </p> +<pre class="programlisting"><span class="identifier">f</span> <span class="identifier">tuple</span> <span class="special"><=></span> f' <span class="special">(</span><span class="identifier">tuple</span><span class="special">)</span> +</pre> +<p> + Now, <code class="literal">f'</code> is an unary function that takes the arguments to + <code class="computeroutput"><span class="identifier">f</span></code> as a tuple; <code class="literal">f'</code> + is the <span class="emphasis"><em>fused</em></span> form of <code class="computeroutput"><span class="identifier">f</span></code>. + Reading the above equivalence right-to-left to get the inverse transformation, + <code class="computeroutput"><span class="identifier">f</span></code> is the <span class="emphasis"><em>unfused</em></span> + form of <code class="literal">f'</code>. + </p> +<h4> +<a name="fusion.functional.h2"></a> + <span><a name="fusion.functional.calling_functions_and_function_objects"></a></span><a class="link" href="functional.html#fusion.functional.calling_functions_and_function_objects">Calling + functions and function objects</a> + </h4> +<p> + Having generic C++ code call back arbitrary functions provided by the client + used to be a heavily repetitive task, as different functions can differ in + arity, invocation syntax and other properties that might be part of the type. + Transporting arguments as Fusion sequences and factoring out the invocation + makes Fusion algorithms applicable to function arguments and also reduces the + problem to one invocation syntax and a fixed arity (instead of an arbitrary + number of arbitrary arguments times several syntactic variants times additional + properties). + </p> +<p> + Transforming an unfused function into its fused counterpart allows n-ary calls + from an algorithm that invokes an unary <a class="link" href="functional/concepts/poly.html" title="Polymorphic Function Object">Polymorphic + Function Object</a> with <a class="link" href="sequence.html" title="Sequence">Sequence</a> + arguments. + </p> +<p> + The library provides several function templates to invoke different kinds of + functions and adapters to transform them into fused form, respectively. Every + variant has a corresponding generator function template that returns an adapter + instance for the given argument. + </p> +<p> + Constructors can be called applying <a href="http://www.boost.org/libs/functional/factory/doc/html/index.html" target="_top">Boost.Functional/Factory</a>. + </p> +<h4> +<a name="fusion.functional.h3"></a> + <span><a name="fusion.functional.making_fusion_code_callable_through_a_function_object_interface"></a></span><a class="link" href="functional.html#fusion.functional.making_fusion_code_callable_through_a_function_object_interface">Making + Fusion code callable through a function object interface</a> + </h4> +<p> + Transforming a fused function into its unfused counterpart allows to create + function objects to accept arbitrary calls. In other words, an unary function + object can be implemented instead of (maybe heavily overloaded) function templates + or function call operators. + </p> +<p> + The library provides both a strictly typed and a generic variant for this transformation. + The latter should be used in combination with <a href="http://www.boost.org/libs/functional/forward/doc/html/index.html" target="_top">Boost.Functional/Forward</a> + to attack <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2002/n1385.htm" target="_top">The + Forwarding Problem</a>. + </p> +<p> + Both variants have a corresponding generator function template that returns + an adapter instance for the given argument. + </p> +</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-2006, 2011 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="extension/iterator_facade.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="functional/concepts.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/functional/adapters.html b/libs/fusion/doc/html/fusion/functional/adapters.html new file mode 100755 index 0000000000..cc0b7fdfd7 --- /dev/null +++ b/libs/fusion/doc/html/fusion/functional/adapters.html @@ -0,0 +1,55 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Adapters</title> +<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../functional.html" title="Functional"> +<link rel="prev" href="invocation/limits.html" title="Limits"> +<link rel="next" href="adapters/fused.html" title="fused"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="invocation/limits.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functional.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="adapters/fused.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h3 class="title"> +<a name="fusion.functional.adapters"></a><a class="link" href="adapters.html" title="Adapters">Adapters</a> +</h3></div></div></div> +<div class="toc"><dl> +<dt><span class="section"><a href="adapters/fused.html">fused</a></span></dt> +<dt><span class="section"><a href="adapters/fused_procedure.html">fused_procedure</a></span></dt> +<dt><span class="section"><a href="adapters/fused_function_object.html">fused_function_object</a></span></dt> +<dt><span class="section"><a href="adapters/unfused.html">unfused</a></span></dt> +<dt><span class="section"><a href="adapters/unfused_typed.html">unfused_typed</a></span></dt> +<dt><span class="section"><a href="adapters/limits.html">Limits</a></span></dt> +</dl></div> +<p> + Function object templates to transform a particular target function. + </p> +</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-2006, 2011 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="invocation/limits.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functional.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="adapters/fused.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/functional/adapters/fused.html b/libs/fusion/doc/html/fusion/functional/adapters/fused.html new file mode 100755 index 0000000000..ab6c859a52 --- /dev/null +++ b/libs/fusion/doc/html/fusion/functional/adapters/fused.html @@ -0,0 +1,260 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>fused</title> +<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../adapters.html" title="Adapters"> +<link rel="prev" href="../adapters.html" title="Adapters"> +<link rel="next" href="fused_procedure.html" title="fused_procedure"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="../adapters.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapters.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="fused_procedure.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h4 class="title"> +<a name="fusion.functional.adapters.fused"></a><a class="link" href="fused.html" title="fused">fused</a> +</h4></div></div></div> +<h6> +<a name="fusion.functional.adapters.fused.h0"></a> + <span><a name="fusion.functional.adapters.fused.description"></a></span><a class="link" href="fused.html#fusion.functional.adapters.fused.description">Description</a> + </h6> +<p> + An unary <a class="link" href="../concepts/poly.html" title="Polymorphic Function Object">Polymorphic Function + Object</a> adapter template for <a class="link" href="../concepts/def_callable.html" title="Deferred Callable Object">Deferred + Callable Object</a> target functions. It takes a <a class="link" href="../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a> that contains the arguments for the target function. + </p> +<p> + The type of the target function is allowed to be const qualified or a reference. + Const qualification is preserved and propagated appropriately (in other + words, only const versions of <code class="literal">operator()</code> can be used + for a target function object that is const or, if the target function object + is held by value, the adapter is const - these semantics have nothing to + do with the const qualification of a member function, which is referring + to the type of object pointed to by <code class="literal">this</code> which is specified + with the first element in the sequence passed to the adapter). + </p> +<p> + If the target function is a pointer to a class members, the corresponding + object can be specified as a reference, pointer, or smart pointer. In case + of the latter, a freestanding <code class="literal">get_pointer</code> function must + be defined (Boost provides this function for <code class="literal">std::auto_ptr</code> + and <a href="http://www.boost.org/libs/smart_ptr/shared_ptr.htm" target="_top"><code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">shared_ptr</span></code></a>). + </p> +<h6> +<a name="fusion.functional.adapters.fused.h1"></a> + <span><a name="fusion.functional.adapters.fused.header"></a></span><a class="link" href="fused.html#fusion.functional.adapters.fused.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">functional</span><span class="special">/</span><span class="identifier">adapter</span><span class="special">/</span><span class="identifier">fused</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h6> +<a name="fusion.functional.adapters.fused.h2"></a> + <span><a name="fusion.functional.adapters.fused.synopsis"></a></span><a class="link" href="fused.html#fusion.functional.adapters.fused.synopsis">Synopsis</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Function</span><span class="special">></span> +<span class="keyword">class</span> <span class="identifier">fused</span><span class="special">;</span> +</pre> +<h6> +<a name="fusion.functional.adapters.fused.h3"></a> + <span><a name="fusion.functional.adapters.fused.template_parameters"></a></span><a class="link" href="fused.html#fusion.functional.adapters.fused.template_parameters">Template + parameters</a> + </h6> +<div class="informaltable"><table class="table"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Description + </p> + </th> +<th> + <p> + Default + </p> + </th> +</tr></thead> +<tbody><tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">Function</span></code> + </p> + </td> +<td> + <p> + A <a class="link" href="../concepts/def_callable.html" title="Deferred Callable Object">Deferred + Callable Object</a> + </p> + </td> +<td> + </td> +</tr></tbody> +</table></div> +<h6> +<a name="fusion.functional.adapters.fused.h4"></a> + <span><a name="fusion.functional.adapters.fused.model_of"></a></span><a class="link" href="fused.html#fusion.functional.adapters.fused.model_of">Model + of</a> + </h6> +<div class="itemizedlist"><ul class="itemizedlist" type="disc"> +<li class="listitem"> + <a class="link" href="../concepts/poly.html" title="Polymorphic Function Object">Polymorphic Function + Object</a> + </li> +<li class="listitem"> + <a class="link" href="../concepts/def_callable.html" title="Deferred Callable Object">Deferred Callable + Object</a> + </li> +</ul></div> +<div class="variablelist"> +<p class="title"><b>Notation</b></p> +<dl> +<dt><span class="term"><code class="computeroutput"><span class="identifier">R</span></code></span></dt> +<dd><p> + A possibly const qualified <a class="link" href="../concepts/def_callable.html" title="Deferred Callable Object">Deferred + Callable Object</a> type or reference type thereof + </p></dd> +<dt><span class="term"><code class="computeroutput"><span class="identifier">r</span></code></span></dt> +<dd><p> + An object convertible to <code class="computeroutput"><span class="identifier">R</span></code> + </p></dd> +<dt><span class="term"><code class="computeroutput"><span class="identifier">s</span></code></span></dt> +<dd><p> + A <a class="link" href="../../sequence.html" title="Sequence">Sequence</a> of arguments that + are accepted by <code class="computeroutput"><span class="identifier">r</span></code> + </p></dd> +<dt><span class="term"><code class="computeroutput"><span class="identifier">f</span></code></span></dt> +<dd><p> + An instance of <code class="computeroutput"><span class="identifier">fused</span><span class="special"><</span><span class="identifier">R</span><span class="special">></span></code> + </p></dd> +</dl> +</div> +<h6> +<a name="fusion.functional.adapters.fused.h5"></a> + <span><a name="fusion.functional.adapters.fused.expression_semantics"></a></span><a class="link" href="fused.html#fusion.functional.adapters.fused.expression_semantics">Expression + Semantics</a> + </h6> +<div class="informaltable"><table class="table"> +<colgroup> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Expression + </p> + </th> +<th> + <p> + Semantics + </p> + </th> +</tr></thead> +<tbody> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">fused</span><span class="special"><</span><span class="identifier">R</span><span class="special">>(</span><span class="identifier">r</span><span class="special">)</span></code> + </p> + </td> +<td> + <p> + Creates a fused function as described above, initializes the + target function with <code class="computeroutput"><span class="identifier">r</span></code>. + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">fused</span><span class="special"><</span><span class="identifier">R</span><span class="special">>()</span></code> + </p> + </td> +<td> + <p> + Creates a fused function as described above, attempts to use + <code class="computeroutput"><span class="identifier">R</span></code>'s default constructor. + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">s</span><span class="special">)</span></code> + </p> + </td> +<td> + <p> + Calls <code class="computeroutput"><span class="identifier">r</span></code> with + the elements in <code class="computeroutput"><span class="identifier">s</span></code> + as its arguments. + </p> + </td> +</tr> +</tbody> +</table></div> +<h6> +<a name="fusion.functional.adapters.fused.h6"></a> + <span><a name="fusion.functional.adapters.fused.example"></a></span><a class="link" href="fused.html#fusion.functional.adapters.fused.example">Example</a> + </h6> +<pre class="programlisting"><span class="identifier">fused</span><span class="special"><</span> <a href="http://www.sgi.com/tech/stl/plus.html" target="_top"><code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">plus</span></code></a><span class="special"><</span><span class="keyword">long</span><span class="special">></span> <span class="special">></span> <span class="identifier">f</span><span class="special">;</span> +<span class="identifier">assert</span><span class="special">(</span><span class="identifier">f</span><span class="special">(</span><a class="link" href="../../container/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2l</span><span class="special">))</span> <span class="special">==</span> <span class="number">3l</span><span class="special">);</span> +</pre> +<h6> +<a name="fusion.functional.adapters.fused.h7"></a> + <span><a name="fusion.functional.adapters.fused.see_also"></a></span><a class="link" href="fused.html#fusion.functional.adapters.fused.see_also">See + also</a> + </h6> +<div class="itemizedlist"><ul class="itemizedlist" type="disc"> +<li class="listitem"> + <a class="link" href="fused_procedure.html" title="fused_procedure"><code class="computeroutput"><span class="identifier">fused_procedure</span></code></a> + </li> +<li class="listitem"> + <a class="link" href="fused_function_object.html" title="fused_function_object"><code class="computeroutput"><span class="identifier">fused_function_object</span></code></a> + </li> +<li class="listitem"> + <a class="link" href="../invocation/functions/invoke.html" title="invoke"><code class="computeroutput"><span class="identifier">invoke</span></code></a> + </li> +<li class="listitem"> + <a class="link" href="../generation/functions/mk_fused.html" title="make_fused"><code class="computeroutput"><span class="identifier">make_fused</span></code></a> + </li> +<li class="listitem"> + <a class="link" href="../../support/deduce.html" title="deduce"><code class="computeroutput"><span class="identifier">deduce</span></code></a> + </li> +</ul></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-2006, 2011 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="../adapters.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapters.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="fused_procedure.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/functional/adapters/fused_function_object.html b/libs/fusion/doc/html/fusion/functional/adapters/fused_function_object.html new file mode 100755 index 0000000000..267047f82d --- /dev/null +++ b/libs/fusion/doc/html/fusion/functional/adapters/fused_function_object.html @@ -0,0 +1,280 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>fused_function_object</title> +<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../adapters.html" title="Adapters"> +<link rel="prev" href="fused_procedure.html" title="fused_procedure"> +<link rel="next" href="unfused.html" title="unfused"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="fused_procedure.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapters.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="unfused.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h4 class="title"> +<a name="fusion.functional.adapters.fused_function_object"></a><a class="link" href="fused_function_object.html" title="fused_function_object">fused_function_object</a> +</h4></div></div></div> +<h6> +<a name="fusion.functional.adapters.fused_function_object.h0"></a> + <span><a name="fusion.functional.adapters.fused_function_object.description"></a></span><a class="link" href="fused_function_object.html#fusion.functional.adapters.fused_function_object.description">Description</a> + </h6> +<p> + An unary <a class="link" href="../concepts/poly.html" title="Polymorphic Function Object">Polymorphic Function + Object</a> adapter template for a <a class="link" href="../concepts/poly.html" title="Polymorphic Function Object">Polymorphic + Function Object</a> target function. It takes a <a class="link" href="../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a> that contains the arguments for the target function. + </p> +<p> + The type of the target function is allowed to be const qualified or a reference. + Const qualification is preserved and propagated appropriately (in other + words, only const versions of <code class="literal">operator()</code> can be used + for an target function object that is const or, if the target function + object is held by value, the adapter is const). + </p> +<h6> +<a name="fusion.functional.adapters.fused_function_object.h1"></a> + <span><a name="fusion.functional.adapters.fused_function_object.header"></a></span><a class="link" href="fused_function_object.html#fusion.functional.adapters.fused_function_object.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">functional</span><span class="special">/</span><span class="identifier">adapter</span><span class="special">/</span><span class="identifier">fused_function_object</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h6> +<a name="fusion.functional.adapters.fused_function_object.h2"></a> + <span><a name="fusion.functional.adapters.fused_function_object.synopsis"></a></span><a class="link" href="fused_function_object.html#fusion.functional.adapters.fused_function_object.synopsis">Synopsis</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">Function</span><span class="special">></span> +<span class="keyword">class</span> <span class="identifier">fused_function_object</span><span class="special">;</span> +</pre> +<h6> +<a name="fusion.functional.adapters.fused_function_object.h3"></a> + <span><a name="fusion.functional.adapters.fused_function_object.template_parameters"></a></span><a class="link" href="fused_function_object.html#fusion.functional.adapters.fused_function_object.template_parameters">Template + parameters</a> + </h6> +<div class="informaltable"><table class="table"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Description + </p> + </th> +<th> + <p> + Default + </p> + </th> +</tr></thead> +<tbody><tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">Function</span></code> + </p> + </td> +<td> + <p> + <a class="link" href="../concepts/poly.html" title="Polymorphic Function Object">Polymorphic Function + Object</a> type + </p> + </td> +<td> + </td> +</tr></tbody> +</table></div> +<h6> +<a name="fusion.functional.adapters.fused_function_object.h4"></a> + <span><a name="fusion.functional.adapters.fused_function_object.model_of"></a></span><a class="link" href="fused_function_object.html#fusion.functional.adapters.fused_function_object.model_of">Model + of</a> + </h6> +<div class="itemizedlist"><ul class="itemizedlist" type="disc"> +<li class="listitem"> + <a class="link" href="../concepts/poly.html" title="Polymorphic Function Object">Polymorphic Function + Object</a> + </li> +<li class="listitem"> + <a class="link" href="../concepts/def_callable.html" title="Deferred Callable Object">Deferred Callable + Object</a> + </li> +</ul></div> +<div class="variablelist"> +<p class="title"><b>Notation</b></p> +<dl> +<dt><span class="term"><code class="computeroutput"><span class="identifier">R</span></code></span></dt> +<dd><p> + A possibly const qualified <a class="link" href="../concepts/poly.html" title="Polymorphic Function Object">Polymorphic + Function Object</a> type or reference type thereof + </p></dd> +<dt><span class="term"><code class="computeroutput"><span class="identifier">r</span></code></span></dt> +<dd><p> + An object convertible to <code class="computeroutput"><span class="identifier">R</span></code> + </p></dd> +<dt><span class="term"><code class="computeroutput"><span class="identifier">s</span></code></span></dt> +<dd><p> + A <a class="link" href="../../sequence.html" title="Sequence">Sequence</a> of arguments that + are accepted by <code class="computeroutput"><span class="identifier">r</span></code> + </p></dd> +<dt><span class="term"><code class="computeroutput"><span class="identifier">f</span></code></span></dt> +<dd><p> + An instance of <code class="computeroutput"><span class="identifier">fused</span><span class="special"><</span><span class="identifier">R</span><span class="special">></span></code> + </p></dd> +</dl> +</div> +<h6> +<a name="fusion.functional.adapters.fused_function_object.h5"></a> + <span><a name="fusion.functional.adapters.fused_function_object.expression_semantics"></a></span><a class="link" href="fused_function_object.html#fusion.functional.adapters.fused_function_object.expression_semantics">Expression + Semantics</a> + </h6> +<div class="informaltable"><table class="table"> +<colgroup> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Expression + </p> + </th> +<th> + <p> + Semantics + </p> + </th> +</tr></thead> +<tbody> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">fused_function_object</span><span class="special"><</span><span class="identifier">R</span><span class="special">>(</span><span class="identifier">r</span><span class="special">)</span></code> + </p> + </td> +<td> + <p> + Creates a fused function as described above, initializes the + target function with <code class="computeroutput"><span class="identifier">r</span></code>. + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">fused_function_object</span><span class="special"><</span><span class="identifier">R</span><span class="special">>()</span></code> + </p> + </td> +<td> + <p> + Creates a fused function as described above, attempts to use + <code class="computeroutput"><span class="identifier">R</span></code>'s default constructor. + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">s</span><span class="special">)</span></code> + </p> + </td> +<td> + <p> + Calls <code class="computeroutput"><span class="identifier">r</span></code> with + the elements in <code class="computeroutput"><span class="identifier">s</span></code> + as its arguments. + </p> + </td> +</tr> +</tbody> +</table></div> +<h6> +<a name="fusion.functional.adapters.fused_function_object.h6"></a> + <span><a name="fusion.functional.adapters.fused_function_object.example"></a></span><a class="link" href="fused_function_object.html#fusion.functional.adapters.fused_function_object.example">Example</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span><span class="keyword">class</span> <span class="identifier">SeqOfSeqs</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Func</span><span class="special">></span> +<span class="keyword">typename</span> <a class="link" href="../../algorithm/transformation/metafunctions/transform.html" title="transform"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">transform</span></code></a><span class="special"><</span> <span class="identifier">zip_view</span><span class="special"><</span><span class="identifier">SeqOfSeqs</span><span class="special">></span> <span class="keyword">const</span><span class="special">,</span> + <span class="identifier">fused_function_object</span><span class="special"><</span><span class="identifier">Func</span> <span class="keyword">const</span> <span class="special">&></span> <span class="special">>::</span><span class="identifier">type</span> +<span class="identifier">n_ary_transform</span><span class="special">(</span><span class="identifier">SeqOfSeqs</span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">s</span><span class="special">,</span> <span class="identifier">Func</span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">f</span><span class="special">)</span> +<span class="special">{</span> + <span class="keyword">return</span> <a class="link" href="../../algorithm/transformation/functions/transform.html" title="transform"><code class="computeroutput"><span class="identifier">transform</span></code></a><span class="special">(</span><span class="identifier">zip_view</span><span class="special"><</span><span class="identifier">SeqOfSeqs</span><span class="special">>(</span><span class="identifier">s</span><span class="special">),</span> + <span class="identifier">fused_function_object</span><span class="special"><</span><span class="identifier">Func</span> <span class="keyword">const</span> <span class="special">&>(</span><span class="identifier">f</span><span class="special">));</span> +<span class="special">}</span> + +<span class="keyword">struct</span> <span class="identifier">sub</span> +<span class="special">{</span> + <span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Sig</span><span class="special">></span> + <span class="keyword">struct</span> <span class="identifier">result</span><span class="special">;</span> + + <span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">Self</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T</span><span class="special">></span> + <span class="keyword">struct</span> <span class="identifier">result</span><span class="special"><</span> <span class="identifier">Self</span><span class="special">(</span><span class="identifier">T</span><span class="special">,</span><span class="identifier">T</span><span class="special">)</span> <span class="special">></span> + <span class="special">{</span> <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">remove_reference</span><span class="special"><</span><span class="identifier">T</span><span class="special">>::</span><span class="identifier">type</span> <span class="identifier">type</span><span class="special">;</span> <span class="special">};</span> + + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">></span> + <span class="identifier">T</span> <span class="keyword">operator</span><span class="special">()(</span><span class="identifier">T</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">rhs</span><span class="special">)</span> <span class="keyword">const</span> + <span class="special">{</span> + <span class="keyword">return</span> <span class="identifier">lhs</span> <span class="special">-</span> <span class="identifier">rhs</span><span class="special">;</span> + <span class="special">}</span> +<span class="special">};</span> + +<span class="keyword">void</span> <span class="identifier">try_it</span><span class="special">()</span> +<span class="special">{</span> + <a class="link" href="../../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">float</span><span class="special">></span> <span class="identifier">a</span><span class="special">(</span><span class="number">2</span><span class="special">,</span><span class="number">2.0f</span><span class="special">);</span> + <a class="link" href="../../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">float</span><span class="special">></span> <span class="identifier">b</span><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">1.5f</span><span class="special">);</span> + <a class="link" href="../../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">float</span><span class="special">></span> <span class="identifier">c</span><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">0.5f</span><span class="special">);</span> + <span class="identifier">assert</span><span class="special">(</span><span class="identifier">c</span> <span class="special">==</span> <span class="identifier">n_ary_transform</span><span class="special">(</span><a class="link" href="../../container/generation/functions/vector_tie.html" title="vector_tie"><code class="computeroutput"><span class="identifier">vector_tie</span></code></a><span class="special">(</span><span class="identifier">a</span><span class="special">,</span><span class="identifier">b</span><span class="special">),</span> <span class="identifier">sub</span><span class="special">()));</span> +<span class="special">}</span> +</pre> +<h6> +<a name="fusion.functional.adapters.fused_function_object.h7"></a> + <span><a name="fusion.functional.adapters.fused_function_object.see_also"></a></span><a class="link" href="fused_function_object.html#fusion.functional.adapters.fused_function_object.see_also">See + also</a> + </h6> +<div class="itemizedlist"><ul class="itemizedlist" type="disc"> +<li class="listitem"> + <a class="link" href="fused.html" title="fused"><code class="computeroutput"><span class="identifier">fused</span></code></a> + </li> +<li class="listitem"> + <a class="link" href="fused_procedure.html" title="fused_procedure"><code class="computeroutput"><span class="identifier">fused_procedure</span></code></a> + </li> +<li class="listitem"> + <a class="link" href="../invocation/functions/invoke_fobj.html" title="invoke_function_object"><code class="computeroutput"><span class="identifier">invoke_function_object</span></code></a> + </li> +<li class="listitem"> + <a class="link" href="../generation/functions/mk_fused_fobj.html" title="make_fused_function_object"><code class="computeroutput"><span class="identifier">make_fused_function_object</span></code></a> + </li> +<li class="listitem"> + <a class="link" href="../../support/deduce.html" title="deduce"><code class="computeroutput"><span class="identifier">deduce</span></code></a> + </li> +</ul></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-2006, 2011 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="fused_procedure.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapters.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="unfused.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/functional/adapters/fused_procedure.html b/libs/fusion/doc/html/fusion/functional/adapters/fused_procedure.html new file mode 100755 index 0000000000..ee25c37df7 --- /dev/null +++ b/libs/fusion/doc/html/fusion/functional/adapters/fused_procedure.html @@ -0,0 +1,276 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>fused_procedure</title> +<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../adapters.html" title="Adapters"> +<link rel="prev" href="fused.html" title="fused"> +<link rel="next" href="fused_function_object.html" title="fused_function_object"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="fused.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapters.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="fused_function_object.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h4 class="title"> +<a name="fusion.functional.adapters.fused_procedure"></a><a class="link" href="fused_procedure.html" title="fused_procedure">fused_procedure</a> +</h4></div></div></div> +<h6> +<a name="fusion.functional.adapters.fused_procedure.h0"></a> + <span><a name="fusion.functional.adapters.fused_procedure.description"></a></span><a class="link" href="fused_procedure.html#fusion.functional.adapters.fused_procedure.description">Description</a> + </h6> +<p> + An unary <a class="link" href="../concepts/poly.html" title="Polymorphic Function Object">Polymorphic Function + Object</a> adapter template for <a class="link" href="../concepts/callable.html" title="Callable Object">Callable + Object</a> target functions. It takes a <a class="link" href="../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a> that contains the arguments for the target function. + </p> +<p> + The result is discared and the adapter's return type is <code class="computeroutput"><span class="keyword">void</span></code>. + </p> +<p> + The type of the target function is allowed to be const qualified or a reference. + Const qualification is preserved and propagated appropriately (in other + words, only const versions of <code class="literal">operator()</code> can be used + for a target function object that is const or, if the target function object + is held by value, the adapter is const - these semantics have nothing to + do with the const qualification of a member function, which is referring + to the type of object pointed to by <code class="literal">this</code> which is specified + with the first element in the sequence passed to the adapter). + </p> +<p> + If the target function is a pointer to a members function, the corresponding + object can be specified as a reference, pointer, or smart pointer. In case + of the latter, a freestanding <code class="literal">get_pointer</code> function must + be defined (Boost provides this function for <code class="literal">std::auto_ptr</code> + and <a href="http://www.boost.org/libs/smart_ptr/shared_ptr.htm" target="_top"><code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">shared_ptr</span></code></a>). + </p> +<p> + The target function must not be a pointer to a member object (dereferencing + such a pointer without returning anything does not make sense, so this + case is not implemented). + </p> +<h6> +<a name="fusion.functional.adapters.fused_procedure.h1"></a> + <span><a name="fusion.functional.adapters.fused_procedure.header"></a></span><a class="link" href="fused_procedure.html#fusion.functional.adapters.fused_procedure.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">functional</span><span class="special">/</span><span class="identifier">adapter</span><span class="special">/</span><span class="identifier">fused_procedure</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h6> +<a name="fusion.functional.adapters.fused_procedure.h2"></a> + <span><a name="fusion.functional.adapters.fused_procedure.synopsis"></a></span><a class="link" href="fused_procedure.html#fusion.functional.adapters.fused_procedure.synopsis">Synopsis</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Function</span><span class="special">></span> +<span class="keyword">class</span> <span class="identifier">fused_procedure</span><span class="special">;</span> +</pre> +<h6> +<a name="fusion.functional.adapters.fused_procedure.h3"></a> + <span><a name="fusion.functional.adapters.fused_procedure.template_parameters"></a></span><a class="link" href="fused_procedure.html#fusion.functional.adapters.fused_procedure.template_parameters">Template + parameters</a> + </h6> +<div class="informaltable"><table class="table"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Description + </p> + </th> +<th> + <p> + Default + </p> + </th> +</tr></thead> +<tbody><tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">Function</span></code> + </p> + </td> +<td> + <p> + <a class="link" href="../concepts/callable.html" title="Callable Object">Callable + Object</a> type + </p> + </td> +<td> + </td> +</tr></tbody> +</table></div> +<h6> +<a name="fusion.functional.adapters.fused_procedure.h4"></a> + <span><a name="fusion.functional.adapters.fused_procedure.model_of"></a></span><a class="link" href="fused_procedure.html#fusion.functional.adapters.fused_procedure.model_of">Model of</a> + </h6> +<div class="itemizedlist"><ul class="itemizedlist" type="disc"> +<li class="listitem"> + <a class="link" href="../concepts/poly.html" title="Polymorphic Function Object">Polymorphic Function + Object</a> + </li> +<li class="listitem"> + <a class="link" href="../concepts/def_callable.html" title="Deferred Callable Object">Deferred Callable + Object</a> + </li> +</ul></div> +<div class="variablelist"> +<p class="title"><b>Notation</b></p> +<dl> +<dt><span class="term"><code class="computeroutput"><span class="identifier">R</span></code></span></dt> +<dd><p> + A possibly const qualified <a class="link" href="../concepts/callable.html" title="Callable Object">Callable + Object</a> type or reference type thereof + </p></dd> +<dt><span class="term"><code class="computeroutput"><span class="identifier">r</span></code></span></dt> +<dd><p> + An object convertible to <code class="computeroutput"><span class="identifier">R</span></code> + </p></dd> +<dt><span class="term"><code class="computeroutput"><span class="identifier">s</span></code></span></dt> +<dd><p> + A <a class="link" href="../../sequence.html" title="Sequence">Sequence</a> of arguments that + are accepted by <code class="computeroutput"><span class="identifier">r</span></code> + </p></dd> +<dt><span class="term"><code class="computeroutput"><span class="identifier">f</span></code></span></dt> +<dd><p> + An instance of <code class="computeroutput"><span class="identifier">fused</span><span class="special"><</span><span class="identifier">R</span><span class="special">></span></code> + </p></dd> +</dl> +</div> +<h6> +<a name="fusion.functional.adapters.fused_procedure.h5"></a> + <span><a name="fusion.functional.adapters.fused_procedure.expression_semantics"></a></span><a class="link" href="fused_procedure.html#fusion.functional.adapters.fused_procedure.expression_semantics">Expression + Semantics</a> + </h6> +<div class="informaltable"><table class="table"> +<colgroup> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Expression + </p> + </th> +<th> + <p> + Semantics + </p> + </th> +</tr></thead> +<tbody> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">fused_procedure</span><span class="special"><</span><span class="identifier">R</span><span class="special">>(</span><span class="identifier">r</span><span class="special">)</span></code> + </p> + </td> +<td> + <p> + Creates a fused function as described above, initializes the + target function with <code class="computeroutput"><span class="identifier">r</span></code>. + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">fused_procedure</span><span class="special"><</span><span class="identifier">R</span><span class="special">>()</span></code> + </p> + </td> +<td> + <p> + Creates a fused function as described above, attempts to use + <code class="computeroutput"><span class="identifier">R</span></code>'s default constructor. + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">s</span><span class="special">)</span></code> + </p> + </td> +<td> + <p> + Calls <code class="computeroutput"><span class="identifier">r</span></code> with + the elements in <code class="computeroutput"><span class="identifier">s</span></code> + as its arguments. + </p> + </td> +</tr> +</tbody> +</table></div> +<h6> +<a name="fusion.functional.adapters.fused_procedure.h6"></a> + <span><a name="fusion.functional.adapters.fused_procedure.example"></a></span><a class="link" href="fused_procedure.html#fusion.functional.adapters.fused_procedure.example">Example</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span><span class="keyword">class</span> <span class="identifier">SequenceOfSequences</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Func</span><span class="special">></span> +<span class="keyword">void</span> <span class="identifier">n_ary_for_each</span><span class="special">(</span><span class="identifier">SequenceOfSequences</span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">s</span><span class="special">,</span> <span class="identifier">Func</span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">f</span><span class="special">)</span> +<span class="special">{</span> + <a class="link" href="../../algorithm/iteration/functions/for_each.html" title="for_each"><code class="computeroutput"><span class="identifier">for_each</span></code></a><span class="special">(</span><a class="link" href="../../view/zip_view.html" title="zip_view"><code class="computeroutput"><span class="identifier">zip_view</span></code></a><span class="special"><</span><span class="identifier">SequenceOfSequences</span><span class="special">>(</span><span class="identifier">s</span><span class="special">),</span> + <span class="identifier">fused_procedure</span><span class="special"><</span><span class="identifier">Func</span> <span class="keyword">const</span> <span class="special">&>(</span><span class="identifier">f</span><span class="special">));</span> +<span class="special">}</span> + +<span class="keyword">void</span> <span class="identifier">try_it</span><span class="special">()</span> +<span class="special">{</span> + <a class="link" href="../../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">float</span><span class="special">></span> <span class="identifier">a</span><span class="special">(</span><span class="number">2</span><span class="special">,</span><span class="number">2.0f</span><span class="special">);</span> + <a class="link" href="../../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">float</span><span class="special">></span> <span class="identifier">b</span><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">1.5f</span><span class="special">);</span> + <span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">lambda</span><span class="special">;</span> + <span class="identifier">n_ary_for_each</span><span class="special">(</span><a class="link" href="../../container/generation/functions/vector_tie.html" title="vector_tie"><code class="computeroutput"><span class="identifier">vector_tie</span></code></a><span class="special">(</span><span class="identifier">a</span><span class="special">,</span><span class="identifier">b</span><span class="special">),</span> <span class="identifier">_1</span> <span class="special">-=</span> <span class="identifier">_2</span><span class="special">);</span> + <span class="identifier">assert</span><span class="special">(</span><span class="identifier">a</span> <span class="special">==</span> <a class="link" href="../../container/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">0.5f</span><span class="special">));</span> +<span class="special">}</span> +</pre> +<h6> +<a name="fusion.functional.adapters.fused_procedure.h7"></a> + <span><a name="fusion.functional.adapters.fused_procedure.see_also"></a></span><a class="link" href="fused_procedure.html#fusion.functional.adapters.fused_procedure.see_also">See also</a> + </h6> +<div class="itemizedlist"><ul class="itemizedlist" type="disc"> +<li class="listitem"> + <a class="link" href="fused.html" title="fused"><code class="computeroutput"><span class="identifier">fused</span></code></a> + </li> +<li class="listitem"> + <a class="link" href="fused_function_object.html" title="fused_function_object"><code class="computeroutput"><span class="identifier">fused_function_object</span></code></a> + </li> +<li class="listitem"> + <a class="link" href="../invocation/functions/invoke_proc.html" title="invoke_procedure"><code class="computeroutput"><span class="identifier">invoke_procedure</span></code></a> + </li> +<li class="listitem"> + <a class="link" href="../generation/functions/mk_fused_proc.html" title="make_fused_procedure"><code class="computeroutput"><span class="identifier">make_fused_procedure</span></code></a> + </li> +</ul></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-2006, 2011 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="fused.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapters.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="fused_function_object.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/functional/adapters/limits.html b/libs/fusion/doc/html/fusion/functional/adapters/limits.html new file mode 100755 index 0000000000..3b77b9cd62 --- /dev/null +++ b/libs/fusion/doc/html/fusion/functional/adapters/limits.html @@ -0,0 +1,67 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Limits</title> +<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../adapters.html" title="Adapters"> +<link rel="prev" href="unfused_typed.html" title="unfused_typed"> +<link rel="next" href="../generation.html" title="Generation"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="unfused_typed.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapters.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../generation.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h4 class="title"> +<a name="fusion.functional.adapters.limits"></a><a class="link" href="limits.html" title="Limits">Limits</a> +</h4></div></div></div> +<h6> +<a name="fusion.functional.adapters.limits.h0"></a> + <span><a name="fusion.functional.adapters.limits.header"></a></span><a class="link" href="limits.html#fusion.functional.adapters.limits.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">functional</span><span class="special">/</span><span class="identifier">adapter</span><span class="special">/</span><span class="identifier">limits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h6> +<a name="fusion.functional.adapters.limits.h1"></a> + <span><a name="fusion.functional.adapters.limits.macros"></a></span><a class="link" href="limits.html#fusion.functional.adapters.limits.macros">Macros</a> + </h6> +<p> + The following macros can be defined to change the maximum arity. The value + used for these macros must not exceed <code class="computeroutput"><span class="identifier">FUSION_MAX_VECTOR_SIZE</span></code>. + The default is 6. + </p> +<div class="itemizedlist"><ul class="itemizedlist" type="disc"> +<li class="listitem"> + BOOST_FUSION_UNFUSED_MAX_ARITY + </li> +<li class="listitem"> + BOOST_FUSION_UNFUSED_TYPE_MAX_ARITY + </li> +</ul></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-2006, 2011 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="unfused_typed.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapters.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../generation.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/functional/adapters/unfused.html b/libs/fusion/doc/html/fusion/functional/adapters/unfused.html new file mode 100755 index 0000000000..38ff1ecf4c --- /dev/null +++ b/libs/fusion/doc/html/fusion/functional/adapters/unfused.html @@ -0,0 +1,297 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>unfused</title> +<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../adapters.html" title="Adapters"> +<link rel="prev" href="fused_function_object.html" title="fused_function_object"> +<link rel="next" href="unfused_typed.html" title="unfused_typed"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="fused_function_object.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapters.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="unfused_typed.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h4 class="title"> +<a name="fusion.functional.adapters.unfused"></a><a class="link" href="unfused.html" title="unfused">unfused</a> +</h4></div></div></div> +<h6> +<a name="fusion.functional.adapters.unfused.h0"></a> + <span><a name="fusion.functional.adapters.unfused.description"></a></span><a class="link" href="unfused.html#fusion.functional.adapters.unfused.description">Description</a> + </h6> +<p> + An n-ary <a class="link" href="../concepts/poly.html" title="Polymorphic Function Object">Polymorphic Function + Object</a> adapter template for an unary <a class="link" href="../concepts/poly.html" title="Polymorphic Function Object">Polymorphic + Function Object</a> target function. When called, its arguments are + bundled to a <a class="link" href="../../sequence/concepts/random_access_sequence.html" title="Random Access Sequence">Random + Access Sequence</a> of references that is passed to the target function + object. + </p> +<p> + The nullary overload of the call operator can be removed by setting the + second template parameter to <code class="computeroutput"><span class="keyword">false</span></code>, + which is very useful if the result type computation would result in a compile + error, otherwise (nullary call operator's prototypes can't be templates + and thus are instantiated as early as the class template). + </p> +<p> + Only LValue arguments are accepted. To overcome this limitation, apply + <a href="http://www.boost.org/libs/functional/forward/doc/html/index.html" target="_top">Boost.Functional/Forward</a>. + </p> +<p> + The type of the target function is allowed to be const qualified or a reference. + Const qualification is preserved and propagated appropriately. In other + words, only const versions of <code class="literal">operator()</code> can be used + if the target function object is const - or, in case the target function + object is held by value, the adapter is const. + </p> +<h6> +<a name="fusion.functional.adapters.unfused.h1"></a> + <span><a name="fusion.functional.adapters.unfused.header"></a></span><a class="link" href="unfused.html#fusion.functional.adapters.unfused.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">functional</span><span class="special">/</span><span class="identifier">adapter</span><span class="special">/</span><span class="identifier">unfused</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h6> +<a name="fusion.functional.adapters.unfused.h2"></a> + <span><a name="fusion.functional.adapters.unfused.synopsis"></a></span><a class="link" href="unfused.html#fusion.functional.adapters.unfused.synopsis">Synopsis</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">Function</span><span class="special">,</span> <span class="keyword">bool</span> <span class="identifier">AllowNullary</span> <span class="special">=</span> <span class="keyword">true</span><span class="special">></span> +<span class="keyword">class</span> <span class="identifier">unfused</span><span class="special">;</span> +</pre> +<h6> +<a name="fusion.functional.adapters.unfused.h3"></a> + <span><a name="fusion.functional.adapters.unfused.template_parameters"></a></span><a class="link" href="unfused.html#fusion.functional.adapters.unfused.template_parameters">Template + parameters</a> + </h6> +<div class="informaltable"><table class="table"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Description + </p> + </th> +<th> + <p> + Default + </p> + </th> +</tr></thead> +<tbody> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">Function</span></code> + </p> + </td> +<td> + <p> + A unary <a class="link" href="../concepts/poly.html" title="Polymorphic Function Object">Polymorphic + Function Object</a> + </p> + </td> +<td> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">AllowNullary</span></code> + </p> + </td> +<td> + <p> + Boolean constant + </p> + </td> +<td> + <p> + true + </p> + </td> +</tr> +</tbody> +</table></div> +<h6> +<a name="fusion.functional.adapters.unfused.h4"></a> + <span><a name="fusion.functional.adapters.unfused.model_of"></a></span><a class="link" href="unfused.html#fusion.functional.adapters.unfused.model_of">Model + of</a> + </h6> +<div class="itemizedlist"><ul class="itemizedlist" type="disc"> +<li class="listitem"> + <a class="link" href="../concepts/poly.html" title="Polymorphic Function Object">Polymorphic Function + Object</a> + </li> +<li class="listitem"> + <a class="link" href="../concepts/def_callable.html" title="Deferred Callable Object">Deferred Callable + Object</a> + </li> +</ul></div> +<div class="variablelist"> +<p class="title"><b>Notation</b></p> +<dl> +<dt><span class="term"><code class="computeroutput"><span class="identifier">F</span></code></span></dt> +<dd><p> + A possibly const qualified, unary <a class="link" href="../concepts/poly.html" title="Polymorphic Function Object">Polymorphic + Function Object</a> type or reference type thereof + </p></dd> +<dt><span class="term"><code class="computeroutput"><span class="identifier">f</span></code></span></dt> +<dd><p> + An object convertible to <code class="computeroutput"><span class="identifier">F</span></code> + </p></dd> +<dt><span class="term"><code class="computeroutput"><span class="identifier">UL</span></code></span></dt> +<dd><p> + The type <code class="computeroutput"><span class="identifier">unfused</span><span class="special"><</span><span class="identifier">F</span><span class="special">></span></code> + </p></dd> +<dt><span class="term"><code class="computeroutput"><span class="identifier">ul</span></code></span></dt> +<dd><p> + An instance of <code class="computeroutput"><span class="identifier">UL</span></code>, + initialized with <code class="computeroutput"><span class="identifier">f</span></code> + </p></dd> +<dt><span class="term"><code class="computeroutput"><span class="identifier">a0</span></code>...<code class="computeroutput"><span class="identifier">aN</span></code></span></dt> +<dd><p> + Arguments to <code class="computeroutput"><span class="identifier">ul</span></code> + </p></dd> +</dl> +</div> +<h6> +<a name="fusion.functional.adapters.unfused.h5"></a> + <span><a name="fusion.functional.adapters.unfused.expression_semantics"></a></span><a class="link" href="unfused.html#fusion.functional.adapters.unfused.expression_semantics">Expression + Semantics</a> + </h6> +<div class="informaltable"><table class="table"> +<colgroup> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Expression + </p> + </th> +<th> + <p> + Semantics + </p> + </th> +</tr></thead> +<tbody> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">UL</span><span class="special">(</span><span class="identifier">f</span><span class="special">)</span></code> + </p> + </td> +<td> + <p> + Creates a fused function as described above, initializes the + target function with <code class="computeroutput"><span class="identifier">f</span></code>. + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">UL</span><span class="special">()</span></code> + </p> + </td> +<td> + <p> + Creates a fused function as described above, attempts to use + <code class="computeroutput"><span class="identifier">F</span></code>'s default constructor. + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">ul</span><span class="special">(</span><span class="identifier">a0</span></code>...<code class="computeroutput"><span class="identifier">aN</span><span class="special">)</span></code> + </p> + </td> +<td> + <p> + Calls <code class="computeroutput"><span class="identifier">f</span></code> with + a <a class="link" href="../../sequence.html" title="Sequence">Sequence</a> that contains + references to the arguments <code class="computeroutput"><span class="identifier">a0</span></code>...<code class="computeroutput"><span class="identifier">aN</span></code>. + </p> + </td> +</tr> +</tbody> +</table></div> +<h6> +<a name="fusion.functional.adapters.unfused.h6"></a> + <span><a name="fusion.functional.adapters.unfused.example"></a></span><a class="link" href="unfused.html#fusion.functional.adapters.unfused.example">Example</a> + </h6> +<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">fused_incrementer</span> +<span class="special">{</span> + <span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">Seq</span><span class="special">></span> + <span class="keyword">struct</span> <span class="identifier">result</span> + <span class="special">{</span> + <span class="keyword">typedef</span> <span class="keyword">void</span> <span class="identifier">type</span><span class="special">;</span> + <span class="special">};</span> + + <span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">Seq</span><span class="special">></span> + <span class="keyword">void</span> <span class="keyword">operator</span><span class="special">()(</span><span class="identifier">Seq</span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">s</span><span class="special">)</span> <span class="keyword">const</span> + <span class="special">{</span> + <a class="link" href="../../algorithm/iteration/functions/for_each.html" title="for_each"><code class="computeroutput"><span class="identifier">for_each</span></code></a><span class="special">(</span><span class="identifier">s</span><span class="special">,++</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">lambda</span><span class="special">::</span><span class="identifier">_1</span><span class="special">);</span> + <span class="special">}</span> +<span class="special">};</span> + +<span class="keyword">void</span> <span class="identifier">try_it</span><span class="special">()</span> +<span class="special">{</span> + <span class="identifier">unfused</span><span class="special"><</span><span class="identifier">fused_incrementer</span><span class="special">></span> <span class="identifier">increment</span><span class="special">;</span> + <span class="keyword">int</span> <span class="identifier">a</span> <span class="special">=</span> <span class="number">2</span><span class="special">;</span> <span class="keyword">char</span> <span class="identifier">b</span> <span class="special">=</span> <span class="char">'X'</span><span class="special">;</span> + <span class="identifier">increment</span><span class="special">(</span><span class="identifier">a</span><span class="special">,</span><span class="identifier">b</span><span class="special">);</span> + <span class="identifier">assert</span><span class="special">(</span><span class="identifier">a</span> <span class="special">==</span> <span class="number">3</span> <span class="special">&&</span> <span class="identifier">b</span> <span class="special">==</span> <span class="char">'Y'</span><span class="special">);</span> +<span class="special">}</span> +</pre> +<h6> +<a name="fusion.functional.adapters.unfused.h7"></a> + <span><a name="fusion.functional.adapters.unfused.see_also"></a></span><a class="link" href="unfused.html#fusion.functional.adapters.unfused.see_also">See + also</a> + </h6> +<div class="itemizedlist"><ul class="itemizedlist" type="disc"> +<li class="listitem"> + <a class="link" href="unfused_typed.html" title="unfused_typed"><code class="computeroutput"><span class="identifier">unfused_typed</span></code></a> + </li> +<li class="listitem"> + <a class="link" href="../generation/functions/mk_unfused.html" title="make_unfused"><code class="computeroutput"><span class="identifier">make_unfused</span></code></a> + </li> +</ul></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-2006, 2011 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="fused_function_object.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapters.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="unfused_typed.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/functional/adapters/unfused_typed.html b/libs/fusion/doc/html/fusion/functional/adapters/unfused_typed.html new file mode 100755 index 0000000000..010b2c3864 --- /dev/null +++ b/libs/fusion/doc/html/fusion/functional/adapters/unfused_typed.html @@ -0,0 +1,354 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>unfused_typed</title> +<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../adapters.html" title="Adapters"> +<link rel="prev" href="unfused.html" title="unfused"> +<link rel="next" href="limits.html" title="Limits"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="unfused.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapters.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="limits.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h4 class="title"> +<a name="fusion.functional.adapters.unfused_typed"></a><a class="link" href="unfused_typed.html" title="unfused_typed">unfused_typed</a> +</h4></div></div></div> +<h6> +<a name="fusion.functional.adapters.unfused_typed.h0"></a> + <span><a name="fusion.functional.adapters.unfused_typed.description"></a></span><a class="link" href="unfused_typed.html#fusion.functional.adapters.unfused_typed.description">Description</a> + </h6> +<p> + An n-ary <a class="link" href="../concepts/poly.html" title="Polymorphic Function Object">Polymorphic Function + Object</a> adapter template for an unary <a class="link" href="../concepts/poly.html" title="Polymorphic Function Object">Polymorphic + Function Object</a> target function. When called, its arguments are + bundled to a <a class="link" href="../../sequence/concepts/random_access_sequence.html" title="Random Access Sequence">Random + Access Sequence</a> that is passed to the target function object. + </p> +<p> + The call operators of esulting function objects are strictly typed (in + other words, non-templatized) with the types from a <a class="link" href="../../sequence.html" title="Sequence">Sequence</a>. + </p> +<p> + The type of the target function is allowed to be const qualified or a reference. + Const qualification is preserved and propagated appropriately (in other + words, only const versions of <code class="literal">operator()</code> can be used + if the target function object is const - or, in case the target function + object is held by value, the adapter is const). + </p> +<div class="sidebar"> +<div class="titlepage"></div> +<p> + <span class="inlinemediaobject"><img src="../../../images/note.png" alt="note"></span> For Microsoft Visual C++ 7.1 (Visual Studio 2003) + the detection of the Function Object's const qualification easily causes + an internal error. Therefore the adapter is always treated as if it was + const. + </p> +</div> +<div class="sidebar"> +<div class="titlepage"></div> +<p> + <span class="inlinemediaobject"><img src="../../../images/tip.png" alt="tip"></span> If the type sequence passed to this template contains + non-reference elements, the element is copied only once - the call operator's + signature is optimized automatically to avoid by-value parameters. + </p> +</div> +<h6> +<a name="fusion.functional.adapters.unfused_typed.h1"></a> + <span><a name="fusion.functional.adapters.unfused_typed.header"></a></span><a class="link" href="unfused_typed.html#fusion.functional.adapters.unfused_typed.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">functional</span><span class="special">/</span><span class="identifier">adapter</span><span class="special">/</span><span class="identifier">unfused_typed</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h6> +<a name="fusion.functional.adapters.unfused_typed.h2"></a> + <span><a name="fusion.functional.adapters.unfused_typed.synopsis"></a></span><a class="link" href="unfused_typed.html#fusion.functional.adapters.unfused_typed.synopsis">Synopsis</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">Function</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Sequence</span><span class="special">></span> +<span class="keyword">class</span> <span class="identifier">unfused_typed</span><span class="special">;</span> +</pre> +<h6> +<a name="fusion.functional.adapters.unfused_typed.h3"></a> + <span><a name="fusion.functional.adapters.unfused_typed.template_parameters"></a></span><a class="link" href="unfused_typed.html#fusion.functional.adapters.unfused_typed.template_parameters">Template + parameters</a> + </h6> +<div class="informaltable"><table class="table"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Description + </p> + </th> +<th> + <p> + Default + </p> + </th> +</tr></thead> +<tbody> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">Function</span></code> + </p> + </td> +<td> + <p> + A unary <a class="link" href="../concepts/poly.html" title="Polymorphic Function Object">Polymorphic + Function Object</a> + </p> + </td> +<td> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">Sequence</span></code> + </p> + </td> +<td> + <p> + A <a class="link" href="../../sequence.html" title="Sequence">Sequence</a> + </p> + </td> +<td> + </td> +</tr> +</tbody> +</table></div> +<h6> +<a name="fusion.functional.adapters.unfused_typed.h4"></a> + <span><a name="fusion.functional.adapters.unfused_typed.model_of"></a></span><a class="link" href="unfused_typed.html#fusion.functional.adapters.unfused_typed.model_of">Model + of</a> + </h6> +<div class="itemizedlist"><ul class="itemizedlist" type="disc"> +<li class="listitem"> + <a class="link" href="../concepts/poly.html" title="Polymorphic Function Object">Polymorphic Function + Object</a> + </li> +<li class="listitem"> + <a class="link" href="../concepts/def_callable.html" title="Deferred Callable Object">Deferred Callable + Object</a> + </li> +</ul></div> +<div class="variablelist"> +<p class="title"><b>Notation</b></p> +<dl> +<dt><span class="term"><code class="computeroutput"><span class="identifier">F</span></code></span></dt> +<dd><p> + A possibly const qualified, unary <a class="link" href="../concepts/poly.html" title="Polymorphic Function Object">Polymorphic + Function Object</a> type or reference type thereof + </p></dd> +<dt><span class="term"><code class="computeroutput"><span class="identifier">f</span></code></span></dt> +<dd><p> + An object convertible to <code class="computeroutput"><span class="identifier">F</span></code> + </p></dd> +<dt><span class="term"><code class="computeroutput"><span class="identifier">S</span></code></span></dt> +<dd><p> + A <a class="link" href="../../sequence.html" title="Sequence">Sequence</a> of parameter types + </p></dd> +<dt><span class="term"><code class="computeroutput"><span class="identifier">UT</span></code></span></dt> +<dd><p> + The type <code class="computeroutput"><span class="identifier">unfused_typed</span><span class="special"><</span><span class="identifier">F</span><span class="special">,</span><span class="identifier">S</span><span class="special">></span></code> + </p></dd> +<dt><span class="term"><code class="computeroutput"><span class="identifier">ut</span></code></span></dt> +<dd><p> + An instance of <code class="computeroutput"><span class="identifier">UT</span></code>, + initialized with <code class="computeroutput"><span class="identifier">f</span></code> + </p></dd> +<dt><span class="term"><code class="computeroutput"><span class="identifier">a0</span></code>...<code class="computeroutput"><span class="identifier">aN</span></code></span></dt> +<dd><p> + Arguments to <code class="computeroutput"><span class="identifier">ut</span></code>, + convertible to the types in <code class="computeroutput"><span class="identifier">S</span></code> + </p></dd> +</dl> +</div> +<h6> +<a name="fusion.functional.adapters.unfused_typed.h5"></a> + <span><a name="fusion.functional.adapters.unfused_typed.expression_semantics"></a></span><a class="link" href="unfused_typed.html#fusion.functional.adapters.unfused_typed.expression_semantics">Expression + Semantics</a> + </h6> +<div class="informaltable"><table class="table"> +<colgroup> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Expression + </p> + </th> +<th> + <p> + Semantics + </p> + </th> +</tr></thead> +<tbody> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">UT</span><span class="special">(</span><span class="identifier">f</span><span class="special">)</span></code> + </p> + </td> +<td> + <p> + Creates a fused function as described above, initializes the + target function with <code class="computeroutput"><span class="identifier">f</span></code>. + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">UT</span><span class="special">()</span></code> + </p> + </td> +<td> + <p> + Creates a fused function as described above, attempts to use + <code class="computeroutput"><span class="identifier">F</span></code>'s default constructor. + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">ut</span><span class="special">(</span><span class="identifier">a0</span></code>...<code class="computeroutput"><span class="identifier">aN</span><span class="special">)</span></code> + </p> + </td> +<td> + <p> + Calls <code class="computeroutput"><span class="identifier">f</span></code> with + an instance of <code class="computeroutput"><span class="identifier">S</span></code> + (or a subsequence of <code class="computeroutput"><span class="identifier">S</span></code> + starting at the first element, if fewer arguments are given and + the overload hasn't been disabled) initialized with <code class="computeroutput"><span class="identifier">a0</span></code>...<code class="computeroutput"><span class="identifier">aN</span></code>. + </p> + </td> +</tr> +</tbody> +</table></div> +<h6> +<a name="fusion.functional.adapters.unfused_typed.h6"></a> + <span><a name="fusion.functional.adapters.unfused_typed.example"></a></span><a class="link" href="unfused_typed.html#fusion.functional.adapters.unfused_typed.example">Example</a> + </h6> +<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">add_assign</span> <span class="comment">// applies operator+=</span> +<span class="special">{</span> + <span class="keyword">typedef</span> <span class="keyword">void</span> <span class="identifier">result_type</span><span class="special">;</span> <span class="comment">// for simplicity</span> + + <span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">></span> + <span class="keyword">void</span> <span class="keyword">operator</span><span class="special">()(</span><span class="identifier">T</span> <span class="special">&</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">rhs</span><span class="special">)</span> <span class="keyword">const</span> + <span class="special">{</span> + <span class="identifier">lhs</span> <span class="special">+=</span> <span class="identifier">rhs</span><span class="special">;</span> + <span class="special">}</span> +<span class="special">};</span> + +<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">Tie</span><span class="special">></span> +<span class="keyword">class</span> <span class="identifier">fused_parallel_adder</span> +<span class="special">{</span> + <span class="identifier">Tie</span> <span class="identifier">tie_dest</span><span class="special">;</span> +<span class="keyword">public</span><span class="special">:</span> + <span class="keyword">explicit</span> <span class="identifier">fused_parallel_adder</span><span class="special">(</span><span class="identifier">Tie</span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">dest</span><span class="special">)</span> + <span class="special">:</span> <span class="identifier">tie_dest</span><span class="special">(</span><span class="identifier">dest</span><span class="special">)</span> + <span class="special">{</span> <span class="special">}</span> + + <span class="keyword">typedef</span> <span class="keyword">void</span> <span class="identifier">result_type</span><span class="special">;</span> + + <span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">Seq</span><span class="special">></span> + <span class="keyword">void</span> <span class="keyword">operator</span><span class="special">()(</span><span class="identifier">Seq</span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">s</span><span class="special">)</span> <span class="keyword">const</span> + <span class="special">{</span> + <span class="identifier">for_each</span><span class="special">(</span> <span class="identifier">zip</span><span class="special">(</span><span class="identifier">tie_dest</span><span class="special">,</span><span class="identifier">s</span><span class="special">),</span> <span class="identifier">fused</span><span class="special"><</span><span class="identifier">add_assign</span><span class="special">>()</span> <span class="special">);</span> + <span class="special">}</span> +<span class="special">};</span> + +<span class="comment">// accepts a tie and creates a typed function object from it</span> +<span class="keyword">struct</span> <span class="identifier">fused_parallel_adder_maker</span> +<span class="special">{</span> + <span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Sig</span><span class="special">></span> + <span class="keyword">struct</span> <span class="identifier">result</span><span class="special">;</span> + + <span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">Self</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Seq</span><span class="special">></span> + <span class="keyword">struct</span> <span class="identifier">result</span><span class="special"><</span> <span class="identifier">Self</span><span class="special">(</span><span class="identifier">Seq</span><span class="special">)</span> <span class="special">></span> + <span class="special">{</span> + <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">remove_reference</span><span class="special"><</span><span class="identifier">Seq</span><span class="special">>::</span><span class="identifier">type</span> <span class="identifier">seq</span><span class="special">;</span> + + <span class="keyword">typedef</span> <span class="identifier">unfused_typed</span><span class="special"><</span> <span class="identifier">fused_parallel_adder</span><span class="special"><</span><span class="identifier">seq</span><span class="special">>,</span> + <span class="keyword">typename</span> <span class="identifier">mpl</span><span class="special">::</span><span class="identifier">transform</span><span class="special"><</span><span class="identifier">seq</span><span class="special">,</span> <span class="identifier">remove_reference</span><span class="special"><</span><span class="identifier">_</span><span class="special">></span> <span class="special">>::</span><span class="identifier">type</span> <span class="special">></span> <span class="identifier">type</span><span class="special">;</span> + <span class="special">};</span> + + <span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">Seq</span><span class="special">></span> + <span class="keyword">typename</span> <span class="identifier">result</span><span class="special"><</span> <span class="keyword">void</span><span class="special">(</span><span class="identifier">Seq</span><span class="special">)</span> <span class="special">>::</span><span class="identifier">type</span> <span class="keyword">operator</span><span class="special">()(</span><span class="identifier">Seq</span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">tie</span><span class="special">)</span> + <span class="special">{</span> + <span class="keyword">return</span> <span class="keyword">typename</span> <span class="identifier">result</span><span class="special"><</span> <span class="keyword">void</span><span class="special">(</span><span class="identifier">Seq</span><span class="special">)</span> <span class="special">>::</span><span class="identifier">type</span><span class="special">(</span> + <span class="identifier">fused_parallel_adder</span><span class="special"><</span><span class="identifier">Seq</span><span class="special">>(</span><span class="identifier">tie</span><span class="special">)</span> <span class="special">);</span> + <span class="special">}</span> +<span class="special">};</span> +<span class="identifier">unfused</span><span class="special"><</span><span class="identifier">fused_parallel_adder_maker</span><span class="special">></span> <span class="identifier">parallel_add</span><span class="special">;</span> + +<span class="keyword">void</span> <span class="identifier">try_it</span><span class="special">()</span> +<span class="special">{</span> + <span class="keyword">int</span> <span class="identifier">a</span> <span class="special">=</span> <span class="number">2</span><span class="special">;</span> <span class="keyword">char</span> <span class="identifier">b</span> <span class="special">=</span> <span class="char">'X'</span><span class="special">;</span> + <span class="comment">// the second call is strictly typed with the types deduced from the</span> + <span class="comment">// first call</span> + <span class="identifier">parallel_add</span><span class="special">(</span><span class="identifier">a</span><span class="special">,</span><span class="identifier">b</span><span class="special">)(</span><span class="number">3</span><span class="special">,</span><span class="number">2</span><span class="special">);</span> + <span class="identifier">parallel_add</span><span class="special">(</span><span class="identifier">a</span><span class="special">,</span><span class="identifier">b</span><span class="special">)(</span><span class="number">3</span><span class="special">);</span> + <span class="identifier">parallel_add</span><span class="special">(</span><span class="identifier">a</span><span class="special">,</span><span class="identifier">b</span><span class="special">)();</span> + <span class="identifier">assert</span><span class="special">(</span><span class="identifier">a</span> <span class="special">==</span> <span class="number">8</span> <span class="special">&&</span> <span class="identifier">b</span> <span class="special">==</span> <span class="char">'Z'</span><span class="special">);</span> +<span class="special">}</span> +</pre> +<h6> +<a name="fusion.functional.adapters.unfused_typed.h7"></a> + <span><a name="fusion.functional.adapters.unfused_typed.see_also"></a></span><a class="link" href="unfused_typed.html#fusion.functional.adapters.unfused_typed.see_also">See + also</a> + </h6> +<div class="itemizedlist"><ul class="itemizedlist" type="disc"> +<li class="listitem"> + <a class="link" href="unfused.html" title="unfused"><code class="computeroutput"><span class="identifier">unfused</span></code></a> + </li> +<li class="listitem"> + <a class="link" href="../../support/deduce.html" title="deduce"><code class="computeroutput"><span class="identifier">deduce</span></code></a> + </li> +<li class="listitem"> + <a class="link" href="../../support/deduce_sequence.html" title="deduce_sequence"><code class="computeroutput"><span class="identifier">deduce_sequence</span></code></a> + </li> +</ul></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-2006, 2011 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="unfused.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapters.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="limits.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/functional/concepts.html b/libs/fusion/doc/html/fusion/functional/concepts.html new file mode 100755 index 0000000000..9a709da9eb --- /dev/null +++ b/libs/fusion/doc/html/fusion/functional/concepts.html @@ -0,0 +1,53 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Concepts</title> +<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../functional.html" title="Functional"> +<link rel="prev" href="../functional.html" title="Functional"> +<link rel="next" href="concepts/callable.html" title="Callable Object"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="../functional.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functional.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="concepts/callable.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h3 class="title"> +<a name="fusion.functional.concepts"></a><a class="link" href="concepts.html" title="Concepts">Concepts</a> +</h3></div></div></div> +<div class="toc"><dl> +<dt><span class="section"><a href="concepts/callable.html">Callable Object</a></span></dt> +<dt><span class="section"><a href="concepts/reg_callable.html">Regular Callable + Object</a></span></dt> +<dt><span class="section"><a href="concepts/def_callable.html">Deferred Callable + Object</a></span></dt> +<dt><span class="section"><a href="concepts/poly.html">Polymorphic Function + Object</a></span></dt> +</dl></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-2006, 2011 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="../functional.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functional.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="concepts/callable.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/functional/concepts/callable.html b/libs/fusion/doc/html/fusion/functional/concepts/callable.html new file mode 100755 index 0000000000..aed6ffabbd --- /dev/null +++ b/libs/fusion/doc/html/fusion/functional/concepts/callable.html @@ -0,0 +1,82 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Callable Object</title> +<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../concepts.html" title="Concepts"> +<link rel="prev" href="../concepts.html" title="Concepts"> +<link rel="next" href="reg_callable.html" title="Regular Callable Object"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="../concepts.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../concepts.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="reg_callable.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h4 class="title"> +<a name="fusion.functional.concepts.callable"></a><a class="link" href="callable.html" title="Callable Object">Callable Object</a> +</h4></div></div></div> +<h6> +<a name="fusion.functional.concepts.callable.h0"></a> + <span><a name="fusion.functional.concepts.callable.description"></a></span><a class="link" href="callable.html#fusion.functional.concepts.callable.description">Description</a> + </h6> +<p> + A pointer to a function, a pointer to member function, a pointer to member + data, or a class type whose objects can appear immediately to the left + of a function call operator. + </p> +<h6> +<a name="fusion.functional.concepts.callable.h1"></a> + <span><a name="fusion.functional.concepts.callable.models"></a></span><a class="link" href="callable.html#fusion.functional.concepts.callable.models">Models</a> + </h6> +<div class="itemizedlist"><ul class="itemizedlist" type="disc"> +<li class="listitem"> + function pointer types + </li> +<li class="listitem"> + member (function or data) pointer types + </li> +<li class="listitem"> + all kinds of function objects + </li> +</ul></div> +<h6> +<a name="fusion.functional.concepts.callable.h2"></a> + <span><a name="fusion.functional.concepts.callable.examples"></a></span><a class="link" href="callable.html#fusion.functional.concepts.callable.examples">Examples</a> + </h6> +<pre class="programlisting"><span class="special">&</span> <span class="identifier">a_free_function</span> +<span class="special">&</span> <span class="identifier">a_class</span><span class="special">::</span><span class="identifier">a_static_member_function</span> +<span class="special">&</span> <span class="identifier">a_class</span><span class="special">::</span><span class="identifier">a_nonstatic_data_member</span> +<span class="special">&</span> <span class="identifier">a_class</span><span class="special">::</span><span class="identifier">a_nonstatic_member_function</span> +<span class="identifier">std</span><span class="special">::</span><span class="identifier">less</span><span class="special"><</span><span class="keyword">int</span><span class="special">>()</span> +<span class="comment">// using namespace boost;</span> +<span class="identifier">bind</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">less</span><span class="special"><</span><span class="keyword">int</span><span class="special">>(),</span> <span class="identifier">_1</span><span class="special">,</span> <span class="number">5</span><span class="special">)</span> +<span class="identifier">lambda</span><span class="special">::</span><span class="identifier">_1</span> <span class="special">+=</span> <span class="identifier">lambda</span><span class="special">::</span><span class="identifier">_2</span><span class="special">;</span> +<span class="identifier">fusion</span><span class="special">::</span><a class="link" href="../generation/functions/mk_fused_fobj.html" title="make_fused_function_object"><code class="computeroutput"><span class="identifier">make_fused_function_object</span></code></a><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">less</span><span class="special"><</span><span class="keyword">int</span><span class="special">>())</span> +</pre> +</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-2006, 2011 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="../concepts.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../concepts.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="reg_callable.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/functional/concepts/def_callable.html b/libs/fusion/doc/html/fusion/functional/concepts/def_callable.html new file mode 100755 index 0000000000..5cb039122c --- /dev/null +++ b/libs/fusion/doc/html/fusion/functional/concepts/def_callable.html @@ -0,0 +1,161 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Deferred Callable Object</title> +<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../concepts.html" title="Concepts"> +<link rel="prev" href="reg_callable.html" title="Regular Callable Object"> +<link rel="next" href="poly.html" title="Polymorphic Function Object"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="reg_callable.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../concepts.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="poly.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h4 class="title"> +<a name="fusion.functional.concepts.def_callable"></a><a class="link" href="def_callable.html" title="Deferred Callable Object">Deferred Callable + Object</a> +</h4></div></div></div> +<h6> +<a name="fusion.functional.concepts.def_callable.h0"></a> + <span><a name="fusion.functional.concepts.def_callable.description"></a></span><a class="link" href="def_callable.html#fusion.functional.concepts.def_callable.description">Description</a> + </h6> +<p> + <a class="link" href="callable.html" title="Callable Object">Callable Object</a> + types that work with <a href="http://www.boost.org/libs/utility/utility.htm#result_of" target="_top">Boost.ResultOf</a> + to determine the result of a call. + </p> +<h6> +<a name="fusion.functional.concepts.def_callable.h1"></a> + <span><a name="fusion.functional.concepts.def_callable.refinement_of"></a></span><a class="link" href="def_callable.html#fusion.functional.concepts.def_callable.refinement_of">Refinement + of</a> + </h6> +<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"> + <a class="link" href="callable.html" title="Callable Object">Callable Object</a> + </li></ul></div> +<div class="sidebar"> +<div class="titlepage"></div> +<p> + note Once C++ supports the <code class="literal">decltype</code> keyword, all models + of <a class="link" href="callable.html" title="Callable Object">Callable Object</a> + will also be models of <a class="link" href="def_callable.html" title="Deferred Callable Object">Deferred + Callable Object</a>, because function objects won't need client-side + support for <code class="computeroutput"><span class="identifier">result_of</span></code>. + </p> +</div> +<div class="variablelist"> +<p class="title"><b>Notation</b></p> +<dl> +<dt><span class="term"><code class="computeroutput"><span class="identifier">F</span></code></span></dt> +<dd><p> + A possibly const qualified Deferred Callable Object type + </p></dd> +<dt><span class="term"><code class="computeroutput"><span class="identifier">A1</span> <span class="special">...</span><span class="identifier">AN</span></code></span></dt> +<dd><p> + Argument types + </p></dd> +<dt><span class="term"><code class="computeroutput"><span class="identifier">a1</span> <span class="special">...</span><span class="identifier">aN</span></code></span></dt> +<dd><p> + Objects or references to objects with types <code class="computeroutput"><span class="identifier">A1</span> + <span class="special">...</span><span class="identifier">AN</span></code> + </p></dd> +<dt><span class="term"><code class="computeroutput"><span class="identifier">T1</span> <span class="special">...</span><span class="identifier">TN</span></code></span></dt> +<dd><p> + <code class="computeroutput"><span class="identifier">T</span></code>i is <code class="computeroutput"><span class="identifier">A</span></code>i <code class="computeroutput"><span class="special">&</span></code> + if <code class="computeroutput"><span class="identifier">a</span></code>i is an LValue, + same as <code class="computeroutput"><span class="identifier">A</span></code>i, otherwise + </p></dd> +</dl> +</div> +<h6> +<a name="fusion.functional.concepts.def_callable.h2"></a> + <span><a name="fusion.functional.concepts.def_callable.expression_requirements"></a></span><a class="link" href="def_callable.html#fusion.functional.concepts.def_callable.expression_requirements">Expression + requirements</a> + </h6> +<div class="informaltable"><table class="table"> +<colgroup> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Expression + </p> + </th> +<th> + <p> + Type + </p> + </th> +</tr></thead> +<tbody><tr> +<td> + <p> + <a href="http://www.boost.org/libs/utility/utility.htm#result_of" target="_top"><code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">result_of</span></code></a><code class="computeroutput"><span class="special"><</span> <span class="identifier">F</span><span class="special">(</span><span class="identifier">T1</span> + <span class="special">...</span><span class="identifier">TN</span><span class="special">)</span> <span class="special">>::</span><span class="identifier">type</span></code> + </p> + </td> +<td> + <p> + Result of a call with <code class="computeroutput"><span class="identifier">A1</span> + <span class="special">...</span><span class="identifier">AN</span></code>-typed + arguments + </p> + </td> +</tr></tbody> +</table></div> +<h6> +<a name="fusion.functional.concepts.def_callable.h3"></a> + <span><a name="fusion.functional.concepts.def_callable.models"></a></span><a class="link" href="def_callable.html#fusion.functional.concepts.def_callable.models">Models</a> + </h6> +<div class="itemizedlist"><ul class="itemizedlist" type="disc"> +<li class="listitem"> + <a class="link" href="poly.html" title="Polymorphic Function Object">Polymorphic Function + Object</a> types + </li> +<li class="listitem"> + member (function or data) pointer types + </li> +</ul></div> +<h6> +<a name="fusion.functional.concepts.def_callable.h4"></a> + <span><a name="fusion.functional.concepts.def_callable.examples"></a></span><a class="link" href="def_callable.html#fusion.functional.concepts.def_callable.examples">Examples</a> + </h6> +<pre class="programlisting"><span class="special">&</span> <span class="identifier">a_free_function</span> +<span class="special">&</span> <span class="identifier">a_class</span><span class="special">::</span><span class="identifier">a_static_member_function</span> +<span class="special">&</span> <span class="identifier">a_class</span><span class="special">::</span><span class="identifier">a_nonstatic_data_member</span> +<span class="special">&</span> <span class="identifier">a_class</span><span class="special">::</span><span class="identifier">a_nonstatic_member_function</span> +<span class="identifier">std</span><span class="special">::</span><span class="identifier">less</span><span class="special"><</span><span class="keyword">int</span><span class="special">>()</span> +<span class="comment">// using namespace boost;</span> +<span class="identifier">bind</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">less</span><span class="special"><</span><span class="keyword">int</span><span class="special">>(),</span> <span class="identifier">_1</span><span class="special">,</span> <span class="number">5</span><span class="special">)</span> +<span class="comment">// Note: Boost.Lambda expressions don't work with __boost_result_of__</span> +<span class="identifier">fusion</span><span class="special">::</span><a class="link" href="../generation/functions/mk_fused_fobj.html" title="make_fused_function_object"><code class="computeroutput"><span class="identifier">make_fused_function_object</span></code></a><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">less</span><span class="special"><</span><span class="keyword">int</span><span class="special">>())</span> +</pre> +</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-2006, 2011 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="reg_callable.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../concepts.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="poly.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/functional/concepts/poly.html b/libs/fusion/doc/html/fusion/functional/concepts/poly.html new file mode 100755 index 0000000000..d296c2158e --- /dev/null +++ b/libs/fusion/doc/html/fusion/functional/concepts/poly.html @@ -0,0 +1,172 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Polymorphic Function Object</title> +<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../concepts.html" title="Concepts"> +<link rel="prev" href="def_callable.html" title="Deferred Callable Object"> +<link rel="next" href="../invocation.html" title="Invocation"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="def_callable.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../concepts.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../invocation.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h4 class="title"> +<a name="fusion.functional.concepts.poly"></a><a class="link" href="poly.html" title="Polymorphic Function Object">Polymorphic Function + Object</a> +</h4></div></div></div> +<h6> +<a name="fusion.functional.concepts.poly.h0"></a> + <span><a name="fusion.functional.concepts.poly.description"></a></span><a class="link" href="poly.html#fusion.functional.concepts.poly.description">Description</a> + </h6> +<p> + A non-member-pointer <a class="link" href="def_callable.html" title="Deferred Callable Object">Deferred + Callable Object</a> type. + </p> +<h6> +<a name="fusion.functional.concepts.poly.h1"></a> + <span><a name="fusion.functional.concepts.poly.refinement_of"></a></span><a class="link" href="poly.html#fusion.functional.concepts.poly.refinement_of">Refinement + of</a> + </h6> +<div class="itemizedlist"><ul class="itemizedlist" type="disc"> +<li class="listitem"> + <a class="link" href="reg_callable.html" title="Regular Callable Object">Regular Callable + Object</a> + </li> +<li class="listitem"> + <a class="link" href="def_callable.html" title="Deferred Callable Object">Deferred Callable + Object</a> + </li> +</ul></div> +<div class="variablelist"> +<p class="title"><b>Notation</b></p> +<dl> +<dt><span class="term"><code class="computeroutput"><span class="identifier">F</span></code></span></dt> +<dd><p> + A possibly const-qualified Polymorphic Function Object type + </p></dd> +<dt><span class="term"><code class="computeroutput"><span class="identifier">f</span></code></span></dt> +<dd><p> + An object or reference to an object of type F + </p></dd> +<dt><span class="term"><code class="computeroutput"><span class="identifier">A1</span> <span class="special">...</span><span class="identifier">AN</span></code></span></dt> +<dd><p> + Argument types + </p></dd> +<dt><span class="term"><code class="computeroutput"><span class="identifier">a1</span> <span class="special">...</span><span class="identifier">aN</span></code></span></dt> +<dd><p> + Objects or references to objects with types <code class="computeroutput"><span class="identifier">A1</span> + <span class="special">...</span><span class="identifier">AN</span></code> + </p></dd> +<dt><span class="term"><code class="computeroutput"><span class="identifier">T1</span> <span class="special">...</span><span class="identifier">TN</span></code></span></dt> +<dd><p> + <code class="computeroutput"><span class="identifier">T</span></code>i is <code class="computeroutput"><span class="identifier">A</span></code>i <code class="computeroutput"><span class="special">&</span></code> + if <code class="computeroutput"><span class="identifier">a</span></code>i is an LValue, + same as <code class="computeroutput"><span class="identifier">A</span></code>i, otherwise + </p></dd> +</dl> +</div> +<h6> +<a name="fusion.functional.concepts.poly.h2"></a> + <span><a name="fusion.functional.concepts.poly.expression_requirements"></a></span><a class="link" href="poly.html#fusion.functional.concepts.poly.expression_requirements">Expression + requirements</a> + </h6> +<div class="informaltable"><table class="table"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Expression + </p> + </th> +<th> + <p> + Return Type + </p> + </th> +<th> + <p> + Runtime Complexity + </p> + </th> +</tr></thead> +<tbody><tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">a1</span><span class="special">,</span> + <span class="special">...</span><span class="identifier">aN</span><span class="special">)</span></code> + </p> + </td> +<td> + <p> + <code class="computeroutput"><span class="identifier">result_of</span><span class="special"><</span> + <span class="identifier">F</span><span class="special">(</span><span class="identifier">T1</span><span class="special">,</span> + <span class="special">...</span><span class="identifier">TN</span><span class="special">)</span> <span class="special">>::</span><span class="identifier">type</span></code> + </p> + </td> +<td> + <p> + Unspecified + </p> + </td> +</tr></tbody> +</table></div> +<h6> +<a name="fusion.functional.concepts.poly.h3"></a> + <span><a name="fusion.functional.concepts.poly.models"></a></span><a class="link" href="poly.html#fusion.functional.concepts.poly.models">Models</a> + </h6> +<div class="itemizedlist"><ul class="itemizedlist" type="disc"> +<li class="listitem"> + function pointers + </li> +<li class="listitem"> + function objects of the Standard Library + </li> +<li class="listitem"> + all Fusion <a class="link" href="../adapters.html" title="Adapters">functional adapters</a> + </li> +</ul></div> +<h6> +<a name="fusion.functional.concepts.poly.h4"></a> + <span><a name="fusion.functional.concepts.poly.examples"></a></span><a class="link" href="poly.html#fusion.functional.concepts.poly.examples">Examples</a> + </h6> +<pre class="programlisting"><span class="special">&</span> <span class="identifier">a_free_function</span> +<span class="special">&</span> <span class="identifier">a_class</span><span class="special">::</span><span class="identifier">a_static_member_function</span> +<span class="identifier">std</span><span class="special">::</span><span class="identifier">less</span><span class="special"><</span><span class="keyword">int</span><span class="special">>()</span> +<span class="comment">// using namespace boost;</span> +<span class="identifier">bind</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">less</span><span class="special"><</span><span class="keyword">int</span><span class="special">>(),</span> <span class="identifier">_1</span><span class="special">,</span> <span class="number">5</span><span class="special">)</span> +<span class="comment">// Note: Boost.Lambda expressions don't work with __boost_result_of__</span> +<span class="identifier">fusion</span><span class="special">::</span><a class="link" href="../generation/functions/mk_fused_fobj.html" title="make_fused_function_object"><code class="computeroutput"><span class="identifier">make_fused_function_object</span></code></a><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">less</span><span class="special"><</span><span class="keyword">int</span><span class="special">>())</span> +</pre> +</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-2006, 2011 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="def_callable.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../concepts.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../invocation.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/functional/concepts/reg_callable.html b/libs/fusion/doc/html/fusion/functional/concepts/reg_callable.html new file mode 100755 index 0000000000..337365678c --- /dev/null +++ b/libs/fusion/doc/html/fusion/functional/concepts/reg_callable.html @@ -0,0 +1,155 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Regular Callable Object</title> +<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../concepts.html" title="Concepts"> +<link rel="prev" href="callable.html" title="Callable Object"> +<link rel="next" href="def_callable.html" title="Deferred Callable Object"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="callable.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../concepts.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="def_callable.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h4 class="title"> +<a name="fusion.functional.concepts.reg_callable"></a><a class="link" href="reg_callable.html" title="Regular Callable Object">Regular Callable + Object</a> +</h4></div></div></div> +<h6> +<a name="fusion.functional.concepts.reg_callable.h0"></a> + <span><a name="fusion.functional.concepts.reg_callable.description"></a></span><a class="link" href="reg_callable.html#fusion.functional.concepts.reg_callable.description">Description</a> + </h6> +<p> + A non-member-pointer <a class="link" href="callable.html" title="Callable Object">Callable + Object</a> type: A pointer to a function or a class type whose objects + can appear immediately to the left of a function call operator. + </p> +<h6> +<a name="fusion.functional.concepts.reg_callable.h1"></a> + <span><a name="fusion.functional.concepts.reg_callable.refinement_of"></a></span><a class="link" href="reg_callable.html#fusion.functional.concepts.reg_callable.refinement_of">Refinement + of</a> + </h6> +<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"> + <a class="link" href="callable.html" title="Callable Object">Callable Object</a> + </li></ul></div> +<div class="variablelist"> +<p class="title"><b>Notation</b></p> +<dl> +<dt><span class="term"><code class="computeroutput"><span class="identifier">F</span></code></span></dt> +<dd><p> + A possibly const qualified Deferred Callable Object type + </p></dd> +<dt><span class="term"><code class="computeroutput"><span class="identifier">f</span></code></span></dt> +<dd><p> + An object or reference to an object of type F + </p></dd> +<dt><span class="term"><code class="computeroutput"><span class="identifier">A1</span> <span class="special">...</span><span class="identifier">AN</span></code></span></dt> +<dd><p> + Argument types + </p></dd> +<dt><span class="term"><code class="computeroutput"><span class="identifier">a1</span> <span class="special">...</span><span class="identifier">aN</span></code></span></dt> +<dd><p> + Objects or references to objects with types <code class="computeroutput"><span class="identifier">A1</span> + <span class="special">...</span><span class="identifier">AN</span></code> + </p></dd> +</dl> +</div> +<h6> +<a name="fusion.functional.concepts.reg_callable.h2"></a> + <span><a name="fusion.functional.concepts.reg_callable.expression_requirements"></a></span><a class="link" href="reg_callable.html#fusion.functional.concepts.reg_callable.expression_requirements">Expression + requirements</a> + </h6> +<div class="informaltable"><table class="table"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Expression + </p> + </th> +<th> + <p> + Return Type + </p> + </th> +<th> + <p> + Runtime Complexity + </p> + </th> +</tr></thead> +<tbody><tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">a1</span><span class="special">,</span> + <span class="special">...</span><span class="identifier">aN</span><span class="special">)</span></code> + </p> + </td> +<td> + <p> + Unspecified + </p> + </td> +<td> + <p> + Unspecified + </p> + </td> +</tr></tbody> +</table></div> +<h6> +<a name="fusion.functional.concepts.reg_callable.h3"></a> + <span><a name="fusion.functional.concepts.reg_callable.models"></a></span><a class="link" href="reg_callable.html#fusion.functional.concepts.reg_callable.models">Models</a> + </h6> +<div class="itemizedlist"><ul class="itemizedlist" type="disc"> +<li class="listitem"> + function pointer types + </li> +<li class="listitem"> + all kinds of function objects + </li> +</ul></div> +<h6> +<a name="fusion.functional.concepts.reg_callable.h4"></a> + <span><a name="fusion.functional.concepts.reg_callable.examples"></a></span><a class="link" href="reg_callable.html#fusion.functional.concepts.reg_callable.examples">Examples</a> + </h6> +<pre class="programlisting"><span class="special">&</span> <span class="identifier">a_free_function</span> +<span class="special">&</span> <span class="identifier">a_class</span><span class="special">::</span><span class="identifier">a_static_member_function</span> +<span class="identifier">std</span><span class="special">::</span><span class="identifier">less</span><span class="special"><</span><span class="keyword">int</span><span class="special">>()</span> +<span class="comment">// using namespace boost;</span> +<span class="identifier">bind</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">less</span><span class="special"><</span><span class="keyword">int</span><span class="special">>(),</span> <span class="identifier">_1</span><span class="special">,</span> <span class="number">5</span><span class="special">)</span> +<span class="identifier">lambda</span><span class="special">::</span><span class="identifier">_1</span> <span class="special">+=</span> <span class="identifier">lambda</span><span class="special">::</span><span class="identifier">_2</span><span class="special">;</span> +<span class="identifier">fusion</span><span class="special">::</span><a class="link" href="../generation/functions/mk_fused_fobj.html" title="make_fused_function_object"><code class="computeroutput"><span class="identifier">make_fused_function_object</span></code></a><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">less</span><span class="special"><</span><span class="keyword">int</span><span class="special">>())</span> +</pre> +</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-2006, 2011 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="callable.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../concepts.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="def_callable.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/functional/generation.html b/libs/fusion/doc/html/fusion/functional/generation.html new file mode 100755 index 0000000000..d31051a9d6 --- /dev/null +++ b/libs/fusion/doc/html/fusion/functional/generation.html @@ -0,0 +1,48 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Generation</title> +<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../functional.html" title="Functional"> +<link rel="prev" href="adapters/limits.html" title="Limits"> +<link rel="next" href="generation/functions.html" title="Functions"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="adapters/limits.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functional.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="generation/functions.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h3 class="title"> +<a name="fusion.functional.generation"></a><a class="link" href="generation.html" title="Generation">Generation</a> +</h3></div></div></div> +<div class="toc"><dl> +<dt><span class="section"><a href="generation/functions.html">Functions</a></span></dt> +<dt><span class="section"><a href="generation/metafunctions.html">Metafunctions</a></span></dt> +</dl></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-2006, 2011 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="adapters/limits.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functional.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="generation/functions.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/functional/generation/functions.html b/libs/fusion/doc/html/fusion/functional/generation/functions.html new file mode 100755 index 0000000000..d3c2409d6d --- /dev/null +++ b/libs/fusion/doc/html/fusion/functional/generation/functions.html @@ -0,0 +1,50 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Functions</title> +<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../generation.html" title="Generation"> +<link rel="prev" href="../generation.html" title="Generation"> +<link rel="next" href="functions/mk_fused.html" title="make_fused"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="../generation.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../generation.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="functions/mk_fused.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h4 class="title"> +<a name="fusion.functional.generation.functions"></a><a class="link" href="functions.html" title="Functions">Functions</a> +</h4></div></div></div> +<div class="toc"><dl> +<dt><span class="section"><a href="functions/mk_fused.html">make_fused</a></span></dt> +<dt><span class="section"><a href="functions/mk_fused_proc.html">make_fused_procedure</a></span></dt> +<dt><span class="section"><a href="functions/mk_fused_fobj.html">make_fused_function_object</a></span></dt> +<dt><span class="section"><a href="functions/mk_unfused.html">make_unfused</a></span></dt> +</dl></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-2006, 2011 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="../generation.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../generation.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="functions/mk_fused.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/functional/generation/functions/mk_fused.html b/libs/fusion/doc/html/fusion/functional/generation/functions/mk_fused.html new file mode 100755 index 0000000000..25521f46cf --- /dev/null +++ b/libs/fusion/doc/html/fusion/functional/generation/functions/mk_fused.html @@ -0,0 +1,158 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>make_fused</title> +<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../functions.html" title="Functions"> +<link rel="prev" href="../functions.html" title="Functions"> +<link rel="next" href="mk_fused_proc.html" title="make_fused_procedure"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="../functions.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="mk_fused_proc.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h5 class="title"> +<a name="fusion.functional.generation.functions.mk_fused"></a><a class="link" href="mk_fused.html" title="make_fused">make_fused</a> +</h5></div></div></div> +<h6> +<a name="fusion.functional.generation.functions.mk_fused.h0"></a> + <span><a name="fusion.functional.generation.functions.mk_fused.description"></a></span><a class="link" href="mk_fused.html#fusion.functional.generation.functions.mk_fused.description">Description</a> + </h6> +<p> + Creates a <a class="link" href="../../adapters/fused.html" title="fused"><code class="computeroutput"><span class="identifier">fused</span></code></a> adapter for a given <a class="link" href="../../concepts/def_callable.html" title="Deferred Callable Object">Deferred Callable Object</a>. + The usual <a class="link" href="../../../notes.html#fusion.notes.element_conversion"><span class="emphasis"><em>element + conversion</em></span></a> is applied to the target function. + </p> +<h6> +<a name="fusion.functional.generation.functions.mk_fused.h1"></a> + <span><a name="fusion.functional.generation.functions.mk_fused.synopsis"></a></span><a class="link" href="mk_fused.html#fusion.functional.generation.functions.mk_fused.synopsis">Synopsis</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">F</span><span class="special">></span> +<span class="keyword">inline</span> <span class="keyword">typename</span> <a class="link" href="../metafunctions/mk_fused.html" title="make_fused"><code class="computeroutput"><span class="identifier">make_fused</span></code></a><span class="special"><</span><span class="identifier">F</span><span class="special">>::</span><span class="identifier">type</span> +<span class="identifier">make_fused</span><span class="special">(</span><span class="identifier">F</span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">f</span><span class="special">);</span> +</pre> +<h6> +<a name="fusion.functional.generation.functions.mk_fused.h2"></a> + <span><a name="fusion.functional.generation.functions.mk_fused.parameters"></a></span><a class="link" href="mk_fused.html#fusion.functional.generation.functions.mk_fused.parameters">Parameters</a> + </h6> +<div class="informaltable"><table class="table"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Requirement + </p> + </th> +<th> + <p> + Description + </p> + </th> +</tr></thead> +<tbody><tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">f</span></code> + </p> + </td> +<td> + <p> + Model of <a class="link" href="../../concepts/def_callable.html" title="Deferred Callable Object">Deferred + Callable Object</a> + </p> + </td> +<td> + <p> + The function to transform. + </p> + </td> +</tr></tbody> +</table></div> +<h6> +<a name="fusion.functional.generation.functions.mk_fused.h3"></a> + <span><a name="fusion.functional.generation.functions.mk_fused.expression_semantics"></a></span><a class="link" href="mk_fused.html#fusion.functional.generation.functions.mk_fused.expression_semantics">Expression + Semantics</a> + </h6> +<pre class="programlisting"><span class="identifier">make_fused</span><span class="special">(</span><span class="identifier">f</span><span class="special">);</span> +</pre> +<p> + <span class="bold"><strong>Return type</strong></span>: A specialization of <a class="link" href="../../adapters/fused.html" title="fused"><code class="computeroutput"><span class="identifier">fused</span></code></a>. + </p> +<p> + <span class="bold"><strong>Semantics</strong></span>: Returns a <a class="link" href="../../adapters/fused.html" title="fused"><code class="computeroutput"><span class="identifier">fused</span></code></a> adapter for <code class="computeroutput"><span class="identifier">f</span></code>. + </p> +<h6> +<a name="fusion.functional.generation.functions.mk_fused.h4"></a> + <span><a name="fusion.functional.generation.functions.mk_fused.header"></a></span><a class="link" href="mk_fused.html#fusion.functional.generation.functions.mk_fused.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">functional</span><span class="special">/</span><span class="identifier">generation</span><span class="special">/</span><span class="identifier">make_fused</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">make_fused</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h6> +<a name="fusion.functional.generation.functions.mk_fused.h5"></a> + <span><a name="fusion.functional.generation.functions.mk_fused.example"></a></span><a class="link" href="mk_fused.html#fusion.functional.generation.functions.mk_fused.example">Example</a> + </h6> +<pre class="programlisting"><span class="keyword">float</span> <span class="identifier">sub</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">a</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">b</span><span class="special">)</span> <span class="special">{</span> <span class="keyword">return</span> <span class="identifier">a</span> <span class="special">-</span> <span class="identifier">b</span><span class="special">;</span> <span class="special">}</span> + +<span class="keyword">void</span> <span class="identifier">try_it</span><span class="special">()</span> +<span class="special">{</span> + <a class="link" href="../../../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">float</span><span class="special">></span> <span class="identifier">a</span><span class="special">(</span><span class="number">2</span><span class="special">,</span><span class="number">2.0f</span><span class="special">);</span> + <a class="link" href="../../../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">float</span><span class="special">></span> <span class="identifier">b</span><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">1.5f</span><span class="special">);</span> + <a class="link" href="../../../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><</span><span class="keyword">float</span><span class="special">,</span><span class="keyword">float</span><span class="special">></span> <span class="identifier">c</span><span class="special">(</span><span class="number">1.0f</span><span class="special">,</span><span class="number">0.5f</span><span class="special">);</span> + <span class="identifier">assert</span><span class="special">(</span><span class="identifier">c</span> <span class="special">==</span> <a class="link" href="../../../algorithm/transformation/functions/transform.html" title="transform"><code class="computeroutput"><span class="identifier">transform</span></code></a><span class="special">(</span><a class="link" href="../../../algorithm/transformation/functions/zip.html" title="zip"><code class="computeroutput"><span class="identifier">zip</span></code></a><span class="special">(</span><span class="identifier">a</span><span class="special">,</span><span class="identifier">b</span><span class="special">),</span> <span class="identifier">make_fused</span><span class="special">(&</span> <span class="identifier">sub</span><span class="special">)));</span> + <span class="identifier">assert</span><span class="special">(</span><span class="identifier">c</span> <span class="special">==</span> <a class="link" href="../../../algorithm/transformation/functions/transform.html" title="transform"><code class="computeroutput"><span class="identifier">transform</span></code></a><span class="special">(</span><a class="link" href="../../../algorithm/transformation/functions/zip.html" title="zip"><code class="computeroutput"><span class="identifier">zip</span></code></a><span class="special">(</span><span class="identifier">a</span><span class="special">,</span><span class="identifier">b</span><span class="special">),</span> <span class="identifier">make_fused</span><span class="special">(</span><a href="http://www.sgi.com/tech/stl/minus.html" target="_top"><code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">minus</span></code></a><span class="special"><</span><span class="keyword">float</span><span class="special">>())));</span> +<span class="special">}</span> +</pre> +<h6> +<a name="fusion.functional.generation.functions.mk_fused.h6"></a> + <span><a name="fusion.functional.generation.functions.mk_fused.see_also"></a></span><a class="link" href="mk_fused.html#fusion.functional.generation.functions.mk_fused.see_also">See + also</a> + </h6> +<div class="itemizedlist"><ul class="itemizedlist" type="disc"> +<li class="listitem"> + <a class="link" href="../../adapters/fused.html" title="fused"><code class="computeroutput"><span class="identifier">fused</span></code></a> + </li> +<li class="listitem"> + <a class="link" href="../../../support/deduce.html" title="deduce"><code class="computeroutput"><span class="identifier">deduce</span></code></a> + </li> +<li class="listitem"> + <a class="link" href="../metafunctions/mk_fused.html" title="make_fused"><code class="computeroutput"><span class="identifier">make_fused</span></code></a> + </li> +</ul></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-2006, 2011 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="../functions.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="mk_fused_proc.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/functional/generation/functions/mk_fused_fobj.html b/libs/fusion/doc/html/fusion/functional/generation/functions/mk_fused_fobj.html new file mode 100755 index 0000000000..68d4942220 --- /dev/null +++ b/libs/fusion/doc/html/fusion/functional/generation/functions/mk_fused_fobj.html @@ -0,0 +1,173 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>make_fused_function_object</title> +<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../functions.html" title="Functions"> +<link rel="prev" href="mk_fused_proc.html" title="make_fused_procedure"> +<link rel="next" href="mk_unfused.html" title="make_unfused"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="mk_fused_proc.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="mk_unfused.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h5 class="title"> +<a name="fusion.functional.generation.functions.mk_fused_fobj"></a><a class="link" href="mk_fused_fobj.html" title="make_fused_function_object">make_fused_function_object</a> +</h5></div></div></div> +<h6> +<a name="fusion.functional.generation.functions.mk_fused_fobj.h0"></a> + <span><a name="fusion.functional.generation.functions.mk_fused_fobj.description"></a></span><a class="link" href="mk_fused_fobj.html#fusion.functional.generation.functions.mk_fused_fobj.description">Description</a> + </h6> +<p> + Creates a <a class="link" href="../../adapters/fused_function_object.html" title="fused_function_object"><code class="computeroutput"><span class="identifier">fused_function_object</span></code></a> adapter + for a given <a class="link" href="../../concepts/def_callable.html" title="Deferred Callable Object">Deferred + Callable Object</a>. The usual <a class="link" href="../../../notes.html#fusion.notes.element_conversion"><span class="emphasis"><em>element + conversion</em></span></a> is applied to the target function. + </p> +<h6> +<a name="fusion.functional.generation.functions.mk_fused_fobj.h1"></a> + <span><a name="fusion.functional.generation.functions.mk_fused_fobj.synopsis"></a></span><a class="link" href="mk_fused_fobj.html#fusion.functional.generation.functions.mk_fused_fobj.synopsis">Synopsis</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">F</span><span class="special">></span> +<span class="keyword">inline</span> <span class="keyword">typename</span> <a class="link" href="../metafunctions/mk_fused_fobj.html" title="make_fused_function_object"><code class="computeroutput"><span class="identifier">make_fused_function_object</span></code></a><span class="special"><</span><span class="identifier">F</span><span class="special">>::</span><span class="identifier">type</span> +<span class="identifier">make_fused_function_object</span><span class="special">(</span><span class="identifier">F</span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">f</span><span class="special">);</span> +</pre> +<h6> +<a name="fusion.functional.generation.functions.mk_fused_fobj.h2"></a> + <span><a name="fusion.functional.generation.functions.mk_fused_fobj.parameters"></a></span><a class="link" href="mk_fused_fobj.html#fusion.functional.generation.functions.mk_fused_fobj.parameters">Parameters</a> + </h6> +<div class="informaltable"><table class="table"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Requirement + </p> + </th> +<th> + <p> + Description + </p> + </th> +</tr></thead> +<tbody><tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">f</span></code> + </p> + </td> +<td> + <p> + Model of <a class="link" href="../../concepts/poly.html" title="Polymorphic Function Object">Polymorphic + Function Object</a> + </p> + </td> +<td> + <p> + The function to transform. + </p> + </td> +</tr></tbody> +</table></div> +<h6> +<a name="fusion.functional.generation.functions.mk_fused_fobj.h3"></a> + <span><a name="fusion.functional.generation.functions.mk_fused_fobj.expression_semantics"></a></span><a class="link" href="mk_fused_fobj.html#fusion.functional.generation.functions.mk_fused_fobj.expression_semantics">Expression + Semantics</a> + </h6> +<pre class="programlisting"><span class="identifier">make_fused_function_object</span><span class="special">(</span><span class="identifier">f</span><span class="special">);</span> +</pre> +<p> + <span class="bold"><strong>Return type</strong></span>: A specialization of <a class="link" href="../../adapters/fused_function_object.html" title="fused_function_object"><code class="computeroutput"><span class="identifier">fused_function_object</span></code></a>. + </p> +<p> + <span class="bold"><strong>Semantics</strong></span>: Returns a <a class="link" href="../../adapters/fused_function_object.html" title="fused_function_object"><code class="computeroutput"><span class="identifier">fused_function_object</span></code></a> adapter + for <code class="computeroutput"><span class="identifier">f</span></code>. + </p> +<h6> +<a name="fusion.functional.generation.functions.mk_fused_fobj.h4"></a> + <span><a name="fusion.functional.generation.functions.mk_fused_fobj.header"></a></span><a class="link" href="mk_fused_fobj.html#fusion.functional.generation.functions.mk_fused_fobj.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">functional</span><span class="special">/</span><span class="identifier">generation</span><span class="special">/</span><span class="identifier">make_fused_function_object</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">make_fused_function_object</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h6> +<a name="fusion.functional.generation.functions.mk_fused_fobj.h5"></a> + <span><a name="fusion.functional.generation.functions.mk_fused_fobj.example"></a></span><a class="link" href="mk_fused_fobj.html#fusion.functional.generation.functions.mk_fused_fobj.example">Example</a> + </h6> +<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">sub</span> +<span class="special">{</span> + <span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Sig</span><span class="special">></span> + <span class="keyword">struct</span> <span class="identifier">result</span><span class="special">;</span> + + <span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">Self</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T</span><span class="special">></span> + <span class="keyword">struct</span> <span class="identifier">result</span><span class="special"><</span> <span class="identifier">Self</span><span class="special">(</span><span class="identifier">T</span><span class="special">,</span><span class="identifier">T</span><span class="special">)</span> <span class="special">></span> + <span class="special">{</span> <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">remove_reference</span><span class="special"><</span><span class="identifier">T</span><span class="special">>::</span><span class="identifier">type</span> <span class="identifier">type</span><span class="special">;</span> <span class="special">};</span> + + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">></span> + <span class="identifier">T</span> <span class="keyword">operator</span><span class="special">()(</span><span class="identifier">T</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">rhs</span><span class="special">)</span> <span class="keyword">const</span> + <span class="special">{</span> + <span class="keyword">return</span> <span class="identifier">lhs</span> <span class="special">-</span> <span class="identifier">rhs</span><span class="special">;</span> + <span class="special">}</span> +<span class="special">};</span> + +<span class="keyword">void</span> <span class="identifier">try_it</span><span class="special">()</span> +<span class="special">{</span> + <a class="link" href="../../../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">float</span><span class="special">></span> <span class="identifier">a</span><span class="special">(</span><span class="number">2</span><span class="special">,</span><span class="number">2.0f</span><span class="special">);</span> + <a class="link" href="../../../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">float</span><span class="special">></span> <span class="identifier">b</span><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">1.5f</span><span class="special">);</span> + <a class="link" href="../../../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">float</span><span class="special">></span> <span class="identifier">c</span><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">0.5f</span><span class="special">);</span> + <span class="identifier">assert</span><span class="special">(</span><span class="identifier">c</span> <span class="special">==</span> <a class="link" href="../../../algorithm/transformation/functions/transform.html" title="transform"><code class="computeroutput"><span class="identifier">transform</span></code></a><span class="special">(</span><a class="link" href="../../../algorithm/transformation/functions/zip.html" title="zip"><code class="computeroutput"><span class="identifier">zip</span></code></a><span class="special">(</span><span class="identifier">a</span><span class="special">,</span><span class="identifier">b</span><span class="special">),</span> <span class="identifier">make_fused_function_object</span><span class="special">(</span><span class="identifier">sub</span><span class="special">())));</span> +<span class="special">}</span> +</pre> +<h6> +<a name="fusion.functional.generation.functions.mk_fused_fobj.h6"></a> + <span><a name="fusion.functional.generation.functions.mk_fused_fobj.see_also"></a></span><a class="link" href="mk_fused_fobj.html#fusion.functional.generation.functions.mk_fused_fobj.see_also">See + also</a> + </h6> +<div class="itemizedlist"><ul class="itemizedlist" type="disc"> +<li class="listitem"> + <a class="link" href="../../adapters/fused_function_object.html" title="fused_function_object"><code class="computeroutput"><span class="identifier">fused_function_object</span></code></a> + </li> +<li class="listitem"> + <a class="link" href="../../../support/deduce.html" title="deduce"><code class="computeroutput"><span class="identifier">deduce</span></code></a> + </li> +<li class="listitem"> + <a class="link" href="../metafunctions/mk_fused_fobj.html" title="make_fused_function_object"><code class="computeroutput"><span class="identifier">make_fused_function_object</span></code></a> + </li> +</ul></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-2006, 2011 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="mk_fused_proc.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="mk_unfused.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/functional/generation/functions/mk_fused_proc.html b/libs/fusion/doc/html/fusion/functional/generation/functions/mk_fused_proc.html new file mode 100755 index 0000000000..c530d6a664 --- /dev/null +++ b/libs/fusion/doc/html/fusion/functional/generation/functions/mk_fused_proc.html @@ -0,0 +1,154 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>make_fused_procedure</title> +<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../functions.html" title="Functions"> +<link rel="prev" href="mk_fused.html" title="make_fused"> +<link rel="next" href="mk_fused_fobj.html" title="make_fused_function_object"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="mk_fused.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="mk_fused_fobj.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h5 class="title"> +<a name="fusion.functional.generation.functions.mk_fused_proc"></a><a class="link" href="mk_fused_proc.html" title="make_fused_procedure">make_fused_procedure</a> +</h5></div></div></div> +<h6> +<a name="fusion.functional.generation.functions.mk_fused_proc.h0"></a> + <span><a name="fusion.functional.generation.functions.mk_fused_proc.description"></a></span><a class="link" href="mk_fused_proc.html#fusion.functional.generation.functions.mk_fused_proc.description">Description</a> + </h6> +<p> + Creates a <a class="link" href="../../adapters/fused_procedure.html" title="fused_procedure"><code class="computeroutput"><span class="identifier">fused_procedure</span></code></a> adapter for + a given <a class="link" href="../../concepts/def_callable.html" title="Deferred Callable Object">Deferred + Callable Object</a>. The usual <a class="link" href="../../../notes.html#fusion.notes.element_conversion"><span class="emphasis"><em>element + conversion</em></span></a> applied to the target function. + </p> +<h6> +<a name="fusion.functional.generation.functions.mk_fused_proc.h1"></a> + <span><a name="fusion.functional.generation.functions.mk_fused_proc.synopsis"></a></span><a class="link" href="mk_fused_proc.html#fusion.functional.generation.functions.mk_fused_proc.synopsis">Synopsis</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">F</span><span class="special">></span> +<span class="keyword">inline</span> <span class="keyword">typename</span> <a class="link" href="../metafunctions/mk_fused_proc.html" title="make_fused_procedure"><code class="computeroutput"><span class="identifier">make_fused_procedure</span></code></a><span class="special"><</span><span class="identifier">F</span><span class="special">>::</span><span class="identifier">type</span> +<span class="identifier">make_fused_procedure</span><span class="special">(</span><span class="identifier">F</span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">f</span><span class="special">);</span> +</pre> +<h6> +<a name="fusion.functional.generation.functions.mk_fused_proc.h2"></a> + <span><a name="fusion.functional.generation.functions.mk_fused_proc.parameters"></a></span><a class="link" href="mk_fused_proc.html#fusion.functional.generation.functions.mk_fused_proc.parameters">Parameters</a> + </h6> +<div class="informaltable"><table class="table"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Requirement + </p> + </th> +<th> + <p> + Description + </p> + </th> +</tr></thead> +<tbody><tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">f</span></code> + </p> + </td> +<td> + <p> + Model of <a class="link" href="../../concepts/callable.html" title="Callable Object">Callable + Object</a> + </p> + </td> +<td> + <p> + The function to transform. + </p> + </td> +</tr></tbody> +</table></div> +<h6> +<a name="fusion.functional.generation.functions.mk_fused_proc.h3"></a> + <span><a name="fusion.functional.generation.functions.mk_fused_proc.expression_semantics"></a></span><a class="link" href="mk_fused_proc.html#fusion.functional.generation.functions.mk_fused_proc.expression_semantics">Expression + Semantics</a> + </h6> +<pre class="programlisting"><span class="identifier">make_fused_procedure</span><span class="special">(</span><span class="identifier">f</span><span class="special">);</span> +</pre> +<p> + <span class="bold"><strong>Return type</strong></span>: A specialization of <a class="link" href="../../adapters/fused_procedure.html" title="fused_procedure"><code class="computeroutput"><span class="identifier">fused_procedure</span></code></a>. + </p> +<p> + <span class="bold"><strong>Semantics</strong></span>: Returns a <a class="link" href="../../adapters/fused_procedure.html" title="fused_procedure"><code class="computeroutput"><span class="identifier">fused_procedure</span></code></a> adapter for + <code class="computeroutput"><span class="identifier">f</span></code>. + </p> +<h6> +<a name="fusion.functional.generation.functions.mk_fused_proc.h4"></a> + <span><a name="fusion.functional.generation.functions.mk_fused_proc.header"></a></span><a class="link" href="mk_fused_proc.html#fusion.functional.generation.functions.mk_fused_proc.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">functional</span><span class="special">/</span><span class="identifier">generation</span><span class="special">/</span><span class="identifier">make_fused_procedure</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">make_fused_procedure</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h6> +<a name="fusion.functional.generation.functions.mk_fused_proc.h5"></a> + <span><a name="fusion.functional.generation.functions.mk_fused_proc.example"></a></span><a class="link" href="mk_fused_proc.html#fusion.functional.generation.functions.mk_fused_proc.example">Example</a> + </h6> +<pre class="programlisting"><a class="link" href="../../../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">int</span><span class="special">></span> <span class="identifier">v</span><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">,</span><span class="number">3</span><span class="special">);</span> +<span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">lambda</span><span class="special">;</span> +<span class="identifier">make_fused_procedure</span><span class="special">(</span><span class="identifier">_1</span> <span class="special">+=</span> <span class="identifier">_2</span> <span class="special">-</span> <span class="identifier">_3</span><span class="special">)(</span><span class="identifier">v</span><span class="special">);</span> +<span class="identifier">assert</span><span class="special">(</span><a class="link" href="../../../sequence/intrinsic/functions/front.html" title="front"><code class="computeroutput"><span class="identifier">front</span></code></a><span class="special">(</span><span class="identifier">v</span><span class="special">)</span> <span class="special">==</span> <span class="number">0</span><span class="special">);</span> +</pre> +<h6> +<a name="fusion.functional.generation.functions.mk_fused_proc.h6"></a> + <span><a name="fusion.functional.generation.functions.mk_fused_proc.see_also"></a></span><a class="link" href="mk_fused_proc.html#fusion.functional.generation.functions.mk_fused_proc.see_also">See + also</a> + </h6> +<div class="itemizedlist"><ul class="itemizedlist" type="disc"> +<li class="listitem"> + <a class="link" href="../../adapters/fused_procedure.html" title="fused_procedure"><code class="computeroutput"><span class="identifier">fused_procedure</span></code></a> + </li> +<li class="listitem"> + <a class="link" href="../../../support/deduce.html" title="deduce"><code class="computeroutput"><span class="identifier">deduce</span></code></a> + </li> +<li class="listitem"> + <a class="link" href="../metafunctions/mk_fused_proc.html" title="make_fused_procedure"><code class="computeroutput"><span class="identifier">make_fused_procedure</span></code></a> + </li> +</ul></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-2006, 2011 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="mk_fused.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="mk_fused_fobj.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/functional/generation/functions/mk_unfused.html b/libs/fusion/doc/html/fusion/functional/generation/functions/mk_unfused.html new file mode 100755 index 0000000000..030bb5ba8d --- /dev/null +++ b/libs/fusion/doc/html/fusion/functional/generation/functions/mk_unfused.html @@ -0,0 +1,170 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>make_unfused</title> +<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../functions.html" title="Functions"> +<link rel="prev" href="mk_fused_fobj.html" title="make_fused_function_object"> +<link rel="next" href="../metafunctions.html" title="Metafunctions"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="mk_fused_fobj.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h5 class="title"> +<a name="fusion.functional.generation.functions.mk_unfused"></a><a class="link" href="mk_unfused.html" title="make_unfused">make_unfused</a> +</h5></div></div></div> +<h6> +<a name="fusion.functional.generation.functions.mk_unfused.h0"></a> + <span><a name="fusion.functional.generation.functions.mk_unfused.description"></a></span><a class="link" href="mk_unfused.html#fusion.functional.generation.functions.mk_unfused.description">Description</a> + </h6> +<p> + Creates a <a class="link" href="../../adapters/unfused.html" title="unfused"><code class="computeroutput"><span class="identifier">unfused</span></code></a> adapter for a given, + unary <a class="link" href="../../concepts/poly.html" title="Polymorphic Function Object">Polymorphic Function + Object</a>. The usual <a class="link" href="../../../notes.html#fusion.notes.element_conversion"><span class="emphasis"><em>element + conversion</em></span></a> is applied to the target function. + </p> +<h6> +<a name="fusion.functional.generation.functions.mk_unfused.h1"></a> + <span><a name="fusion.functional.generation.functions.mk_unfused.synopsis"></a></span><a class="link" href="mk_unfused.html#fusion.functional.generation.functions.mk_unfused.synopsis">Synopsis</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">F</span><span class="special">></span> +<span class="keyword">inline</span> <span class="keyword">typename</span> <a class="link" href="../metafunctions/mk_unfused.html" title="make_unfused"><code class="computeroutput"><span class="identifier">make_unfused</span></code></a><span class="special"><</span><span class="identifier">F</span><span class="special">>::</span><span class="identifier">type</span> +<span class="identifier">make_unfused</span><span class="special">(</span><span class="identifier">F</span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">f</span><span class="special">);</span> +</pre> +<h6> +<a name="fusion.functional.generation.functions.mk_unfused.h2"></a> + <span><a name="fusion.functional.generation.functions.mk_unfused.parameters"></a></span><a class="link" href="mk_unfused.html#fusion.functional.generation.functions.mk_unfused.parameters">Parameters</a> + </h6> +<div class="informaltable"><table class="table"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Requirement + </p> + </th> +<th> + <p> + Description + </p> + </th> +</tr></thead> +<tbody><tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">f</span></code> + </p> + </td> +<td> + <p> + Model of <a class="link" href="../../concepts/poly.html" title="Polymorphic Function Object">Polymorphic + Function Object</a> + </p> + </td> +<td> + <p> + The function to transform. + </p> + </td> +</tr></tbody> +</table></div> +<h6> +<a name="fusion.functional.generation.functions.mk_unfused.h3"></a> + <span><a name="fusion.functional.generation.functions.mk_unfused.expression_semantics"></a></span><a class="link" href="mk_unfused.html#fusion.functional.generation.functions.mk_unfused.expression_semantics">Expression + Semantics</a> + </h6> +<pre class="programlisting"><span class="identifier">make_unfused</span><span class="special">(</span><span class="identifier">f</span><span class="special">);</span> +</pre> +<p> + <span class="bold"><strong>Return type</strong></span>: A specialization of <a class="link" href="../../adapters/unfused.html" title="unfused"><code class="computeroutput"><span class="identifier">unfused</span></code></a>. + </p> +<p> + <span class="bold"><strong>Semantics</strong></span>: Returns a <a class="link" href="../../adapters/unfused.html" title="unfused"><code class="computeroutput"><span class="identifier">unfused</span></code></a> adapter for <code class="computeroutput"><span class="identifier">f</span></code>. + </p> +<h6> +<a name="fusion.functional.generation.functions.mk_unfused.h4"></a> + <span><a name="fusion.functional.generation.functions.mk_unfused.header"></a></span><a class="link" href="mk_unfused.html#fusion.functional.generation.functions.mk_unfused.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">functional</span><span class="special">/</span><span class="identifier">generation</span><span class="special">/</span><span class="identifier">make_unfused</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">make_unfused</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h6> +<a name="fusion.functional.generation.functions.mk_unfused.h5"></a> + <span><a name="fusion.functional.generation.functions.mk_unfused.example"></a></span><a class="link" href="mk_unfused.html#fusion.functional.generation.functions.mk_unfused.example">Example</a> + </h6> +<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">fused_incrementer</span> +<span class="special">{</span> + <span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">Seq</span><span class="special">></span> + <span class="keyword">struct</span> <span class="identifier">result</span> + <span class="special">{</span> + <span class="keyword">typedef</span> <span class="keyword">void</span> <span class="identifier">type</span><span class="special">;</span> + <span class="special">};</span> + + <span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">Seq</span><span class="special">></span> + <span class="keyword">void</span> <span class="keyword">operator</span><span class="special">()(</span><span class="identifier">Seq</span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">s</span><span class="special">)</span> <span class="keyword">const</span> + <span class="special">{</span> + <a class="link" href="../../../algorithm/iteration/functions/for_each.html" title="for_each"><code class="computeroutput"><span class="identifier">for_each</span></code></a><span class="special">(</span><span class="identifier">s</span><span class="special">,++</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">lambda</span><span class="special">::</span><span class="identifier">_1</span><span class="special">);</span> + <span class="special">}</span> +<span class="special">};</span> + +<span class="keyword">void</span> <span class="identifier">try_it</span><span class="special">()</span> +<span class="special">{</span> + <span class="keyword">int</span> <span class="identifier">a</span> <span class="special">=</span> <span class="number">2</span><span class="special">;</span> <span class="keyword">char</span> <span class="identifier">b</span> <span class="special">=</span> <span class="char">'X'</span><span class="special">;</span> + <span class="identifier">make_unfused</span><span class="special">(</span><span class="identifier">fused_incrementer</span><span class="special">())(</span><span class="identifier">a</span><span class="special">,</span><span class="identifier">b</span><span class="special">);</span> + <span class="identifier">assert</span><span class="special">(</span><span class="identifier">a</span> <span class="special">==</span> <span class="number">3</span> <span class="special">&&</span> <span class="identifier">b</span> <span class="special">==</span> <span class="char">'Y'</span><span class="special">);</span> +<span class="special">}</span> +</pre> +<h6> +<a name="fusion.functional.generation.functions.mk_unfused.h6"></a> + <span><a name="fusion.functional.generation.functions.mk_unfused.see_also"></a></span><a class="link" href="mk_unfused.html#fusion.functional.generation.functions.mk_unfused.see_also">See + also</a> + </h6> +<div class="itemizedlist"><ul class="itemizedlist" type="disc"> +<li class="listitem"> + <a class="link" href="../../adapters/unfused.html" title="unfused"><code class="computeroutput"><span class="identifier">unfused</span></code></a> + </li> +<li class="listitem"> + <a class="link" href="../../../support/deduce.html" title="deduce"><code class="computeroutput"><span class="identifier">deduce</span></code></a> + </li> +<li class="listitem"> + <a class="link" href="../metafunctions/mk_unfused.html" title="make_unfused"><code class="computeroutput"><span class="identifier">make_unfused</span></code></a> + </li> +</ul></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-2006, 2011 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="mk_fused_fobj.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/functional/generation/metafunctions.html b/libs/fusion/doc/html/fusion/functional/generation/metafunctions.html new file mode 100755 index 0000000000..f2c4f0cc28 --- /dev/null +++ b/libs/fusion/doc/html/fusion/functional/generation/metafunctions.html @@ -0,0 +1,50 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Metafunctions</title> +<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../generation.html" title="Generation"> +<link rel="prev" href="functions/mk_unfused.html" title="make_unfused"> +<link rel="next" href="metafunctions/mk_fused.html" title="make_fused"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="functions/mk_unfused.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../generation.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="metafunctions/mk_fused.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h4 class="title"> +<a name="fusion.functional.generation.metafunctions"></a><a class="link" href="metafunctions.html" title="Metafunctions">Metafunctions</a> +</h4></div></div></div> +<div class="toc"><dl> +<dt><span class="section"><a href="metafunctions/mk_fused.html">make_fused</a></span></dt> +<dt><span class="section"><a href="metafunctions/mk_fused_proc.html">make_fused_procedure</a></span></dt> +<dt><span class="section"><a href="metafunctions/mk_fused_fobj.html">make_fused_function_object</a></span></dt> +<dt><span class="section"><a href="metafunctions/mk_unfused.html">make_unfused</a></span></dt> +</dl></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-2006, 2011 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="functions/mk_unfused.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../generation.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="metafunctions/mk_fused.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/functional/generation/metafunctions/mk_fused.html b/libs/fusion/doc/html/fusion/functional/generation/metafunctions/mk_fused.html new file mode 100755 index 0000000000..8151914efe --- /dev/null +++ b/libs/fusion/doc/html/fusion/functional/generation/metafunctions/mk_fused.html @@ -0,0 +1,79 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>make_fused</title> +<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../metafunctions.html" title="Metafunctions"> +<link rel="prev" href="../metafunctions.html" title="Metafunctions"> +<link rel="next" href="mk_fused_proc.html" title="make_fused_procedure"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="../metafunctions.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="mk_fused_proc.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h5 class="title"> +<a name="fusion.functional.generation.metafunctions.mk_fused"></a><a class="link" href="mk_fused.html" title="make_fused">make_fused</a> +</h5></div></div></div> +<h6> +<a name="fusion.functional.generation.metafunctions.mk_fused.h0"></a> + <span><a name="fusion.functional.generation.metafunctions.mk_fused.description"></a></span><a class="link" href="mk_fused.html#fusion.functional.generation.metafunctions.mk_fused.description">Description</a> + </h6> +<p> + Returns the result type of <a class="link" href="../functions/mk_fused.html" title="make_fused"><code class="computeroutput"><span class="identifier">make_fused</span></code></a>. + </p> +<h6> +<a name="fusion.functional.generation.metafunctions.mk_fused.h1"></a> + <span><a name="fusion.functional.generation.metafunctions.mk_fused.header"></a></span><a class="link" href="mk_fused.html#fusion.functional.generation.metafunctions.mk_fused.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">functional</span><span class="special">/</span><span class="identifier">generation</span><span class="special">/</span><span class="identifier">make_fused</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">make_fused</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h6> +<a name="fusion.functional.generation.metafunctions.mk_fused.h2"></a> + <span><a name="fusion.functional.generation.metafunctions.mk_fused.synopsis"></a></span><a class="link" href="mk_fused.html#fusion.functional.generation.metafunctions.mk_fused.synopsis">Synopsis</a> + </h6> +<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">result_of</span> +<span class="special">{</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Function</span><span class="special">></span> + <span class="keyword">struct</span> <span class="identifier">make_fused</span> + <span class="special">{</span> + <span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">type</span><span class="special">;</span> + <span class="special">};</span> +<span class="special">}</span> +</pre> +<h6> +<a name="fusion.functional.generation.metafunctions.mk_fused.h3"></a> + <span><a name="fusion.functional.generation.metafunctions.mk_fused.see_also"></a></span><a class="link" href="mk_fused.html#fusion.functional.generation.metafunctions.mk_fused.see_also">See + also</a> + </h6> +<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"> + <a class="link" href="../functions/mk_fused.html" title="make_fused"><code class="computeroutput"><span class="identifier">make_fused</span></code></a> + </li></ul></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-2006, 2011 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="../metafunctions.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="mk_fused_proc.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/functional/generation/metafunctions/mk_fused_fobj.html b/libs/fusion/doc/html/fusion/functional/generation/metafunctions/mk_fused_fobj.html new file mode 100755 index 0000000000..09230aed7b --- /dev/null +++ b/libs/fusion/doc/html/fusion/functional/generation/metafunctions/mk_fused_fobj.html @@ -0,0 +1,79 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>make_fused_function_object</title> +<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../metafunctions.html" title="Metafunctions"> +<link rel="prev" href="mk_fused_proc.html" title="make_fused_procedure"> +<link rel="next" href="mk_unfused.html" title="make_unfused"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="mk_fused_proc.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="mk_unfused.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h5 class="title"> +<a name="fusion.functional.generation.metafunctions.mk_fused_fobj"></a><a class="link" href="mk_fused_fobj.html" title="make_fused_function_object">make_fused_function_object</a> +</h5></div></div></div> +<h6> +<a name="fusion.functional.generation.metafunctions.mk_fused_fobj.h0"></a> + <span><a name="fusion.functional.generation.metafunctions.mk_fused_fobj.description"></a></span><a class="link" href="mk_fused_fobj.html#fusion.functional.generation.metafunctions.mk_fused_fobj.description">Description</a> + </h6> +<p> + Returns the result type of <a class="link" href="../functions/mk_fused_fobj.html" title="make_fused_function_object"><code class="computeroutput"><span class="identifier">make_fused_function_object</span></code></a>. + </p> +<h6> +<a name="fusion.functional.generation.metafunctions.mk_fused_fobj.h1"></a> + <span><a name="fusion.functional.generation.metafunctions.mk_fused_fobj.header"></a></span><a class="link" href="mk_fused_fobj.html#fusion.functional.generation.metafunctions.mk_fused_fobj.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">functional</span><span class="special">/</span><span class="identifier">generation</span><span class="special">/</span><span class="identifier">make_fused_function_object</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">make_fused_function_object</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h6> +<a name="fusion.functional.generation.metafunctions.mk_fused_fobj.h2"></a> + <span><a name="fusion.functional.generation.metafunctions.mk_fused_fobj.synopsis"></a></span><a class="link" href="mk_fused_fobj.html#fusion.functional.generation.metafunctions.mk_fused_fobj.synopsis">Synopsis</a> + </h6> +<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">result_of</span> +<span class="special">{</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Function</span><span class="special">></span> + <span class="keyword">struct</span> <span class="identifier">make_fused_function_object</span> + <span class="special">{</span> + <span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">type</span><span class="special">;</span> + <span class="special">};</span> +<span class="special">}</span> +</pre> +<h6> +<a name="fusion.functional.generation.metafunctions.mk_fused_fobj.h3"></a> + <span><a name="fusion.functional.generation.metafunctions.mk_fused_fobj.see_also"></a></span><a class="link" href="mk_fused_fobj.html#fusion.functional.generation.metafunctions.mk_fused_fobj.see_also">See + also</a> + </h6> +<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"> + <a class="link" href="../functions/mk_fused_fobj.html" title="make_fused_function_object"><code class="computeroutput"><span class="identifier">make_fused_function_object</span></code></a> + </li></ul></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-2006, 2011 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="mk_fused_proc.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="mk_unfused.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/functional/generation/metafunctions/mk_fused_proc.html b/libs/fusion/doc/html/fusion/functional/generation/metafunctions/mk_fused_proc.html new file mode 100755 index 0000000000..0b96bd360e --- /dev/null +++ b/libs/fusion/doc/html/fusion/functional/generation/metafunctions/mk_fused_proc.html @@ -0,0 +1,79 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>make_fused_procedure</title> +<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../metafunctions.html" title="Metafunctions"> +<link rel="prev" href="mk_fused.html" title="make_fused"> +<link rel="next" href="mk_fused_fobj.html" title="make_fused_function_object"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="mk_fused.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="mk_fused_fobj.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h5 class="title"> +<a name="fusion.functional.generation.metafunctions.mk_fused_proc"></a><a class="link" href="mk_fused_proc.html" title="make_fused_procedure">make_fused_procedure</a> +</h5></div></div></div> +<h6> +<a name="fusion.functional.generation.metafunctions.mk_fused_proc.h0"></a> + <span><a name="fusion.functional.generation.metafunctions.mk_fused_proc.description"></a></span><a class="link" href="mk_fused_proc.html#fusion.functional.generation.metafunctions.mk_fused_proc.description">Description</a> + </h6> +<p> + Returns the result type of <a class="link" href="../functions/mk_fused_proc.html" title="make_fused_procedure"><code class="computeroutput"><span class="identifier">make_fused_procedure</span></code></a>. + </p> +<h6> +<a name="fusion.functional.generation.metafunctions.mk_fused_proc.h1"></a> + <span><a name="fusion.functional.generation.metafunctions.mk_fused_proc.header"></a></span><a class="link" href="mk_fused_proc.html#fusion.functional.generation.metafunctions.mk_fused_proc.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">functional</span><span class="special">/</span><span class="identifier">generation</span><span class="special">/</span><span class="identifier">make_fused_procedure</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">make_fused_procedure</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h6> +<a name="fusion.functional.generation.metafunctions.mk_fused_proc.h2"></a> + <span><a name="fusion.functional.generation.metafunctions.mk_fused_proc.synopsis"></a></span><a class="link" href="mk_fused_proc.html#fusion.functional.generation.metafunctions.mk_fused_proc.synopsis">Synopsis</a> + </h6> +<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">result_of</span> +<span class="special">{</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Function</span><span class="special">></span> + <span class="keyword">struct</span> <span class="identifier">make_fused_procedure</span> + <span class="special">{</span> + <span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">type</span><span class="special">;</span> + <span class="special">};</span> +<span class="special">}</span> +</pre> +<h6> +<a name="fusion.functional.generation.metafunctions.mk_fused_proc.h3"></a> + <span><a name="fusion.functional.generation.metafunctions.mk_fused_proc.see_also"></a></span><a class="link" href="mk_fused_proc.html#fusion.functional.generation.metafunctions.mk_fused_proc.see_also">See + also</a> + </h6> +<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"> + <a class="link" href="../functions/mk_fused_proc.html" title="make_fused_procedure"><code class="computeroutput"><span class="identifier">make_fused_procedure</span></code></a> + </li></ul></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-2006, 2011 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="mk_fused.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="mk_fused_fobj.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/functional/generation/metafunctions/mk_unfused.html b/libs/fusion/doc/html/fusion/functional/generation/metafunctions/mk_unfused.html new file mode 100755 index 0000000000..1637eb5fce --- /dev/null +++ b/libs/fusion/doc/html/fusion/functional/generation/metafunctions/mk_unfused.html @@ -0,0 +1,79 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>make_unfused</title> +<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../metafunctions.html" title="Metafunctions"> +<link rel="prev" href="mk_fused_fobj.html" title="make_fused_function_object"> +<link rel="next" href="../../../notes.html" title="Notes"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="mk_fused_fobj.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../../../notes.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h5 class="title"> +<a name="fusion.functional.generation.metafunctions.mk_unfused"></a><a class="link" href="mk_unfused.html" title="make_unfused">make_unfused</a> +</h5></div></div></div> +<h6> +<a name="fusion.functional.generation.metafunctions.mk_unfused.h0"></a> + <span><a name="fusion.functional.generation.metafunctions.mk_unfused.description"></a></span><a class="link" href="mk_unfused.html#fusion.functional.generation.metafunctions.mk_unfused.description">Description</a> + </h6> +<p> + Returns the result type of <a class="link" href="../functions/mk_unfused.html" title="make_unfused"><code class="computeroutput"><span class="identifier">make_unfused</span></code></a>. + </p> +<h6> +<a name="fusion.functional.generation.metafunctions.mk_unfused.h1"></a> + <span><a name="fusion.functional.generation.metafunctions.mk_unfused.header"></a></span><a class="link" href="mk_unfused.html#fusion.functional.generation.metafunctions.mk_unfused.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">functional</span><span class="special">/</span><span class="identifier">generation</span><span class="special">/</span><span class="identifier">make_unfused</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">make_unfused</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h6> +<a name="fusion.functional.generation.metafunctions.mk_unfused.h2"></a> + <span><a name="fusion.functional.generation.metafunctions.mk_unfused.synopsis"></a></span><a class="link" href="mk_unfused.html#fusion.functional.generation.metafunctions.mk_unfused.synopsis">Synopsis</a> + </h6> +<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">result_of</span> +<span class="special">{</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Function</span><span class="special">></span> + <span class="keyword">struct</span> <span class="identifier">make_unfused</span> + <span class="special">{</span> + <span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">type</span><span class="special">;</span> + <span class="special">};</span> +<span class="special">}</span> +</pre> +<h6> +<a name="fusion.functional.generation.metafunctions.mk_unfused.h3"></a> + <span><a name="fusion.functional.generation.metafunctions.mk_unfused.see_also"></a></span><a class="link" href="mk_unfused.html#fusion.functional.generation.metafunctions.mk_unfused.see_also">See + also</a> + </h6> +<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"> + <a class="link" href="../functions/mk_unfused.html" title="make_unfused"><code class="computeroutput"><span class="identifier">make_unfused</span></code></a> + </li></ul></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-2006, 2011 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="mk_fused_fobj.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../../../notes.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/functional/invocation.html b/libs/fusion/doc/html/fusion/functional/invocation.html new file mode 100755 index 0000000000..67812fd574 --- /dev/null +++ b/libs/fusion/doc/html/fusion/functional/invocation.html @@ -0,0 +1,49 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Invocation</title> +<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../functional.html" title="Functional"> +<link rel="prev" href="concepts/poly.html" title="Polymorphic Function Object"> +<link rel="next" href="invocation/functions.html" title="Functions"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="concepts/poly.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functional.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="invocation/functions.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h3 class="title"> +<a name="fusion.functional.invocation"></a><a class="link" href="invocation.html" title="Invocation">Invocation</a> +</h3></div></div></div> +<div class="toc"><dl> +<dt><span class="section"><a href="invocation/functions.html">Functions</a></span></dt> +<dt><span class="section"><a href="invocation/metafunctions.html">Metafunctions</a></span></dt> +<dt><span class="section"><a href="invocation/limits.html">Limits</a></span></dt> +</dl></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-2006, 2011 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="concepts/poly.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functional.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="invocation/functions.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/functional/invocation/functions.html b/libs/fusion/doc/html/fusion/functional/invocation/functions.html new file mode 100755 index 0000000000..b22a69b390 --- /dev/null +++ b/libs/fusion/doc/html/fusion/functional/invocation/functions.html @@ -0,0 +1,49 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Functions</title> +<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../invocation.html" title="Invocation"> +<link rel="prev" href="../invocation.html" title="Invocation"> +<link rel="next" href="functions/invoke.html" title="invoke"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="../invocation.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../invocation.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="functions/invoke.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h4 class="title"> +<a name="fusion.functional.invocation.functions"></a><a class="link" href="functions.html" title="Functions">Functions</a> +</h4></div></div></div> +<div class="toc"><dl> +<dt><span class="section"><a href="functions/invoke.html">invoke</a></span></dt> +<dt><span class="section"><a href="functions/invoke_proc.html">invoke_procedure</a></span></dt> +<dt><span class="section"><a href="functions/invoke_fobj.html">invoke_function_object</a></span></dt> +</dl></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-2006, 2011 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="../invocation.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../invocation.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="functions/invoke.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/functional/invocation/functions/invoke.html b/libs/fusion/doc/html/fusion/functional/invocation/functions/invoke.html new file mode 100755 index 0000000000..30dc2e825b --- /dev/null +++ b/libs/fusion/doc/html/fusion/functional/invocation/functions/invoke.html @@ -0,0 +1,201 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>invoke</title> +<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../functions.html" title="Functions"> +<link rel="prev" href="../functions.html" title="Functions"> +<link rel="next" href="invoke_proc.html" title="invoke_procedure"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="../functions.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="invoke_proc.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h5 class="title"> +<a name="fusion.functional.invocation.functions.invoke"></a><a class="link" href="invoke.html" title="invoke">invoke</a> +</h5></div></div></div> +<h6> +<a name="fusion.functional.invocation.functions.invoke.h0"></a> + <span><a name="fusion.functional.invocation.functions.invoke.description"></a></span><a class="link" href="invoke.html#fusion.functional.invocation.functions.invoke.description">Description</a> + </h6> +<p> + Calls a <a class="link" href="../../concepts/def_callable.html" title="Deferred Callable Object">Deferred + Callable Object</a> with the arguments from a <a class="link" href="../../../sequence.html" title="Sequence">Sequence</a>. + </p> +<p> + The first template parameter can be specialized explicitly to avoid copying + and/or to control the const qualification of a function object. + </p> +<p> + If the target function is a pointer to a class members, the corresponding + object can be specified as a reference, pointer, or smart pointer. In + case of the latter, a freestanding <code class="literal">get_pointer</code> function + must be defined (Boost provides this function for <code class="literal">std::auto_ptr</code> + and <a href="http://www.boost.org/libs/smart_ptr/shared_ptr.htm" target="_top"><code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">shared_ptr</span></code></a>). + </p> +<p> + Constructors can be called applying <a href="http://www.boost.org/libs/functional/factory/doc/html/index.html" target="_top">Boost.Functional/Factory</a>. + </p> +<h6> +<a name="fusion.functional.invocation.functions.invoke.h1"></a> + <span><a name="fusion.functional.invocation.functions.invoke.synopsis"></a></span><a class="link" href="invoke.html#fusion.functional.invocation.functions.invoke.synopsis">Synopsis</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span> + <span class="keyword">typename</span> <span class="identifier">Function</span><span class="special">,</span> + <span class="keyword">class</span> <span class="identifier">Sequence</span> + <span class="special">></span> +<span class="keyword">typename</span> <a class="link" href="../metafunctions/invoke.html" title="invoke"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">invoke</span></code></a><span class="special"><</span><span class="identifier">Function</span><span class="special">,</span> <span class="identifier">Sequence</span><span class="special">>::</span><span class="identifier">type</span> +<span class="identifier">invoke</span><span class="special">(</span><span class="identifier">Function</span> <span class="identifier">f</span><span class="special">,</span> <span class="identifier">Sequence</span> <span class="special">&</span> <span class="identifier">s</span><span class="special">);</span> + +<span class="keyword">template</span><span class="special"><</span> + <span class="keyword">typename</span> <span class="identifier">Function</span><span class="special">,</span> + <span class="keyword">class</span> <span class="identifier">Sequence</span> + <span class="special">></span> +<span class="keyword">typename</span> <a class="link" href="../metafunctions/invoke.html" title="invoke"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">invoke</span></code></a><span class="special"><</span><span class="identifier">Function</span><span class="special">,</span> <span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">>::</span><span class="identifier">type</span> +<span class="identifier">invoke</span><span class="special">(</span><span class="identifier">Function</span> <span class="identifier">f</span><span class="special">,</span> <span class="identifier">Sequence</span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">s</span><span class="special">);</span> +</pre> +<h6> +<a name="fusion.functional.invocation.functions.invoke.h2"></a> + <span><a name="fusion.functional.invocation.functions.invoke.parameters"></a></span><a class="link" href="invoke.html#fusion.functional.invocation.functions.invoke.parameters">Parameters</a> + </h6> +<div class="informaltable"><table class="table"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Requirement + </p> + </th> +<th> + <p> + Description + </p> + </th> +</tr></thead> +<tbody> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">f</span></code> + </p> + </td> +<td> + <p> + A <a class="link" href="../../concepts/def_callable.html" title="Deferred Callable Object">Deferred + Callable Object</a> + </p> + </td> +<td> + <p> + The function to call. + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">s</span></code> + </p> + </td> +<td> + <p> + A <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a> + </p> + </td> +<td> + <p> + The arguments. + </p> + </td> +</tr> +</tbody> +</table></div> +<h6> +<a name="fusion.functional.invocation.functions.invoke.h3"></a> + <span><a name="fusion.functional.invocation.functions.invoke.expression_semantics"></a></span><a class="link" href="invoke.html#fusion.functional.invocation.functions.invoke.expression_semantics">Expression + Semantics</a> + </h6> +<pre class="programlisting"><span class="identifier">invoke</span><span class="special">(</span><span class="identifier">f</span><span class="special">,</span><span class="identifier">s</span><span class="special">);</span> +</pre> +<p> + <span class="bold"><strong>Return type</strong></span>: Return type of <code class="computeroutput"><span class="identifier">f</span></code> when invoked with the elements in + <code class="computeroutput"><span class="identifier">s</span></code> as its arguments. + </p> +<p> + <span class="bold"><strong>Semantics</strong></span>: Invokes <code class="computeroutput"><span class="identifier">f</span></code> + with the elements in <code class="computeroutput"><span class="identifier">s</span></code> + as arguments and returns the result of the call expression. + </p> +<h6> +<a name="fusion.functional.invocation.functions.invoke.h4"></a> + <span><a name="fusion.functional.invocation.functions.invoke.header"></a></span><a class="link" href="invoke.html#fusion.functional.invocation.functions.invoke.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">functional</span><span class="special">/</span><span class="identifier">invocation</span><span class="special">/</span><span class="identifier">invoke</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h6> +<a name="fusion.functional.invocation.functions.invoke.h5"></a> + <span><a name="fusion.functional.invocation.functions.invoke.example"></a></span><a class="link" href="invoke.html#fusion.functional.invocation.functions.invoke.example">Example</a> + </h6> +<pre class="programlisting"><a href="http://www.sgi.com/tech/stl/plus.html" target="_top"><code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">plus</span></code></a><span class="special"><</span><span class="keyword">int</span><span class="special">></span> <span class="identifier">add</span><span class="special">;</span> +<span class="identifier">assert</span><span class="special">(</span><span class="identifier">invoke</span><span class="special">(</span><span class="identifier">add</span><span class="special">,</span><a class="link" href="../../../container/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">1</span><span class="special">))</span> <span class="special">==</span> <span class="number">2</span><span class="special">);</span> +</pre> +<h6> +<a name="fusion.functional.invocation.functions.invoke.h6"></a> + <span><a name="fusion.functional.invocation.functions.invoke.see_also"></a></span><a class="link" href="invoke.html#fusion.functional.invocation.functions.invoke.see_also">See + also</a> + </h6> +<div class="itemizedlist"><ul class="itemizedlist" type="disc"> +<li class="listitem"> + <a class="link" href="invoke_proc.html" title="invoke_procedure"><code class="computeroutput"><span class="identifier">invoke_procedure</span></code></a> + </li> +<li class="listitem"> + <a class="link" href="invoke_fobj.html" title="invoke_function_object"><code class="computeroutput"><span class="identifier">invoke_function_object</span></code></a> + </li> +<li class="listitem"> + <a class="link" href="../metafunctions/invoke.html" title="invoke"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">invoke</span></code></a> + </li> +<li class="listitem"> + <a class="link" href="../../adapters/fused.html" title="fused"><code class="computeroutput"><span class="identifier">fused</span></code></a> + </li> +<li class="listitem"> + <a class="link" href="../../generation/functions/mk_fused.html" title="make_fused"><code class="computeroutput"><span class="identifier">make_fused</span></code></a> + </li> +</ul></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-2006, 2011 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="../functions.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="invoke_proc.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/functional/invocation/functions/invoke_fobj.html b/libs/fusion/doc/html/fusion/functional/invocation/functions/invoke_fobj.html new file mode 100755 index 0000000000..166bf1a5c2 --- /dev/null +++ b/libs/fusion/doc/html/fusion/functional/invocation/functions/invoke_fobj.html @@ -0,0 +1,213 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>invoke_function_object</title> +<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../functions.html" title="Functions"> +<link rel="prev" href="invoke_proc.html" title="invoke_procedure"> +<link rel="next" href="../metafunctions.html" title="Metafunctions"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="invoke_proc.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h5 class="title"> +<a name="fusion.functional.invocation.functions.invoke_fobj"></a><a class="link" href="invoke_fobj.html" title="invoke_function_object">invoke_function_object</a> +</h5></div></div></div> +<h6> +<a name="fusion.functional.invocation.functions.invoke_fobj.h0"></a> + <span><a name="fusion.functional.invocation.functions.invoke_fobj.description"></a></span><a class="link" href="invoke_fobj.html#fusion.functional.invocation.functions.invoke_fobj.description">Description</a> + </h6> +<p> + Calls a <a class="link" href="../../concepts/poly.html" title="Polymorphic Function Object">Polymorphic Function + Object</a> with the arguments from a <a class="link" href="../../../sequence.html" title="Sequence">Sequence</a>. + </p> +<p> + The first template parameter can be specialized explicitly to avoid copying + and/or to control the const qualification of a function object. + </p> +<p> + Constructors can be called applying <a href="http://www.boost.org/libs/functional/factory/doc/html/index.html" target="_top">Boost.Functional/Factory</a>. + </p> +<h6> +<a name="fusion.functional.invocation.functions.invoke_fobj.h1"></a> + <span><a name="fusion.functional.invocation.functions.invoke_fobj.synopsis"></a></span><a class="link" href="invoke_fobj.html#fusion.functional.invocation.functions.invoke_fobj.synopsis">Synopsis</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span> + <span class="keyword">typename</span> <span class="identifier">Function</span><span class="special">,</span> + <span class="keyword">class</span> <span class="identifier">Sequence</span> + <span class="special">></span> +<span class="keyword">typename</span> <a class="link" href="../metafunctions/invoke_fobj.html" title="invoke_function_object"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">invoke_function_object</span></code></a><span class="special"><</span><span class="identifier">Function</span><span class="special">,</span> <span class="identifier">Sequence</span><span class="special">>::</span><span class="identifier">type</span> +<span class="identifier">invoke_function_object</span><span class="special">(</span><span class="identifier">Function</span> <span class="identifier">f</span><span class="special">,</span> <span class="identifier">Sequence</span> <span class="special">&</span> <span class="identifier">s</span><span class="special">);</span> + +<span class="keyword">template</span><span class="special"><</span> + <span class="keyword">typename</span> <span class="identifier">Function</span><span class="special">,</span> + <span class="keyword">class</span> <span class="identifier">Sequence</span> + <span class="special">></span> +<span class="keyword">typename</span> <a class="link" href="../metafunctions/invoke_fobj.html" title="invoke_function_object"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">invoke_function_object</span></code></a><span class="special"><</span><span class="identifier">Function</span><span class="special">,</span> <span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">>::</span><span class="identifier">type</span> +<span class="identifier">invoke_function_object</span><span class="special">(</span><span class="identifier">Function</span> <span class="identifier">f</span><span class="special">,</span> <span class="identifier">Sequence</span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">s</span><span class="special">);</span> +</pre> +<h6> +<a name="fusion.functional.invocation.functions.invoke_fobj.h2"></a> + <span><a name="fusion.functional.invocation.functions.invoke_fobj.parameters"></a></span><a class="link" href="invoke_fobj.html#fusion.functional.invocation.functions.invoke_fobj.parameters">Parameters</a> + </h6> +<div class="informaltable"><table class="table"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Requirement + </p> + </th> +<th> + <p> + Description + </p> + </th> +</tr></thead> +<tbody> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">f</span></code> + </p> + </td> +<td> + <p> + Model of <a class="link" href="../../concepts/poly.html" title="Polymorphic Function Object">Polymorphic + Function Object</a> + </p> + </td> +<td> + <p> + The function object to call. + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">s</span></code> + </p> + </td> +<td> + <p> + Model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a> + </p> + </td> +<td> + <p> + The arguments. + </p> + </td> +</tr> +</tbody> +</table></div> +<h6> +<a name="fusion.functional.invocation.functions.invoke_fobj.h3"></a> + <span><a name="fusion.functional.invocation.functions.invoke_fobj.expression_semantics"></a></span><a class="link" href="invoke_fobj.html#fusion.functional.invocation.functions.invoke_fobj.expression_semantics">Expression + Semantics</a> + </h6> +<pre class="programlisting"><span class="identifier">invoke_function_object</span><span class="special">(</span><span class="identifier">f</span><span class="special">,</span><span class="identifier">s</span><span class="special">);</span> +</pre> +<p> + <span class="bold"><strong>Return type</strong></span>: Return type of <code class="computeroutput"><span class="identifier">f</span></code> when invoked with the elements in + <code class="computeroutput"><span class="identifier">s</span></code> as its arguments. + </p> +<p> + <span class="bold"><strong>Semantics</strong></span>: Invokes <code class="computeroutput"><span class="identifier">f</span></code> + with the elements in <code class="computeroutput"><span class="identifier">s</span></code> + as arguments and returns the result of the call expression. + </p> +<h6> +<a name="fusion.functional.invocation.functions.invoke_fobj.h4"></a> + <span><a name="fusion.functional.invocation.functions.invoke_fobj.header"></a></span><a class="link" href="invoke_fobj.html#fusion.functional.invocation.functions.invoke_fobj.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">functional</span><span class="special">/</span><span class="identifier">invocation</span><span class="special">/</span><span class="identifier">invoke_function_object</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h6> +<a name="fusion.functional.invocation.functions.invoke_fobj.h5"></a> + <span><a name="fusion.functional.invocation.functions.invoke_fobj.example"></a></span><a class="link" href="invoke_fobj.html#fusion.functional.invocation.functions.invoke_fobj.example">Example</a> + </h6> +<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">sub</span> +<span class="special">{</span> + <span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Sig</span><span class="special">></span> + <span class="keyword">struct</span> <span class="identifier">result</span><span class="special">;</span> + + <span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">Self</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T</span><span class="special">></span> + <span class="keyword">struct</span> <span class="identifier">result</span><span class="special"><</span> <span class="identifier">Self</span><span class="special">(</span><span class="identifier">T</span><span class="special">,</span><span class="identifier">T</span><span class="special">)</span> <span class="special">></span> + <span class="special">{</span> <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">remove_reference</span><span class="special"><</span><span class="identifier">T</span><span class="special">>::</span><span class="identifier">type</span> <span class="identifier">type</span><span class="special">;</span> <span class="special">};</span> + + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">></span> + <span class="identifier">T</span> <span class="keyword">operator</span><span class="special">()(</span><span class="identifier">T</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">rhs</span><span class="special">)</span> <span class="keyword">const</span> + <span class="special">{</span> + <span class="keyword">return</span> <span class="identifier">lhs</span> <span class="special">-</span> <span class="identifier">rhs</span><span class="special">;</span> + <span class="special">}</span> +<span class="special">};</span> + +<span class="keyword">void</span> <span class="identifier">try_it</span><span class="special">()</span> +<span class="special">{</span> + <span class="identifier">sub</span> <span class="identifier">f</span><span class="special">;</span> + <span class="identifier">assert</span><span class="special">(</span><span class="identifier">f</span><span class="special">(</span><span class="number">2</span><span class="special">,</span><span class="number">1</span><span class="special">)</span> <span class="special">==</span> <span class="identifier">invoke_function_object</span><span class="special">(</span><span class="identifier">f</span><span class="special">,</span><a class="link" href="../../../container/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></a><span class="special">(</span><span class="number">2</span><span class="special">,</span><span class="number">1</span><span class="special">)));</span> +<span class="special">}</span> +</pre> +<h6> +<a name="fusion.functional.invocation.functions.invoke_fobj.h6"></a> + <span><a name="fusion.functional.invocation.functions.invoke_fobj.see_also"></a></span><a class="link" href="invoke_fobj.html#fusion.functional.invocation.functions.invoke_fobj.see_also">See + also</a> + </h6> +<div class="itemizedlist"><ul class="itemizedlist" type="disc"> +<li class="listitem"> + <a class="link" href="invoke.html" title="invoke"><code class="computeroutput"><span class="identifier">invoke</span></code></a> + </li> +<li class="listitem"> + <a class="link" href="invoke_proc.html" title="invoke_procedure"><code class="computeroutput"><span class="identifier">invoke_procedure</span></code></a> + </li> +<li class="listitem"> + <a class="link" href="../metafunctions/invoke_fobj.html" title="invoke_function_object"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">invoke_function_object</span></code></a> + </li> +<li class="listitem"> + <a class="link" href="../../adapters/fused_function_object.html" title="fused_function_object"><code class="computeroutput"><span class="identifier">fused_function_object</span></code></a> + </li> +<li class="listitem"> + <a class="link" href="../../generation/functions/mk_fused_fobj.html" title="make_fused_function_object"><code class="computeroutput"><span class="identifier">make_fused_function_object</span></code></a> + </li> +</ul></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-2006, 2011 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="invoke_proc.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/functional/invocation/functions/invoke_proc.html b/libs/fusion/doc/html/fusion/functional/invocation/functions/invoke_proc.html new file mode 100755 index 0000000000..c761eabaa7 --- /dev/null +++ b/libs/fusion/doc/html/fusion/functional/invocation/functions/invoke_proc.html @@ -0,0 +1,204 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>invoke_procedure</title> +<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../functions.html" title="Functions"> +<link rel="prev" href="invoke.html" title="invoke"> +<link rel="next" href="invoke_fobj.html" title="invoke_function_object"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="invoke.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="invoke_fobj.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h5 class="title"> +<a name="fusion.functional.invocation.functions.invoke_proc"></a><a class="link" href="invoke_proc.html" title="invoke_procedure">invoke_procedure</a> +</h5></div></div></div> +<h6> +<a name="fusion.functional.invocation.functions.invoke_proc.h0"></a> + <span><a name="fusion.functional.invocation.functions.invoke_proc.description"></a></span><a class="link" href="invoke_proc.html#fusion.functional.invocation.functions.invoke_proc.description">Description</a> + </h6> +<p> + Calls a <a class="link" href="../../concepts/callable.html" title="Callable Object">Callable + Object</a> with the arguments from a <a class="link" href="../../../sequence.html" title="Sequence">Sequence</a>. + The result of the call is ignored. + </p> +<p> + The first template parameter can be specialized explicitly to avoid copying + and/or to control the const qualification of a function object. + </p> +<p> + For pointers to class members corresponding object can be specified as + a reference, pointer, or smart pointer. In case of the latter, a freestanding + <code class="literal">get_pointer</code> function must be defined (Boost provides + this function for <code class="literal">std::auto_ptr</code> and <a href="http://www.boost.org/libs/smart_ptr/shared_ptr.htm" target="_top"><code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">shared_ptr</span></code></a>). + </p> +<p> + The target function must not be a pointer to a member object (dereferencing + such a pointer without returning anything does not make sense, so it + isn't implemented). + </p> +<h6> +<a name="fusion.functional.invocation.functions.invoke_proc.h1"></a> + <span><a name="fusion.functional.invocation.functions.invoke_proc.synopsis"></a></span><a class="link" href="invoke_proc.html#fusion.functional.invocation.functions.invoke_proc.synopsis">Synopsis</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span> + <span class="keyword">typename</span> <span class="identifier">Function</span><span class="special">,</span> + <span class="keyword">class</span> <span class="identifier">Sequence</span> + <span class="special">></span> +<span class="keyword">typename</span> <a class="link" href="../metafunctions/invoke_proc.html" title="invoke_procedure"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">invoke_procedure</span></code></a><span class="special"><</span><span class="identifier">Function</span><span class="special">,</span> <span class="identifier">Sequence</span><span class="special">>::</span><span class="identifier">type</span> +<span class="identifier">invoke_procedure</span><span class="special">(</span><span class="identifier">Function</span> <span class="identifier">f</span><span class="special">,</span> <span class="identifier">Sequence</span> <span class="special">&</span> <span class="identifier">s</span><span class="special">);</span> + +<span class="keyword">template</span><span class="special"><</span> + <span class="keyword">typename</span> <span class="identifier">Function</span><span class="special">,</span> + <span class="keyword">class</span> <span class="identifier">Sequence</span> + <span class="special">></span> +<span class="keyword">typename</span> <a class="link" href="../metafunctions/invoke_proc.html" title="invoke_procedure"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">invoke_procedure</span></code></a><span class="special"><</span><span class="identifier">Function</span><span class="special">,</span> <span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">>::</span><span class="identifier">type</span> +<span class="identifier">invoke_procedure</span><span class="special">(</span><span class="identifier">Function</span> <span class="identifier">f</span><span class="special">,</span> <span class="identifier">Sequence</span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">s</span><span class="special">);</span> +</pre> +<h6> +<a name="fusion.functional.invocation.functions.invoke_proc.h2"></a> + <span><a name="fusion.functional.invocation.functions.invoke_proc.parameters"></a></span><a class="link" href="invoke_proc.html#fusion.functional.invocation.functions.invoke_proc.parameters">Parameters</a> + </h6> +<div class="informaltable"><table class="table"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Requirement + </p> + </th> +<th> + <p> + Description + </p> + </th> +</tr></thead> +<tbody> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">f</span></code> + </p> + </td> +<td> + <p> + Model of <a class="link" href="../../concepts/callable.html" title="Callable Object">Callable + Object</a> + </p> + </td> +<td> + <p> + The function to call. + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">s</span></code> + </p> + </td> +<td> + <p> + Model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a> + </p> + </td> +<td> + <p> + The arguments. + </p> + </td> +</tr> +</tbody> +</table></div> +<h6> +<a name="fusion.functional.invocation.functions.invoke_proc.h3"></a> + <span><a name="fusion.functional.invocation.functions.invoke_proc.expression_semantics"></a></span><a class="link" href="invoke_proc.html#fusion.functional.invocation.functions.invoke_proc.expression_semantics">Expression + Semantics</a> + </h6> +<pre class="programlisting"><span class="identifier">invoke_procedure</span><span class="special">(</span><span class="identifier">f</span><span class="special">,</span><span class="identifier">s</span><span class="special">);</span> +</pre> +<p> + <span class="bold"><strong>Return type</strong></span>: <code class="computeroutput"><span class="keyword">void</span></code> + </p> +<p> + <span class="bold"><strong>Semantics</strong></span>: Invokes <code class="computeroutput"><span class="identifier">f</span></code> + with the elements in <code class="computeroutput"><span class="identifier">s</span></code> + as arguments. + </p> +<h6> +<a name="fusion.functional.invocation.functions.invoke_proc.h4"></a> + <span><a name="fusion.functional.invocation.functions.invoke_proc.header"></a></span><a class="link" href="invoke_proc.html#fusion.functional.invocation.functions.invoke_proc.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">booost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">functional</span><span class="special">/</span><span class="identifier">invocation</span><span class="special">/</span><span class="identifier">invoke_procedure</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h6> +<a name="fusion.functional.invocation.functions.invoke_proc.h5"></a> + <span><a name="fusion.functional.invocation.functions.invoke_proc.example"></a></span><a class="link" href="invoke_proc.html#fusion.functional.invocation.functions.invoke_proc.example">Example</a> + </h6> +<pre class="programlisting"><a class="link" href="../../../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">int</span><span class="special">></span> <span class="identifier">v</span><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">);</span> +<span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">lambda</span><span class="special">;</span> +<span class="identifier">invoke_procedure</span><span class="special">(</span><span class="identifier">_1</span> <span class="special">+=</span> <span class="identifier">_2</span><span class="special">,</span> <span class="identifier">v</span><span class="special">);</span> +<span class="identifier">assert</span><span class="special">(</span><a class="link" href="../../../sequence/intrinsic/functions/front.html" title="front"><code class="computeroutput"><span class="identifier">front</span></code></a><span class="special">(</span><span class="identifier">v</span><span class="special">)</span> <span class="special">==</span> <span class="number">3</span><span class="special">);</span> +</pre> +<h6> +<a name="fusion.functional.invocation.functions.invoke_proc.h6"></a> + <span><a name="fusion.functional.invocation.functions.invoke_proc.see_also"></a></span><a class="link" href="invoke_proc.html#fusion.functional.invocation.functions.invoke_proc.see_also">See + also</a> + </h6> +<div class="itemizedlist"><ul class="itemizedlist" type="disc"> +<li class="listitem"> + <a class="link" href="invoke.html" title="invoke"><code class="computeroutput"><span class="identifier">invoke</span></code></a> + </li> +<li class="listitem"> + <a class="link" href="invoke_fobj.html" title="invoke_function_object"><code class="computeroutput"><span class="identifier">invoke_function_object</span></code></a> + </li> +<li class="listitem"> + <a class="link" href="../metafunctions/invoke_proc.html" title="invoke_procedure"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">invoke_procedure</span></code></a> + </li> +<li class="listitem"> + <a class="link" href="../../adapters/fused_procedure.html" title="fused_procedure"><code class="computeroutput"><span class="identifier">fused_procedure</span></code></a> + </li> +<li class="listitem"> + <a class="link" href="../../generation/functions/mk_fused_proc.html" title="make_fused_procedure"><code class="computeroutput"><span class="identifier">make_fused_procedure</span></code></a> + </li> +</ul></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-2006, 2011 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="invoke.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="invoke_fobj.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/functional/invocation/limits.html b/libs/fusion/doc/html/fusion/functional/invocation/limits.html new file mode 100755 index 0000000000..7d2b113fd6 --- /dev/null +++ b/libs/fusion/doc/html/fusion/functional/invocation/limits.html @@ -0,0 +1,69 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Limits</title> +<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../invocation.html" title="Invocation"> +<link rel="prev" href="metafunctions/invoke_fobj.html" title="invoke_function_object"> +<link rel="next" href="../adapters.html" title="Adapters"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="metafunctions/invoke_fobj.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../invocation.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../adapters.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h4 class="title"> +<a name="fusion.functional.invocation.limits"></a><a class="link" href="limits.html" title="Limits">Limits</a> +</h4></div></div></div> +<h6> +<a name="fusion.functional.invocation.limits.h0"></a> + <span><a name="fusion.functional.invocation.limits.header"></a></span><a class="link" href="limits.html#fusion.functional.invocation.limits.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">functional</span><span class="special">/</span><span class="identifier">invocation</span><span class="special">/</span><span class="identifier">limits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h6> +<a name="fusion.functional.invocation.limits.h1"></a> + <span><a name="fusion.functional.invocation.limits.macros"></a></span><a class="link" href="limits.html#fusion.functional.invocation.limits.macros">Macros</a> + </h6> +<p> + The following macros can be defined to change the maximum arity. The default + is 6. + </p> +<div class="itemizedlist"><ul class="itemizedlist" type="disc"> +<li class="listitem"> + BOOST_FUSION_INVOKE_MAX_ARITY + </li> +<li class="listitem"> + BOOST_FUSION_INVOKE_PROCEDURE_MAX_ARITY + </li> +<li class="listitem"> + BOOST_FUSION_INVOKE_FUNCTION_OBJECT_MAX_ARITY + </li> +</ul></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-2006, 2011 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="metafunctions/invoke_fobj.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../invocation.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../adapters.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/functional/invocation/metafunctions.html b/libs/fusion/doc/html/fusion/functional/invocation/metafunctions.html new file mode 100755 index 0000000000..e01fc9dfce --- /dev/null +++ b/libs/fusion/doc/html/fusion/functional/invocation/metafunctions.html @@ -0,0 +1,49 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Metafunctions</title> +<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../invocation.html" title="Invocation"> +<link rel="prev" href="functions/invoke_fobj.html" title="invoke_function_object"> +<link rel="next" href="metafunctions/invoke.html" title="invoke"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="functions/invoke_fobj.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../invocation.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="metafunctions/invoke.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h4 class="title"> +<a name="fusion.functional.invocation.metafunctions"></a><a class="link" href="metafunctions.html" title="Metafunctions">Metafunctions</a> +</h4></div></div></div> +<div class="toc"><dl> +<dt><span class="section"><a href="metafunctions/invoke.html">invoke</a></span></dt> +<dt><span class="section"><a href="metafunctions/invoke_proc.html">invoke_procedure</a></span></dt> +<dt><span class="section"><a href="metafunctions/invoke_fobj.html">invoke_function_object</a></span></dt> +</dl></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-2006, 2011 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="functions/invoke_fobj.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../invocation.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="metafunctions/invoke.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/functional/invocation/metafunctions/invoke.html b/libs/fusion/doc/html/fusion/functional/invocation/metafunctions/invoke.html new file mode 100755 index 0000000000..f7c74cd86b --- /dev/null +++ b/libs/fusion/doc/html/fusion/functional/invocation/metafunctions/invoke.html @@ -0,0 +1,80 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>invoke</title> +<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../metafunctions.html" title="Metafunctions"> +<link rel="prev" href="../metafunctions.html" title="Metafunctions"> +<link rel="next" href="invoke_proc.html" title="invoke_procedure"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="../metafunctions.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="invoke_proc.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h5 class="title"> +<a name="fusion.functional.invocation.metafunctions.invoke"></a><a class="link" href="invoke.html" title="invoke">invoke</a> +</h5></div></div></div> +<h6> +<a name="fusion.functional.invocation.metafunctions.invoke.h0"></a> + <span><a name="fusion.functional.invocation.metafunctions.invoke.description"></a></span><a class="link" href="invoke.html#fusion.functional.invocation.metafunctions.invoke.description">Description</a> + </h6> +<p> + Returns the result type of <a class="link" href="../functions/invoke.html" title="invoke"><code class="computeroutput"><span class="identifier">invoke</span></code></a>. + </p> +<h6> +<a name="fusion.functional.invocation.metafunctions.invoke.h1"></a> + <span><a name="fusion.functional.invocation.metafunctions.invoke.synopsis"></a></span><a class="link" href="invoke.html#fusion.functional.invocation.metafunctions.invoke.synopsis">Synopsis</a> + </h6> +<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">result_of</span> +<span class="special">{</span> + <span class="keyword">template</span><span class="special"><</span> + <span class="keyword">typename</span> <span class="identifier">Function</span><span class="special">,</span> + <span class="keyword">class</span> <span class="identifier">Sequence</span> + <span class="special">></span> + <span class="keyword">struct</span> <span class="identifier">invoke</span> + <span class="special">{</span> + <span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">type</span><span class="special">;</span> + <span class="special">};</span> +<span class="special">}</span> +</pre> +<h6> +<a name="fusion.functional.invocation.metafunctions.invoke.h2"></a> + <span><a name="fusion.functional.invocation.metafunctions.invoke.see_also"></a></span><a class="link" href="invoke.html#fusion.functional.invocation.metafunctions.invoke.see_also">See + also</a> + </h6> +<div class="itemizedlist"><ul class="itemizedlist" type="disc"> +<li class="listitem"> + <a class="link" href="../functions/invoke.html" title="invoke"><code class="computeroutput"><span class="identifier">invoke</span></code></a> + </li> +<li class="listitem"> + <a class="link" href="../../adapters/fused.html" title="fused"><code class="computeroutput"><span class="identifier">fused</span></code></a> + </li> +</ul></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-2006, 2011 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="../metafunctions.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="invoke_proc.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/functional/invocation/metafunctions/invoke_fobj.html b/libs/fusion/doc/html/fusion/functional/invocation/metafunctions/invoke_fobj.html new file mode 100755 index 0000000000..e084a0fd58 --- /dev/null +++ b/libs/fusion/doc/html/fusion/functional/invocation/metafunctions/invoke_fobj.html @@ -0,0 +1,80 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>invoke_function_object</title> +<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../metafunctions.html" title="Metafunctions"> +<link rel="prev" href="invoke_proc.html" title="invoke_procedure"> +<link rel="next" href="../limits.html" title="Limits"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="invoke_proc.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../limits.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h5 class="title"> +<a name="fusion.functional.invocation.metafunctions.invoke_fobj"></a><a class="link" href="invoke_fobj.html" title="invoke_function_object">invoke_function_object</a> +</h5></div></div></div> +<h6> +<a name="fusion.functional.invocation.metafunctions.invoke_fobj.h0"></a> + <span><a name="fusion.functional.invocation.metafunctions.invoke_fobj.description"></a></span><a class="link" href="invoke_fobj.html#fusion.functional.invocation.metafunctions.invoke_fobj.description">Description</a> + </h6> +<p> + Returns the result type of <a class="link" href="../functions/invoke_fobj.html" title="invoke_function_object"><code class="computeroutput"><span class="identifier">invoke_function_object</span></code></a>. + </p> +<h6> +<a name="fusion.functional.invocation.metafunctions.invoke_fobj.h1"></a> + <span><a name="fusion.functional.invocation.metafunctions.invoke_fobj.synopsis"></a></span><a class="link" href="invoke_fobj.html#fusion.functional.invocation.metafunctions.invoke_fobj.synopsis">Synopsis</a> + </h6> +<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">result_of</span> +<span class="special">{</span> + <span class="keyword">template</span><span class="special"><</span> + <span class="keyword">class</span> <span class="identifier">Function</span><span class="special">,</span> + <span class="keyword">class</span> <span class="identifier">Sequence</span> + <span class="special">></span> + <span class="keyword">struct</span> <span class="identifier">invoke_function_object</span> + <span class="special">{</span> + <span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">type</span><span class="special">;</span> + <span class="special">};</span> +<span class="special">}</span> +</pre> +<h6> +<a name="fusion.functional.invocation.metafunctions.invoke_fobj.h2"></a> + <span><a name="fusion.functional.invocation.metafunctions.invoke_fobj.see_also"></a></span><a class="link" href="invoke_fobj.html#fusion.functional.invocation.metafunctions.invoke_fobj.see_also">See + also</a> + </h6> +<div class="itemizedlist"><ul class="itemizedlist" type="disc"> +<li class="listitem"> + <a class="link" href="../functions/invoke_fobj.html" title="invoke_function_object"><code class="computeroutput"><span class="identifier">invoke_function_object</span></code></a> + </li> +<li class="listitem"> + <a class="link" href="../../adapters/fused_function_object.html" title="fused_function_object"><code class="computeroutput"><span class="identifier">fused_function_object</span></code></a> + </li> +</ul></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-2006, 2011 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="invoke_proc.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../limits.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/functional/invocation/metafunctions/invoke_proc.html b/libs/fusion/doc/html/fusion/functional/invocation/metafunctions/invoke_proc.html new file mode 100755 index 0000000000..ed992d2675 --- /dev/null +++ b/libs/fusion/doc/html/fusion/functional/invocation/metafunctions/invoke_proc.html @@ -0,0 +1,80 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>invoke_procedure</title> +<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../metafunctions.html" title="Metafunctions"> +<link rel="prev" href="invoke.html" title="invoke"> +<link rel="next" href="invoke_fobj.html" title="invoke_function_object"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="invoke.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="invoke_fobj.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h5 class="title"> +<a name="fusion.functional.invocation.metafunctions.invoke_proc"></a><a class="link" href="invoke_proc.html" title="invoke_procedure">invoke_procedure</a> +</h5></div></div></div> +<h6> +<a name="fusion.functional.invocation.metafunctions.invoke_proc.h0"></a> + <span><a name="fusion.functional.invocation.metafunctions.invoke_proc.description"></a></span><a class="link" href="invoke_proc.html#fusion.functional.invocation.metafunctions.invoke_proc.description">Description</a> + </h6> +<p> + Returns the result type of <a class="link" href="../functions/invoke_proc.html" title="invoke_procedure"><code class="computeroutput"><span class="identifier">invoke_procedure</span></code></a>. + </p> +<h6> +<a name="fusion.functional.invocation.metafunctions.invoke_proc.h1"></a> + <span><a name="fusion.functional.invocation.metafunctions.invoke_proc.synopsis"></a></span><a class="link" href="invoke_proc.html#fusion.functional.invocation.metafunctions.invoke_proc.synopsis">Synopsis</a> + </h6> +<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">result_of</span> +<span class="special">{</span> + <span class="keyword">template</span><span class="special"><</span> + <span class="keyword">typename</span> <span class="identifier">Function</span><span class="special">,</span> + <span class="keyword">class</span> <span class="identifier">Sequence</span> + <span class="special">></span> + <span class="keyword">struct</span> <span class="identifier">invoke_procedure</span> + <span class="special">{</span> + <span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">type</span><span class="special">;</span> + <span class="special">};</span> +<span class="special">}</span> +</pre> +<h6> +<a name="fusion.functional.invocation.metafunctions.invoke_proc.h2"></a> + <span><a name="fusion.functional.invocation.metafunctions.invoke_proc.see_also"></a></span><a class="link" href="invoke_proc.html#fusion.functional.invocation.metafunctions.invoke_proc.see_also">See + also</a> + </h6> +<div class="itemizedlist"><ul class="itemizedlist" type="disc"> +<li class="listitem"> + <a class="link" href="../functions/invoke_proc.html" title="invoke_procedure"><code class="computeroutput"><span class="identifier">invoke_procedure</span></code></a> + </li> +<li class="listitem"> + <a class="link" href="../../adapters/fused_procedure.html" title="fused_procedure"><code class="computeroutput"><span class="identifier">fused_procedure</span></code></a> + </li> +</ul></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-2006, 2011 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="invoke.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="invoke_fobj.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/introduction.html b/libs/fusion/doc/html/fusion/introduction.html new file mode 100755 index 0000000000..5754b9948f --- /dev/null +++ b/libs/fusion/doc/html/fusion/introduction.html @@ -0,0 +1,155 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Introduction</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="prev" href="preface.html" title="Preface"> +<link rel="next" href="quick_start.html" title="Quick Start"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="preface.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="quick_start.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h2 class="title" style="clear: both"> +<a name="fusion.introduction"></a><a class="link" href="introduction.html" title="Introduction">Introduction</a> +</h2></div></div></div> +<p> + An advantage other languages such as Python and Lisp/ Scheme, ML and Haskell, + etc., over C++ is the ability to have heterogeneous containers that can hold + arbitrary element types. All the containers in the standard library can only + hold a specific type. A <code class="computeroutput"><span class="identifier">vector</span><span class="special"><</span><span class="keyword">int</span><span class="special">></span></code> + can only hold <code class="computeroutput"><span class="keyword">int</span></code>s. A <code class="computeroutput"><span class="identifier">list</span><span class="special"><</span><span class="identifier">X</span><span class="special">></span></code> can + only hold elements of type <code class="computeroutput"><span class="identifier">X</span></code>, + and so on. + </p> +<p> + True, you can use inheritance to make the containers hold different types, + related through subclassing. However, you have to hold the objects through + a pointer or smart reference of some sort. Doing this, you'll have to rely + on virtual functions to provide polymorphic behavior since the actual type + is erased as soon as you store a pointer to a derived class to a pointer to + its base. The held objects must be related: you cannot hold objects of unrelated + types such as <code class="computeroutput"><span class="keyword">char</span></code>, <code class="computeroutput"><span class="keyword">int</span></code>, <code class="computeroutput"><span class="keyword">class</span> + <span class="identifier">X</span></code>, <code class="computeroutput"><span class="keyword">float</span></code>, + etc. Oh sure you can use something like <a href="http://boost.org/doc/html/any.html" target="_top">Boost.Any</a> + to hold arbitrary types, but then you pay more in terms of runtime costs and + due to the fact that you practically erased all type information, you'll have + to perform dangerous casts to get back the original type. + </p> +<p> + The <a href="http://www.boost.org/libs/tuple/doc/tuple_users_guide.html" target="_top">Boost.Tuple</a> + library written by <a href="http://www.boost.org/people/jaakko_jarvi.htm" target="_top">Jaakko + Jarvi</a> provides heterogeneous containers in C++. The <code class="computeroutput"><span class="identifier">tuple</span></code> + is a basic data structure that can hold heterogeneous types. It's a good first + step, but it's not complete. What's missing are the algorithms. It's nice that + we can store and retrieve data to and from tuples, pass them around as arguments + and return types. As it is, the <a href="http://www.boost.org/libs/tuple/doc/tuple_users_guide.html" target="_top">Boost.Tuple</a> + facility is already very useful. Yet, as soon as you use it more often, usage + patterns emerge. Eventually, you collect these patterns into algorithm libraries. + </p> +<p> + Hmmm, kinda reminds us of STL right? Right! Can you imagine how it would be + like if you used STL without the algorithms? Everyone will have to reinvent + their own <span class="emphasis"><em>algorithm</em></span> wheels. + </p> +<p> + Fusion is a library and a framework similar to both <a href="http://en.wikipedia.org/wiki/Standard_Template_Library" target="_top">STL</a> + and the boost <a href="http://www.boost.org/libs/mpl/index.html" target="_top">MPL</a>. + The structure is modeled after <a href="http://www.boost.org/libs/mpl/index.html" target="_top">MPL</a>, + which is modeled after <a href="http://en.wikipedia.org/wiki/Standard_Template_Library" target="_top">STL</a>. + It is named "fusion" because the library is reminiscent of the "fusion" + of compile time meta-programming with runtime programming. The library inherently + has some interesting flavors and characteristics of both <a href="http://www.boost.org/libs/mpl/index.html" target="_top">MPL</a> + and <a href="http://en.wikipedia.org/wiki/Standard_Template_Library" target="_top">STL</a>. + It lives in the twilight zone between compile time meta-programming and run + time programming. <a href="http://en.wikipedia.org/wiki/Standard_Template_Library" target="_top">STL</a> + containers work on values. MPL containers work on types. Fusion containers + work on both types and values. + </p> +<p> + Unlike <a href="http://www.boost.org/libs/mpl/index.html" target="_top">MPL</a>, Fusion + algorithms are lazy and non sequence-type preserving. What does that mean? + It means that when you operate on a sequence through a Fusion algorithm that + returns a sequence, the sequence returned may not be of the same class as the + original. This is by design. Runtime efficiency is given a high priority. Like + <a href="http://www.boost.org/libs/mpl/index.html" target="_top">MPL</a>, and unlike + <a href="http://en.wikipedia.org/wiki/Standard_Template_Library" target="_top">STL</a>, + fusion algorithms are functional in nature such that algorithms are non mutating + (no side effects). However, due to the high cost of returning full sequences + such as vectors and lists, <span class="emphasis"><em>Views</em></span> are returned from Fusion + algorithms instead. For example, the <a class="link" href="algorithm/transformation/functions/transform.html" title="transform"><code class="computeroutput"><span class="identifier">transform</span></code></a> algorithm does not actually + return a transformed version of the original sequence. <a class="link" href="algorithm/transformation/functions/transform.html" title="transform"><code class="computeroutput"><span class="identifier">transform</span></code></a> returns a <a class="link" href="view/transform_view.html" title="transform_view"><code class="computeroutput"><span class="identifier">transform_view</span></code></a>. This view holds a + reference to the original sequence plus the transform function. Iteration over + the <a class="link" href="view/transform_view.html" title="transform_view"><code class="computeroutput"><span class="identifier">transform_view</span></code></a> + will apply the transform function over the sequence elements on demand. This + <span class="emphasis"><em>lazy</em></span> evaluation scheme allows us to chain as many algorithms + as we want without incurring a high runtime penalty. + </p> +<p> + The <span class="emphasis"><em>lazy</em></span> evaluation scheme where algorithms return views + allows operations such as <a class="link" href="algorithm/transformation/functions/push_back.html" title="push_back"><code class="computeroutput"><span class="identifier">push_back</span></code></a> to be totally generic. In + Fusion, <a class="link" href="algorithm/transformation/functions/push_back.html" title="push_back"><code class="computeroutput"><span class="identifier">push_back</span></code></a> is actually a generic algorithm + that works on all sequences. Given an input sequence <code class="computeroutput"><span class="identifier">s</span></code> + and a value <code class="computeroutput"><span class="identifier">x</span></code>, Fusion's <a class="link" href="algorithm/transformation/functions/push_back.html" title="push_back"><code class="computeroutput"><span class="identifier">push_back</span></code></a> algorithm simply returns + a <a class="link" href="view/joint_view.html" title="joint_view"><code class="computeroutput"><span class="identifier">joint_view</span></code></a>: + a view that holds a reference to the original sequence <code class="computeroutput"><span class="identifier">s</span></code> + and the value <code class="computeroutput"><span class="identifier">x</span></code>. Functions + that were once sequence specific and need to be implemented N times over N + different sequences are now implemented only once. + </p> +<p> + Fusion provides full round compatibility with <a href="http://www.boost.org/libs/mpl/index.html" target="_top">MPL</a>. + Fusion sequences are fully conforming <a href="http://www.boost.org/libs/mpl/index.html" target="_top">MPL</a> + sequences and <a href="http://www.boost.org/libs/mpl/index.html" target="_top">MPL</a> + sequences are fully compatible with Fusion. You can work with Fusion sequences + on <a href="http://www.boost.org/libs/mpl/index.html" target="_top">MPL</a> if you + wish to work solely on types <sup>[<a name="fusion.introduction.f0" href="#ftn.fusion.introduction.f0" class="footnote">1</a>]</sup>. In <a href="http://www.boost.org/libs/mpl/index.html" target="_top">MPL</a>, + Fusion sequences follow <a href="http://www.boost.org/libs/mpl/index.html" target="_top">MPL</a>'s + sequence-type preserving semantics (i.e. algorithms preserve the original sequence + type. e.g. transforming a vector returns a vector). You can also convert from + an <a href="http://www.boost.org/libs/mpl/index.html" target="_top">MPL</a> sequence + to a Fusion sequence. For example, there are times when it is convenient to + work solely on <a href="http://www.boost.org/libs/mpl/index.html" target="_top">MPL</a> + using pure <a href="http://www.boost.org/libs/mpl/index.html" target="_top">MPL</a> + sequences, then, convert them to Fusion sequences as a final step before actual + instantiation of real runtime objects with data. You have the best of both + worlds. + </p> +<div class="footnotes"> +<br><hr width="100" align="left"> +<div class="footnote"><p><sup>[<a id="ftn.fusion.introduction.f0" href="#fusion.introduction.f0" class="para">1</a>] </sup> + Choose <a href="http://www.boost.org/libs/mpl/index.html" target="_top">MPL</a> + over fusion when doing pure type calculations. Once the static type calculation + is finished, you can instantiate a fusion sequence (see <a class="link" href="container/conversion/functions.html" title="Functions">Conversion</a>) + for the runtime part. + </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-2006, 2011 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="preface.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="quick_start.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/iterator.html b/libs/fusion/doc/html/fusion/iterator.html new file mode 100755 index 0000000000..4eaaa40310 --- /dev/null +++ b/libs/fusion/doc/html/fusion/iterator.html @@ -0,0 +1,105 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Iterator</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="prev" href="support/pair.html" title="pair"> +<link rel="next" href="iterator/concepts.html" title="Concepts"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="support/pair.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="iterator/concepts.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h2 class="title" style="clear: both"> +<a name="fusion.iterator"></a><a class="link" href="iterator.html" title="Iterator">Iterator</a> +</h2></div></div></div> +<div class="toc"><dl> +<dt><span class="section"><a href="iterator/concepts.html">Concepts</a></span></dt> +<dd><dl> +<dt><span class="section"><a href="iterator/concepts/forward_iterator.html">Forward + Iterator</a></span></dt> +<dt><span class="section"><a href="iterator/concepts/bidirectional_iterator.html">Bidirectional + Iterator</a></span></dt> +<dt><span class="section"><a href="iterator/concepts/random_access_iterator.html">Random + Access Iterator</a></span></dt> +<dt><span class="section"><a href="iterator/concepts/associative_iterator.html">Associative + Iterator</a></span></dt> +</dl></dd> +<dt><span class="section"><a href="iterator/functions.html">Functions</a></span></dt> +<dd><dl> +<dt><span class="section"><a href="iterator/functions/deref.html">deref</a></span></dt> +<dt><span class="section"><a href="iterator/functions/next.html">next</a></span></dt> +<dt><span class="section"><a href="iterator/functions/prior.html">prior</a></span></dt> +<dt><span class="section"><a href="iterator/functions/distance.html">distance</a></span></dt> +<dt><span class="section"><a href="iterator/functions/advance.html">advance</a></span></dt> +<dt><span class="section"><a href="iterator/functions/advance_c.html">advance_c</a></span></dt> +<dt><span class="section"><a href="iterator/functions/deref_data.html">deref_data</a></span></dt> +</dl></dd> +<dt><span class="section"><a href="iterator/operator.html">Operator</a></span></dt> +<dd><dl> +<dt><span class="section"><a href="iterator/operator/operator_unary_star.html">Operator + *</a></span></dt> +<dt><span class="section"><a href="iterator/operator/operator_equality.html">Operator + ==</a></span></dt> +<dt><span class="section"><a href="iterator/operator/operator_inequality.html">Operator + !=</a></span></dt> +</dl></dd> +<dt><span class="section"><a href="iterator/metafunctions.html">Metafunctions</a></span></dt> +<dd><dl> +<dt><span class="section"><a href="iterator/metafunctions/value_of.html">value_of</a></span></dt> +<dt><span class="section"><a href="iterator/metafunctions/deref.html">deref</a></span></dt> +<dt><span class="section"><a href="iterator/metafunctions/next.html">next</a></span></dt> +<dt><span class="section"><a href="iterator/metafunctions/prior.html">prior</a></span></dt> +<dt><span class="section"><a href="iterator/metafunctions/equal_to.html">equal_to</a></span></dt> +<dt><span class="section"><a href="iterator/metafunctions/distance.html">distance</a></span></dt> +<dt><span class="section"><a href="iterator/metafunctions/advance.html">advance</a></span></dt> +<dt><span class="section"><a href="iterator/metafunctions/advance_c.html">advance_c</a></span></dt> +<dt><span class="section"><a href="iterator/metafunctions/key_of.html">key_of</a></span></dt> +<dt><span class="section"><a href="iterator/metafunctions/value_of_data.html">value_of_data</a></span></dt> +<dt><span class="section"><a href="iterator/metafunctions/deref_data.html">deref_data</a></span></dt> +</dl></dd> +</dl></div> +<p> + Like <a href="http://www.boost.org/libs/mpl/index.html" target="_top">MPL</a> and + <a href="http://en.wikipedia.org/wiki/Standard_Template_Library" target="_top">STL</a>, + iterators are a fundamental concept in Fusion. As with <a href="http://www.boost.org/libs/mpl/index.html" target="_top">MPL</a> + and <a href="http://en.wikipedia.org/wiki/Standard_Template_Library" target="_top">STL</a> + iterators describe positions, and provide access to data within an underlying + <a class="link" href="sequence.html" title="Sequence">Sequence</a>. + </p> +<h4> +<a name="fusion.iterator.h0"></a> + <span><a name="fusion.iterator.header"></a></span><a class="link" href="iterator.html#fusion.iterator.header">Header</a> + </h4> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">iterator</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">iterator</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +</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-2006, 2011 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="support/pair.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="iterator/concepts.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/iterator/concepts.html b/libs/fusion/doc/html/fusion/iterator/concepts.html new file mode 100755 index 0000000000..532797b4cc --- /dev/null +++ b/libs/fusion/doc/html/fusion/iterator/concepts.html @@ -0,0 +1,66 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Concepts</title> +<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../iterator.html" title="Iterator"> +<link rel="prev" href="../iterator.html" title="Iterator"> +<link rel="next" href="concepts/forward_iterator.html" title="Forward Iterator"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="../iterator.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../iterator.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="concepts/forward_iterator.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h3 class="title"> +<a name="fusion.iterator.concepts"></a><a class="link" href="concepts.html" title="Concepts">Concepts</a> +</h3></div></div></div> +<div class="toc"><dl> +<dt><span class="section"><a href="concepts/forward_iterator.html">Forward + Iterator</a></span></dt> +<dt><span class="section"><a href="concepts/bidirectional_iterator.html">Bidirectional + Iterator</a></span></dt> +<dt><span class="section"><a href="concepts/random_access_iterator.html">Random + Access Iterator</a></span></dt> +<dt><span class="section"><a href="concepts/associative_iterator.html">Associative + Iterator</a></span></dt> +</dl></div> +<p> + Fusion iterators are divided into different traversal categories. <a class="link" href="concepts/forward_iterator.html" title="Forward Iterator">Forward + Iterator</a> is the most basic concept. <a class="link" href="concepts/bidirectional_iterator.html" title="Bidirectional Iterator">Bidirectional + Iterator</a> is a refinement of <a class="link" href="concepts/forward_iterator.html" title="Forward Iterator">Forward + Iterator</a>. <a class="link" href="concepts/random_access_iterator.html" title="Random Access Iterator">Random + Access Iterator</a> is a refinement of <a class="link" href="concepts/bidirectional_iterator.html" title="Bidirectional Iterator">Bidirectional + Iterator</a>. <a class="link" href="concepts/associative_iterator.html" title="Associative Iterator">Associative + Iterator</a> is a refinement of <a class="link" href="concepts/forward_iterator.html" title="Forward Iterator">Forward + Iterator</a>, <a class="link" href="concepts/bidirectional_iterator.html" title="Bidirectional Iterator">Bidirectional + Iterator</a> or <a class="link" href="concepts/random_access_iterator.html" title="Random Access Iterator">Random + Access Iterator</a>. + </p> +</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-2006, 2011 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="../iterator.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../iterator.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="concepts/forward_iterator.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/iterator/concepts/associative_iterator.html b/libs/fusion/doc/html/fusion/iterator/concepts/associative_iterator.html new file mode 100755 index 0000000000..d69ccfd10b --- /dev/null +++ b/libs/fusion/doc/html/fusion/iterator/concepts/associative_iterator.html @@ -0,0 +1,228 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Associative Iterator</title> +<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../concepts.html" title="Concepts"> +<link rel="prev" href="random_access_iterator.html" title="Random Access Iterator"> +<link rel="next" href="../functions.html" title="Functions"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="random_access_iterator.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../concepts.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../functions.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h4 class="title"> +<a name="fusion.iterator.concepts.associative_iterator"></a><a class="link" href="associative_iterator.html" title="Associative Iterator">Associative + Iterator</a> +</h4></div></div></div> +<h6> +<a name="fusion.iterator.concepts.associative_iterator.h0"></a> + <span><a name="fusion.iterator.concepts.associative_iterator.description"></a></span><a class="link" href="associative_iterator.html#fusion.iterator.concepts.associative_iterator.description">Description</a> + </h6> +<p> + An Associative Iterator provides additional semantics to obtain the properties + of the element of an associative forward, bidirectional or random access + sequence. + </p> +<div class="variablelist"> +<p class="title"><b>Notation</b></p> +<dl> +<dt><span class="term"><code class="computeroutput"><span class="identifier">i</span></code></span></dt> +<dd><p> + Associative Iterator + </p></dd> +<dt><span class="term"><code class="computeroutput"><span class="identifier">I</span></code></span></dt> +<dd><p> + Associative Iterator type + </p></dd> +</dl> +</div> +<h6> +<a name="fusion.iterator.concepts.associative_iterator.h1"></a> + <span><a name="fusion.iterator.concepts.associative_iterator.refinement_of"></a></span><a class="link" href="associative_iterator.html#fusion.iterator.concepts.associative_iterator.refinement_of">Refinement + of</a> + </h6> +<p> + <a class="link" href="forward_iterator.html" title="Forward Iterator">Forward Iterator</a>, + <a class="link" href="bidirectional_iterator.html" title="Bidirectional Iterator">Bidirectional + Iterator</a> or <a class="link" href="random_access_iterator.html" title="Random Access Iterator">Random + Access Iterator</a> + </p> +<h6> +<a name="fusion.iterator.concepts.associative_iterator.h2"></a> + <span><a name="fusion.iterator.concepts.associative_iterator.expression_requirements"></a></span><a class="link" href="associative_iterator.html#fusion.iterator.concepts.associative_iterator.expression_requirements">Expression + requirements</a> + </h6> +<p> + In addition to the requirements defined in <a class="link" href="forward_iterator.html" title="Forward Iterator">Forward + Iterator</a>, <a class="link" href="bidirectional_iterator.html" title="Bidirectional Iterator">Bidirectional + Iterator</a> or <a class="link" href="random_access_iterator.html" title="Random Access Iterator">Random + Access Iterator</a> the following expressions must be valid: + </p> +<div class="informaltable"><table class="table"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Expression + </p> + </th> +<th> + <p> + Return type + </p> + </th> +<th> + <p> + Runtime Complexity + </p> + </th> +</tr></thead> +<tbody><tr> +<td> + <p> + <code class="computeroutput"><a class="link" href="../functions/deref_data.html" title="deref_data"><code class="computeroutput"><span class="identifier">deref_data</span></code></a><span class="special">(</span><span class="identifier">i</span><span class="special">)</span></code> + </p> + </td> +<td> + <p> + <code class="computeroutput"><a class="link" href="../metafunctions/deref_data.html" title="deref_data"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">deref_data</span></code></a><span class="special"><</span><span class="identifier">I</span><span class="special">>::</span><span class="identifier">type</span></code> + </p> + </td> +<td> + <p> + Constant + </p> + </td> +</tr></tbody> +</table></div> +<h6> +<a name="fusion.iterator.concepts.associative_iterator.h3"></a> + <span><a name="fusion.iterator.concepts.associative_iterator.meta_expressions"></a></span><a class="link" href="associative_iterator.html#fusion.iterator.concepts.associative_iterator.meta_expressions">Meta + Expressions</a> + </h6> +<div class="informaltable"><table class="table"> +<colgroup> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Expression + </p> + </th> +<th> + <p> + Compile Time Complexity + </p> + </th> +</tr></thead> +<tbody> +<tr> +<td> + <p> + <code class="computeroutput"><a class="link" href="../metafunctions/key_of.html" title="key_of"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">key_of</span></code></a><span class="special"><</span><span class="identifier">I</span><span class="special">>::</span><span class="identifier">type</span></code> + </p> + </td> +<td> + <p> + Amortized constant time + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><a class="link" href="../metafunctions/value_of_data.html" title="value_of_data"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">value_of_data</span></code></a><span class="special"><</span><span class="identifier">I</span><span class="special">>::</span><span class="identifier">type</span></code> + </p> + </td> +<td> + <p> + Amortized constant time + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><a class="link" href="../metafunctions/deref_data.html" title="deref_data"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">deref_data</span></code></a><span class="special"><</span><span class="identifier">I</span><span class="special">>::</span><span class="identifier">type</span></code> + </p> + </td> +<td> + <p> + Amortized constant time + </p> + </td> +</tr> +</tbody> +</table></div> +<h6> +<a name="fusion.iterator.concepts.associative_iterator.h4"></a> + <span><a name="fusion.iterator.concepts.associative_iterator.models"></a></span><a class="link" href="associative_iterator.html#fusion.iterator.concepts.associative_iterator.models">Models</a> + </h6> +<div class="itemizedlist"><ul class="itemizedlist" type="disc"> +<li class="listitem"> + <a class="link" href="../../container/map.html" title="map"><code class="computeroutput"><span class="identifier">map</span></code></a> + iterator + </li> +<li class="listitem"> + <a class="link" href="../../container/set.html" title="set"><code class="computeroutput"><span class="identifier">set</span></code></a> + iterator + </li> +<li class="listitem"> + <a class="link" href="../../view/filter_view.html" title="filter_view"><code class="computeroutput"><span class="identifier">filter_view</span></code></a> + iterator (where adapted sequence is an <a class="link" href="../../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative + Sequence</a> and a <a class="link" href="../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a>) + </li> +<li class="listitem"> + <a class="link" href="../../view/iterator_range.html" title="iterator_range"><code class="computeroutput"><span class="identifier">iterator_range</span></code></a> + iterator (where adapted iterators are <a class="link" href="associative_iterator.html" title="Associative Iterator">Associative + Iterator</a>s) + </li> +<li class="listitem"> + <a class="link" href="../../view/joint_view.html" title="joint_view"><code class="computeroutput"><span class="identifier">joint_view</span></code></a> + iterator (where adapted sequences are <a class="link" href="../../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative + Sequence</a>s and <a class="link" href="../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a>s) + </li> +<li class="listitem"> + <a class="link" href="../../view/reverse_view.html" title="reverse_view"><code class="computeroutput"><span class="identifier">reverse_view</span></code></a> + iterator (where adapted sequence is an <a class="link" href="../../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative + Sequence</a> and a <a class="link" href="../../sequence/concepts/bidirectional_sequence.html" title="Bidirectional Sequence">Bidirectional + Sequence</a>) + </li> +</ul></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-2006, 2011 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="random_access_iterator.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../concepts.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../functions.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/iterator/concepts/bidirectional_iterator.html b/libs/fusion/doc/html/fusion/iterator/concepts/bidirectional_iterator.html new file mode 100755 index 0000000000..d37afeef99 --- /dev/null +++ b/libs/fusion/doc/html/fusion/iterator/concepts/bidirectional_iterator.html @@ -0,0 +1,321 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Bidirectional Iterator</title> +<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../concepts.html" title="Concepts"> +<link rel="prev" href="forward_iterator.html" title="Forward Iterator"> +<link rel="next" href="random_access_iterator.html" title="Random Access Iterator"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="forward_iterator.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../concepts.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="random_access_iterator.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h4 class="title"> +<a name="fusion.iterator.concepts.bidirectional_iterator"></a><a class="link" href="bidirectional_iterator.html" title="Bidirectional Iterator">Bidirectional + Iterator</a> +</h4></div></div></div> +<h6> +<a name="fusion.iterator.concepts.bidirectional_iterator.h0"></a> + <span><a name="fusion.iterator.concepts.bidirectional_iterator.description"></a></span><a class="link" href="bidirectional_iterator.html#fusion.iterator.concepts.bidirectional_iterator.description">Description</a> + </h6> +<p> + A Bidirectional Iterator traverses a <a class="link" href="../../sequence.html" title="Sequence">Sequence</a> + allowing movement in either direction one element at a time. + </p> +<div class="variablelist"> +<p class="title"><b>Notation</b></p> +<dl> +<dt><span class="term"><code class="computeroutput"><span class="identifier">i</span></code></span></dt> +<dd><p> + A Bidirectional Iterator + </p></dd> +<dt><span class="term"><code class="computeroutput"><span class="identifier">I</span></code></span></dt> +<dd><p> + A Bidirectional Iterator type + </p></dd> +<dt><span class="term"><code class="computeroutput"><span class="identifier">M</span></code></span></dt> +<dd><p> + An <a href="http://www.boost.org/libs/mpl/index.html" target="_top">MPL</a> + integral constant + </p></dd> +<dt><span class="term"><code class="computeroutput"><span class="identifier">N</span></code></span></dt> +<dd><p> + An integral constant + </p></dd> +</dl> +</div> +<h6> +<a name="fusion.iterator.concepts.bidirectional_iterator.h1"></a> + <span><a name="fusion.iterator.concepts.bidirectional_iterator.refinement_of"></a></span><a class="link" href="bidirectional_iterator.html#fusion.iterator.concepts.bidirectional_iterator.refinement_of">Refinement + of</a> + </h6> +<p> + <a class="link" href="forward_iterator.html" title="Forward Iterator">Forward Iterator</a> + </p> +<h6> +<a name="fusion.iterator.concepts.bidirectional_iterator.h2"></a> + <span><a name="fusion.iterator.concepts.bidirectional_iterator.expression_requirements"></a></span><a class="link" href="bidirectional_iterator.html#fusion.iterator.concepts.bidirectional_iterator.expression_requirements">Expression + requirements</a> + </h6> +<p> + In addition to the requirements defined in <a class="link" href="forward_iterator.html" title="Forward Iterator">Forward + Iterator</a>, the following expressions must be valid: + </p> +<div class="informaltable"><table class="table"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Expression + </p> + </th> +<th> + <p> + Return type + </p> + </th> +<th> + <p> + Runtime Complexity + </p> + </th> +</tr></thead> +<tbody> +<tr> +<td> + <p> + <code class="computeroutput"><a class="link" href="../functions/next.html" title="next"><code class="computeroutput"><span class="identifier">next</span></code></a><span class="special">(</span><span class="identifier">i</span><span class="special">)</span></code> + </p> + </td> +<td> + <p> + <a class="link" href="bidirectional_iterator.html" title="Bidirectional Iterator">Bidirectional + Iterator</a> + </p> + </td> +<td> + <p> + Constant + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><a class="link" href="../functions/prior.html" title="prior"><code class="computeroutput"><span class="identifier">prior</span></code></a><span class="special">(</span><span class="identifier">i</span><span class="special">)</span></code> + </p> + </td> +<td> + <p> + <a class="link" href="bidirectional_iterator.html" title="Bidirectional Iterator">Bidirectional + Iterator</a> + </p> + </td> +<td> + <p> + Constant + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><a class="link" href="../functions/advance_c.html" title="advance_c"><code class="computeroutput"><span class="identifier">advance_c</span></code></a><span class="special"><</span><span class="identifier">N</span><span class="special">>(</span><span class="identifier">i</span><span class="special">)</span></code> + </p> + </td> +<td> + <p> + <a class="link" href="bidirectional_iterator.html" title="Bidirectional Iterator">Bidirectional + Iterator</a> + </p> + </td> +<td> + <p> + Constant + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><a class="link" href="../functions/advance.html" title="advance"><code class="computeroutput"><span class="identifier">advance</span></code></a><span class="special"><</span><span class="identifier">M</span><span class="special">>(</span><span class="identifier">i</span><span class="special">)</span></code> + </p> + </td> +<td> + <p> + <a class="link" href="bidirectional_iterator.html" title="Bidirectional Iterator">Bidirectional + Iterator</a> + </p> + </td> +<td> + <p> + Constant + </p> + </td> +</tr> +</tbody> +</table></div> +<h6> +<a name="fusion.iterator.concepts.bidirectional_iterator.h3"></a> + <span><a name="fusion.iterator.concepts.bidirectional_iterator.meta_expressions"></a></span><a class="link" href="bidirectional_iterator.html#fusion.iterator.concepts.bidirectional_iterator.meta_expressions">Meta + Expressions</a> + </h6> +<div class="informaltable"><table class="table"> +<colgroup> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Expression + </p> + </th> +<th> + <p> + Compile Time Complexity + </p> + </th> +</tr></thead> +<tbody><tr> +<td> + <p> + <code class="computeroutput"><a class="link" href="../metafunctions/prior.html" title="prior"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">prior</span></code></a><span class="special"><</span><span class="identifier">I</span><span class="special">>::</span><span class="identifier">type</span></code> + </p> + </td> +<td> + <p> + Amortized constant time + </p> + </td> +</tr></tbody> +</table></div> +<h6> +<a name="fusion.iterator.concepts.bidirectional_iterator.h4"></a> + <span><a name="fusion.iterator.concepts.bidirectional_iterator.expression_semantics"></a></span><a class="link" href="bidirectional_iterator.html#fusion.iterator.concepts.bidirectional_iterator.expression_semantics">Expression + Semantics</a> + </h6> +<p> + The semantics of an expression are defined only where they differ from, + or are not defined in <a class="link" href="forward_iterator.html" title="Forward Iterator">Forward + Iterator</a> + </p> +<div class="informaltable"><table class="table"> +<colgroup> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Expression + </p> + </th> +<th> + <p> + Semantics + </p> + </th> +</tr></thead> +<tbody><tr> +<td> + <p> + <code class="computeroutput"><a class="link" href="../functions/prior.html" title="prior"><code class="computeroutput"><span class="identifier">prior</span></code></a><span class="special">(</span><span class="identifier">i</span><span class="special">)</span></code> + </p> + </td> +<td> + <p> + An iterator to the element preceding <code class="computeroutput"><span class="identifier">i</span></code> + </p> + </td> +</tr></tbody> +</table></div> +<h6> +<a name="fusion.iterator.concepts.bidirectional_iterator.h5"></a> + <span><a name="fusion.iterator.concepts.bidirectional_iterator.invariants"></a></span><a class="link" href="bidirectional_iterator.html#fusion.iterator.concepts.bidirectional_iterator.invariants">Invariants</a> + </h6> +<p> + In addition to the invariants of <a class="link" href="forward_iterator.html" title="Forward Iterator">Forward + Iterator</a>, the following invariants always hold: + </p> +<div class="itemizedlist"><ul class="itemizedlist" type="disc"> +<li class="listitem"> + <code class="computeroutput"><a class="link" href="../functions/prior.html" title="prior"><code class="computeroutput"><span class="identifier">prior</span></code></a><span class="special">(</span><a class="link" href="../functions/next.html" title="next"><code class="computeroutput"><span class="identifier">next</span></code></a><span class="special">(</span><span class="identifier">i</span><span class="special">))</span> <span class="special">==</span> <span class="identifier">i</span> <span class="special">&&</span> + <a class="link" href="../functions/prior.html" title="prior"><code class="computeroutput"><span class="identifier">prior</span></code></a><span class="special">(</span><a class="link" href="../functions/next.html" title="next"><code class="computeroutput"><span class="identifier">next</span></code></a><span class="special">(</span><span class="identifier">i</span><span class="special">))</span> <span class="special">==</span> <a class="link" href="../functions/next.html" title="next"><code class="computeroutput"><span class="identifier">next</span></code></a><span class="special">(</span><a class="link" href="../functions/prior.html" title="prior"><code class="computeroutput"><span class="identifier">prior</span></code></a><span class="special">(</span><span class="identifier">i</span><span class="special">))</span></code> + </li> +<li class="listitem"> + <code class="computeroutput"><a class="link" href="../functions/prior.html" title="prior"><code class="computeroutput"><span class="identifier">prior</span></code></a><span class="special">(</span><span class="identifier">i</span><span class="special">)</span> <span class="special">==</span> <a class="link" href="../functions/advance_c.html" title="advance_c"><code class="computeroutput"><span class="identifier">advance_c</span></code></a><span class="special"><-</span><span class="number">1</span><span class="special">>(</span><span class="identifier">i</span><span class="special">)</span></code> + </li> +<li class="listitem"> + Using <code class="computeroutput"><a class="link" href="../functions/prior.html" title="prior"><code class="computeroutput"><span class="identifier">prior</span></code></a></code> to traverse a + sequence will never return a previously seen position + </li> +</ul></div> +<h6> +<a name="fusion.iterator.concepts.bidirectional_iterator.h6"></a> + <span><a name="fusion.iterator.concepts.bidirectional_iterator.models"></a></span><a class="link" href="bidirectional_iterator.html#fusion.iterator.concepts.bidirectional_iterator.models">Models</a> + </h6> +<div class="itemizedlist"><ul class="itemizedlist" type="disc"> +<li class="listitem"> + <a class="link" href="../../adapted/std__pair.html" title="std::pair"><code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span></code></a> + iterator + </li> +<li class="listitem"> + <a class="link" href="../../adapted/boost__array.html" title="boost::array"><code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span></code></a> + iterator + </li> +<li class="listitem"> + <a class="link" href="../../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a> + iterator + </li> +<li class="listitem"> + <a class="link" href="../../view/single_view.html" title="single_view"><code class="computeroutput"><span class="identifier">single_view</span></code></a> + iterator + </li> +<li class="listitem"> + <a class="link" href="../../view/iterator_range.html" title="iterator_range"><code class="computeroutput"><span class="identifier">iterator_range</span></code></a> + (where adapted sequence is a <a class="link" href="../../sequence/concepts/bidirectional_sequence.html" title="Bidirectional Sequence">Bidirectional + Sequence</a>) + </li> +<li class="listitem"> + <a class="link" href="../../view/transform_view.html" title="transform_view"><code class="computeroutput"><span class="identifier">transform_view</span></code></a> + (where adapted sequence is a <a class="link" href="../../sequence/concepts/bidirectional_sequence.html" title="Bidirectional Sequence">Bidirectional + Sequence</a>) + </li> +<li class="listitem"> + <a class="link" href="../../view/reverse_view.html" title="reverse_view"><code class="computeroutput"><span class="identifier">reverse_view</span></code></a> + </li> +</ul></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-2006, 2011 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="forward_iterator.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../concepts.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="random_access_iterator.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/iterator/concepts/forward_iterator.html b/libs/fusion/doc/html/fusion/iterator/concepts/forward_iterator.html new file mode 100755 index 0000000000..43594a9106 --- /dev/null +++ b/libs/fusion/doc/html/fusion/iterator/concepts/forward_iterator.html @@ -0,0 +1,476 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Forward Iterator</title> +<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../concepts.html" title="Concepts"> +<link rel="prev" href="../concepts.html" title="Concepts"> +<link rel="next" href="bidirectional_iterator.html" title="Bidirectional Iterator"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="../concepts.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../concepts.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="bidirectional_iterator.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h4 class="title"> +<a name="fusion.iterator.concepts.forward_iterator"></a><a class="link" href="forward_iterator.html" title="Forward Iterator">Forward + Iterator</a> +</h4></div></div></div> +<h6> +<a name="fusion.iterator.concepts.forward_iterator.h0"></a> + <span><a name="fusion.iterator.concepts.forward_iterator.description"></a></span><a class="link" href="forward_iterator.html#fusion.iterator.concepts.forward_iterator.description">Description</a> + </h6> +<p> + A Forward Iterator traverses a <a class="link" href="../../sequence.html" title="Sequence">Sequence</a> + allowing movement in only one direction through it's elements, one element + at a time. + </p> +<div class="variablelist"> +<p class="title"><b>Notation</b></p> +<dl> +<dt><span class="term"><code class="computeroutput"><span class="identifier">i</span></code>, <code class="computeroutput"><span class="identifier">j</span></code></span></dt> +<dd><p> + Forward Iterators + </p></dd> +<dt><span class="term"><code class="computeroutput"><span class="identifier">I</span></code>, <code class="computeroutput"><span class="identifier">J</span></code></span></dt> +<dd><p> + Forward Iterator types + </p></dd> +<dt><span class="term"><code class="computeroutput"><span class="identifier">M</span></code></span></dt> +<dd><p> + An <a href="http://www.boost.org/libs/mpl/index.html" target="_top">MPL</a> + integral constant + </p></dd> +<dt><span class="term"><code class="computeroutput"><span class="identifier">N</span></code></span></dt> +<dd><p> + An integral constant + </p></dd> +</dl> +</div> +<h6> +<a name="fusion.iterator.concepts.forward_iterator.h1"></a> + <span><a name="fusion.iterator.concepts.forward_iterator.expression_requirements"></a></span><a class="link" href="forward_iterator.html#fusion.iterator.concepts.forward_iterator.expression_requirements">Expression + requirements</a> + </h6> +<p> + A type models Forward Iterator if, in addition to being CopyConstructable, + the following expressions are valid: + </p> +<div class="informaltable"><table class="table"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Expression + </p> + </th> +<th> + <p> + Return type + </p> + </th> +<th> + <p> + Runtime Complexity + </p> + </th> +</tr></thead> +<tbody> +<tr> +<td> + <p> + <code class="computeroutput"><a class="link" href="../functions/next.html" title="next"><code class="computeroutput"><span class="identifier">next</span></code></a><span class="special">(</span><span class="identifier">i</span><span class="special">)</span></code> + </p> + </td> +<td> + <p> + <a class="link" href="forward_iterator.html" title="Forward Iterator">Forward + Iterator</a> + </p> + </td> +<td> + <p> + Constant + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">i</span> <span class="special">==</span> + <span class="identifier">j</span></code> + </p> + </td> +<td> + <p> + Convertible to bool + </p> + </td> +<td> + <p> + Constant + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">i</span> <span class="special">!=</span> + <span class="identifier">j</span></code> + </p> + </td> +<td> + <p> + Convertible to bool + </p> + </td> +<td> + <p> + Constant + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><a class="link" href="../functions/advance_c.html" title="advance_c"><code class="computeroutput"><span class="identifier">advance_c</span></code></a><span class="special"><</span><span class="identifier">N</span><span class="special">>(</span><span class="identifier">i</span><span class="special">)</span></code> + </p> + </td> +<td> + <p> + <a class="link" href="forward_iterator.html" title="Forward Iterator">Forward + Iterator</a> + </p> + </td> +<td> + <p> + Constant + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><a class="link" href="../functions/advance.html" title="advance"><code class="computeroutput"><span class="identifier">advance</span></code></a><span class="special"><</span><span class="identifier">M</span><span class="special">>(</span><span class="identifier">i</span><span class="special">)</span></code> + </p> + </td> +<td> + <p> + <a class="link" href="forward_iterator.html" title="Forward Iterator">Forward + Iterator</a> + </p> + </td> +<td> + <p> + Constant + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><a class="link" href="../functions/distance.html" title="distance"><code class="computeroutput"><span class="identifier">distance</span></code></a><span class="special">(</span><span class="identifier">i</span><span class="special">,</span> + <span class="identifier">j</span><span class="special">)</span></code> + </p> + </td> +<td> + <p> + <code class="computeroutput"><a class="link" href="../metafunctions/distance.html" title="distance"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">distance</span></code></a><span class="special"><</span><span class="identifier">I</span><span class="special">,</span> + <span class="identifier">J</span><span class="special">>::</span><span class="identifier">type</span></code> + </p> + </td> +<td> + <p> + Constant + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><a class="link" href="../functions/deref.html" title="deref"><code class="computeroutput"><span class="identifier">deref</span></code></a><span class="special">(</span><span class="identifier">i</span><span class="special">)</span></code> + </p> + </td> +<td> + <p> + <code class="computeroutput"><a class="link" href="../metafunctions/deref.html" title="deref"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">deref</span></code></a><span class="special"><</span><span class="identifier">I</span><span class="special">>::</span><span class="identifier">type</span></code> + </p> + </td> +<td> + <p> + Constant + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="special">*</span><span class="identifier">i</span></code> + </p> + </td> +<td> + <p> + <code class="computeroutput"><a class="link" href="../metafunctions/deref.html" title="deref"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">deref</span></code></a><span class="special"><</span><span class="identifier">I</span><span class="special">>::</span><span class="identifier">type</span></code> + </p> + </td> +<td> + <p> + Constant + </p> + </td> +</tr> +</tbody> +</table></div> +<h6> +<a name="fusion.iterator.concepts.forward_iterator.h2"></a> + <span><a name="fusion.iterator.concepts.forward_iterator.meta_expressions"></a></span><a class="link" href="forward_iterator.html#fusion.iterator.concepts.forward_iterator.meta_expressions">Meta + Expressions</a> + </h6> +<div class="informaltable"><table class="table"> +<colgroup> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Expression + </p> + </th> +<th> + <p> + Compile Time Complexity + </p> + </th> +</tr></thead> +<tbody> +<tr> +<td> + <p> + <code class="computeroutput"><a class="link" href="../metafunctions/next.html" title="next"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">next</span></code></a><span class="special"><</span><span class="identifier">I</span><span class="special">>::</span><span class="identifier">type</span></code> + </p> + </td> +<td> + <p> + Amortized constant time + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><a class="link" href="../metafunctions/equal_to.html" title="equal_to"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">equal_to</span></code></a><span class="special"><</span><span class="identifier">I</span><span class="special">,</span> + <span class="identifier">J</span><span class="special">>::</span><span class="identifier">type</span></code> + </p> + </td> +<td> + <p> + Amortized constant time + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><a class="link" href="../metafunctions/advance_c.html" title="advance_c"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">advance_c</span></code></a><span class="special"><</span><span class="identifier">I</span><span class="special">,</span> + <span class="identifier">N</span><span class="special">>::</span><span class="identifier">type</span></code> + </p> + </td> +<td> + <p> + Linear + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><a class="link" href="../metafunctions/advance.html" title="advance"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">advance</span></code></a><span class="special"><</span><span class="identifier">I</span> <span class="special">,</span><span class="identifier">M</span><span class="special">>::</span><span class="identifier">type</span></code> + </p> + </td> +<td> + <p> + Linear + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><a class="link" href="../metafunctions/distance.html" title="distance"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">distance</span></code></a><span class="special"><</span><span class="identifier">I</span> <span class="special">,</span><span class="identifier">J</span><span class="special">>::</span><span class="identifier">type</span></code> + </p> + </td> +<td> + <p> + Linear + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><a class="link" href="../metafunctions/deref.html" title="deref"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">deref</span></code></a><span class="special"><</span><span class="identifier">I</span><span class="special">>::</span><span class="identifier">type</span></code> + </p> + </td> +<td> + <p> + Amortized constant time + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><a class="link" href="../metafunctions/value_of.html" title="value_of"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">value_of</span></code></a><span class="special"><</span><span class="identifier">I</span><span class="special">>::</span><span class="identifier">type</span></code> + </p> + </td> +<td> + <p> + Amortized constant time + </p> + </td> +</tr> +</tbody> +</table></div> +<h6> +<a name="fusion.iterator.concepts.forward_iterator.h3"></a> + <span><a name="fusion.iterator.concepts.forward_iterator.expression_semantics"></a></span><a class="link" href="forward_iterator.html#fusion.iterator.concepts.forward_iterator.expression_semantics">Expression + Semantics</a> + </h6> +<p> + [ table [[Expression] [Semantics]] [[<code class="computeroutput"><a class="link" href="../functions/next.html" title="next"><code class="computeroutput"><span class="identifier">next</span></code></a><span class="special">(</span><span class="identifier">i</span><span class="special">)</span></code>] [An + iterator to the element following <code class="computeroutput"><span class="identifier">i</span></code>]] + [[<code class="computeroutput"><span class="identifier">i</span> <span class="special">==</span> + <span class="identifier">j</span></code>] [Iterator equality comparison]] + [[<code class="computeroutput"><span class="identifier">i</span> <span class="special">!=</span> + <span class="identifier">j</span></code>] [Iterator inequality comparison]] + [[<code class="computeroutput"><a class="link" href="../functions/advance_c.html" title="advance_c"><code class="computeroutput"><span class="identifier">advance_c</span></code></a><span class="special"><</span><span class="identifier">N</span><span class="special">>(</span><span class="identifier">i</span><span class="special">)</span></code>] [An + iterator n elements after <code class="computeroutput"><span class="identifier">i</span></code> + in the sequence]] [[<code class="computeroutput"><a class="link" href="../functions/advance.html" title="advance"><code class="computeroutput"><span class="identifier">advance</span></code></a><span class="special"><</span><span class="identifier">M</span><span class="special">>(</span><span class="identifier">i</span><span class="special">)</span></code>] [Equivalent + to <code class="computeroutput"><span class="identifier">advance_c</span><span class="special"><</span><span class="identifier">M</span><span class="special">::</span><span class="identifier">value</span><span class="special">>(</span><span class="identifier">i</span><span class="special">)</span></code>]] [[<code class="computeroutput"><a class="link" href="../functions/distance.html" title="distance"><code class="computeroutput"><span class="identifier">distance</span></code></a><span class="special">(</span><span class="identifier">i</span><span class="special">,</span> <span class="identifier">j</span><span class="special">)</span></code>] [The number of elements between <code class="computeroutput"><span class="identifier">i</span></code> and <code class="computeroutput"><span class="identifier">j</span></code>]] + [[<code class="computeroutput"><a class="link" href="../functions/deref.html" title="deref"><code class="computeroutput"><span class="identifier">deref</span></code></a><span class="special">(</span><span class="identifier">i</span><span class="special">)</span></code>] + [The element at position<code class="computeroutput"><span class="identifier">i</span></code>]] + [[<code class="computeroutput"><span class="special">*</span><span class="identifier">i</span></code>] + [Equivalent to <code class="computeroutput"><span class="identifier">deref</span><span class="special">(</span><span class="identifier">i</span><span class="special">)</span></code>]] + ] + </p> +<h6> +<a name="fusion.iterator.concepts.forward_iterator.h4"></a> + <span><a name="fusion.iterator.concepts.forward_iterator.invariants"></a></span><a class="link" href="forward_iterator.html#fusion.iterator.concepts.forward_iterator.invariants">Invariants</a> + </h6> +<p> + The following invariants always hold: + </p> +<div class="itemizedlist"><ul class="itemizedlist" type="disc"> +<li class="listitem"> + <code class="computeroutput"><span class="special">!(</span><span class="identifier">i</span> + <span class="special">==</span> <span class="identifier">j</span><span class="special">)</span> <span class="special">==</span> <span class="special">(</span><span class="identifier">i</span> <span class="special">!=</span> <span class="identifier">j</span><span class="special">)</span></code> + </li> +<li class="listitem"> + <code class="computeroutput"><a class="link" href="../functions/next.html" title="next"><code class="computeroutput"><span class="identifier">next</span></code></a><span class="special">(</span><span class="identifier">i</span><span class="special">)</span> <span class="special">==</span> <a class="link" href="../functions/advance_c.html" title="advance_c"><code class="computeroutput"><span class="identifier">advance_c</span></code></a><span class="special"><</span><span class="number">1</span><span class="special">>(</span><span class="identifier">i</span><span class="special">)</span></code> + </li> +<li class="listitem"> + <code class="computeroutput"><a class="link" href="../functions/distance.html" title="distance"><code class="computeroutput"><span class="identifier">distance</span></code></a><span class="special">(</span><span class="identifier">i</span><span class="special">,</span> <a class="link" href="../functions/advance_c.html" title="advance_c"><code class="computeroutput"><span class="identifier">advance_c</span></code></a><span class="special"><</span><span class="identifier">N</span><span class="special">>(</span><span class="identifier">i</span><span class="special">))</span> <span class="special">==</span> <span class="identifier">N</span></code> + </li> +<li class="listitem"> + Using <code class="computeroutput"><a class="link" href="../functions/next.html" title="next"><code class="computeroutput"><span class="identifier">next</span></code></a></code> to traverse the + sequence will never return to a previously seen position + </li> +<li class="listitem"> + <code class="computeroutput"><a class="link" href="../functions/deref.html" title="deref"><code class="computeroutput"><span class="identifier">deref</span></code></a><span class="special">(</span><span class="identifier">i</span><span class="special">)</span></code> + is equivalent to <code class="computeroutput"><span class="special">*</span><span class="identifier">i</span></code> + </li> +<li class="listitem"> + If <code class="computeroutput"><span class="identifier">i</span> <span class="special">==</span> + <span class="identifier">j</span></code> then <code class="computeroutput"><span class="special">*</span><span class="identifier">i</span></code> is equivalent to <code class="computeroutput"><span class="special">*</span><span class="identifier">j</span></code> + </li> +</ul></div> +<h6> +<a name="fusion.iterator.concepts.forward_iterator.h5"></a> + <span><a name="fusion.iterator.concepts.forward_iterator.models"></a></span><a class="link" href="forward_iterator.html#fusion.iterator.concepts.forward_iterator.models">Models</a> + </h6> +<div class="itemizedlist"><ul class="itemizedlist" type="disc"> +<li class="listitem"> + <a class="link" href="../../adapted/std__pair.html" title="std::pair"><code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span></code></a> + iterator + </li> +<li class="listitem"> + <a class="link" href="../../adapted/boost__array.html" title="boost::array"><code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span></code></a> + iterator + </li> +<li class="listitem"> + <a class="link" href="../../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a> + iterator + </li> +<li class="listitem"> + <a class="link" href="../../container/cons.html" title="cons"><code class="computeroutput"><span class="identifier">cons</span></code></a> + iterator + </li> +<li class="listitem"> + <a class="link" href="../../container/list.html" title="list"><code class="computeroutput"><span class="identifier">list</span></code></a> + iterator + </li> +<li class="listitem"> + <a class="link" href="../../container/set.html" title="set"><code class="computeroutput"><span class="identifier">set</span></code></a> + iterator + </li> +<li class="listitem"> + <a class="link" href="../../container/map.html" title="map"><code class="computeroutput"><span class="identifier">map</span></code></a> + iterator + </li> +<li class="listitem"> + <a class="link" href="../../view/single_view.html" title="single_view"><code class="computeroutput"><span class="identifier">single_view</span></code></a> + iterator + </li> +<li class="listitem"> + <a class="link" href="../../view/filter_view.html" title="filter_view"><code class="computeroutput"><span class="identifier">filter_view</span></code></a> + iterator + </li> +<li class="listitem"> + <a class="link" href="../../view/iterator_range.html" title="iterator_range"><code class="computeroutput"><span class="identifier">iterator_range</span></code></a> + iterator + </li> +<li class="listitem"> + <a class="link" href="../../view/joint_view.html" title="joint_view"><code class="computeroutput"><span class="identifier">joint_view</span></code></a> + iterator + </li> +<li class="listitem"> + <a class="link" href="../../view/transform_view.html" title="transform_view"><code class="computeroutput"><span class="identifier">transform_view</span></code></a> + iterator + </li> +<li class="listitem"> + <a class="link" href="../../view/reverse_view.html" title="reverse_view"><code class="computeroutput"><span class="identifier">reverse_view</span></code></a> + iterator + </li> +</ul></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-2006, 2011 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="../concepts.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../concepts.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="bidirectional_iterator.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/iterator/concepts/random_access_iterator.html b/libs/fusion/doc/html/fusion/iterator/concepts/random_access_iterator.html new file mode 100755 index 0000000000..389734d447 --- /dev/null +++ b/libs/fusion/doc/html/fusion/iterator/concepts/random_access_iterator.html @@ -0,0 +1,292 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Random Access Iterator</title> +<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../concepts.html" title="Concepts"> +<link rel="prev" href="bidirectional_iterator.html" title="Bidirectional Iterator"> +<link rel="next" href="associative_iterator.html" title="Associative Iterator"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="bidirectional_iterator.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../concepts.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="associative_iterator.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h4 class="title"> +<a name="fusion.iterator.concepts.random_access_iterator"></a><a class="link" href="random_access_iterator.html" title="Random Access Iterator">Random + Access Iterator</a> +</h4></div></div></div> +<h6> +<a name="fusion.iterator.concepts.random_access_iterator.h0"></a> + <span><a name="fusion.iterator.concepts.random_access_iterator.description"></a></span><a class="link" href="random_access_iterator.html#fusion.iterator.concepts.random_access_iterator.description">Description</a> + </h6> +<p> + A Random Access Iterator traverses a <a class="link" href="../../sequence.html" title="Sequence">Sequence</a> + moving in either direction, permitting efficient arbitrary distance movements + back and forward through the sequence. + </p> +<div class="variablelist"> +<p class="title"><b>Notation</b></p> +<dl> +<dt><span class="term"><code class="computeroutput"><span class="identifier">i</span></code>, <code class="computeroutput"><span class="identifier">j</span></code></span></dt> +<dd><p> + Random Access Iterators + </p></dd> +<dt><span class="term"><code class="computeroutput"><span class="identifier">I</span></code>, <code class="computeroutput"><span class="identifier">J</span></code></span></dt> +<dd><p> + Random Access Iterator types + </p></dd> +<dt><span class="term"><code class="computeroutput"><span class="identifier">M</span></code></span></dt> +<dd><p> + An <a href="http://www.boost.org/libs/mpl/index.html" target="_top">MPL</a> + integral constant + </p></dd> +<dt><span class="term"><code class="computeroutput"><span class="identifier">N</span></code></span></dt> +<dd><p> + An integral constant + </p></dd> +</dl> +</div> +<h6> +<a name="fusion.iterator.concepts.random_access_iterator.h1"></a> + <span><a name="fusion.iterator.concepts.random_access_iterator.refinement_of"></a></span><a class="link" href="random_access_iterator.html#fusion.iterator.concepts.random_access_iterator.refinement_of">Refinement + of</a> + </h6> +<p> + <a class="link" href="bidirectional_iterator.html" title="Bidirectional Iterator">Bidirectional + Iterator</a> + </p> +<h6> +<a name="fusion.iterator.concepts.random_access_iterator.h2"></a> + <span><a name="fusion.iterator.concepts.random_access_iterator.expression_requirements"></a></span><a class="link" href="random_access_iterator.html#fusion.iterator.concepts.random_access_iterator.expression_requirements">Expression + requirements</a> + </h6> +<p> + In addition to the requirements defined in <a class="link" href="bidirectional_iterator.html" title="Bidirectional Iterator">Bidirectional + Iterator</a>, the following expressions must be valid: + </p> +<div class="informaltable"><table class="table"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Expression + </p> + </th> +<th> + <p> + Return type + </p> + </th> +<th> + <p> + Runtime Complexity + </p> + </th> +</tr></thead> +<tbody> +<tr> +<td> + <p> + <code class="computeroutput"><a class="link" href="../functions/next.html" title="next"><code class="computeroutput"><span class="identifier">next</span></code></a><span class="special">(</span><span class="identifier">i</span><span class="special">)</span></code> + </p> + </td> +<td> + <p> + <a class="link" href="random_access_iterator.html" title="Random Access Iterator">Random + Access Iterator</a> + </p> + </td> +<td> + <p> + Constant + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><a class="link" href="../functions/prior.html" title="prior"><code class="computeroutput"><span class="identifier">prior</span></code></a><span class="special">(</span><span class="identifier">i</span><span class="special">)</span></code> + </p> + </td> +<td> + <p> + <a class="link" href="random_access_iterator.html" title="Random Access Iterator">Random + Access Iterator</a> + </p> + </td> +<td> + <p> + Constant + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><a class="link" href="../functions/advance_c.html" title="advance_c"><code class="computeroutput"><span class="identifier">advance_c</span></code></a><span class="special"><</span><span class="identifier">N</span><span class="special">>(</span><span class="identifier">i</span><span class="special">)</span></code> + </p> + </td> +<td> + <p> + <a class="link" href="random_access_iterator.html" title="Random Access Iterator">Random + Access Iterator</a> + </p> + </td> +<td> + <p> + Constant + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><a class="link" href="../functions/advance.html" title="advance"><code class="computeroutput"><span class="identifier">advance</span></code></a><span class="special"><</span><span class="identifier">M</span><span class="special">>(</span><span class="identifier">i</span><span class="special">)</span></code> + </p> + </td> +<td> + <p> + <a class="link" href="random_access_iterator.html" title="Random Access Iterator">Random + Access Iterator</a> + </p> + </td> +<td> + <p> + Constant + </p> + </td> +</tr> +</tbody> +</table></div> +<h6> +<a name="fusion.iterator.concepts.random_access_iterator.h3"></a> + <span><a name="fusion.iterator.concepts.random_access_iterator.meta_expressions"></a></span><a class="link" href="random_access_iterator.html#fusion.iterator.concepts.random_access_iterator.meta_expressions">Meta + Expressions</a> + </h6> +<div class="informaltable"><table class="table"> +<colgroup> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Expression + </p> + </th> +<th> + <p> + Compile Time Complexity + </p> + </th> +</tr></thead> +<tbody> +<tr> +<td> + <p> + <code class="computeroutput"><a class="link" href="../metafunctions/advance_c.html" title="advance_c"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">advance_c</span></code></a><span class="special"><</span><span class="identifier">I</span><span class="special">,</span> + <span class="identifier">N</span><span class="special">>::</span><span class="identifier">type</span></code> + </p> + </td> +<td> + <p> + Amortized constant time + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><a class="link" href="../metafunctions/advance.html" title="advance"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">advance</span></code></a><span class="special"><</span><span class="identifier">I</span><span class="special">,</span> + <span class="identifier">M</span><span class="special">>::</span><span class="identifier">type</span></code> + </p> + </td> +<td> + <p> + Amortized constant time + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><a class="link" href="../metafunctions/distance.html" title="distance"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">distance</span></code></a><span class="special"><</span><span class="identifier">I</span> <span class="special">,</span><span class="identifier">J</span><span class="special">>::</span><span class="identifier">type</span></code> + </p> + </td> +<td> + <p> + Amortized constant time + </p> + </td> +</tr> +</tbody> +</table></div> +<h6> +<a name="fusion.iterator.concepts.random_access_iterator.h4"></a> + <span><a name="fusion.iterator.concepts.random_access_iterator.models"></a></span><a class="link" href="random_access_iterator.html#fusion.iterator.concepts.random_access_iterator.models">Models</a> + </h6> +<div class="itemizedlist"><ul class="itemizedlist" type="disc"> +<li class="listitem"> + <a class="link" href="../../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a> + iterator + </li> +<li class="listitem"> + <a class="link" href="../../adapted/std__pair.html" title="std::pair"><code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span></code></a> + iterator + </li> +<li class="listitem"> + <a class="link" href="../../adapted/boost__array.html" title="boost::array"><code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span></code></a> + iterator + </li> +<li class="listitem"> + <a class="link" href="../../view/single_view.html" title="single_view"><code class="computeroutput"><span class="identifier">single_view</span></code></a> + iterator + </li> +<li class="listitem"> + <a class="link" href="../../view/iterator_range.html" title="iterator_range"><code class="computeroutput"><span class="identifier">iterator_range</span></code></a> + iterator (where adapted sequence is a <a class="link" href="../../sequence/concepts/random_access_sequence.html" title="Random Access Sequence">Random + Access Sequence</a>) + </li> +<li class="listitem"> + <a class="link" href="../../view/transform_view.html" title="transform_view"><code class="computeroutput"><span class="identifier">transform_view</span></code></a> + iterator (where adapted sequence is a <a class="link" href="../../sequence/concepts/random_access_sequence.html" title="Random Access Sequence">Random + Access Sequence</a>) + </li> +<li class="listitem"> + <a class="link" href="../../view/reverse_view.html" title="reverse_view"><code class="computeroutput"><span class="identifier">reverse_view</span></code></a> + iterator (where adapted sequence is a <a class="link" href="../../sequence/concepts/random_access_sequence.html" title="Random Access Sequence">Random + Access Sequence</a>) + </li> +</ul></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-2006, 2011 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="bidirectional_iterator.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../concepts.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="associative_iterator.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/iterator/functions.html b/libs/fusion/doc/html/fusion/iterator/functions.html new file mode 100755 index 0000000000..f60bf07715 --- /dev/null +++ b/libs/fusion/doc/html/fusion/iterator/functions.html @@ -0,0 +1,58 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Functions</title> +<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../iterator.html" title="Iterator"> +<link rel="prev" href="concepts/associative_iterator.html" title="Associative Iterator"> +<link rel="next" href="functions/deref.html" title="deref"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="concepts/associative_iterator.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../iterator.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="functions/deref.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h3 class="title"> +<a name="fusion.iterator.functions"></a><a class="link" href="functions.html" title="Functions">Functions</a> +</h3></div></div></div> +<div class="toc"><dl> +<dt><span class="section"><a href="functions/deref.html">deref</a></span></dt> +<dt><span class="section"><a href="functions/next.html">next</a></span></dt> +<dt><span class="section"><a href="functions/prior.html">prior</a></span></dt> +<dt><span class="section"><a href="functions/distance.html">distance</a></span></dt> +<dt><span class="section"><a href="functions/advance.html">advance</a></span></dt> +<dt><span class="section"><a href="functions/advance_c.html">advance_c</a></span></dt> +<dt><span class="section"><a href="functions/deref_data.html">deref_data</a></span></dt> +</dl></div> +<p> + Fusion provides functions for manipulating iterators, analogous to the similar + functions from the <a href="http://www.boost.org/libs/mpl/index.html" target="_top">MPL</a> + library. + </p> +</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-2006, 2011 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="concepts/associative_iterator.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../iterator.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="functions/deref.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/iterator/functions/advance.html b/libs/fusion/doc/html/fusion/iterator/functions/advance.html new file mode 100755 index 0000000000..ece9e821e7 --- /dev/null +++ b/libs/fusion/doc/html/fusion/iterator/functions/advance.html @@ -0,0 +1,161 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>advance</title> +<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../functions.html" title="Functions"> +<link rel="prev" href="distance.html" title="distance"> +<link rel="next" href="advance_c.html" title="advance_c"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="distance.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="advance_c.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h4 class="title"> +<a name="fusion.iterator.functions.advance"></a><a class="link" href="advance.html" title="advance">advance</a> +</h4></div></div></div> +<h6> +<a name="fusion.iterator.functions.advance.h0"></a> + <span><a name="fusion.iterator.functions.advance.description"></a></span><a class="link" href="advance.html#fusion.iterator.functions.advance.description">Description</a> + </h6> +<p> + Moves an iterator by a specified distance. + </p> +<h6> +<a name="fusion.iterator.functions.advance.h1"></a> + <span><a name="fusion.iterator.functions.advance.synopsis"></a></span><a class="link" href="advance.html#fusion.iterator.functions.advance.synopsis">Synopsis</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span> + <span class="keyword">typename</span> <span class="identifier">I</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">M</span> + <span class="special">></span> +<span class="keyword">typename</span> <a class="link" href="../metafunctions/advance.html" title="advance"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">advance</span></code></a><span class="special"><</span><span class="identifier">I</span><span class="special">,</span> <span class="identifier">M</span><span class="special">>::</span><span class="identifier">type</span> <span class="identifier">advance</span><span class="special">(</span><span class="identifier">I</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">i</span><span class="special">);</span> +</pre> +<div class="table"> +<a name="fusion.iterator.functions.advance.t0"></a><p class="title"><b>Table 1.6. Parameters</b></p> +<div class="table-contents"><table class="table" summary="Parameters"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Requirement + </p> + </th> +<th> + <p> + Description + </p> + </th> +</tr></thead> +<tbody> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">i</span></code> + </p> + </td> +<td> + <p> + Model of <a class="link" href="../concepts/forward_iterator.html" title="Forward Iterator">Forward + Iterator</a> + </p> + </td> +<td> + <p> + Iterator to move relative to + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">N</span></code> + </p> + </td> +<td> + <p> + An <a href="http://www.boost.org/libs/mpl/doc/refmanual/integral-constant.html" target="_top">MPL + Integral Constant</a> + </p> + </td> +<td> + <p> + Number of positions to move + </p> + </td> +</tr> +</tbody> +</table></div> +</div> +<br class="table-break"><h6> +<a name="fusion.iterator.functions.advance.h2"></a> + <span><a name="fusion.iterator.functions.advance.expression_semantics"></a></span><a class="link" href="advance.html#fusion.iterator.functions.advance.expression_semantics">Expression + Semantics</a> + </h6> +<pre class="programlisting"><a class="link" href="advance.html" title="advance"><code class="computeroutput"><span class="identifier">advance</span></code></a><span class="special"><</span><span class="identifier">M</span><span class="special">>(</span><span class="identifier">i</span><span class="special">);</span> +</pre> +<p> + <span class="bold"><strong>Return type</strong></span>: A model of the same iterator + concept as <code class="computeroutput"><span class="identifier">i</span></code>. + </p> +<p> + <span class="bold"><strong>Semantics</strong></span>: Returns an iterator to the + element <code class="computeroutput"><span class="identifier">M</span></code> positions from + <code class="computeroutput"><span class="identifier">i</span></code>. If <code class="computeroutput"><span class="identifier">i</span></code> + is a <a class="link" href="../concepts/bidirectional_iterator.html" title="Bidirectional Iterator">Bidirectional + Iterator</a> then <code class="computeroutput"><span class="identifier">M</span></code> + may be negative. + </p> +<h6> +<a name="fusion.iterator.functions.advance.h3"></a> + <span><a name="fusion.iterator.functions.advance.header"></a></span><a class="link" href="advance.html#fusion.iterator.functions.advance.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">iterator</span><span class="special">/</span><span class="identifier">advance</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">advance</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h6> +<a name="fusion.iterator.functions.advance.h4"></a> + <span><a name="fusion.iterator.functions.advance.example"></a></span><a class="link" href="advance.html#fusion.iterator.functions.advance.example">Example</a> + </h6> +<pre class="programlisting"><span class="keyword">typedef</span> <a class="link" href="../../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">int</span><span class="special">></span> <span class="identifier">vec</span><span class="special">;</span> + +<span class="identifier">vec</span> <span class="identifier">v</span><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">,</span><span class="number">3</span><span class="special">);</span> +<span class="identifier">assert</span><span class="special">(</span><a class="link" href="deref.html" title="deref"><code class="computeroutput"><span class="identifier">deref</span></code></a><span class="special">(</span><a class="link" href="advance.html" title="advance"><code class="computeroutput"><span class="identifier">advance</span></code></a><span class="special"><</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">int_</span><span class="special"><</span><span class="number">2</span><span class="special">></span> <span class="special">>(</span><a class="link" href="../../sequence/intrinsic/functions/begin.html" title="begin"><code class="computeroutput"><span class="identifier">begin</span></code></a><span class="special">(</span><span class="identifier">v</span><span class="special">)))</span> <span class="special">==</span> <span class="number">3</span><span class="special">);</span> +</pre> +</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-2006, 2011 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="distance.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="advance_c.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/iterator/functions/advance_c.html b/libs/fusion/doc/html/fusion/iterator/functions/advance_c.html new file mode 100755 index 0000000000..1b910f4f46 --- /dev/null +++ b/libs/fusion/doc/html/fusion/iterator/functions/advance_c.html @@ -0,0 +1,160 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>advance_c</title> +<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../functions.html" title="Functions"> +<link rel="prev" href="advance.html" title="advance"> +<link rel="next" href="deref_data.html" title="deref_data"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="advance.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="deref_data.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h4 class="title"> +<a name="fusion.iterator.functions.advance_c"></a><a class="link" href="advance_c.html" title="advance_c">advance_c</a> +</h4></div></div></div> +<h6> +<a name="fusion.iterator.functions.advance_c.h0"></a> + <span><a name="fusion.iterator.functions.advance_c.description"></a></span><a class="link" href="advance_c.html#fusion.iterator.functions.advance_c.description">Description</a> + </h6> +<p> + Moves an iterator by a specified distance. + </p> +<h6> +<a name="fusion.iterator.functions.advance_c.h1"></a> + <span><a name="fusion.iterator.functions.advance_c.synopsis"></a></span><a class="link" href="advance_c.html#fusion.iterator.functions.advance_c.synopsis">Synopsis</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span> + <span class="keyword">typename</span> <span class="identifier">I</span><span class="special">,</span> + <span class="keyword">int</span> <span class="identifier">N</span> + <span class="special">></span> +<span class="keyword">typename</span> <a class="link" href="../metafunctions/advance_c.html" title="advance_c"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">advance_c</span></code></a><span class="special"><</span><span class="identifier">I</span><span class="special">,</span> <span class="identifier">N</span><span class="special">>::</span><span class="identifier">type</span> <span class="identifier">advance_c</span><span class="special">(</span><span class="identifier">I</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">i</span><span class="special">);</span> +</pre> +<div class="table"> +<a name="fusion.iterator.functions.advance_c.t0"></a><p class="title"><b>Table 1.7. Parameters</b></p> +<div class="table-contents"><table class="table" summary="Parameters"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Requirement + </p> + </th> +<th> + <p> + Description + </p> + </th> +</tr></thead> +<tbody> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">i</span></code> + </p> + </td> +<td> + <p> + Model of <a class="link" href="../concepts/forward_iterator.html" title="Forward Iterator">Forward + Iterator</a> + </p> + </td> +<td> + <p> + Iterator to move relative to + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">N</span></code> + </p> + </td> +<td> + <p> + Integer constant + </p> + </td> +<td> + <p> + Number of positions to move + </p> + </td> +</tr> +</tbody> +</table></div> +</div> +<br class="table-break"><h6> +<a name="fusion.iterator.functions.advance_c.h2"></a> + <span><a name="fusion.iterator.functions.advance_c.expression_semantics"></a></span><a class="link" href="advance_c.html#fusion.iterator.functions.advance_c.expression_semantics">Expression + Semantics</a> + </h6> +<pre class="programlisting"><a class="link" href="advance_c.html" title="advance_c"><code class="computeroutput"><span class="identifier">advance_c</span></code></a><span class="special"><</span><span class="identifier">N</span><span class="special">>(</span><span class="identifier">i</span><span class="special">);</span> +</pre> +<p> + <span class="bold"><strong>Return type</strong></span>: A model of the same iterator + concept as <code class="computeroutput"><span class="identifier">i</span></code>. + </p> +<p> + <span class="bold"><strong>Semantics</strong></span>: Returns an iterator to the + element <code class="computeroutput"><span class="identifier">N</span></code> positions from + <code class="computeroutput"><span class="identifier">i</span></code>. If <code class="computeroutput"><span class="identifier">i</span></code> + is a <a class="link" href="../concepts/bidirectional_iterator.html" title="Bidirectional Iterator">Bidirectional + Iterator</a> then <code class="computeroutput"><span class="identifier">N</span></code> + may be negative. + </p> +<h6> +<a name="fusion.iterator.functions.advance_c.h3"></a> + <span><a name="fusion.iterator.functions.advance_c.header"></a></span><a class="link" href="advance_c.html#fusion.iterator.functions.advance_c.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">iterator</span><span class="special">/</span><span class="identifier">advance</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">advance</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h6> +<a name="fusion.iterator.functions.advance_c.h4"></a> + <span><a name="fusion.iterator.functions.advance_c.example"></a></span><a class="link" href="advance_c.html#fusion.iterator.functions.advance_c.example">Example</a> + </h6> +<pre class="programlisting"><span class="keyword">typedef</span> <a class="link" href="../../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">int</span><span class="special">></span> <span class="identifier">vec</span><span class="special">;</span> + +<span class="identifier">vec</span> <span class="identifier">v</span><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">,</span><span class="number">3</span><span class="special">);</span> +<span class="identifier">assert</span><span class="special">(</span><a class="link" href="deref.html" title="deref"><code class="computeroutput"><span class="identifier">deref</span></code></a><span class="special">(</span><a class="link" href="advance_c.html" title="advance_c"><code class="computeroutput"><span class="identifier">advance_c</span></code></a><span class="special"><</span><span class="number">2</span><span class="special">>(</span><a class="link" href="../../sequence/intrinsic/functions/begin.html" title="begin"><code class="computeroutput"><span class="identifier">begin</span></code></a><span class="special">(</span><span class="identifier">v</span><span class="special">)))</span> <span class="special">==</span> <span class="number">3</span><span class="special">);</span> +</pre> +</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-2006, 2011 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="advance.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="deref_data.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/iterator/functions/deref.html b/libs/fusion/doc/html/fusion/iterator/functions/deref.html new file mode 100755 index 0000000000..6e60a73291 --- /dev/null +++ b/libs/fusion/doc/html/fusion/iterator/functions/deref.html @@ -0,0 +1,138 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>deref</title> +<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../functions.html" title="Functions"> +<link rel="prev" href="../functions.html" title="Functions"> +<link rel="next" href="next.html" title="next"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="../functions.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="next.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h4 class="title"> +<a name="fusion.iterator.functions.deref"></a><a class="link" href="deref.html" title="deref">deref</a> +</h4></div></div></div> +<h6> +<a name="fusion.iterator.functions.deref.h0"></a> + <span><a name="fusion.iterator.functions.deref.description"></a></span><a class="link" href="deref.html#fusion.iterator.functions.deref.description">Description</a> + </h6> +<p> + Deferences an iterator. + </p> +<h6> +<a name="fusion.iterator.functions.deref.h1"></a> + <span><a name="fusion.iterator.functions.deref.synopsis"></a></span><a class="link" href="deref.html#fusion.iterator.functions.deref.synopsis">Synopsis</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span> + <span class="keyword">typename</span> <span class="identifier">I</span> + <span class="special">></span> +<span class="keyword">typename</span> <a class="link" href="../metafunctions/deref.html" title="deref"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">deref</span></code></a><span class="special"><</span><span class="identifier">I</span><span class="special">>::</span><span class="identifier">type</span> <span class="identifier">deref</span><span class="special">(</span><span class="identifier">I</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">i</span><span class="special">);</span> +</pre> +<div class="table"> +<a name="fusion.iterator.functions.deref.t0"></a><p class="title"><b>Table 1.2. Parameters</b></p> +<div class="table-contents"><table class="table" summary="Parameters"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Requirement + </p> + </th> +<th> + <p> + Description + </p> + </th> +</tr></thead> +<tbody><tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">i</span></code> + </p> + </td> +<td> + <p> + Model of <a class="link" href="../concepts/forward_iterator.html" title="Forward Iterator">Forward + Iterator</a> + </p> + </td> +<td> + <p> + Operation's argument + </p> + </td> +</tr></tbody> +</table></div> +</div> +<br class="table-break"><h6> +<a name="fusion.iterator.functions.deref.h2"></a> + <span><a name="fusion.iterator.functions.deref.expression_semantics"></a></span><a class="link" href="deref.html#fusion.iterator.functions.deref.expression_semantics">Expression + Semantics</a> + </h6> +<pre class="programlisting"><a class="link" href="deref.html" title="deref"><code class="computeroutput"><span class="identifier">deref</span></code></a><span class="special">(</span><span class="identifier">i</span><span class="special">);</span> +</pre> +<p> + <span class="bold"><strong>Return type</strong></span>: <code class="computeroutput"><a class="link" href="../metafunctions/deref.html" title="deref"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">deref</span></code></a><span class="special"><</span><span class="identifier">I</span><span class="special">>::</span><span class="identifier">type</span></code> + </p> +<p> + <span class="bold"><strong>Semantics</strong></span>: Dereferences the iterator + <code class="computeroutput"><span class="identifier">i</span></code>. + </p> +<h6> +<a name="fusion.iterator.functions.deref.h3"></a> + <span><a name="fusion.iterator.functions.deref.header"></a></span><a class="link" href="deref.html#fusion.iterator.functions.deref.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">iterator</span><span class="special">/</span><span class="identifier">deref</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">deref</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h6> +<a name="fusion.iterator.functions.deref.h4"></a> + <span><a name="fusion.iterator.functions.deref.example"></a></span><a class="link" href="deref.html#fusion.iterator.functions.deref.example">Example</a> + </h6> +<pre class="programlisting"><span class="keyword">typedef</span> <a class="link" href="../../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">int</span><span class="special">&></span> <span class="identifier">vec</span><span class="special">;</span> + +<span class="keyword">int</span> <span class="identifier">i</span><span class="special">(</span><span class="number">0</span><span class="special">);</span> +<span class="identifier">vec</span> <span class="identifier">v</span><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="identifier">i</span><span class="special">);</span> +<span class="identifier">assert</span><span class="special">(</span><a class="link" href="deref.html" title="deref"><code class="computeroutput"><span class="identifier">deref</span></code></a><span class="special">(</span><a class="link" href="../../sequence/intrinsic/functions/begin.html" title="begin"><code class="computeroutput"><span class="identifier">begin</span></code></a><span class="special">(</span><span class="identifier">v</span><span class="special">))</span> <span class="special">==</span> <span class="number">1</span><span class="special">);</span> +<span class="identifier">assert</span><span class="special">(</span><a class="link" href="deref.html" title="deref"><code class="computeroutput"><span class="identifier">deref</span></code></a><span class="special">(</span><a class="link" href="next.html" title="next"><code class="computeroutput"><span class="identifier">next</span></code></a><span class="special">(</span><a class="link" href="../../sequence/intrinsic/functions/begin.html" title="begin"><code class="computeroutput"><span class="identifier">begin</span></code></a><span class="special">(</span><span class="identifier">v</span><span class="special">)))</span> <span class="special">==</span> <span class="number">0</span><span class="special">);</span> +<span class="identifier">assert</span><span class="special">(&(</span><a class="link" href="deref.html" title="deref"><code class="computeroutput"><span class="identifier">deref</span></code></a><span class="special">(</span><a class="link" href="next.html" title="next"><code class="computeroutput"><span class="identifier">next</span></code></a><span class="special">(</span><a class="link" href="../../sequence/intrinsic/functions/begin.html" title="begin"><code class="computeroutput"><span class="identifier">begin</span></code></a><span class="special">(</span><span class="identifier">v</span><span class="special">))))</span> <span class="special">==</span> <span class="special">&</span><span class="identifier">i</span><span class="special">);</span> +</pre> +</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-2006, 2011 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="../functions.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="next.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/iterator/functions/deref_data.html b/libs/fusion/doc/html/fusion/iterator/functions/deref_data.html new file mode 100755 index 0000000000..d541a0ff15 --- /dev/null +++ b/libs/fusion/doc/html/fusion/iterator/functions/deref_data.html @@ -0,0 +1,138 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>deref_data</title> +<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../functions.html" title="Functions"> +<link rel="prev" href="advance_c.html" title="advance_c"> +<link rel="next" href="../operator.html" title="Operator"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="advance_c.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../operator.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h4 class="title"> +<a name="fusion.iterator.functions.deref_data"></a><a class="link" href="deref_data.html" title="deref_data">deref_data</a> +</h4></div></div></div> +<h6> +<a name="fusion.iterator.functions.deref_data.h0"></a> + <span><a name="fusion.iterator.functions.deref_data.description"></a></span><a class="link" href="deref_data.html#fusion.iterator.functions.deref_data.description">Description</a> + </h6> +<p> + Deferences the data property associated with the element referenced by + an associative iterator. + </p> +<h6> +<a name="fusion.iterator.functions.deref_data.h1"></a> + <span><a name="fusion.iterator.functions.deref_data.synopsis"></a></span><a class="link" href="deref_data.html#fusion.iterator.functions.deref_data.synopsis">Synopsis</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span> + <span class="keyword">typename</span> <span class="identifier">I</span> + <span class="special">></span> +<span class="keyword">typename</span> <a class="link" href="../metafunctions/deref_data.html" title="deref_data"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">deref_data</span></code></a><span class="special"><</span><span class="identifier">I</span><span class="special">>::</span><span class="identifier">type</span> <span class="identifier">deref</span><span class="special">(</span><span class="identifier">I</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">i</span><span class="special">);</span> +</pre> +<div class="table"> +<a name="fusion.iterator.functions.deref_data.t0"></a><p class="title"><b>Table 1.8. Parameters</b></p> +<div class="table-contents"><table class="table" summary="Parameters"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Requirement + </p> + </th> +<th> + <p> + Description + </p> + </th> +</tr></thead> +<tbody><tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">i</span></code> + </p> + </td> +<td> + <p> + Model of <a class="link" href="../concepts/associative_iterator.html" title="Associative Iterator">Associative + Iterator</a> + </p> + </td> +<td> + <p> + Operation's argument + </p> + </td> +</tr></tbody> +</table></div> +</div> +<br class="table-break"><h6> +<a name="fusion.iterator.functions.deref_data.h2"></a> + <span><a name="fusion.iterator.functions.deref_data.expression_semantics"></a></span><a class="link" href="deref_data.html#fusion.iterator.functions.deref_data.expression_semantics">Expression + Semantics</a> + </h6> +<pre class="programlisting"><a class="link" href="deref_data.html" title="deref_data"><code class="computeroutput"><span class="identifier">deref_data</span></code></a><span class="special">(</span><span class="identifier">i</span><span class="special">);</span> +</pre> +<p> + <span class="bold"><strong>Return type</strong></span>: <code class="computeroutput"><a class="link" href="../metafunctions/deref_data.html" title="deref_data"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">deref_data</span></code></a><span class="special"><</span><span class="identifier">I</span><span class="special">>::</span><span class="identifier">type</span></code> + </p> +<p> + <span class="bold"><strong>Semantics</strong></span>: Dereferences the data property + associated with the element referenced by an associative iterator <code class="computeroutput"><span class="identifier">i</span></code>. + </p> +<h6> +<a name="fusion.iterator.functions.deref_data.h3"></a> + <span><a name="fusion.iterator.functions.deref_data.header"></a></span><a class="link" href="deref_data.html#fusion.iterator.functions.deref_data.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">iterator</span><span class="special">/</span><span class="identifier">deref_data</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">deref_data</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h6> +<a name="fusion.iterator.functions.deref_data.h4"></a> + <span><a name="fusion.iterator.functions.deref_data.example"></a></span><a class="link" href="deref_data.html#fusion.iterator.functions.deref_data.example">Example</a> + </h6> +<pre class="programlisting"><span class="keyword">typedef</span> <a class="link" href="../../container/map.html" title="map"><code class="computeroutput"><span class="identifier">map</span></code></a><span class="special"><</span><a class="link" href="../../support/pair.html" title="pair"><code class="computeroutput"><span class="identifier">pair</span></code></a><span class="special"><</span><span class="keyword">float</span><span class="special">,</span><span class="keyword">int</span><span class="special">&></span> <span class="special">></span> <span class="identifier">map</span><span class="special">;</span> + +<span class="keyword">int</span> <span class="identifier">i</span><span class="special">(</span><span class="number">0</span><span class="special">);</span> +<span class="identifier">map</span> <span class="identifier">m</span><span class="special">(</span><span class="number">1.0f</span><span class="special">,</span><span class="identifier">i</span><span class="special">);</span> +<span class="identifier">assert</span><span class="special">(</span><a class="link" href="deref_data.html" title="deref_data"><code class="computeroutput"><span class="identifier">deref_data</span></code></a><span class="special">(</span><a class="link" href="../../sequence/intrinsic/functions/begin.html" title="begin"><code class="computeroutput"><span class="identifier">begin</span></code></a><span class="special">(</span><span class="identifier">m</span><span class="special">))</span> <span class="special">==</span> <span class="number">0</span><span class="special">);</span> +<span class="identifier">assert</span><span class="special">(&(</span><a class="link" href="deref_data.html" title="deref_data"><code class="computeroutput"><span class="identifier">deref_data</span></code></a><span class="special">(</span><a class="link" href="../../sequence/intrinsic/functions/begin.html" title="begin"><code class="computeroutput"><span class="identifier">begin</span></code></a><span class="special">(</span><span class="identifier">m</span><span class="special">)))</span> <span class="special">==</span> <span class="special">&</span><span class="identifier">i</span><span class="special">);</span> +</pre> +</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-2006, 2011 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="advance_c.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../operator.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/iterator/functions/distance.html b/libs/fusion/doc/html/fusion/iterator/functions/distance.html new file mode 100755 index 0000000000..07e54a01c5 --- /dev/null +++ b/libs/fusion/doc/html/fusion/iterator/functions/distance.html @@ -0,0 +1,136 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>distance</title> +<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../functions.html" title="Functions"> +<link rel="prev" href="prior.html" title="prior"> +<link rel="next" href="advance.html" title="advance"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="prior.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="advance.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h4 class="title"> +<a name="fusion.iterator.functions.distance"></a><a class="link" href="distance.html" title="distance">distance</a> +</h4></div></div></div> +<h6> +<a name="fusion.iterator.functions.distance.h0"></a> + <span><a name="fusion.iterator.functions.distance.description"></a></span><a class="link" href="distance.html#fusion.iterator.functions.distance.description">Description</a> + </h6> +<p> + Returns the distance between 2 iterators. + </p> +<h6> +<a name="fusion.iterator.functions.distance.h1"></a> + <span><a name="fusion.iterator.functions.distance.synopsis"></a></span><a class="link" href="distance.html#fusion.iterator.functions.distance.synopsis">Synopsis</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span> + <span class="keyword">typename</span> <span class="identifier">I</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">J</span> + <span class="special">></span> +<span class="keyword">typename</span> <a class="link" href="../metafunctions/distance.html" title="distance"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">distance</span></code></a><span class="special"><</span><span class="identifier">I</span><span class="special">,</span> <span class="identifier">J</span><span class="special">>::</span><span class="identifier">type</span> <span class="identifier">distance</span><span class="special">(</span><span class="identifier">I</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">i</span><span class="special">,</span> <span class="identifier">J</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">j</span><span class="special">);</span> +</pre> +<div class="table"> +<a name="fusion.iterator.functions.distance.t0"></a><p class="title"><b>Table 1.5. Parameters</b></p> +<div class="table-contents"><table class="table" summary="Parameters"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Requirement + </p> + </th> +<th> + <p> + Description + </p> + </th> +</tr></thead> +<tbody><tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">i</span></code>, <code class="computeroutput"><span class="identifier">j</span></code> + </p> + </td> +<td> + <p> + Models of <a class="link" href="../concepts/forward_iterator.html" title="Forward Iterator">Forward + Iterator</a> into the same sequence + </p> + </td> +<td> + <p> + The start and end points of the distance to be measured + </p> + </td> +</tr></tbody> +</table></div> +</div> +<br class="table-break"><h6> +<a name="fusion.iterator.functions.distance.h2"></a> + <span><a name="fusion.iterator.functions.distance.expression_semantics"></a></span><a class="link" href="distance.html#fusion.iterator.functions.distance.expression_semantics">Expression + Semantics</a> + </h6> +<pre class="programlisting"><a class="link" href="distance.html" title="distance"><code class="computeroutput"><span class="identifier">distance</span></code></a><span class="special">(</span><span class="identifier">i</span><span class="special">,</span><span class="identifier">j</span><span class="special">);</span> +</pre> +<p> + <span class="bold"><strong>Return type</strong></span>: <code class="computeroutput"><span class="keyword">int</span></code> + </p> +<p> + <span class="bold"><strong>Semantics</strong></span>: Returns the distance between + iterators <code class="computeroutput"><span class="identifier">i</span></code> and <code class="computeroutput"><span class="identifier">j</span></code>. + </p> +<h6> +<a name="fusion.iterator.functions.distance.h3"></a> + <span><a name="fusion.iterator.functions.distance.header"></a></span><a class="link" href="distance.html#fusion.iterator.functions.distance.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">iterator</span><span class="special">/</span><span class="identifier">distance</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">distance</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h6> +<a name="fusion.iterator.functions.distance.h4"></a> + <span><a name="fusion.iterator.functions.distance.example"></a></span><a class="link" href="distance.html#fusion.iterator.functions.distance.example">Example</a> + </h6> +<pre class="programlisting"><span class="keyword">typedef</span> <a class="link" href="../../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">int</span><span class="special">></span> <span class="identifier">vec</span><span class="special">;</span> + +<span class="identifier">vec</span> <span class="identifier">v</span><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">,</span><span class="number">3</span><span class="special">);</span> +<span class="identifier">assert</span><span class="special">(</span><a class="link" href="distance.html" title="distance"><code class="computeroutput"><span class="identifier">distance</span></code></a><span class="special">(</span><a class="link" href="../../sequence/intrinsic/functions/begin.html" title="begin"><code class="computeroutput"><span class="identifier">begin</span></code></a><span class="special">(</span><span class="identifier">v</span><span class="special">),</span> <a class="link" href="next.html" title="next"><code class="computeroutput"><span class="identifier">next</span></code></a><span class="special">(</span><a class="link" href="next.html" title="next"><code class="computeroutput"><span class="identifier">next</span></code></a><span class="special">(</span><a class="link" href="../../sequence/intrinsic/functions/begin.html" title="begin"><code class="computeroutput"><span class="identifier">begin</span></code></a><span class="special">(</span><span class="identifier">v</span><span class="special">))))</span> <span class="special">==</span> <span class="number">2</span><span class="special">);</span> +</pre> +</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-2006, 2011 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="prior.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="advance.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/iterator/functions/next.html b/libs/fusion/doc/html/fusion/iterator/functions/next.html new file mode 100755 index 0000000000..a67e93100e --- /dev/null +++ b/libs/fusion/doc/html/fusion/iterator/functions/next.html @@ -0,0 +1,138 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>next</title> +<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../functions.html" title="Functions"> +<link rel="prev" href="deref.html" title="deref"> +<link rel="next" href="prior.html" title="prior"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="deref.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="prior.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h4 class="title"> +<a name="fusion.iterator.functions.next"></a><a class="link" href="next.html" title="next">next</a> +</h4></div></div></div> +<h6> +<a name="fusion.iterator.functions.next.h0"></a> + <span><a name="fusion.iterator.functions.next.description"></a></span><a class="link" href="next.html#fusion.iterator.functions.next.description">Description</a> + </h6> +<p> + Moves an iterator 1 position forwards. + </p> +<h6> +<a name="fusion.iterator.functions.next.h1"></a> + <span><a name="fusion.iterator.functions.next.synopsis"></a></span><a class="link" href="next.html#fusion.iterator.functions.next.synopsis">Synopsis</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span> + <span class="keyword">typename</span> <span class="identifier">I</span> + <span class="special">></span> +<span class="keyword">typename</span> <a class="link" href="../metafunctions/next.html" title="next"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">next</span></code></a><span class="special"><</span><span class="identifier">I</span><span class="special">>::</span><span class="identifier">type</span> <span class="identifier">next</span><span class="special">(</span><span class="identifier">I</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">i</span><span class="special">);</span> +</pre> +<div class="table"> +<a name="fusion.iterator.functions.next.t0"></a><p class="title"><b>Table 1.3. Parameters</b></p> +<div class="table-contents"><table class="table" summary="Parameters"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Requirement + </p> + </th> +<th> + <p> + Description + </p> + </th> +</tr></thead> +<tbody><tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">i</span></code> + </p> + </td> +<td> + <p> + Model of <a class="link" href="../concepts/forward_iterator.html" title="Forward Iterator">Forward + Iterator</a> + </p> + </td> +<td> + <p> + Operation's argument + </p> + </td> +</tr></tbody> +</table></div> +</div> +<br class="table-break"><h6> +<a name="fusion.iterator.functions.next.h2"></a> + <span><a name="fusion.iterator.functions.next.expression_semantics"></a></span><a class="link" href="next.html#fusion.iterator.functions.next.expression_semantics">Expression + Semantics</a> + </h6> +<pre class="programlisting"><span class="identifier">next</span><span class="special">(</span><span class="identifier">i</span><span class="special">);</span> +</pre> +<p> + <span class="bold"><strong>Return type</strong></span>: A model of the same iterator + concept as <code class="computeroutput"><span class="identifier">i</span></code>. + </p> +<p> + <span class="bold"><strong>Semantics</strong></span>: Returns an iterator to the + next element after <code class="computeroutput"><span class="identifier">i</span></code>. + </p> +<h6> +<a name="fusion.iterator.functions.next.h3"></a> + <span><a name="fusion.iterator.functions.next.header"></a></span><a class="link" href="next.html#fusion.iterator.functions.next.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">iterator</span><span class="special">/</span><span class="identifier">next</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">next</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h6> +<a name="fusion.iterator.functions.next.h4"></a> + <span><a name="fusion.iterator.functions.next.example"></a></span><a class="link" href="next.html#fusion.iterator.functions.next.example">Example</a> + </h6> +<pre class="programlisting"><span class="keyword">typedef</span> <a class="link" href="../../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">int</span><span class="special">></span> <span class="identifier">vec</span><span class="special">;</span> + +<span class="identifier">vec</span> <span class="identifier">v</span><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">,</span><span class="number">3</span><span class="special">);</span> +<span class="identifier">assert</span><span class="special">(</span><a class="link" href="deref.html" title="deref"><code class="computeroutput"><span class="identifier">deref</span></code></a><span class="special">(</span><a class="link" href="../../sequence/intrinsic/functions/begin.html" title="begin"><code class="computeroutput"><span class="identifier">begin</span></code></a><span class="special">(</span><span class="identifier">v</span><span class="special">))</span> <span class="special">==</span> <span class="number">1</span><span class="special">);</span> +<span class="identifier">assert</span><span class="special">(</span><a class="link" href="deref.html" title="deref"><code class="computeroutput"><span class="identifier">deref</span></code></a><span class="special">(</span><a class="link" href="next.html" title="next"><code class="computeroutput"><span class="identifier">next</span></code></a><span class="special">(</span><a class="link" href="../../sequence/intrinsic/functions/begin.html" title="begin"><code class="computeroutput"><span class="identifier">begin</span></code></a><span class="special">(</span><span class="identifier">v</span><span class="special">)))</span> <span class="special">==</span> <span class="number">2</span><span class="special">);</span> +<span class="identifier">assert</span><span class="special">(</span><a class="link" href="deref.html" title="deref"><code class="computeroutput"><span class="identifier">deref</span></code></a><span class="special">(</span><a class="link" href="next.html" title="next"><code class="computeroutput"><span class="identifier">next</span></code></a><span class="special">(</span><a class="link" href="next.html" title="next"><code class="computeroutput"><span class="identifier">next</span></code></a><span class="special">(</span><a class="link" href="../../sequence/intrinsic/functions/begin.html" title="begin"><code class="computeroutput"><span class="identifier">begin</span></code></a><span class="special">(</span><span class="identifier">v</span><span class="special">))))</span> <span class="special">==</span> <span class="number">3</span><span class="special">);</span> +</pre> +</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-2006, 2011 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="deref.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="prior.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/iterator/functions/prior.html b/libs/fusion/doc/html/fusion/iterator/functions/prior.html new file mode 100755 index 0000000000..2a2c577d78 --- /dev/null +++ b/libs/fusion/doc/html/fusion/iterator/functions/prior.html @@ -0,0 +1,137 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>prior</title> +<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../functions.html" title="Functions"> +<link rel="prev" href="next.html" title="next"> +<link rel="next" href="distance.html" title="distance"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="next.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="distance.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h4 class="title"> +<a name="fusion.iterator.functions.prior"></a><a class="link" href="prior.html" title="prior">prior</a> +</h4></div></div></div> +<h6> +<a name="fusion.iterator.functions.prior.h0"></a> + <span><a name="fusion.iterator.functions.prior.description"></a></span><a class="link" href="prior.html#fusion.iterator.functions.prior.description">Description</a> + </h6> +<p> + Moves an iterator 1 position backwards. + </p> +<h6> +<a name="fusion.iterator.functions.prior.h1"></a> + <span><a name="fusion.iterator.functions.prior.synopsis"></a></span><a class="link" href="prior.html#fusion.iterator.functions.prior.synopsis">Synopsis</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span> + <span class="keyword">typename</span> <span class="identifier">I</span> + <span class="special">></span> +<span class="keyword">typename</span> <a class="link" href="../metafunctions/prior.html" title="prior"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">prior</span></code></a><span class="special"><</span><span class="identifier">I</span><span class="special">>::</span><span class="identifier">type</span> <span class="identifier">prior</span><span class="special">(</span><span class="identifier">I</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">i</span><span class="special">);</span> +</pre> +<div class="table"> +<a name="fusion.iterator.functions.prior.t0"></a><p class="title"><b>Table 1.4. Parameters</b></p> +<div class="table-contents"><table class="table" summary="Parameters"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Requirement + </p> + </th> +<th> + <p> + Description + </p> + </th> +</tr></thead> +<tbody><tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">i</span></code> + </p> + </td> +<td> + <p> + Model of <a class="link" href="../concepts/bidirectional_iterator.html" title="Bidirectional Iterator">Bidirectional + Iterator</a> + </p> + </td> +<td> + <p> + Operation's argument + </p> + </td> +</tr></tbody> +</table></div> +</div> +<br class="table-break"><h6> +<a name="fusion.iterator.functions.prior.h2"></a> + <span><a name="fusion.iterator.functions.prior.expression_semantics"></a></span><a class="link" href="prior.html#fusion.iterator.functions.prior.expression_semantics">Expression + Semantics</a> + </h6> +<pre class="programlisting"><a class="link" href="prior.html" title="prior"><code class="computeroutput"><span class="identifier">prior</span></code></a><span class="special">(</span><span class="identifier">i</span><span class="special">);</span> +</pre> +<p> + <span class="bold"><strong>Return type</strong></span>: A model of the same iterator + concept as <code class="computeroutput"><span class="identifier">i</span></code>. + </p> +<p> + <span class="bold"><strong>Semantics</strong></span>: Returns an iterator to the + element prior to <code class="computeroutput"><span class="identifier">i</span></code>. + </p> +<h6> +<a name="fusion.iterator.functions.prior.h3"></a> + <span><a name="fusion.iterator.functions.prior.header"></a></span><a class="link" href="prior.html#fusion.iterator.functions.prior.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">iterator</span><span class="special">/</span><span class="identifier">prior</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">prior</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h6> +<a name="fusion.iterator.functions.prior.h4"></a> + <span><a name="fusion.iterator.functions.prior.example"></a></span><a class="link" href="prior.html#fusion.iterator.functions.prior.example">Example</a> + </h6> +<pre class="programlisting"><span class="keyword">typedef</span> <a class="link" href="../../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">int</span><span class="special">></span> <span class="identifier">vec</span><span class="special">;</span> + +<span class="identifier">vec</span> <span class="identifier">v</span><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">);</span> +<span class="identifier">assert</span><span class="special">(</span><a class="link" href="deref.html" title="deref"><code class="computeroutput"><span class="identifier">deref</span></code></a><span class="special">(</span><a class="link" href="next.html" title="next"><code class="computeroutput"><span class="identifier">next</span></code></a><span class="special">(</span><a class="link" href="../../sequence/intrinsic/functions/begin.html" title="begin"><code class="computeroutput"><span class="identifier">begin</span></code></a><span class="special">(</span><span class="identifier">v</span><span class="special">)))</span> <span class="special">==</span> <span class="number">2</span><span class="special">);</span> +<span class="identifier">assert</span><span class="special">(</span><a class="link" href="deref.html" title="deref"><code class="computeroutput"><span class="identifier">deref</span></code></a><span class="special">(</span><a class="link" href="prior.html" title="prior"><code class="computeroutput"><span class="identifier">prior</span></code></a><span class="special">(</span><a class="link" href="next.html" title="next"><code class="computeroutput"><span class="identifier">next</span></code></a><span class="special">(</span><a class="link" href="../../sequence/intrinsic/functions/begin.html" title="begin"><code class="computeroutput"><span class="identifier">begin</span></code></a><span class="special">(</span><span class="identifier">v</span><span class="special">))))</span> <span class="special">==</span> <span class="number">1</span><span class="special">);</span> +</pre> +</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-2006, 2011 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="next.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="distance.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/iterator/metafunctions.html b/libs/fusion/doc/html/fusion/iterator/metafunctions.html new file mode 100755 index 0000000000..f6a8561267 --- /dev/null +++ b/libs/fusion/doc/html/fusion/iterator/metafunctions.html @@ -0,0 +1,57 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Metafunctions</title> +<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../iterator.html" title="Iterator"> +<link rel="prev" href="operator/operator_inequality.html" title="Operator !="> +<link rel="next" href="metafunctions/value_of.html" title="value_of"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="operator/operator_inequality.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../iterator.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="metafunctions/value_of.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h3 class="title"> +<a name="fusion.iterator.metafunctions"></a><a class="link" href="metafunctions.html" title="Metafunctions">Metafunctions</a> +</h3></div></div></div> +<div class="toc"><dl> +<dt><span class="section"><a href="metafunctions/value_of.html">value_of</a></span></dt> +<dt><span class="section"><a href="metafunctions/deref.html">deref</a></span></dt> +<dt><span class="section"><a href="metafunctions/next.html">next</a></span></dt> +<dt><span class="section"><a href="metafunctions/prior.html">prior</a></span></dt> +<dt><span class="section"><a href="metafunctions/equal_to.html">equal_to</a></span></dt> +<dt><span class="section"><a href="metafunctions/distance.html">distance</a></span></dt> +<dt><span class="section"><a href="metafunctions/advance.html">advance</a></span></dt> +<dt><span class="section"><a href="metafunctions/advance_c.html">advance_c</a></span></dt> +<dt><span class="section"><a href="metafunctions/key_of.html">key_of</a></span></dt> +<dt><span class="section"><a href="metafunctions/value_of_data.html">value_of_data</a></span></dt> +<dt><span class="section"><a href="metafunctions/deref_data.html">deref_data</a></span></dt> +</dl></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-2006, 2011 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="operator/operator_inequality.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../iterator.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="metafunctions/value_of.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/iterator/metafunctions/advance.html b/libs/fusion/doc/html/fusion/iterator/metafunctions/advance.html new file mode 100755 index 0000000000..0642024964 --- /dev/null +++ b/libs/fusion/doc/html/fusion/iterator/metafunctions/advance.html @@ -0,0 +1,165 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>advance</title> +<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../metafunctions.html" title="Metafunctions"> +<link rel="prev" href="distance.html" title="distance"> +<link rel="next" href="advance_c.html" title="advance_c"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="distance.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="advance_c.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h4 class="title"> +<a name="fusion.iterator.metafunctions.advance"></a><a class="link" href="advance.html" title="advance">advance</a> +</h4></div></div></div> +<h6> +<a name="fusion.iterator.metafunctions.advance.h0"></a> + <span><a name="fusion.iterator.metafunctions.advance.description"></a></span><a class="link" href="advance.html#fusion.iterator.metafunctions.advance.description">Description</a> + </h6> +<p> + Moves an iterator a specified distance. + </p> +<h6> +<a name="fusion.iterator.metafunctions.advance.h1"></a> + <span><a name="fusion.iterator.metafunctions.advance.synopsis"></a></span><a class="link" href="advance.html#fusion.iterator.metafunctions.advance.synopsis">Synopsis</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span> + <span class="keyword">typename</span> <span class="identifier">I</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">M</span> + <span class="special">></span> +<span class="keyword">struct</span> <span class="identifier">advance</span> +<span class="special">{</span> + <span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">type</span><span class="special">;</span> +<span class="special">};</span> +</pre> +<div class="table"> +<a name="fusion.iterator.metafunctions.advance.t0"></a><p class="title"><b>Table 1.18. Parameters</b></p> +<div class="table-contents"><table class="table" summary="Parameters"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Requirement + </p> + </th> +<th> + <p> + Description + </p> + </th> +</tr></thead> +<tbody> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">I</span></code> + </p> + </td> +<td> + <p> + Model of <a class="link" href="../concepts/forward_iterator.html" title="Forward Iterator">Forward + Iterator</a> + </p> + </td> +<td> + <p> + Iterator to move relative to + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">M</span></code> + </p> + </td> +<td> + <p> + Model of <a href="http://www.boost.org/libs/mpl/doc/refmanual/integral-constant.html" target="_top">MPL + Integral Constant</a> + </p> + </td> +<td> + <p> + Number of positions to move + </p> + </td> +</tr> +</tbody> +</table></div> +</div> +<br class="table-break"><h6> +<a name="fusion.iterator.metafunctions.advance.h2"></a> + <span><a name="fusion.iterator.metafunctions.advance.expression_semantics"></a></span><a class="link" href="advance.html#fusion.iterator.metafunctions.advance.expression_semantics">Expression + Semantics</a> + </h6> +<pre class="programlisting"><a class="link" href="advance.html" title="advance"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">advance</span></code></a><span class="special"><</span><span class="identifier">I</span><span class="special">,</span><span class="identifier">M</span><span class="special">>::</span><span class="identifier">type</span> +</pre> +<p> + <span class="bold"><strong>Return type</strong></span>: A model of the same iterator + concept as <code class="computeroutput"><span class="identifier">I</span></code>. + </p> +<p> + <span class="bold"><strong>Semantics</strong></span>: Returns an iterator a distance + <code class="computeroutput"><span class="identifier">M</span></code> from <code class="computeroutput"><span class="identifier">I</span></code>. + If <code class="computeroutput"><span class="identifier">I</span></code> is a <a class="link" href="../concepts/bidirectional_iterator.html" title="Bidirectional Iterator">Bidirectional + Iterator</a> then <code class="computeroutput"><span class="identifier">M</span></code> + may be negative. + </p> +<h6> +<a name="fusion.iterator.metafunctions.advance.h3"></a> + <span><a name="fusion.iterator.metafunctions.advance.header"></a></span><a class="link" href="advance.html#fusion.iterator.metafunctions.advance.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">iterator</span><span class="special">/</span><span class="identifier">advance</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">advance</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h6> +<a name="fusion.iterator.metafunctions.advance.h4"></a> + <span><a name="fusion.iterator.metafunctions.advance.example"></a></span><a class="link" href="advance.html#fusion.iterator.metafunctions.advance.example">Example</a> + </h6> +<pre class="programlisting"><span class="keyword">typedef</span> <a class="link" href="../../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">double</span><span class="special">,</span><span class="keyword">char</span><span class="special">></span> <span class="identifier">vec</span><span class="special">;</span> +<span class="keyword">typedef</span> <a class="link" href="../../sequence/intrinsic/metafunctions/begin.html" title="begin"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">begin</span></code></a><span class="special"><</span><span class="identifier">vec</span><span class="special">>::</span><span class="identifier">type</span> <span class="identifier">first</span><span class="special">;</span> +<span class="keyword">typedef</span> <a class="link" href="next.html" title="next"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">next</span></code></a><span class="special"><</span><span class="identifier">first</span><span class="special">>::</span><span class="identifier">type</span> <span class="identifier">second</span><span class="special">;</span> +<span class="keyword">typedef</span> <a class="link" href="next.html" title="next"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">next</span></code></a><span class="special"><</span><span class="identifier">second</span><span class="special">>::</span><span class="identifier">type</span> <span class="identifier">third</span><span class="special">;</span> + +<span class="identifier">BOOST_MPL_ASSERT</span><span class="special">((</span><a class="link" href="equal_to.html" title="equal_to"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">equal_to</span></code></a><span class="special"><</span><a class="link" href="advance.html" title="advance"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">advance</span></code></a><span class="special"><</span><span class="identifier">first</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">int_</span><span class="special"><</span><span class="number">2</span><span class="special">></span> <span class="special">>::</span><span class="identifier">type</span><span class="special">,</span> <span class="identifier">third</span><span class="special">>));</span> +</pre> +</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-2006, 2011 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="distance.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="advance_c.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/iterator/metafunctions/advance_c.html b/libs/fusion/doc/html/fusion/iterator/metafunctions/advance_c.html new file mode 100755 index 0000000000..612436b4d7 --- /dev/null +++ b/libs/fusion/doc/html/fusion/iterator/metafunctions/advance_c.html @@ -0,0 +1,164 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>advance_c</title> +<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../metafunctions.html" title="Metafunctions"> +<link rel="prev" href="advance.html" title="advance"> +<link rel="next" href="key_of.html" title="key_of"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="advance.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="key_of.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h4 class="title"> +<a name="fusion.iterator.metafunctions.advance_c"></a><a class="link" href="advance_c.html" title="advance_c">advance_c</a> +</h4></div></div></div> +<h6> +<a name="fusion.iterator.metafunctions.advance_c.h0"></a> + <span><a name="fusion.iterator.metafunctions.advance_c.description"></a></span><a class="link" href="advance_c.html#fusion.iterator.metafunctions.advance_c.description">Description</a> + </h6> +<p> + Moves an iterator by a specified distance. + </p> +<h6> +<a name="fusion.iterator.metafunctions.advance_c.h1"></a> + <span><a name="fusion.iterator.metafunctions.advance_c.synopsis"></a></span><a class="link" href="advance_c.html#fusion.iterator.metafunctions.advance_c.synopsis">Synopsis</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span> + <span class="keyword">typename</span> <span class="identifier">I</span><span class="special">,</span> + <span class="keyword">int</span> <span class="identifier">N</span> + <span class="special">></span> +<span class="keyword">struct</span> <span class="identifier">advance_c</span> +<span class="special">{</span> + <span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">type</span><span class="special">;</span> +<span class="special">};</span> +</pre> +<div class="table"> +<a name="fusion.iterator.metafunctions.advance_c.t0"></a><p class="title"><b>Table 1.19. Parameters</b></p> +<div class="table-contents"><table class="table" summary="Parameters"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Requirement + </p> + </th> +<th> + <p> + Description + </p> + </th> +</tr></thead> +<tbody> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">I</span></code> + </p> + </td> +<td> + <p> + Model of <a class="link" href="../concepts/forward_iterator.html" title="Forward Iterator">Forward + Iterator</a> + </p> + </td> +<td> + <p> + Iterator to move relative to + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">N</span></code> + </p> + </td> +<td> + <p> + Integer constant + </p> + </td> +<td> + <p> + Number of positions to move + </p> + </td> +</tr> +</tbody> +</table></div> +</div> +<br class="table-break"><h6> +<a name="fusion.iterator.metafunctions.advance_c.h2"></a> + <span><a name="fusion.iterator.metafunctions.advance_c.expression_semantics"></a></span><a class="link" href="advance_c.html#fusion.iterator.metafunctions.advance_c.expression_semantics">Expression + Semantics</a> + </h6> +<pre class="programlisting"><a class="link" href="advance_c.html" title="advance_c"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">advance_c</span></code></a><span class="special"><</span><span class="identifier">I</span><span class="special">,</span> <span class="identifier">N</span><span class="special">>::</span><span class="identifier">type</span> +</pre> +<p> + <span class="bold"><strong>Return type</strong></span>: A model of the same iterator + concept as <code class="computeroutput"><span class="identifier">I</span></code>. + </p> +<p> + <span class="bold"><strong>Semantics</strong></span>: Returns an iterator a distance + <code class="computeroutput"><span class="identifier">N</span></code> from <code class="computeroutput"><span class="identifier">I</span></code>. + If <code class="computeroutput"><span class="identifier">I</span></code> is a <a class="link" href="../concepts/bidirectional_iterator.html" title="Bidirectional Iterator">Bidirectional + Iterator</a> then <code class="computeroutput"><span class="identifier">N</span></code> + may be negative. Equivalent to <code class="computeroutput"><a class="link" href="advance.html" title="advance"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">advance</span></code></a><span class="special"><</span><span class="identifier">I</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">int_</span><span class="special"><</span><span class="identifier">N</span><span class="special">></span> <span class="special">>::</span><span class="identifier">type</span></code>. + </p> +<h6> +<a name="fusion.iterator.metafunctions.advance_c.h3"></a> + <span><a name="fusion.iterator.metafunctions.advance_c.header"></a></span><a class="link" href="advance_c.html#fusion.iterator.metafunctions.advance_c.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">iterator</span><span class="special">/</span><span class="identifier">advance</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">advance</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h6> +<a name="fusion.iterator.metafunctions.advance_c.h4"></a> + <span><a name="fusion.iterator.metafunctions.advance_c.example"></a></span><a class="link" href="advance_c.html#fusion.iterator.metafunctions.advance_c.example">Example</a> + </h6> +<pre class="programlisting"><span class="keyword">typedef</span> <a class="link" href="../../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">double</span><span class="special">,</span><span class="keyword">char</span><span class="special">></span> <span class="identifier">vec</span><span class="special">;</span> +<span class="keyword">typedef</span> <a class="link" href="../../sequence/intrinsic/metafunctions/begin.html" title="begin"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">begin</span></code></a><span class="special"><</span><span class="identifier">vec</span><span class="special">>::</span><span class="identifier">type</span> <span class="identifier">first</span><span class="special">;</span> +<span class="keyword">typedef</span> <a class="link" href="next.html" title="next"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">next</span></code></a><span class="special"><</span><span class="identifier">first</span><span class="special">>::</span><span class="identifier">type</span> <span class="identifier">second</span><span class="special">;</span> +<span class="keyword">typedef</span> <a class="link" href="next.html" title="next"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">next</span></code></a><span class="special"><</span><span class="identifier">second</span><span class="special">>::</span><span class="identifier">type</span> <span class="identifier">third</span><span class="special">;</span> + +<span class="identifier">BOOST_MPL_ASSERT</span><span class="special">((</span><a class="link" href="equal_to.html" title="equal_to"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">equal_to</span></code></a><span class="special"><</span><a class="link" href="advance_c.html" title="advance_c"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">advance_c</span></code></a><span class="special"><</span><span class="identifier">first</span><span class="special">,</span> <span class="number">2</span><span class="special">>::</span><span class="identifier">type</span><span class="special">,</span> <span class="identifier">third</span><span class="special">>));</span> +</pre> +</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-2006, 2011 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="advance.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="key_of.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/iterator/metafunctions/deref.html b/libs/fusion/doc/html/fusion/iterator/metafunctions/deref.html new file mode 100755 index 0000000000..2d42a3e3b1 --- /dev/null +++ b/libs/fusion/doc/html/fusion/iterator/metafunctions/deref.html @@ -0,0 +1,144 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>deref</title> +<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../metafunctions.html" title="Metafunctions"> +<link rel="prev" href="value_of.html" title="value_of"> +<link rel="next" href="next.html" title="next"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="value_of.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="next.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h4 class="title"> +<a name="fusion.iterator.metafunctions.deref"></a><a class="link" href="deref.html" title="deref">deref</a> +</h4></div></div></div> +<h6> +<a name="fusion.iterator.metafunctions.deref.h0"></a> + <span><a name="fusion.iterator.metafunctions.deref.description"></a></span><a class="link" href="deref.html#fusion.iterator.metafunctions.deref.description">Description</a> + </h6> +<p> + Returns the type that will be returned by dereferencing an iterator. + </p> +<h6> +<a name="fusion.iterator.metafunctions.deref.h1"></a> + <span><a name="fusion.iterator.metafunctions.deref.synposis"></a></span><a class="link" href="deref.html#fusion.iterator.metafunctions.deref.synposis">Synposis</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span> + <span class="keyword">typename</span> <span class="identifier">I</span> + <span class="special">></span> +<span class="keyword">struct</span> <span class="identifier">deref</span> +<span class="special">{</span> + <span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">type</span><span class="special">;</span> +<span class="special">};</span> +</pre> +<div class="table"> +<a name="fusion.iterator.metafunctions.deref.t0"></a><p class="title"><b>Table 1.13. Parameters</b></p> +<div class="table-contents"><table class="table" summary="Parameters"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Requirement + </p> + </th> +<th> + <p> + Description + </p> + </th> +</tr></thead> +<tbody><tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">I</span></code> + </p> + </td> +<td> + <p> + Model of <a class="link" href="../concepts/forward_iterator.html" title="Forward Iterator">Forward + Iterator</a> + </p> + </td> +<td> + <p> + Operation's argument + </p> + </td> +</tr></tbody> +</table></div> +</div> +<br class="table-break"><h6> +<a name="fusion.iterator.metafunctions.deref.h2"></a> + <span><a name="fusion.iterator.metafunctions.deref.expression_semantics"></a></span><a class="link" href="deref.html#fusion.iterator.metafunctions.deref.expression_semantics">Expression + Semantics</a> + </h6> +<pre class="programlisting"><a class="link" href="deref.html" title="deref"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">deref</span></code></a><span class="special"><</span><span class="identifier">I</span><span class="special">>::</span><span class="identifier">type</span> +</pre> +<p> + <span class="bold"><strong>Return type</strong></span>: Any type + </p> +<p> + <span class="bold"><strong>Semantics</strong></span>: Returns the result of dereferencing + an iterator of type <code class="computeroutput"><span class="identifier">I</span></code>. + </p> +<h6> +<a name="fusion.iterator.metafunctions.deref.h3"></a> + <span><a name="fusion.iterator.metafunctions.deref.header"></a></span><a class="link" href="deref.html#fusion.iterator.metafunctions.deref.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">iterator</span><span class="special">/</span><span class="identifier">deref</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">deref</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h6> +<a name="fusion.iterator.metafunctions.deref.h4"></a> + <span><a name="fusion.iterator.metafunctions.deref.example"></a></span><a class="link" href="deref.html#fusion.iterator.metafunctions.deref.example">Example</a> + </h6> +<pre class="programlisting"><span class="keyword">typedef</span> <a class="link" href="../../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">int</span><span class="special">&></span> <span class="identifier">vec</span><span class="special">;</span> +<span class="keyword">typedef</span> <span class="keyword">const</span> <span class="identifier">vec</span> <span class="identifier">const_vec</span><span class="special">;</span> +<span class="keyword">typedef</span> <a class="link" href="../../sequence/intrinsic/metafunctions/begin.html" title="begin"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">begin</span></code></a><span class="special"><</span><span class="identifier">vec</span><span class="special">>::</span><span class="identifier">type</span> <span class="identifier">first</span><span class="special">;</span> +<span class="keyword">typedef</span> <a class="link" href="next.html" title="next"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">next</span></code></a><span class="special"><</span><span class="identifier">first</span><span class="special">>::</span><span class="identifier">type</span> <span class="identifier">second</span><span class="special">;</span> + +<span class="keyword">typedef</span> <a class="link" href="../../sequence/intrinsic/metafunctions/begin.html" title="begin"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">begin</span></code></a><span class="special"><</span><span class="identifier">const_vec</span><span class="special">>::</span><span class="identifier">type</span> <span class="identifier">const_first</span><span class="special">;</span> +<span class="keyword">typedef</span> <a class="link" href="next.html" title="next"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">next</span></code></a><span class="special"><</span><span class="identifier">const_first</span><span class="special">>::</span><span class="identifier">type</span> <span class="identifier">const_second</span><span class="special">;</span> + +<span class="identifier">BOOST_MPL_ASSERT</span><span class="special">((</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">is_same</span><span class="special"><</span><a class="link" href="deref.html" title="deref"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">deref</span></code></a><span class="special"><</span><span class="identifier">first</span><span class="special">>::</span><span class="identifier">type</span><span class="special">,</span> <span class="keyword">int</span><span class="special">&>));</span> +<span class="identifier">BOOST_MPL_ASSERT</span><span class="special">((</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">is_same</span><span class="special"><</span><a class="link" href="deref.html" title="deref"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">deref</span></code></a><span class="special"><</span><span class="identifier">second</span><span class="special">>::</span><span class="identifier">type</span><span class="special">,</span> <span class="keyword">int</span><span class="special">&>));</span> +</pre> +</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-2006, 2011 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="value_of.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="next.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/iterator/metafunctions/deref_data.html b/libs/fusion/doc/html/fusion/iterator/metafunctions/deref_data.html new file mode 100755 index 0000000000..1cfb703b96 --- /dev/null +++ b/libs/fusion/doc/html/fusion/iterator/metafunctions/deref_data.html @@ -0,0 +1,139 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>deref_data</title> +<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../metafunctions.html" title="Metafunctions"> +<link rel="prev" href="value_of_data.html" title="value_of_data"> +<link rel="next" href="../../sequence.html" title="Sequence"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="value_of_data.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../../sequence.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h4 class="title"> +<a name="fusion.iterator.metafunctions.deref_data"></a><a class="link" href="deref_data.html" title="deref_data">deref_data</a> +</h4></div></div></div> +<h6> +<a name="fusion.iterator.metafunctions.deref_data.h0"></a> + <span><a name="fusion.iterator.metafunctions.deref_data.description"></a></span><a class="link" href="deref_data.html#fusion.iterator.metafunctions.deref_data.description">Description</a> + </h6> +<p> + Returns the type that will be returned by dereferencing the data property + referenced by an associative iterator. + </p> +<h6> +<a name="fusion.iterator.metafunctions.deref_data.h1"></a> + <span><a name="fusion.iterator.metafunctions.deref_data.synposis"></a></span><a class="link" href="deref_data.html#fusion.iterator.metafunctions.deref_data.synposis">Synposis</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span> + <span class="keyword">typename</span> <span class="identifier">I</span> + <span class="special">></span> +<span class="keyword">struct</span> <span class="identifier">deref_data</span> +<span class="special">{</span> + <span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">type</span><span class="special">;</span> +<span class="special">};</span> +</pre> +<div class="table"> +<a name="fusion.iterator.metafunctions.deref_data.t0"></a><p class="title"><b>Table 1.22. Parameters</b></p> +<div class="table-contents"><table class="table" summary="Parameters"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Requirement + </p> + </th> +<th> + <p> + Description + </p> + </th> +</tr></thead> +<tbody><tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">I</span></code> + </p> + </td> +<td> + <p> + Model of <a class="link" href="../concepts/associative_iterator.html" title="Associative Iterator">Associative + Iterator</a> + </p> + </td> +<td> + <p> + Operation's argument + </p> + </td> +</tr></tbody> +</table></div> +</div> +<br class="table-break"><h6> +<a name="fusion.iterator.metafunctions.deref_data.h2"></a> + <span><a name="fusion.iterator.metafunctions.deref_data.expression_semantics"></a></span><a class="link" href="deref_data.html#fusion.iterator.metafunctions.deref_data.expression_semantics">Expression + Semantics</a> + </h6> +<pre class="programlisting"><a class="link" href="deref_data.html" title="deref_data"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">deref_data</span></code></a><span class="special"><</span><span class="identifier">I</span><span class="special">>::</span><span class="identifier">type</span> +</pre> +<p> + <span class="bold"><strong>Return type</strong></span>: Any type + </p> +<p> + <span class="bold"><strong>Semantics</strong></span>: Returns the result of dereferencing + the data property referenced by an associative iterator of type <code class="computeroutput"><span class="identifier">I</span></code>. + </p> +<h6> +<a name="fusion.iterator.metafunctions.deref_data.h3"></a> + <span><a name="fusion.iterator.metafunctions.deref_data.header"></a></span><a class="link" href="deref_data.html#fusion.iterator.metafunctions.deref_data.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boosta</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">iterator</span><span class="special">/</span><span class="identifier">deref_data</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">deref_data</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h6> +<a name="fusion.iterator.metafunctions.deref_data.h4"></a> + <span><a name="fusion.iterator.metafunctions.deref_data.example"></a></span><a class="link" href="deref_data.html#fusion.iterator.metafunctions.deref_data.example">Example</a> + </h6> +<pre class="programlisting"><span class="keyword">typedef</span> <a class="link" href="../../container/map.html" title="map"><code class="computeroutput"><span class="identifier">map</span></code></a><span class="special"><</span><a class="link" href="../../support/pair.html" title="pair"><code class="computeroutput"><span class="identifier">pair</span></code></a><span class="special"><</span><span class="keyword">float</span><span class="special">,</span><span class="keyword">int</span><span class="special">></span> <span class="special">></span> <span class="identifier">map</span><span class="special">;</span> +<span class="keyword">typedef</span> <a class="link" href="../../sequence/intrinsic/metafunctions/begin.html" title="begin"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">begin</span></code></a><span class="special"><</span><span class="identifier">vec</span><span class="special">>::</span><span class="identifier">type</span> <span class="identifier">first</span><span class="special">;</span> + +<span class="identifier">BOOST_MPL_ASSERT</span><span class="special">((</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">is_same</span><span class="special"><</span><a class="link" href="deref_data.html" title="deref_data"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">deref_data</span></code></a><span class="special"><</span><span class="identifier">first</span><span class="special">>::</span><span class="identifier">type</span><span class="special">,</span> <span class="keyword">int</span><span class="special">&>));</span> +</pre> +</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-2006, 2011 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="value_of_data.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../../sequence.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/iterator/metafunctions/distance.html b/libs/fusion/doc/html/fusion/iterator/metafunctions/distance.html new file mode 100755 index 0000000000..65b3bfaa1c --- /dev/null +++ b/libs/fusion/doc/html/fusion/iterator/metafunctions/distance.html @@ -0,0 +1,144 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>distance</title> +<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../metafunctions.html" title="Metafunctions"> +<link rel="prev" href="equal_to.html" title="equal_to"> +<link rel="next" href="advance.html" title="advance"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="equal_to.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="advance.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h4 class="title"> +<a name="fusion.iterator.metafunctions.distance"></a><a class="link" href="distance.html" title="distance">distance</a> +</h4></div></div></div> +<h6> +<a name="fusion.iterator.metafunctions.distance.h0"></a> + <span><a name="fusion.iterator.metafunctions.distance.description"></a></span><a class="link" href="distance.html#fusion.iterator.metafunctions.distance.description">Description</a> + </h6> +<p> + Returns the distance between two iterators. + </p> +<h6> +<a name="fusion.iterator.metafunctions.distance.h1"></a> + <span><a name="fusion.iterator.metafunctions.distance.synopsis"></a></span><a class="link" href="distance.html#fusion.iterator.metafunctions.distance.synopsis">Synopsis</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span> + <span class="keyword">typename</span> <span class="identifier">I</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">J</span> + <span class="special">></span> +<span class="keyword">struct</span> <span class="identifier">distance</span> +<span class="special">{</span> + <span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">type</span><span class="special">;</span> +<span class="special">};</span> +</pre> +<div class="table"> +<a name="fusion.iterator.metafunctions.distance.t0"></a><p class="title"><b>Table 1.17. Parameters</b></p> +<div class="table-contents"><table class="table" summary="Parameters"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Requirement + </p> + </th> +<th> + <p> + Description + </p> + </th> +</tr></thead> +<tbody><tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">I</span></code>, <code class="computeroutput"><span class="identifier">J</span></code> + </p> + </td> +<td> + <p> + Models of <a class="link" href="../concepts/forward_iterator.html" title="Forward Iterator">Forward + Iterator</a> into the same sequence + </p> + </td> +<td> + <p> + The start and end points of the distance to be measured + </p> + </td> +</tr></tbody> +</table></div> +</div> +<br class="table-break"><h6> +<a name="fusion.iterator.metafunctions.distance.h2"></a> + <span><a name="fusion.iterator.metafunctions.distance.expression_semantics"></a></span><a class="link" href="distance.html#fusion.iterator.metafunctions.distance.expression_semantics">Expression + Semantics</a> + </h6> +<pre class="programlisting"><a class="link" href="distance.html" title="distance"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">distance</span></code></a><span class="special"><</span><span class="identifier">I</span><span class="special">,</span> <span class="identifier">J</span><span class="special">>::</span><span class="identifier">type</span> +</pre> +<p> + <span class="bold"><strong>Return type</strong></span>: A model of <a href="http://www.boost.org/libs/mpl/doc/refmanual/integral-constant.html" target="_top">MPL + Integral Constant</a>. + </p> +<p> + <span class="bold"><strong>Semantics</strong></span>: Returns the distance between + iterators of types <code class="computeroutput"><span class="identifier">I</span></code> and + <code class="computeroutput"><span class="identifier">J</span></code>. + </p> +<h6> +<a name="fusion.iterator.metafunctions.distance.h3"></a> + <span><a name="fusion.iterator.metafunctions.distance.header"></a></span><a class="link" href="distance.html#fusion.iterator.metafunctions.distance.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">iterator</span><span class="special">/</span><span class="identifier">distance</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">distance</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h6> +<a name="fusion.iterator.metafunctions.distance.h4"></a> + <span><a name="fusion.iterator.metafunctions.distance.example"></a></span><a class="link" href="distance.html#fusion.iterator.metafunctions.distance.example">Example</a> + </h6> +<pre class="programlisting"><span class="keyword">typedef</span> <a class="link" href="../../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">double</span><span class="special">,</span><span class="keyword">char</span><span class="special">></span> <span class="identifier">vec</span><span class="special">;</span> +<span class="keyword">typedef</span> <a class="link" href="../../sequence/intrinsic/metafunctions/begin.html" title="begin"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">begin</span></code></a><span class="special"><</span><span class="identifier">vec</span><span class="special">>::</span><span class="identifier">type</span> <span class="identifier">first</span><span class="special">;</span> +<span class="keyword">typedef</span> <a class="link" href="next.html" title="next"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">next</span></code></a><span class="special"><</span><span class="identifier">first</span><span class="special">>::</span><span class="identifier">type</span> <span class="identifier">second</span><span class="special">;</span> +<span class="keyword">typedef</span> <a class="link" href="next.html" title="next"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">next</span></code></a><span class="special"><</span><span class="identifier">second</span><span class="special">>::</span><span class="identifier">type</span> <span class="identifier">third</span><span class="special">;</span> +<span class="keyword">typedef</span> <a class="link" href="distance.html" title="distance"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">distance</span></code></a><span class="special"><</span><span class="identifier">first</span><span class="special">,</span><span class="identifier">third</span><span class="special">>::</span><span class="identifier">type</span> <span class="identifier">dist</span><span class="special">;</span> + +<span class="identifier">BOOST_MPL_ASSERT_RELATION</span><span class="special">(</span><span class="identifier">dist</span><span class="special">::</span><span class="identifier">value</span><span class="special">,</span> <span class="special">==,</span> <span class="number">2</span><span class="special">);</span> +</pre> +</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-2006, 2011 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="equal_to.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="advance.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/iterator/metafunctions/equal_to.html b/libs/fusion/doc/html/fusion/iterator/metafunctions/equal_to.html new file mode 100755 index 0000000000..0211c4d27e --- /dev/null +++ b/libs/fusion/doc/html/fusion/iterator/metafunctions/equal_to.html @@ -0,0 +1,143 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>equal_to</title> +<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../metafunctions.html" title="Metafunctions"> +<link rel="prev" href="prior.html" title="prior"> +<link rel="next" href="distance.html" title="distance"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="prior.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="distance.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h4 class="title"> +<a name="fusion.iterator.metafunctions.equal_to"></a><a class="link" href="equal_to.html" title="equal_to">equal_to</a> +</h4></div></div></div> +<h6> +<a name="fusion.iterator.metafunctions.equal_to.h0"></a> + <span><a name="fusion.iterator.metafunctions.equal_to.description"></a></span><a class="link" href="equal_to.html#fusion.iterator.metafunctions.equal_to.description">Description</a> + </h6> +<p> + Returns a true-valued <a href="http://www.boost.org/libs/mpl/doc/refmanual/integral-constant.html" target="_top">MPL + Integral Constant</a> if <code class="computeroutput"><span class="identifier">I</span></code> + and <code class="computeroutput"><span class="identifier">J</span></code> are equal. + </p> +<h6> +<a name="fusion.iterator.metafunctions.equal_to.h1"></a> + <span><a name="fusion.iterator.metafunctions.equal_to.synopsis"></a></span><a class="link" href="equal_to.html#fusion.iterator.metafunctions.equal_to.synopsis">Synopsis</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span> + <span class="keyword">typename</span> <span class="identifier">I</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">J</span> + <span class="special">></span> +<span class="keyword">struct</span> <span class="identifier">equal_to</span> +<span class="special">{</span> + <span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">type</span><span class="special">;</span> +<span class="special">};</span> +</pre> +<div class="table"> +<a name="fusion.iterator.metafunctions.equal_to.t0"></a><p class="title"><b>Table 1.16. Parameters</b></p> +<div class="table-contents"><table class="table" summary="Parameters"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Requirement + </p> + </th> +<th> + <p> + Description + </p> + </th> +</tr></thead> +<tbody><tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">I</span></code>, <code class="computeroutput"><span class="identifier">J</span></code> + </p> + </td> +<td> + <p> + Any fusion iterators + </p> + </td> +<td> + <p> + Operation's arguments + </p> + </td> +</tr></tbody> +</table></div> +</div> +<br class="table-break"><h6> +<a name="fusion.iterator.metafunctions.equal_to.h2"></a> + <span><a name="fusion.iterator.metafunctions.equal_to.expression_semantics"></a></span><a class="link" href="equal_to.html#fusion.iterator.metafunctions.equal_to.expression_semantics">Expression + Semantics</a> + </h6> +<pre class="programlisting"><a class="link" href="equal_to.html" title="equal_to"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">equal_to</span></code></a><span class="special"><</span><span class="identifier">I</span><span class="special">,</span> <span class="identifier">J</span><span class="special">>::</span><span class="identifier">type</span> +</pre> +<p> + <span class="bold"><strong>Return type</strong></span>: A model of <a href="http://www.boost.org/libs/mpl/doc/refmanual/integral-constant.html" target="_top">MPL + Integral Constant</a>. + </p> +<p> + <span class="bold"><strong>Semantics</strong></span>: Returns <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">true_</span></code> + if <code class="computeroutput"><span class="identifier">I</span></code> and <code class="computeroutput"><span class="identifier">J</span></code> are iterators to the same position. + Returns <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">false_</span></code> otherwise. + </p> +<h6> +<a name="fusion.iterator.metafunctions.equal_to.h3"></a> + <span><a name="fusion.iterator.metafunctions.equal_to.header"></a></span><a class="link" href="equal_to.html#fusion.iterator.metafunctions.equal_to.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">iterator</span><span class="special">/</span><span class="identifier">equal_to</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">equal_to</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h6> +<a name="fusion.iterator.metafunctions.equal_to.h4"></a> + <span><a name="fusion.iterator.metafunctions.equal_to.example"></a></span><a class="link" href="equal_to.html#fusion.iterator.metafunctions.equal_to.example">Example</a> + </h6> +<pre class="programlisting"><span class="keyword">typedef</span> <a class="link" href="../../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">double</span><span class="special">></span> <span class="identifier">vec</span><span class="special">;</span> +<span class="keyword">typedef</span> <a class="link" href="../../sequence/intrinsic/metafunctions/begin.html" title="begin"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">begin</span></code></a><span class="special"><</span><span class="identifier">vec</span><span class="special">>::</span><span class="identifier">type</span> <span class="identifier">first</span><span class="special">;</span> +<span class="keyword">typedef</span> <a class="link" href="../../sequence/intrinsic/metafunctions/end.html" title="end"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">end</span></code></a><span class="special"><</span><span class="identifier">vec</span><span class="special">>::</span><span class="identifier">type</span> <span class="identifier">last</span><span class="special">;</span> +<span class="identifier">BOOST_MPL_ASSERT</span><span class="special">((</span><a class="link" href="equal_to.html" title="equal_to"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">equal_to</span></code></a><span class="special"><</span><span class="identifier">first</span><span class="special">,</span> <span class="identifier">first</span><span class="special">>));</span> +<span class="identifier">BOOST_MPL_ASSERT_NOT</span><span class="special">((</span><a class="link" href="equal_to.html" title="equal_to"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">equal_to</span></code></a><span class="special"><</span><span class="identifier">first</span><span class="special">,</span><span class="identifier">last</span><span class="special">>));</span> +</pre> +</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-2006, 2011 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="prior.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="distance.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/iterator/metafunctions/key_of.html b/libs/fusion/doc/html/fusion/iterator/metafunctions/key_of.html new file mode 100755 index 0000000000..2161005c7a --- /dev/null +++ b/libs/fusion/doc/html/fusion/iterator/metafunctions/key_of.html @@ -0,0 +1,139 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>key_of</title> +<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../metafunctions.html" title="Metafunctions"> +<link rel="prev" href="advance_c.html" title="advance_c"> +<link rel="next" href="value_of_data.html" title="value_of_data"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="advance_c.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="value_of_data.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h4 class="title"> +<a name="fusion.iterator.metafunctions.key_of"></a><a class="link" href="key_of.html" title="key_of">key_of</a> +</h4></div></div></div> +<h6> +<a name="fusion.iterator.metafunctions.key_of.h0"></a> + <span><a name="fusion.iterator.metafunctions.key_of.description"></a></span><a class="link" href="key_of.html#fusion.iterator.metafunctions.key_of.description">Description</a> + </h6> +<p> + Returns the key type associated with the element referenced by an associative + iterator. + </p> +<h6> +<a name="fusion.iterator.metafunctions.key_of.h1"></a> + <span><a name="fusion.iterator.metafunctions.key_of.synopsis"></a></span><a class="link" href="key_of.html#fusion.iterator.metafunctions.key_of.synopsis">Synopsis</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span> + <span class="keyword">typename</span> <span class="identifier">I</span> + <span class="special">></span> +<span class="keyword">struct</span> <span class="identifier">key_of</span> +<span class="special">{</span> + <span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">type</span><span class="special">;</span> +<span class="special">};</span> +</pre> +<div class="table"> +<a name="fusion.iterator.metafunctions.key_of.t0"></a><p class="title"><b>Table 1.20. Parameters</b></p> +<div class="table-contents"><table class="table" summary="Parameters"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Requirement + </p> + </th> +<th> + <p> + Description + </p> + </th> +</tr></thead> +<tbody><tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">I</span></code> + </p> + </td> +<td> + <p> + Model of <a class="link" href="../concepts/associative_iterator.html" title="Associative Iterator">Associative + Iterator</a> + </p> + </td> +<td> + <p> + Operation's argument + </p> + </td> +</tr></tbody> +</table></div> +</div> +<br class="table-break"><h6> +<a name="fusion.iterator.metafunctions.key_of.h2"></a> + <span><a name="fusion.iterator.metafunctions.key_of.expression_semantics"></a></span><a class="link" href="key_of.html#fusion.iterator.metafunctions.key_of.expression_semantics">Expression + Semantics</a> + </h6> +<pre class="programlisting"><a class="link" href="key_of.html" title="key_of"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">key_of</span></code></a><span class="special"><</span><span class="identifier">I</span><span class="special">>::</span><span class="identifier">type</span> +</pre> +<p> + <span class="bold"><strong>Return type</strong></span>: Any type + </p> +<p> + <span class="bold"><strong>Semantics</strong></span>: Returns the key type associated + with the element referenced by an associative iterator <code class="computeroutput"><span class="identifier">I</span></code>. + </p> +<h6> +<a name="fusion.iterator.metafunctions.key_of.h3"></a> + <span><a name="fusion.iterator.metafunctions.key_of.header"></a></span><a class="link" href="key_of.html#fusion.iterator.metafunctions.key_of.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">iterator</span><span class="special">/</span><span class="identifier">key_of</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">key_of</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h6> +<a name="fusion.iterator.metafunctions.key_of.h4"></a> + <span><a name="fusion.iterator.metafunctions.key_of.example"></a></span><a class="link" href="key_of.html#fusion.iterator.metafunctions.key_of.example">Example</a> + </h6> +<pre class="programlisting"><span class="keyword">typedef</span> <a class="link" href="../../container/map.html" title="map"><code class="computeroutput"><span class="identifier">map</span></code></a><span class="special"><</span><a class="link" href="../../support/pair.html" title="pair"><code class="computeroutput"><span class="identifier">pair</span></code></a><span class="special"><</span><span class="keyword">float</span><span class="special">,</span><span class="keyword">int</span><span class="special">></span> <span class="special">></span> <span class="identifier">vec</span><span class="special">;</span> +<span class="keyword">typedef</span> <a class="link" href="../../sequence/intrinsic/metafunctions/begin.html" title="begin"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">begin</span></code></a><span class="special"><</span><span class="identifier">vec</span><span class="special">>::</span><span class="identifier">type</span> <span class="identifier">first</span><span class="special">;</span> + +<span class="identifier">BOOST_MPL_ASSERT</span><span class="special">((</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">is_same</span><span class="special"><</span><a class="link" href="key_of.html" title="key_of"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">key_of</span></code></a><span class="special"><</span><span class="identifier">first</span><span class="special">>::</span><span class="identifier">type</span><span class="special">,</span> <span class="keyword">float</span><span class="special">>));</span> +</pre> +</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-2006, 2011 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="advance_c.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="value_of_data.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/iterator/metafunctions/next.html b/libs/fusion/doc/html/fusion/iterator/metafunctions/next.html new file mode 100755 index 0000000000..0665596f10 --- /dev/null +++ b/libs/fusion/doc/html/fusion/iterator/metafunctions/next.html @@ -0,0 +1,139 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>next</title> +<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../metafunctions.html" title="Metafunctions"> +<link rel="prev" href="deref.html" title="deref"> +<link rel="next" href="prior.html" title="prior"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="deref.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="prior.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h4 class="title"> +<a name="fusion.iterator.metafunctions.next"></a><a class="link" href="next.html" title="next">next</a> +</h4></div></div></div> +<h6> +<a name="fusion.iterator.metafunctions.next.h0"></a> + <span><a name="fusion.iterator.metafunctions.next.description"></a></span><a class="link" href="next.html#fusion.iterator.metafunctions.next.description">Description</a> + </h6> +<p> + Returns the type of the next iterator in a sequence. + </p> +<h6> +<a name="fusion.iterator.metafunctions.next.h1"></a> + <span><a name="fusion.iterator.metafunctions.next.synposis"></a></span><a class="link" href="next.html#fusion.iterator.metafunctions.next.synposis">Synposis</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span> + <span class="keyword">typename</span> <span class="identifier">I</span> + <span class="special">></span> +<span class="keyword">struct</span> <span class="identifier">next</span> +<span class="special">{</span> + <span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">type</span><span class="special">;</span> +<span class="special">};</span> +</pre> +<div class="table"> +<a name="fusion.iterator.metafunctions.next.t0"></a><p class="title"><b>Table 1.14. Parameters</b></p> +<div class="table-contents"><table class="table" summary="Parameters"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Requirement + </p> + </th> +<th> + <p> + Description + </p> + </th> +</tr></thead> +<tbody><tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">I</span></code> + </p> + </td> +<td> + <p> + Model of <a class="link" href="../concepts/forward_iterator.html" title="Forward Iterator">Forward + Iterator</a> + </p> + </td> +<td> + <p> + Operation's argument + </p> + </td> +</tr></tbody> +</table></div> +</div> +<br class="table-break"><h6> +<a name="fusion.iterator.metafunctions.next.h2"></a> + <span><a name="fusion.iterator.metafunctions.next.expression_semantics"></a></span><a class="link" href="next.html#fusion.iterator.metafunctions.next.expression_semantics">Expression + Semantics</a> + </h6> +<pre class="programlisting"><a class="link" href="next.html" title="next"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">next</span></code></a><span class="special"><</span><span class="identifier">I</span><span class="special">>::</span><span class="identifier">type</span> +</pre> +<p> + <span class="bold"><strong>Return type</strong></span>: A model of the same iterator + concept as <code class="computeroutput"><span class="identifier">I</span></code>. + </p> +<p> + <span class="bold"><strong>Semantics</strong></span>: Returns an iterator to the + next element in the sequence after <code class="computeroutput"><span class="identifier">I</span></code>. + </p> +<h6> +<a name="fusion.iterator.metafunctions.next.h3"></a> + <span><a name="fusion.iterator.metafunctions.next.header"></a></span><a class="link" href="next.html#fusion.iterator.metafunctions.next.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">iterator</span><span class="special">/</span><span class="identifier">next</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">next</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h6> +<a name="fusion.iterator.metafunctions.next.h4"></a> + <span><a name="fusion.iterator.metafunctions.next.example"></a></span><a class="link" href="next.html#fusion.iterator.metafunctions.next.example">Example</a> + </h6> +<pre class="programlisting"><span class="keyword">typedef</span> <a class="link" href="../../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">double</span><span class="special">></span> <span class="identifier">vec</span><span class="special">;</span> +<span class="keyword">typedef</span> <a class="link" href="next.html" title="next"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">next</span></code></a><span class="special"><</span><a class="link" href="../../sequence/intrinsic/metafunctions/begin.html" title="begin"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">begin</span></code></a><span class="special"><</span><span class="identifier">vec</span><span class="special">>::</span><span class="identifier">type</span><span class="special">>::</span><span class="identifier">type</span> <span class="identifier">second</span><span class="special">;</span> + +<span class="identifier">BOOST_MPL_ASSERT</span><span class="special">((</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">is_same</span><span class="special"><</span><a class="link" href="value_of.html" title="value_of"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">value_of</span></code></a><span class="special"><</span><span class="identifier">second</span><span class="special">>::</span><span class="identifier">type</span><span class="special">,</span> <span class="keyword">double</span><span class="special">>));</span> +</pre> +</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-2006, 2011 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="deref.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="prior.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/iterator/metafunctions/prior.html b/libs/fusion/doc/html/fusion/iterator/metafunctions/prior.html new file mode 100755 index 0000000000..5134acf2db --- /dev/null +++ b/libs/fusion/doc/html/fusion/iterator/metafunctions/prior.html @@ -0,0 +1,142 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>prior</title> +<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../metafunctions.html" title="Metafunctions"> +<link rel="prev" href="next.html" title="next"> +<link rel="next" href="equal_to.html" title="equal_to"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="next.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="equal_to.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h4 class="title"> +<a name="fusion.iterator.metafunctions.prior"></a><a class="link" href="prior.html" title="prior">prior</a> +</h4></div></div></div> +<h6> +<a name="fusion.iterator.metafunctions.prior.h0"></a> + <span><a name="fusion.iterator.metafunctions.prior.description"></a></span><a class="link" href="prior.html#fusion.iterator.metafunctions.prior.description">Description</a> + </h6> +<p> + Returns the type of the previous iterator in a sequence. + </p> +<h6> +<a name="fusion.iterator.metafunctions.prior.h1"></a> + <span><a name="fusion.iterator.metafunctions.prior.synopsis"></a></span><a class="link" href="prior.html#fusion.iterator.metafunctions.prior.synopsis">Synopsis</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span> + <span class="keyword">typename</span> <span class="identifier">I</span> + <span class="special">></span> +<span class="keyword">struct</span> <span class="identifier">prior</span> +<span class="special">{</span> + <span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">type</span><span class="special">;</span> +<span class="special">};</span> +</pre> +<div class="table"> +<a name="fusion.iterator.metafunctions.prior.t0"></a><p class="title"><b>Table 1.15. Parameters</b></p> +<div class="table-contents"><table class="table" summary="Parameters"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Requirement + </p> + </th> +<th> + <p> + Description + </p> + </th> +</tr></thead> +<tbody><tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">I</span></code> + </p> + </td> +<td> + <p> + Model of <a class="link" href="../concepts/bidirectional_iterator.html" title="Bidirectional Iterator">Bidirectional + Iterator</a> + </p> + </td> +<td> + <p> + Operation's argument + </p> + </td> +</tr></tbody> +</table></div> +</div> +<br class="table-break"><h6> +<a name="fusion.iterator.metafunctions.prior.h2"></a> + <span><a name="fusion.iterator.metafunctions.prior.expression_semantics"></a></span><a class="link" href="prior.html#fusion.iterator.metafunctions.prior.expression_semantics">Expression + Semantics</a> + </h6> +<pre class="programlisting"><a class="link" href="prior.html" title="prior"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">prior</span></code></a><span class="special"><</span><span class="identifier">I</span><span class="special">>::</span><span class="identifier">type</span> +</pre> +<p> + <span class="bold"><strong>Return type</strong></span>: A model of the same iterator + concept as <code class="computeroutput"><span class="identifier">I</span></code>. + </p> +<p> + <span class="bold"><strong>Semantics</strong></span>: Returns an iterator to the + previous element in the sequence before <code class="computeroutput"><span class="identifier">I</span></code>. + </p> +<h6> +<a name="fusion.iterator.metafunctions.prior.h3"></a> + <span><a name="fusion.iterator.metafunctions.prior.header"></a></span><a class="link" href="prior.html#fusion.iterator.metafunctions.prior.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">iterator</span><span class="special">/</span><span class="identifier">prior</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">prior</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h6> +<a name="fusion.iterator.metafunctions.prior.h4"></a> + <span><a name="fusion.iterator.metafunctions.prior.example"></a></span><a class="link" href="prior.html#fusion.iterator.metafunctions.prior.example">Example</a> + </h6> +<pre class="programlisting"><span class="keyword">typedef</span> <a class="link" href="../../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">double</span><span class="special">></span> <span class="identifier">vec</span><span class="special">;</span> +<span class="keyword">typedef</span> <a class="link" href="next.html" title="next"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">next</span></code></a><span class="special"><</span><a class="link" href="../../sequence/intrinsic/metafunctions/begin.html" title="begin"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">begin</span></code></a><span class="special"><</span><span class="identifier">vec</span><span class="special">>::</span><span class="identifier">type</span><span class="special">>::</span><span class="identifier">type</span> <span class="identifier">second</span><span class="special">;</span> + +<span class="identifier">BOOST_MPL_ASSERT</span><span class="special">((</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">is_same</span><span class="special"><</span><a class="link" href="value_of.html" title="value_of"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">value_of</span></code></a><span class="special"><</span><span class="identifier">second</span><span class="special">>::</span><span class="identifier">type</span><span class="special">,</span> <span class="keyword">double</span><span class="special">>));</span> + +<span class="keyword">typedef</span> <a class="link" href="prior.html" title="prior"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">prior</span></code></a><span class="special"><</span><span class="identifier">second</span><span class="special">>::</span><span class="identifier">type</span> <span class="identifier">first</span><span class="special">;</span> +<span class="identifier">BOOST_MPL_ASSERT</span><span class="special">((</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">is_same</span><span class="special"><</span><a class="link" href="value_of.html" title="value_of"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">value_of</span></code></a><span class="special"><</span><span class="identifier">first</span><span class="special">>::</span><span class="identifier">type</span><span class="special">,</span> <span class="keyword">int</span><span class="special">>));</span> +</pre> +</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-2006, 2011 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="next.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="equal_to.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/iterator/metafunctions/value_of.html b/libs/fusion/doc/html/fusion/iterator/metafunctions/value_of.html new file mode 100755 index 0000000000..08b9829630 --- /dev/null +++ b/libs/fusion/doc/html/fusion/iterator/metafunctions/value_of.html @@ -0,0 +1,142 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>value_of</title> +<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../metafunctions.html" title="Metafunctions"> +<link rel="prev" href="../metafunctions.html" title="Metafunctions"> +<link rel="next" href="deref.html" title="deref"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="../metafunctions.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="deref.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h4 class="title"> +<a name="fusion.iterator.metafunctions.value_of"></a><a class="link" href="value_of.html" title="value_of">value_of</a> +</h4></div></div></div> +<h6> +<a name="fusion.iterator.metafunctions.value_of.h0"></a> + <span><a name="fusion.iterator.metafunctions.value_of.description"></a></span><a class="link" href="value_of.html#fusion.iterator.metafunctions.value_of.description">Description</a> + </h6> +<p> + Returns the type stored at the position of an iterator. + </p> +<h6> +<a name="fusion.iterator.metafunctions.value_of.h1"></a> + <span><a name="fusion.iterator.metafunctions.value_of.synopsis"></a></span><a class="link" href="value_of.html#fusion.iterator.metafunctions.value_of.synopsis">Synopsis</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span> + <span class="keyword">typename</span> <span class="identifier">I</span> + <span class="special">></span> +<span class="keyword">struct</span> <span class="identifier">value_of</span> +<span class="special">{</span> + <span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">type</span><span class="special">;</span> +<span class="special">};</span> +</pre> +<div class="table"> +<a name="fusion.iterator.metafunctions.value_of.t0"></a><p class="title"><b>Table 1.12. Parameters</b></p> +<div class="table-contents"><table class="table" summary="Parameters"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Requirement + </p> + </th> +<th> + <p> + Description + </p> + </th> +</tr></thead> +<tbody><tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">I</span></code> + </p> + </td> +<td> + <p> + Model of <a class="link" href="../concepts/forward_iterator.html" title="Forward Iterator">Forward + Iterator</a> + </p> + </td> +<td> + <p> + Operation's argument + </p> + </td> +</tr></tbody> +</table></div> +</div> +<br class="table-break"><h6> +<a name="fusion.iterator.metafunctions.value_of.h2"></a> + <span><a name="fusion.iterator.metafunctions.value_of.expression_semantics"></a></span><a class="link" href="value_of.html#fusion.iterator.metafunctions.value_of.expression_semantics">Expression + Semantics</a> + </h6> +<pre class="programlisting"><a class="link" href="value_of.html" title="value_of"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">value_of</span></code></a><span class="special"><</span><span class="identifier">I</span><span class="special">>::</span><span class="identifier">type</span> +</pre> +<p> + <span class="bold"><strong>Return type</strong></span>: Any type + </p> +<p> + <span class="bold"><strong>Semantics</strong></span>: Returns the type stored in + a sequence at iterator position <code class="computeroutput"><span class="identifier">I</span></code>. + </p> +<h6> +<a name="fusion.iterator.metafunctions.value_of.h3"></a> + <span><a name="fusion.iterator.metafunctions.value_of.header"></a></span><a class="link" href="value_of.html#fusion.iterator.metafunctions.value_of.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">iterator</span><span class="special">/</span><span class="identifier">value_of</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">value_of</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h6> +<a name="fusion.iterator.metafunctions.value_of.h4"></a> + <span><a name="fusion.iterator.metafunctions.value_of.example"></a></span><a class="link" href="value_of.html#fusion.iterator.metafunctions.value_of.example">Example</a> + </h6> +<pre class="programlisting"><span class="keyword">typedef</span> <a class="link" href="../../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">int</span><span class="special">&,</span><span class="keyword">const</span> <span class="keyword">int</span><span class="special">&></span> <span class="identifier">vec</span><span class="special">;</span> +<span class="keyword">typedef</span> <a class="link" href="../../sequence/intrinsic/metafunctions/begin.html" title="begin"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">begin</span></code></a><span class="special"><</span><span class="identifier">vec</span><span class="special">>::</span><span class="identifier">type</span> <span class="identifier">first</span><span class="special">;</span> +<span class="keyword">typedef</span> <a class="link" href="next.html" title="next"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">next</span></code></a><span class="special"><</span><span class="identifier">first</span><span class="special">>::</span><span class="identifier">type</span> <span class="identifier">second</span><span class="special">;</span> +<span class="keyword">typedef</span> <a class="link" href="next.html" title="next"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">next</span></code></a><span class="special"><</span><span class="identifier">second</span><span class="special">>::</span><span class="identifier">type</span> <span class="identifier">third</span><span class="special">;</span> + +<span class="identifier">BOOST_MPL_ASSERT</span><span class="special">((</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">is_same</span><span class="special"><</span><a class="link" href="value_of.html" title="value_of"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">value_of</span></code></a><span class="special"><</span><span class="identifier">first</span><span class="special">>::</span><span class="identifier">type</span><span class="special">,</span> <span class="keyword">int</span><span class="special">>));</span> +<span class="identifier">BOOST_MPL_ASSERT</span><span class="special">((</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">is_same</span><span class="special"><</span><a class="link" href="value_of.html" title="value_of"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">value_of</span></code></a><span class="special"><</span><span class="identifier">second</span><span class="special">>::</span><span class="identifier">type</span><span class="special">,</span> <span class="keyword">int</span><span class="special">&>));</span> +<span class="identifier">BOOST_MPL_ASSERT</span><span class="special">((</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">is_same</span><span class="special"><</span><a class="link" href="value_of.html" title="value_of"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">value_of</span></code></a><span class="special"><</span><span class="identifier">third</span><span class="special">>::</span><span class="identifier">type</span><span class="special">,</span> <span class="keyword">const</span> <span class="keyword">int</span><span class="special">&>));</span> +</pre> +</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-2006, 2011 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="../metafunctions.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="deref.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/iterator/metafunctions/value_of_data.html b/libs/fusion/doc/html/fusion/iterator/metafunctions/value_of_data.html new file mode 100755 index 0000000000..b7a46191aa --- /dev/null +++ b/libs/fusion/doc/html/fusion/iterator/metafunctions/value_of_data.html @@ -0,0 +1,140 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>value_of_data</title> +<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../metafunctions.html" title="Metafunctions"> +<link rel="prev" href="key_of.html" title="key_of"> +<link rel="next" href="deref_data.html" title="deref_data"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="key_of.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="deref_data.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h4 class="title"> +<a name="fusion.iterator.metafunctions.value_of_data"></a><a class="link" href="value_of_data.html" title="value_of_data">value_of_data</a> +</h4></div></div></div> +<h6> +<a name="fusion.iterator.metafunctions.value_of_data.h0"></a> + <span><a name="fusion.iterator.metafunctions.value_of_data.description"></a></span><a class="link" href="value_of_data.html#fusion.iterator.metafunctions.value_of_data.description">Description</a> + </h6> +<p> + Returns the type of the data property associated with the element referenced + by an associative iterator references. + </p> +<h6> +<a name="fusion.iterator.metafunctions.value_of_data.h1"></a> + <span><a name="fusion.iterator.metafunctions.value_of_data.synopsis"></a></span><a class="link" href="value_of_data.html#fusion.iterator.metafunctions.value_of_data.synopsis">Synopsis</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span> + <span class="keyword">typename</span> <span class="identifier">I</span> + <span class="special">></span> +<span class="keyword">struct</span> <span class="identifier">value_of_data</span> +<span class="special">{</span> + <span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">type</span><span class="special">;</span> +<span class="special">};</span> +</pre> +<div class="table"> +<a name="fusion.iterator.metafunctions.value_of_data.t0"></a><p class="title"><b>Table 1.21. Parameters</b></p> +<div class="table-contents"><table class="table" summary="Parameters"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Requirement + </p> + </th> +<th> + <p> + Description + </p> + </th> +</tr></thead> +<tbody><tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">I</span></code> + </p> + </td> +<td> + <p> + Model of <a class="link" href="../concepts/associative_iterator.html" title="Associative Iterator">Associative + Iterator</a> + </p> + </td> +<td> + <p> + Operation's argument + </p> + </td> +</tr></tbody> +</table></div> +</div> +<br class="table-break"><h6> +<a name="fusion.iterator.metafunctions.value_of_data.h2"></a> + <span><a name="fusion.iterator.metafunctions.value_of_data.expression_semantics"></a></span><a class="link" href="value_of_data.html#fusion.iterator.metafunctions.value_of_data.expression_semantics">Expression + Semantics</a> + </h6> +<pre class="programlisting"><a class="link" href="value_of_data.html" title="value_of_data"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">value_of_data</span></code></a><span class="special"><</span><span class="identifier">I</span><span class="special">>::</span><span class="identifier">type</span> +</pre> +<p> + <span class="bold"><strong>Return type</strong></span>: Any type + </p> +<p> + <span class="bold"><strong>Semantics</strong></span>: Returns the type of the data + property associated with the element referenced by an associative iterator + <code class="computeroutput"><span class="identifier">I</span></code>. + </p> +<h6> +<a name="fusion.iterator.metafunctions.value_of_data.h3"></a> + <span><a name="fusion.iterator.metafunctions.value_of_data.header"></a></span><a class="link" href="value_of_data.html#fusion.iterator.metafunctions.value_of_data.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">iterator</span><span class="special">/</span><span class="identifier">value_of_data</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">value_of_data</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h6> +<a name="fusion.iterator.metafunctions.value_of_data.h4"></a> + <span><a name="fusion.iterator.metafunctions.value_of_data.example"></a></span><a class="link" href="value_of_data.html#fusion.iterator.metafunctions.value_of_data.example">Example</a> + </h6> +<pre class="programlisting"><span class="keyword">typedef</span> <a class="link" href="../../container/map.html" title="map"><code class="computeroutput"><span class="identifier">map</span></code></a><span class="special"><</span><a class="link" href="../../support/pair.html" title="pair"><code class="computeroutput"><span class="identifier">pair</span></code></a><span class="special"><</span><span class="keyword">float</span><span class="special">,</span><span class="keyword">int</span><span class="special">></span> <span class="special">></span> <span class="identifier">vec</span><span class="special">;</span> +<span class="keyword">typedef</span> <a class="link" href="../../sequence/intrinsic/metafunctions/begin.html" title="begin"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">begin</span></code></a><span class="special"><</span><span class="identifier">vec</span><span class="special">>::</span><span class="identifier">type</span> <span class="identifier">first</span><span class="special">;</span> + +<span class="identifier">BOOST_MPL_ASSERT</span><span class="special">((</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">is_same</span><span class="special"><</span><a class="link" href="value_of_data.html" title="value_of_data"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">value_of_data</span></code></a><span class="special"><</span><span class="identifier">first</span><span class="special">>::</span><span class="identifier">type</span><span class="special">,</span> <span class="keyword">int</span><span class="special">>));</span> +</pre> +</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-2006, 2011 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="key_of.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="deref_data.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/iterator/operator.html b/libs/fusion/doc/html/fusion/iterator/operator.html new file mode 100755 index 0000000000..3acb90c138 --- /dev/null +++ b/libs/fusion/doc/html/fusion/iterator/operator.html @@ -0,0 +1,56 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Operator</title> +<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../iterator.html" title="Iterator"> +<link rel="prev" href="functions/deref_data.html" title="deref_data"> +<link rel="next" href="operator/operator_unary_star.html" title="Operator *"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="functions/deref_data.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../iterator.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator/operator_unary_star.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h3 class="title"> +<a name="fusion.iterator.operator"></a><a class="link" href="operator.html" title="Operator">Operator</a> +</h3></div></div></div> +<div class="toc"><dl> +<dt><span class="section"><a href="operator/operator_unary_star.html">Operator + *</a></span></dt> +<dt><span class="section"><a href="operator/operator_equality.html">Operator + ==</a></span></dt> +<dt><span class="section"><a href="operator/operator_inequality.html">Operator + !=</a></span></dt> +</dl></div> +<p> + Overloaded operators are provided to provide a more natural syntax for dereferencing + iterators, and comparing them for equality. + </p> +</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-2006, 2011 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="functions/deref_data.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../iterator.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator/operator_unary_star.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/iterator/operator/operator_equality.html b/libs/fusion/doc/html/fusion/iterator/operator/operator_equality.html new file mode 100755 index 0000000000..5760b4b956 --- /dev/null +++ b/libs/fusion/doc/html/fusion/iterator/operator/operator_equality.html @@ -0,0 +1,128 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Operator ==</title> +<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../operator.html" title="Operator"> +<link rel="prev" href="operator_unary_star.html" title="Operator *"> +<link rel="next" href="operator_inequality.html" title="Operator !="> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="operator_unary_star.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../operator.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_inequality.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h4 class="title"> +<a name="fusion.iterator.operator.operator_equality"></a><a class="link" href="operator_equality.html" title="Operator ==">Operator + ==</a> +</h4></div></div></div> +<h6> +<a name="fusion.iterator.operator.operator_equality.h0"></a> + <span><a name="fusion.iterator.operator.operator_equality.description"></a></span><a class="link" href="operator_equality.html#fusion.iterator.operator.operator_equality.description">Description</a> + </h6> +<p> + Compares 2 iterators for equality. + </p> +<h6> +<a name="fusion.iterator.operator.operator_equality.h1"></a> + <span><a name="fusion.iterator.operator.operator_equality.synopsis"></a></span><a class="link" href="operator_equality.html#fusion.iterator.operator.operator_equality.synopsis">Synopsis</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span> + <span class="keyword">typename</span> <span class="identifier">I</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">J</span> + <span class="special">></span> +<span class="emphasis"><em>unspecified</em></span> <span class="keyword">operator</span><span class="special">==(</span><span class="identifier">I</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">i</span><span class="special">,</span> <span class="identifier">J</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">i</span><span class="special">);</span> +</pre> +<div class="table"> +<a name="fusion.iterator.operator.operator_equality.t0"></a><p class="title"><b>Table 1.10. Parameters</b></p> +<div class="table-contents"><table class="table" summary="Parameters"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Requirement + </p> + </th> +<th> + <p> + Description + </p> + </th> +</tr></thead> +<tbody><tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">i</span></code>, <code class="computeroutput"><span class="identifier">j</span></code> + </p> + </td> +<td> + <p> + Any fusion iterators + </p> + </td> +<td> + <p> + Operation's arguments + </p> + </td> +</tr></tbody> +</table></div> +</div> +<br class="table-break"><h6> +<a name="fusion.iterator.operator.operator_equality.h2"></a> + <span><a name="fusion.iterator.operator.operator_equality.expression_semantics"></a></span><a class="link" href="operator_equality.html#fusion.iterator.operator.operator_equality.expression_semantics">Expression + Semantics</a> + </h6> +<pre class="programlisting"><span class="identifier">i</span> <span class="special">==</span> <span class="identifier">j</span> +</pre> +<p> + <span class="bold"><strong>Return type</strong></span>: Convertible to <code class="computeroutput"><span class="keyword">bool</span></code>. + </p> +<p> + <span class="bold"><strong>Semantics</strong></span>: Equivalent to <code class="computeroutput"><a class="link" href="../metafunctions/equal_to.html" title="equal_to"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">equal_to</span></code></a><span class="special"><</span><span class="identifier">I</span><span class="special">,</span><span class="identifier">J</span><span class="special">>::</span><span class="identifier">value</span></code> + where <code class="computeroutput"><span class="identifier">I</span></code> and <code class="computeroutput"><span class="identifier">J</span></code> are the types of <code class="computeroutput"><span class="identifier">i</span></code> + and <code class="computeroutput"><span class="identifier">j</span></code> respectively. + </p> +<h6> +<a name="fusion.iterator.operator.operator_equality.h3"></a> + <span><a name="fusion.iterator.operator.operator_equality.header"></a></span><a class="link" href="operator_equality.html#fusion.iterator.operator.operator_equality.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">iterator</span><span class="special">/</span><span class="identifier">equal_to</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">equal_to</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +</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-2006, 2011 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="operator_unary_star.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../operator.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_inequality.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/iterator/operator/operator_inequality.html b/libs/fusion/doc/html/fusion/iterator/operator/operator_inequality.html new file mode 100755 index 0000000000..548ab597f5 --- /dev/null +++ b/libs/fusion/doc/html/fusion/iterator/operator/operator_inequality.html @@ -0,0 +1,126 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Operator !=</title> +<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../operator.html" title="Operator"> +<link rel="prev" href="operator_equality.html" title="Operator =="> +<link rel="next" href="../metafunctions.html" title="Metafunctions"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="operator_equality.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../operator.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../metafunctions.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h4 class="title"> +<a name="fusion.iterator.operator.operator_inequality"></a><a class="link" href="operator_inequality.html" title="Operator !=">Operator + !=</a> +</h4></div></div></div> +<h6> +<a name="fusion.iterator.operator.operator_inequality.h0"></a> + <span><a name="fusion.iterator.operator.operator_inequality.description"></a></span><a class="link" href="operator_inequality.html#fusion.iterator.operator.operator_inequality.description">Description</a> + </h6> +<p> + Compares 2 iterators for inequality. + </p> +<h6> +<a name="fusion.iterator.operator.operator_inequality.h1"></a> + <span><a name="fusion.iterator.operator.operator_inequality.synopsis"></a></span><a class="link" href="operator_inequality.html#fusion.iterator.operator.operator_inequality.synopsis">Synopsis</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span> + <span class="keyword">typename</span> <span class="identifier">I</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">J</span> + <span class="special">></span> +<span class="emphasis"><em>unspecified</em></span> <span class="keyword">operator</span><span class="special">==(</span><span class="identifier">I</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">i</span><span class="special">,</span> <span class="identifier">J</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">i</span><span class="special">);</span> +</pre> +<div class="table"> +<a name="fusion.iterator.operator.operator_inequality.t0"></a><p class="title"><b>Table 1.11. Parameters</b></p> +<div class="table-contents"><table class="table" summary="Parameters"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Requirement + </p> + </th> +<th> + <p> + Description + </p> + </th> +</tr></thead> +<tbody><tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">i</span></code>, <code class="computeroutput"><span class="identifier">j</span></code> + </p> + </td> +<td> + <p> + Any fusion iterators + </p> + </td> +<td> + <p> + Operation's arguments + </p> + </td> +</tr></tbody> +</table></div> +</div> +<br class="table-break"><h6> +<a name="fusion.iterator.operator.operator_inequality.h2"></a> + <span><a name="fusion.iterator.operator.operator_inequality.expression_semantics"></a></span><a class="link" href="operator_inequality.html#fusion.iterator.operator.operator_inequality.expression_semantics">Expression + Semantics</a> + </h6> +<p> + <span class="bold"><strong>Return type</strong></span>: Convertible to <code class="computeroutput"><span class="keyword">bool</span></code>. + </p> +<p> + <span class="bold"><strong>Semantics</strong></span>: Equivalent to <code class="computeroutput"><span class="special">!</span><a class="link" href="../metafunctions/equal_to.html" title="equal_to"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">equal_to</span></code></a><span class="special"><</span><span class="identifier">I</span><span class="special">,</span><span class="identifier">J</span><span class="special">>::</span><span class="identifier">value</span></code> + where <code class="computeroutput"><span class="identifier">I</span></code> and <code class="computeroutput"><span class="identifier">J</span></code> are the types of <code class="computeroutput"><span class="identifier">i</span></code> + and <code class="computeroutput"><span class="identifier">j</span></code> respectively. + </p> +<h6> +<a name="fusion.iterator.operator.operator_inequality.h3"></a> + <span><a name="fusion.iterator.operator.operator_inequality.header"></a></span><a class="link" href="operator_inequality.html#fusion.iterator.operator.operator_inequality.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">iterator</span><span class="special">/</span><span class="identifier">equal_to</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">equal_to</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +</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-2006, 2011 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="operator_equality.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../operator.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../metafunctions.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/iterator/operator/operator_unary_star.html b/libs/fusion/doc/html/fusion/iterator/operator/operator_unary_star.html new file mode 100755 index 0000000000..4ff6f9b532 --- /dev/null +++ b/libs/fusion/doc/html/fusion/iterator/operator/operator_unary_star.html @@ -0,0 +1,139 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Operator *</title> +<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../operator.html" title="Operator"> +<link rel="prev" href="../operator.html" title="Operator"> +<link rel="next" href="operator_equality.html" title="Operator =="> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="../operator.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../operator.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_equality.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h4 class="title"> +<a name="fusion.iterator.operator.operator_unary_star"></a><a class="link" href="operator_unary_star.html" title="Operator *">Operator + *</a> +</h4></div></div></div> +<h6> +<a name="fusion.iterator.operator.operator_unary_star.h0"></a> + <span><a name="fusion.iterator.operator.operator_unary_star.description"></a></span><a class="link" href="operator_unary_star.html#fusion.iterator.operator.operator_unary_star.description">Description</a> + </h6> +<p> + Dereferences an iterator. + </p> +<h6> +<a name="fusion.iterator.operator.operator_unary_star.h1"></a> + <span><a name="fusion.iterator.operator.operator_unary_star.synopsis"></a></span><a class="link" href="operator_unary_star.html#fusion.iterator.operator.operator_unary_star.synopsis">Synopsis</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span> + <span class="keyword">typename</span> <span class="identifier">I</span> + <span class="special">></span> +<span class="keyword">typename</span> <a class="link" href="../metafunctions/deref.html" title="deref"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">deref</span></code></a><span class="special"><</span><span class="identifier">I</span><span class="special">>::</span><span class="identifier">type</span> <span class="keyword">operator</span><span class="special">*(</span><span class="emphasis"><em>unspecified</em></span><span class="special"><</span><span class="identifier">I</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">i</span><span class="special">);</span> +</pre> +<div class="table"> +<a name="fusion.iterator.operator.operator_unary_star.t0"></a><p class="title"><b>Table 1.9. Parameters</b></p> +<div class="table-contents"><table class="table" summary="Parameters"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Requirement + </p> + </th> +<th> + <p> + Description + </p> + </th> +</tr></thead> +<tbody><tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">i</span></code> + </p> + </td> +<td> + <p> + Model of <a class="link" href="../concepts/forward_iterator.html" title="Forward Iterator">Forward + Iterator</a> + </p> + </td> +<td> + <p> + Operation's argument + </p> + </td> +</tr></tbody> +</table></div> +</div> +<br class="table-break"><h6> +<a name="fusion.iterator.operator.operator_unary_star.h2"></a> + <span><a name="fusion.iterator.operator.operator_unary_star.expression_semantics"></a></span><a class="link" href="operator_unary_star.html#fusion.iterator.operator.operator_unary_star.expression_semantics">Expression + Semantics</a> + </h6> +<pre class="programlisting"><span class="special">*</span><span class="identifier">i</span> +</pre> +<p> + <span class="bold"><strong>Return type</strong></span>: Equivalent to the return + type of <code class="computeroutput"><a class="link" href="../functions/deref.html" title="deref"><code class="computeroutput"><span class="identifier">deref</span></code></a><span class="special">(</span><span class="identifier">i</span><span class="special">)</span></code>. + </p> +<p> + <span class="bold"><strong>Semantics</strong></span>: Equivalent to <code class="computeroutput"><a class="link" href="../functions/deref.html" title="deref"><code class="computeroutput"><span class="identifier">deref</span></code></a><span class="special">(</span><span class="identifier">i</span><span class="special">)</span></code>. + </p> +<h6> +<a name="fusion.iterator.operator.operator_unary_star.h3"></a> + <span><a name="fusion.iterator.operator.operator_unary_star.header"></a></span><a class="link" href="operator_unary_star.html#fusion.iterator.operator.operator_unary_star.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">iterator</span><span class="special">/</span><span class="identifier">deref</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">deref</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h6> +<a name="fusion.iterator.operator.operator_unary_star.h4"></a> + <span><a name="fusion.iterator.operator.operator_unary_star.example"></a></span><a class="link" href="operator_unary_star.html#fusion.iterator.operator.operator_unary_star.example">Example</a> + </h6> +<pre class="programlisting"><span class="keyword">typedef</span> <a class="link" href="../../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">int</span><span class="special">&></span> <span class="identifier">vec</span><span class="special">;</span> + +<span class="keyword">int</span> <span class="identifier">i</span><span class="special">(</span><span class="number">0</span><span class="special">);</span> +<span class="identifier">vec</span> <span class="identifier">v</span><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="identifier">i</span><span class="special">);</span> +<span class="identifier">assert</span><span class="special">(*</span><a class="link" href="../../sequence/intrinsic/functions/begin.html" title="begin"><code class="computeroutput"><span class="identifier">begin</span></code></a><span class="special">(</span><span class="identifier">v</span><span class="special">)</span> <span class="special">==</span> <span class="number">1</span><span class="special">);</span> +<span class="identifier">assert</span><span class="special">(*</span><a class="link" href="../functions/next.html" title="next"><code class="computeroutput"><span class="identifier">next</span></code></a><span class="special">(</span><a class="link" href="../../sequence/intrinsic/functions/begin.html" title="begin"><code class="computeroutput"><span class="identifier">begin</span></code></a><span class="special">(</span><span class="identifier">v</span><span class="special">))</span> <span class="special">==</span> <span class="number">0</span><span class="special">);</span> +<span class="identifier">assert</span><span class="special">(&(*</span><a class="link" href="../functions/next.html" title="next"><code class="computeroutput"><span class="identifier">next</span></code></a><span class="special">(</span><a class="link" href="../../sequence/intrinsic/functions/begin.html" title="begin"><code class="computeroutput"><span class="identifier">begin</span></code></a><span class="special">(</span><span class="identifier">v</span><span class="special">)))</span> <span class="special">==</span> <span class="special">&</span><span class="identifier">i</span><span class="special">);</span> +</pre> +</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-2006, 2011 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="../operator.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../operator.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_equality.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/notes.html b/libs/fusion/doc/html/fusion/notes.html new file mode 100755 index 0000000000..9442cae53e --- /dev/null +++ b/libs/fusion/doc/html/fusion/notes.html @@ -0,0 +1,484 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Notes</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="prev" href="functional/generation/metafunctions/mk_unfused.html" title="make_unfused"> +<link rel="next" href="change_log.html" title="Change log"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="functional/generation/metafunctions/mk_unfused.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="change_log.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h2 class="title" style="clear: both"> +<a name="fusion.notes"></a><a class="link" href="notes.html" title="Notes">Notes</a> +</h2></div></div></div> +<h4> +<a name="fusion.notes.h0"></a> + <span><a name="fusion.notes.recursive_inlined_functions"></a></span><a class="link" href="notes.html#fusion.notes.recursive_inlined_functions">Recursive + Inlined Functions</a> + </h4> +<p> + An interesting peculiarity of functions like <a class="link" href="sequence/intrinsic/functions/at.html" title="at"><code class="computeroutput"><span class="identifier">at</span></code></a> when applied to a <a class="link" href="sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a> like <a class="link" href="container/list.html" title="list"><code class="computeroutput"><span class="identifier">list</span></code></a> + is that what could have been linear runtime complexity effectively becomes + constant O(1) due to compiler optimization of C++ inlined functions, however + deeply recursive (up to a certain compiler limit of course). Compile time complexity + remains linear. + </p> +<h4> +<a name="fusion.notes.h1"></a> + <span><a name="fusion.notes.overloaded_functions"></a></span><a class="link" href="notes.html#fusion.notes.overloaded_functions">Overloaded + Functions</a> + </h4> +<p> + Associative sequences use function overloading to implement membership testing + and type associated key lookup. This amounts to constant runtime and amortized + constant compile time complexities. There is an overloaded function, <code class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">k</span><span class="special">)</span></code>, for each key <span class="emphasis"><em>type</em></span> <code class="computeroutput"><span class="identifier">k</span></code>. The compiler chooses the appropriate function + given a key, <code class="computeroutput"><span class="identifier">k</span></code>. + </p> +<h4> +<a name="fusion.notes.h2"></a> + <span><a name="fusion.notes.tag_dispatching"></a></span><a class="link" href="notes.html#fusion.notes.tag_dispatching">Tag + Dispatching</a> + </h4> +<p> + Tag dispatching is a generic programming technique for selecting template specializations. + There are typically 3 components involved in the tag dispatching mechanism: + </p> +<div class="orderedlist"><ol class="orderedlist" type="1"> +<li class="listitem"> + A type for which an appropriate template specialization is required + </li> +<li class="listitem"> + A metafunction that associates the type with a tag type + </li> +<li class="listitem"> + A template that is specialized for the tag type + </li> +</ol></div> +<p> + For example, the fusion <code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">begin</span></code> metafunction + is implemented as follows: + </p> +<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">></span> +<span class="keyword">struct</span> <span class="identifier">begin</span> +<span class="special">{</span> + <span class="keyword">typedef</span> <span class="keyword">typename</span> + <span class="identifier">result_of</span><span class="special">::</span><span class="identifier">begin_impl</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">tag_of</span><span class="special"><</span><span class="identifier">Sequence</span><span class="special">>::</span><span class="identifier">type</span><span class="special">>::</span> + <span class="keyword">template</span> <span class="identifier">apply</span><span class="special"><</span><span class="identifier">Sequence</span><span class="special">>::</span><span class="identifier">type</span> + <span class="identifier">type</span><span class="special">;</span> +<span class="special">};</span> +</pre> +<p> + In the case: + </p> +<div class="orderedlist"><ol class="orderedlist" type="1"> +<li class="listitem"> + <code class="computeroutput"><span class="identifier">Sequence</span></code> is the type for + which a suitable implementation of <code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">begin_impl</span></code> + is required + </li> +<li class="listitem"> + <code class="computeroutput"><span class="identifier">traits</span><span class="special">::</span><span class="identifier">tag_of</span></code> is the metafunction that associates + <code class="computeroutput"><span class="identifier">Sequence</span></code> with an appropriate + tag + </li> +<li class="listitem"> + <code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">begin_impl</span></code> is the template which is specialized + to provide an implementation for each tag type + </li> +</ol></div> +<h4> +<a name="fusion.notes.h3"></a> + <span><a name="fusion.notes.extensibility"></a></span><a class="link" href="notes.html#fusion.notes.extensibility">Extensibility</a> + </h4> +<p> + Unlike <a href="http://www.boost.org/libs/mpl/index.html" target="_top">MPL</a>, there + is no extensibe sequence concept in fusion. This does not mean that Fusion + sequences are not extensible. In fact, all Fusion sequences are inherently + extensible. It is just that the manner of sequence extension in Fusion is diferent + from both <a href="http://en.wikipedia.org/wiki/Standard_Template_Library" target="_top">STL</a> + and <a href="http://www.boost.org/libs/mpl/index.html" target="_top">MPL</a> on account + of the lazy nature of fusion <a class="link" href="algorithm.html" title="Algorithm">Algorithms</a>. + <a href="http://en.wikipedia.org/wiki/Standard_Template_Library" target="_top">STL</a> + containers extend themselves in place though member functions such as <a class="link" href="algorithm/transformation/functions/push_back.html" title="push_back"><code class="computeroutput"><span class="identifier">push_back</span></code></a> and <a class="link" href="algorithm/transformation/functions/insert.html" title="insert"><code class="computeroutput"><span class="identifier">insert</span></code></a>. <a href="http://www.boost.org/libs/mpl/index.html" target="_top">MPL</a> + sequences, on the other hand, are extended through "intrinsic" functions + that actually return whole sequences. <a href="http://www.boost.org/libs/mpl/index.html" target="_top">MPL</a> + is purely functional and can not have side effects. For example, <a href="http://www.boost.org/libs/mpl/index.html" target="_top">MPL</a>'s + <code class="computeroutput"><span class="identifier">push_back</span></code> does not actually + mutate an <code class="computeroutput"><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">vector</span></code>. It can't do that. Instead, it returns + an extended <code class="computeroutput"><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">vector</span></code>. + </p> +<p> + Like <a href="http://www.boost.org/libs/mpl/index.html" target="_top">MPL</a>, Fusion + too is purely functional and can not have side effects. With runtime efficiency + in mind, Fusion sequences are extended through generic functions that return + <a class="link" href="view.html" title="View">Views</a>. <a class="link" href="view.html" title="View">Views</a> + are sequences that do not actually contain data, but instead impart an alternative + presentation over the data from one or more underlying sequences. <a class="link" href="view.html" title="View">Views</a> + are proxies. They provide an efficient yet purely functional way to work on + potentially expensive sequence operations. For example, given a <a class="link" href="container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a>, Fusion's <a class="link" href="algorithm/transformation/functions/push_back.html" title="push_back"><code class="computeroutput"><span class="identifier">push_back</span></code></a> returns a <a class="link" href="view/joint_view.html" title="joint_view"><code class="computeroutput"><span class="identifier">joint_view</span></code></a>, instead of an actual extended + <a class="link" href="container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a>. + A <a class="link" href="view/joint_view.html" title="joint_view"><code class="computeroutput"><span class="identifier">joint_view</span></code></a> + holds a reference to the original sequence plus the appended data --making + it very cheap to pass around. + </p> +<h4> +<a name="fusion.notes.h4"></a> + <span><a name="fusion.notes.element_conversion"></a></span><a class="link" href="notes.html#fusion.notes.element_conversion">Element + Conversion</a> + </h4> +<p> + Functions that take in elemental values to form sequences (e.g. <a class="link" href="container/generation/functions/make_list.html" title="make_list"><code class="computeroutput"><span class="identifier">make_list</span></code></a>) convert their arguments + to something suitable to be stored as a sequence element. In general, the element + types are stored as plain values. Example: + </p> +<pre class="programlisting"><a class="link" href="container/generation/functions/make_list.html" title="make_list"><code class="computeroutput"><span class="identifier">make_list</span></code></a><span class="special">(</span><span class="number">1</span><span class="special">,</span> <span class="char">'x'</span><span class="special">)</span> +</pre> +<p> + returns a <a class="link" href="container/list.html" title="list"><code class="computeroutput"><span class="identifier">list</span></code></a><code class="computeroutput"><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> + <span class="keyword">char</span><span class="special">></span></code>. + </p> +<p> + There are a few exceptions, however. + </p> +<p> + <span class="bold"><strong>Arrays:</strong></span> + </p> +<p> + Array arguments are deduced to reference to const types. For example <sup>[<a name="fusion.notes.f0" href="#ftn.fusion.notes.f0" class="footnote">13</a>]</sup>: + </p> +<pre class="programlisting"><a class="link" href="container/generation/functions/make_list.html" title="make_list"><code class="computeroutput"><span class="identifier">make_list</span></code></a><span class="special">(</span><span class="string">"Donald"</span><span class="special">,</span> <span class="string">"Daisy"</span><span class="special">)</span> +</pre> +<p> + creates a <a class="link" href="container/list.html" title="list"><code class="computeroutput"><span class="identifier">list</span></code></a> + of type + </p> +<pre class="programlisting"><a class="link" href="container/list.html" title="list"><code class="computeroutput"><span class="identifier">list</span></code></a><span class="special"><</span><span class="keyword">const</span> <span class="keyword">char</span> <span class="special">(&)[</span><span class="number">7</span><span class="special">],</span> <span class="keyword">const</span> <span class="keyword">char</span> <span class="special">(&)[</span><span class="number">6</span><span class="special">]></span> +</pre> +<p> + <span class="bold"><strong>Function pointers:</strong></span> + </p> +<p> + Function pointers are deduced to the plain non-reference type (i.e. to plain + function pointer). Example: + </p> +<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">f</span><span class="special">(</span><span class="keyword">int</span> <span class="identifier">i</span><span class="special">);</span> + <span class="special">...</span> +<a class="link" href="container/generation/functions/make_list.html" title="make_list"><code class="computeroutput"><span class="identifier">make_list</span></code></a><span class="special">(&</span><span class="identifier">f</span><span class="special">);</span> +</pre> +<p> + creates a <a class="link" href="container/list.html" title="list"><code class="computeroutput"><span class="identifier">list</span></code></a> + of type + </p> +<pre class="programlisting"><a class="link" href="container/list.html" title="list"><code class="computeroutput"><span class="identifier">list</span></code></a><span class="special"><</span><span class="keyword">void</span> <span class="special">(*)(</span><span class="keyword">int</span><span class="special">)></span> +</pre> +<h4> +<a name="fusion.notes.h5"></a> + <span><a name="fusion.notes.boost__ref"></a></span><a class="link" href="notes.html#fusion.notes.boost__ref">boost::ref</a> + </h4> +<p> + Fusion's generation functions (e.g. <a class="link" href="container/generation/functions/make_list.html" title="make_list"><code class="computeroutput"><span class="identifier">make_list</span></code></a>) by default stores the element + types as plain non-reference types. Example: + </p> +<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">foo</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">A</span><span class="special">&</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">B</span><span class="special">&</span> <span class="identifier">b</span><span class="special">)</span> <span class="special">{</span> + <span class="special">...</span> + <a class="link" href="container/generation/functions/make_list.html" title="make_list"><code class="computeroutput"><span class="identifier">make_list</span></code></a><span class="special">(</span><span class="identifier">a</span><span class="special">,</span> <span class="identifier">b</span><span class="special">)</span> +</pre> +<p> + creates a <a class="link" href="container/list.html" title="list"><code class="computeroutput"><span class="identifier">list</span></code></a> + of type + </p> +<pre class="programlisting"><a class="link" href="container/list.html" title="list"><code class="computeroutput"><span class="identifier">list</span></code></a><span class="special"><</span><span class="identifier">A</span><span class="special">,</span> <span class="identifier">B</span><span class="special">></span> +</pre> +<p> + Sometimes the plain non-reference type is not desired. You can use <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">ref</span></code> + and <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">cref</span></code> to store references or const references + (respectively) instead. The mechanism does not compromise const correctness + since a const object wrapped with ref results in a tuple element with const + reference type (see the fifth code line below). Examples: + </p> +<p> + For example: + </p> +<pre class="programlisting"><span class="identifier">A</span> <span class="identifier">a</span><span class="special">;</span> <span class="identifier">B</span> <span class="identifier">b</span><span class="special">;</span> <span class="keyword">const</span> <span class="identifier">A</span> <span class="identifier">ca</span> <span class="special">=</span> <span class="identifier">a</span><span class="special">;</span> +<a class="link" href="container/generation/functions/make_list.html" title="make_list"><code class="computeroutput"><span class="identifier">make_list</span></code></a><span class="special">(</span><span class="identifier">cref</span><span class="special">(</span><span class="identifier">a</span><span class="special">),</span> <span class="identifier">b</span><span class="special">);</span> <span class="comment">// creates list<const A&, B></span> +<a class="link" href="container/generation/functions/make_list.html" title="make_list"><code class="computeroutput"><span class="identifier">make_list</span></code></a><span class="special">(</span><span class="identifier">ref</span><span class="special">(</span><span class="identifier">a</span><span class="special">),</span> <span class="identifier">b</span><span class="special">);</span> <span class="comment">// creates list<A&, B></span> +<a class="link" href="container/generation/functions/make_list.html" title="make_list"><code class="computeroutput"><span class="identifier">make_list</span></code></a><span class="special">(</span><span class="identifier">ref</span><span class="special">(</span><span class="identifier">a</span><span class="special">),</span> <span class="identifier">cref</span><span class="special">(</span><span class="identifier">b</span><span class="special">));</span> <span class="comment">// creates list<A&, const B&></span> +<a class="link" href="container/generation/functions/make_list.html" title="make_list"><code class="computeroutput"><span class="identifier">make_list</span></code></a><span class="special">(</span><span class="identifier">cref</span><span class="special">(</span><span class="identifier">ca</span><span class="special">));</span> <span class="comment">// creates list<const A&></span> +<a class="link" href="container/generation/functions/make_list.html" title="make_list"><code class="computeroutput"><span class="identifier">make_list</span></code></a><span class="special">(</span><span class="identifier">ref</span><span class="special">(</span><span class="identifier">ca</span><span class="special">));</span> <span class="comment">// creates list<const A&></span> +</pre> +<p> + See <a href="http://www.boost.org/doc/html/ref.html" target="_top">Boost.Ref</a> for + details. + </p> +<h4> +<a name="fusion.notes.h6"></a> + <span><a name="fusion.notes.adt_attribute_proxy"></a></span><a class="link" href="notes.html#fusion.notes.adt_attribute_proxy">adt_attribute_proxy</a> + </h4> +<p> + To adapt arbitrary data types that do not allow direct access to their members, + but allow indirect access via expressions (such as invocations of get- and + set-methods), fusion's <code class="literal">BOOST_FUSION_ADAPT_<span class="emphasis"><em>xxx</em></span>ADT<span class="emphasis"><em>xxx</em></span></code>-family + (e.g. <a class="link" href="adapted/adapt_adt.html" title="BOOST_FUSION_ADAPT_ADT"><code class="computeroutput"><span class="identifier">BOOST_FUSION_ADAPT_ADT</span></code></a>) + may be used. To bypass the restriction of not having actual lvalues that represent + the elements of the fusion sequence, but rather a sequence of paired expressions + that access the elements, the actual return type of fusion's intrinsic sequence + access functions (<a class="link" href="sequence/intrinsic/functions/at.html" title="at"><code class="computeroutput"><span class="identifier">at</span></code></a>, <a class="link" href="sequence/intrinsic/functions/at_c.html" title="at_c"><code class="computeroutput"><span class="identifier">at_c</span></code></a>, <a class="link" href="sequence/intrinsic/functions/at_key.html" title="at_key"><code class="computeroutput"><span class="identifier">at_key</span></code></a>, <a class="link" href="iterator/functions/deref.html" title="deref"><code class="computeroutput"><span class="identifier">deref</span></code></a>, and <a class="link" href="iterator/functions/deref_data.html" title="deref_data"><code class="computeroutput"><span class="identifier">deref_data</span></code></a>) is a proxy type, an instance + of <code class="computeroutput"><span class="identifier">adt_attribute_proxy</span></code>, that + encapsulates these expressions. + </p> +<p> + <code class="computeroutput"><span class="identifier">adt_attribute_proxy</span></code> is defined + in the namespace <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">fusion</span><span class="special">::</span><span class="identifier">extension</span></code> and has three template arguments: + </p> +<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">fusion</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">extension</span> +<span class="special">{</span> + <span class="keyword">template</span><span class="special"><</span> + <span class="keyword">typename</span> <span class="identifier">Type</span> + <span class="special">,</span> <span class="keyword">int</span> <span class="identifier">Index</span> + <span class="special">,</span> <span class="keyword">bool</span> <span class="identifier">Const</span> + <span class="special">></span> + <span class="keyword">struct</span> <span class="identifier">adt_attribute_proxy</span><span class="special">;</span> +<span class="special">}}}</span> +</pre> +<p> + When adapting a class type, <code class="computeroutput"><span class="identifier">adt_attribute_proxy</span></code> + is specialized for every element of the adapted sequence, with <code class="computeroutput"><span class="identifier">Type</span></code> being the class type that is adapted, + <code class="computeroutput"><span class="identifier">Index</span></code> the 0-based indices of + the elements, and <code class="computeroutput"><span class="identifier">Const</span></code> both + <code class="computeroutput"><span class="keyword">true</span></code> and <code class="computeroutput"><span class="keyword">false</span></code>. + The return type of fusion's intrinsic sequence access functions for the <span class="emphasis"><em>N</em></span>th + element of an adapted class type <code class="computeroutput"><span class="identifier">type_name</span></code> + is <code class="literal">adt_attribute_proxy<type_name, <span class="emphasis"><em>N</em></span>, <span class="emphasis"><em>Const</em></span>></code>, + with <code class="literal"><span class="emphasis"><em>Const</em></span></code> being <code class="computeroutput"><span class="keyword">true</span></code> + for constant instances of <code class="computeroutput"><span class="identifier">type_name</span></code> + and <code class="computeroutput"><span class="keyword">false</span></code> for non-constant ones. + </p> +<div class="variablelist"> +<p class="title"><b>Notation</b></p> +<dl> +<dt><span class="term"><code class="computeroutput"><span class="identifier">type_name</span></code></span></dt> +<dd><p> + The type to be adapted, with M attributes + </p></dd> +<dt><span class="term"><code class="computeroutput"><span class="identifier">inst</span></code></span></dt> +<dd><p> + Object of type <code class="computeroutput"><span class="identifier">type_name</span></code> + </p></dd> +<dt><span class="term"><code class="computeroutput"><span class="identifier">const_inst</span></code></span></dt> +<dd><p> + Object of type <code class="computeroutput"><span class="identifier">type_name</span> <span class="keyword">const</span></code> + </p></dd> +<dt><span class="term"><code class="literal">(attribute_type<span class="emphasis"><em>N</em></span>, attribute_const_type<span class="emphasis"><em>N</em></span>, + get_expr<span class="emphasis"><em>N</em></span>, set_expr<span class="emphasis"><em>N</em></span>)</code></span></dt> +<dd><p> + Attribute descriptor of the <span class="emphasis"><em>N</em></span>th attribute of <code class="computeroutput"><span class="identifier">type_name</span></code> as passed to the adaption + macro, 0≤<span class="emphasis"><em>N</em></span><M + </p></dd> +<dt><span class="term"><code class="literal">proxy_type<span class="emphasis"><em>N</em></span></code></span></dt> +<dd><p> + <code class="literal">adt_attribute_proxy<type_name, <span class="emphasis"><em>N</em></span>, <code class="computeroutput"><span class="keyword">false</span></code>></code> with <span class="emphasis"><em>N</em></span> + being an integral constant, 0≤<span class="emphasis"><em>N</em></span><M + </p></dd> +<dt><span class="term"><code class="literal">const_proxy_type<span class="emphasis"><em>N</em></span></code></span></dt> +<dd><p> + <code class="literal">adt_attribute_proxy<type_name, <span class="emphasis"><em>N</em></span>, <code class="computeroutput"><span class="keyword">true</span></code>></code> with <span class="emphasis"><em>N</em></span> + being an integral constant, 0≤<span class="emphasis"><em>N</em></span><M + </p></dd> +<dt><span class="term"><code class="literal">proxy<span class="emphasis"><em>N</em></span></code></span></dt> +<dd><p> + Object of type <code class="literal">proxy_type<span class="emphasis"><em>N</em></span></code> + </p></dd> +<dt><span class="term"><code class="literal">const_proxy<span class="emphasis"><em>N</em></span></code></span></dt> +<dd><p> + Object of type <code class="literal">const_proxy_type<span class="emphasis"><em>N</em></span></code> + </p></dd> +</dl> +</div> +<p> + <span class="bold"><strong>Expression Semantics</strong></span> + </p> +<div class="informaltable"><table class="table"> +<colgroup> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Expression + </p> + </th> +<th> + <p> + Semantics + </p> + </th> +</tr></thead> +<tbody> +<tr> +<td> + <p> + <code class="literal">proxy_type<span class="emphasis"><em>N</em></span>(inst)</code> + </p> + </td> +<td> + <p> + Creates an instance of <code class="literal">proxy_type<span class="emphasis"><em>N</em></span></code> + with underlying object <code class="computeroutput"><span class="identifier">inst</span></code> + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="literal">const_proxy_type<span class="emphasis"><em>N</em></span>(const_inst)</code> + </p> + </td> +<td> + <p> + Creates an instance of <code class="literal">const_proxy_type<span class="emphasis"><em>N</em></span></code> + with underlying object <code class="computeroutput"><span class="identifier">const_inst</span></code> + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="literal">proxy_type<span class="emphasis"><em>N</em></span>::type</code> + </p> + </td> +<td> + <p> + Another name for <code class="literal">attribute_type<span class="emphasis"><em>N</em></span></code> + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="literal">const_proxy_type<span class="emphasis"><em>N</em></span>::type</code> + </p> + </td> +<td> + <p> + Another name for <code class="literal">const_attribute_type<span class="emphasis"><em>N</em></span></code> + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="literal">proxy<span class="emphasis"><em>N</em></span>=t</code> + </p> + </td> +<td> + <p> + Invokes <code class="literal">set_expr<span class="emphasis"><em>N</em></span></code>, with + <code class="computeroutput"><span class="identifier">t</span></code> being an arbitrary + object. <code class="literal">set_expr<span class="emphasis"><em>N</em></span></code> may access + the variables named <code class="computeroutput"><span class="identifier">obj</span></code> + of type <code class="computeroutput"><span class="identifier">type_name</span><span class="special">&</span></code>, which represent the corresponding + instance of <code class="computeroutput"><span class="identifier">type_name</span></code>, + and <code class="computeroutput"><span class="identifier">val</span></code> of an arbitrary + const-qualified reference template type parameter <code class="computeroutput"><span class="identifier">Val</span></code>, + which represents <code class="computeroutput"><span class="identifier">t</span></code>. + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="literal">proxy<span class="emphasis"><em>N</em></span>.get()</code> + </p> + </td> +<td> + <p> + Invokes <code class="literal">get_expr<span class="emphasis"><em>N</em></span></code> and forwards + its return value. <code class="literal">get_expr<span class="emphasis"><em>N</em></span></code> + may access the variable named <code class="computeroutput"><span class="identifier">obj</span></code> + of type <code class="computeroutput"><span class="identifier">type_name</span><span class="special">&</span></code> which represents the underlying + instance of <code class="computeroutput"><span class="identifier">type_name</span></code>. + <code class="literal">attribute_type<span class="emphasis"><em>N</em></span></code> may specify + the type that <code class="literal">get_expr<span class="emphasis"><em>N</em></span></code> denotes + to. + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="literal">const_proxy<span class="emphasis"><em>N</em></span>.get()</code> + </p> + </td> +<td> + <p> + Invokes <code class="literal">get_expr<span class="emphasis"><em>N</em></span></code> and forwards + its return value. <code class="literal">get_expr<span class="emphasis"><em>N</em></span></code> + may access the variable named <code class="computeroutput"><span class="identifier">obj</span></code> + of type <code class="computeroutput"><span class="identifier">type_name</span> <span class="keyword">const</span><span class="special">&</span></code> + which represents the underlying instance of <code class="computeroutput"><span class="identifier">type_name</span></code>. + <code class="literal">attribute_const_type<span class="emphasis"><em>N</em></span></code> may + specify the type that <code class="literal">get_expr<span class="emphasis"><em>N</em></span></code> + denotes to. + </p> + </td> +</tr> +</tbody> +</table></div> +<p> + Additionally, <code class="literal">proxy_type<span class="emphasis"><em>N</em></span></code> and <code class="literal">const_proxy_type<span class="emphasis"><em>N</em></span></code> + are copy constructible, copy assignable and implicitly convertible to <code class="literal">proxy_type<span class="emphasis"><em>N</em></span>::type</code> + or <code class="literal">const_proxy_type<span class="emphasis"><em>N</em></span>::type</code>. + </p> +<div class="tip"><table border="0" summary="Tip"> +<tr> +<td rowspan="2" align="center" valign="top" width="25"><img alt="[Tip]" src="../../../../../doc/src/images/tip.png"></td> +<th align="left">Tip</th> +</tr> +<tr><td align="left" valign="top"><p> + To avoid the pitfalls of the proxy type, an arbitrary class type may also + be adapted directly using fusion's <a class="link" href="extension.html" title="Extension">intrinsic + extension mechanism</a>. + </p></td></tr> +</table></div> +<div class="footnotes"> +<br><hr width="100" align="left"> +<div class="footnote"><p><sup>[<a id="ftn.fusion.notes.f0" href="#fusion.notes.f0" class="para">13</a>] </sup> + Note that the type of a string literal is an array of const characters, not + <code class="computeroutput"><span class="keyword">const</span> <span class="keyword">char</span><span class="special">*</span></code>. To get <a class="link" href="container/generation/functions/make_list.html" title="make_list"><code class="computeroutput"><span class="identifier">make_list</span></code></a> to create a <a class="link" href="container/list.html" title="list"><code class="computeroutput"><span class="identifier">list</span></code></a> with an element of a non-const + array type one must use the <code class="computeroutput"><span class="identifier">ref</span></code> + wrapper (see <a class="link" href="notes.html#fusion.notes.boost__ref"><code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">ref</span></code></a>). + </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-2006, 2011 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="functional/generation/metafunctions/mk_unfused.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="change_log.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/organization.html b/libs/fusion/doc/html/fusion/organization.html new file mode 100755 index 0000000000..90891d56a2 --- /dev/null +++ b/libs/fusion/doc/html/fusion/organization.html @@ -0,0 +1,223 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Organization</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../index.html" title="Chapter 1. Fusion 2.1"> +<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.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="support.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h2 class="title" style="clear: both"> +<a name="fusion.organization"></a><a class="link" 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> +<h4> +<a name="fusion.organization.h0"></a> + <span><a name="fusion.organization.layers"></a></span><a class="link" href="organization.html#fusion.organization.layers">Layers</a> + </h4> +<div class="blockquote"><blockquote class="blockquote"><p> + <span class="inlinemediaobject"><img src="../images/fusion_org.png" alt="fusion_org"></span> + </p></blockquote></div> +<p> + The entire library is found in the <code class="computeroutput"><span class="string">"boost/fusion"</span></code> + 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 <code class="computeroutput"><span class="string">"boost/fusion/support.hpp"</span></code> + in the same directory as "boost/fusion/support". Everything, except + those found inside "detail" directories, is public. + </p> +<p> + There is also a <code class="computeroutput"><span class="string">"boost/fusion/include/"</span></code> + 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> +<h4> +<a name="fusion.organization.h1"></a> + <span><a name="fusion.organization.directory"></a></span><a class="link" href="organization.html#fusion.organization.directory">Directory</a> + </h4> +<div class="itemizedlist"><ul class="itemizedlist" type="disc"> +<li class="listitem"> + tuple + </li> +<li class="listitem"> + algorithm + <div class="itemizedlist"><ul class="itemizedlist" type="circle"> +<li class="listitem"> + iteration + </li> +<li class="listitem"> + query + </li> +<li class="listitem"> + transformation + </li> +</ul></div> + </li> +<li class="listitem"> + adapted + <div class="itemizedlist"><ul class="itemizedlist" type="circle"> +<li class="listitem"> + array + </li> +<li class="listitem"> + mpl + </li> +<li class="listitem"> + boost::tuple + </li> +<li class="listitem"> + std_pair + </li> +<li class="listitem"> + struct + </li> +<li class="listitem"> + variant + </li> +</ul></div> + </li> +<li class="listitem"> + view + <div class="itemizedlist"><ul class="itemizedlist" type="circle"> +<li class="listitem"> + filter_view + </li> +<li class="listitem"> + iterator_range + </li> +<li class="listitem"> + joint_view + </li> +<li class="listitem"> + reverse_view + </li> +<li class="listitem"> + single_view + </li> +<li class="listitem"> + transform_view + </li> +<li class="listitem"> + zip_view + </li> +</ul></div> + </li> +<li class="listitem"> + container + <div class="itemizedlist"><ul class="itemizedlist" type="circle"> +<li class="listitem"> + deque + </li> +<li class="listitem"> + list + </li> +<li class="listitem"> + map + </li> +<li class="listitem"> + set + </li> +<li class="listitem"> + vector + </li> +<li class="listitem"> + generation + </li> +</ul></div> + </li> +<li class="listitem"> + mpl + </li> +<li class="listitem"> + functional + </li> +<li class="listitem"> + sequence + <div class="itemizedlist"><ul class="itemizedlist" type="circle"> +<li class="listitem"> + comparison + </li> +<li class="listitem"> + intrinsic + </li> +<li class="listitem"> + io + </li> +</ul></div> + </li> +<li class="listitem"> + iterator + </li> +<li class="listitem"> + support + </li> +</ul></div> +<h4> +<a name="fusion.organization.h2"></a> + <span><a name="fusion.organization.example"></a></span><a class="link" href="organization.html#fusion.organization.example">Example</a> + </h4> +<p> + If, for example, you want to use <code class="computeroutput"><span class="identifier">list</span></code>, + 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"><</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">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">></span> +</pre> +<p> + The first includes all containers The second includes only <code class="computeroutput"><span class="identifier">list</span></code> + <sup>[<a name="fusion.organization.f0" href="#ftn.fusion.organization.f0" class="footnote">4</a>]</sup>. + </p> +<div class="footnotes"> +<br><hr width="100" align="left"> +<div class="footnote"><p><sup>[<a id="ftn.fusion.organization.f0" href="#fusion.organization.f0" class="para">4</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-2006, 2011 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/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="support.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/preface.html b/libs/fusion/doc/html/fusion/preface.html new file mode 100755 index 0000000000..3be5286798 --- /dev/null +++ b/libs/fusion/doc/html/fusion/preface.html @@ -0,0 +1,220 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Preface</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="prev" href="../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="next" href="introduction.html" title="Introduction"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="../index.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="introduction.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h2 class="title" style="clear: both"> +<a name="fusion.preface"></a><a class="link" href="preface.html" title="Preface">Preface</a> +</h2></div></div></div> +<div class="blockquote"><blockquote class="blockquote"><p> + <span class="emphasis"><em><span class="quote">“<span class="quote">Algorithms + Data Structures = Programs.</span>”</span></em></span> + </p></blockquote></div> +<div class="blockquote"><blockquote class="blockquote"><p> + <span class="bold"><strong>--Niklaus Wirth</strong></span> + </p></blockquote></div> +<h4> +<a name="fusion.preface.h0"></a> + <span><a name="fusion.preface.description"></a></span><a class="link" href="preface.html#fusion.preface.description">Description</a> + </h4> +<p> + Fusion is a library for working with heterogenous collections of data, commonly + referred to as tuples. A set of containers (vector, list, set and map) is provided, + along with views that provide a transformed presentation of their underlying + data. Collectively the containers and views are referred to as sequences, and + Fusion has a suite of algorithms that operate upon the various sequence types, + using an iterator concept that binds everything together. + </p> +<p> + The architecture is modeled after <a href="http://www.boost.org/libs/mpl/index.html" target="_top">MPL</a> + which in turn is modeled after <a href="http://en.wikipedia.org/wiki/Standard_Template_Library" target="_top">STL</a>. + It is named "fusion" because the library is a "fusion" + of compile time metaprogramming with runtime programming. + </p> +<h4> +<a name="fusion.preface.h1"></a> + <span><a name="fusion.preface.motivation"></a></span><a class="link" href="preface.html#fusion.preface.motivation">Motivation</a> + </h4> +<p> + Tuples are powerful beasts. After having developed two significant projects + (<a href="http://spirit.sourceforge.net" target="_top">Spirit</a> and <a href="http://boost.org/libs/spirit/phoenix/index.html" target="_top">Phoenix</a>) + that relied heavily metaprogramming, it became apparent that tuples are a powerful + means to simplify otherwise tricky tasks; especially those that require a combination + of metaprogramming and manipulation of heterogenous data types with values. + While <a href="http://www.boost.org/libs/mpl/index.html" target="_top">MPL</a> is + an extremely powerful metaprogramming tool, <a href="http://www.boost.org/libs/mpl/index.html" target="_top">MPL</a> + focuses on type manipulation only. Ultimately, you'll have to map these types + to real values to make them useful in the runtime world where all the real + action takes place. + </p> +<p> + As <a href="http://spirit.sourceforge.net" target="_top">Spirit</a> and <a href="http://boost.org/libs/spirit/phoenix/index.html" target="_top">Phoenix</a> + evolved, patterns and idioms related to tuple manipulation emerged. Soon, it + became clear that those patterns and idioms were best assembled in a tuples + algorithms library. <a href="http://www.boost.org/people/dave_abrahams.htm" target="_top">David + Abrahams</a> outlined such a scheme in 2002. At that time, it just so happened + that <a href="http://spirit.sourceforge.net" target="_top">Spirit</a> and <a href="http://boost.org/libs/spirit/phoenix/index.html" target="_top">Phoenix</a> + had an adhoc collection of tuple manipulation and traversal routines. It was + an instant <span class="emphasis"><em>AHA!</em></span> moment. + </p> +<h4> +<a name="fusion.preface.h2"></a> + <span><a name="fusion.preface.how_to_use_this_manual"></a></span><a class="link" href="preface.html#fusion.preface.how_to_use_this_manual">How + to use this manual</a> + </h4> +<p> + Some icons are used to mark certain topics indicative of their relevance. These + icons precede some text to indicate: + </p> +<div class="table"> +<a name="fusion.preface.t0"></a><p class="title"><b>Table 1.1. Icons</b></p> +<div class="table-contents"><table class="table" summary="Icons"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Icon + </p> + </th> +<th> + <p> + Name + </p> + </th> +<th> + <p> + Meaning + </p> + </th> +</tr></thead> +<tbody> +<tr> +<td> + <p> + <span class="inlinemediaobject"><img src="../images/note.png" alt="note"></span> + </p> + </td> +<td> + <p> + Note + </p> + </td> +<td> + <p> + Information provided is auxiliary but will give the reader a deeper + insight into a specific topic. May be skipped. + </p> + </td> +</tr> +<tr> +<td> + <p> + <span class="inlinemediaobject"><img src="../images/alert.png" alt="alert"></span> + </p> + </td> +<td> + <p> + Alert + </p> + </td> +<td> + <p> + Information provided is of utmost importance. + </p> + </td> +</tr> +<tr> +<td> + <p> + <span class="inlinemediaobject"><img src="../images/caution.png" alt="caution"></span> + </p> + </td> +<td> + <p> + Caution + </p> + </td> +<td> + <p> + A mild warning. + </p> + </td> +</tr> +<tr> +<td> + <p> + <span class="inlinemediaobject"><img src="../images/tip.png" alt="tip"></span> + </p> + </td> +<td> + <p> + Tip + </p> + </td> +<td> + <p> + A potentially useful and helpful piece of information. + </p> + </td> +</tr> +</tbody> +</table></div> +</div> +<br class="table-break"><p> + This documentation is automatically generated by Boost QuickBook documentation + tool. QuickBook can be found in the <a href="http://www.boost.org/tools/index.html" target="_top">Boost + Tools</a>. + </p> +<h4> +<a name="fusion.preface.h3"></a> + <span><a name="fusion.preface.support"></a></span><a class="link" href="preface.html#fusion.preface.support">Support</a> + </h4> +<p> + Please direct all questions to Spirit's mailing list. You can subscribe to + the <a href="https://lists.sourceforge.net/lists/listinfo/spirit-general" target="_top">Spirit + Mailing List</a>. The mailing list has a searchable archive. A search link + to this archive is provided in <a href="http://spirit.sourceforge.net" target="_top">Spirit</a>'s + home page. You may also read and post messages to the mailing list through + <a href="news://news.gmane.org/gmane.comp.spirit.general" target="_top">Spirit General + NNTP news portal</a> (thanks to <a href="http://www.gmane.org" target="_top">Gmane</a>). + The news group mirrors the mailing list. Here is a link to the archives: <a href="http://news.gmane.org/gmane.comp.parsers.spirit.general" target="_top">http://news.gmane.org/gmane.comp.parsers.spirit.general</a>. + </p> +</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-2006, 2011 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="../index.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="introduction.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/quick_start.html b/libs/fusion/doc/html/fusion/quick_start.html new file mode 100755 index 0000000000..c4887216de --- /dev/null +++ b/libs/fusion/doc/html/fusion/quick_start.html @@ -0,0 +1,258 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Quick Start</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="prev" href="introduction.html" title="Introduction"> +<link rel="next" href="organization.html" title="Organization"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="introduction.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="organization.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h2 class="title" style="clear: both"> +<a name="fusion.quick_start"></a><a class="link" href="quick_start.html" title="Quick Start">Quick Start</a> +</h2></div></div></div> +<p> + I assume the reader is already familiar with tuples (<a href="http://www.boost.org/libs/tuple/doc/tuple_users_guide.html" target="_top">Boost.Tuple</a>) + and its ancestor <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span></code>. The tuple is a generalization of <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span></code> + for multiple heterogeneous elements (triples, quadruples, etc.). The tuple + is more or less a synonym for fusion's <code class="computeroutput"><a class="link" href="container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a></code>. + </p> +<p> + For starters, we shall include all of Fusion's <a class="link" href="sequence.html" title="Sequence">Sequence</a>(s) + <sup>[<a name="fusion.quick_start.f0" href="#ftn.fusion.quick_start.f0" class="footnote">2</a>]</sup>: + </p> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">sequence</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">sequence</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<p> + Let's begin with a <code class="computeroutput"><a class="link" href="container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a></code> <sup>[<a name="fusion.quick_start.f1" href="#ftn.fusion.quick_start.f1" class="footnote">3</a>]</sup>: + </p> +<pre class="programlisting"><a class="link" href="container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">char</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">></span> <span class="identifier">stuff</span><span class="special">(</span><span class="number">1</span><span class="special">,</span> <span class="char">'x'</span><span class="special">,</span> <span class="string">"howdy"</span><span class="special">);</span> +<span class="keyword">int</span> <span class="identifier">i</span> <span class="special">=</span> <a class="link" href="sequence/intrinsic/functions/at_c.html" title="at_c"><code class="computeroutput"><span class="identifier">at_c</span></code></a><span class="special"><</span><span class="number">0</span><span class="special">>(</span><span class="identifier">stuff</span><span class="special">);</span> +<span class="keyword">char</span> <span class="identifier">ch</span> <span class="special">=</span> <a class="link" href="sequence/intrinsic/functions/at_c.html" title="at_c"><code class="computeroutput"><span class="identifier">at_c</span></code></a><span class="special"><</span><span class="number">1</span><span class="special">>(</span><span class="identifier">stuff</span><span class="special">);</span> +<span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">s</span> <span class="special">=</span> <a class="link" href="sequence/intrinsic/functions/at_c.html" title="at_c"><code class="computeroutput"><span class="identifier">at_c</span></code></a><span class="special"><</span><span class="number">2</span><span class="special">>(</span><span class="identifier">stuff</span><span class="special">);</span> +</pre> +<p> + Just replace <code class="computeroutput"><span class="identifier">tuple</span></code> for <code class="computeroutput"><a class="link" href="container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a></code> + and <code class="computeroutput"><span class="identifier">get</span></code> for <code class="computeroutput"><a class="link" href="sequence/intrinsic/functions/at_c.html" title="at_c"><code class="computeroutput"><span class="identifier">at_c</span></code></a></code> and this is exactly like + <a href="http://www.boost.org/libs/tuple/doc/tuple_users_guide.html" target="_top">Boost.Tuple</a>. + Actually, either names can be used interchangeably. Yet, the similarity ends + there. You can do a lot more with Fusion <code class="computeroutput"><a class="link" href="container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a></code> or <code class="computeroutput"><span class="identifier">tuple</span></code>. + Let's see some examples. + </p> +<h4> +<a name="fusion.quick_start.h0"></a> + <span><a name="fusion.quick_start.print_the_vector_as_xml"></a></span><a class="link" href="quick_start.html#fusion.quick_start.print_the_vector_as_xml">Print + the vector as XML</a> + </h4> +<p> + First, let's include the algorithms: + </p> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">algorithm</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<p> + Now, let's write a function object that prints XML of the form <type>data</type> + for each member in the tuple. + </p> +<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">print_xml</span> +<span class="special">{</span> + <span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">></span> + <span class="keyword">void</span> <span class="keyword">operator</span><span class="special">()(</span><span class="identifier">T</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">x</span><span class="special">)</span> <span class="keyword">const</span> + <span class="special">{</span> + <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> + <span class="special"><<</span> <span class="char">'<'</span> <span class="special"><<</span> <span class="keyword">typeid</span><span class="special">(</span><span class="identifier">x</span><span class="special">).</span><span class="identifier">name</span><span class="special">()</span> <span class="special"><<</span> <span class="char">'>'</span> + <span class="special"><<</span> <span class="identifier">x</span> + <span class="special"><<</span> <span class="string">"</"</span> <span class="special"><<</span> <span class="keyword">typeid</span><span class="special">(</span><span class="identifier">x</span><span class="special">).</span><span class="identifier">name</span><span class="special">()</span> <span class="special"><<</span> <span class="char">'>'</span> + <span class="special">;</span> + <span class="special">}</span> +<span class="special">};</span> +</pre> +<p> + Now, finally: + </p> +<pre class="programlisting"><a class="link" href="algorithm/iteration/functions/for_each.html" title="for_each"><code class="computeroutput"><span class="identifier">for_each</span></code></a><span class="special">(</span><span class="identifier">stuff</span><span class="special">,</span> <span class="identifier">print_xml</span><span class="special">());</span> +</pre> +<p> + That's it! <code class="computeroutput"><a class="link" href="algorithm/iteration/functions/for_each.html" title="for_each"><code class="computeroutput"><span class="identifier">for_each</span></code></a></code> is a fusion algorithm. + It is a generic algorithm similar to <a href="http://en.wikipedia.org/wiki/Standard_Template_Library" target="_top">STL</a>'s. + It iterates over the sequence and calls a user supplied function. In our case, + it calls <code class="computeroutput"><span class="identifier">print_xml</span></code>'s <code class="computeroutput"><span class="keyword">operator</span><span class="special">()</span></code> for + each element in <code class="computeroutput"><span class="identifier">stuff</span></code>. + </p> +<div class="caution"><table border="0" summary="Caution"> +<tr> +<td rowspan="2" align="center" valign="top" width="25"><img alt="[Caution]" src="../../../../../doc/src/images/caution.png"></td> +<th align="left">Caution</th> +</tr> +<tr><td align="left" valign="top"><p> + The result of <code class="computeroutput"><span class="keyword">typeid</span><span class="special">(</span><span class="identifier">x</span><span class="special">).</span><span class="identifier">name</span><span class="special">()</span></code> is platform specific. The code here is + just for exposition. Of course you already know that :-) + </p></td></tr> +</table></div> +<p> + <code class="computeroutput"><a class="link" href="algorithm/iteration/functions/for_each.html" title="for_each"><code class="computeroutput"><span class="identifier">for_each</span></code></a></code> is generic. With + <code class="computeroutput"><span class="identifier">print_xml</span></code>, you can use it to + print just about any Fusion <a class="link" href="sequence.html" title="Sequence">Sequence</a>. + </p> +<h4> +<a name="fusion.quick_start.h1"></a> + <span><a name="fusion.quick_start.print_only_pointers"></a></span><a class="link" href="quick_start.html#fusion.quick_start.print_only_pointers">Print + only pointers</a> + </h4> +<p> + Let's get a little cleverer. Say we wish to write a <span class="emphasis"><em>generic</em></span> + function that takes in an arbitrary sequence and XML prints only those elements + which are pointers. Ah, easy. First, let's include the <code class="computeroutput"><span class="identifier">is_pointer</span></code> + boost type trait: + </p> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">is_pointer</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<p> + Then, simply: + </p> +<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">></span> +<span class="keyword">void</span> <span class="identifier">xml_print_pointers</span><span class="special">(</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">seq</span><span class="special">)</span> +<span class="special">{</span> + <a class="link" href="algorithm/iteration/functions/for_each.html" title="for_each"><code class="computeroutput"><span class="identifier">for_each</span></code></a><span class="special">(</span><a class="link" href="algorithm/transformation/functions/filter_if.html" title="filter_if"><code class="computeroutput"><span class="identifier">filter_if</span></code></a><span class="special"><</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">is_pointer</span><span class="special"><</span><span class="identifier">_</span><span class="special">></span> <span class="special">>(</span><span class="identifier">seq</span><span class="special">),</span> <span class="identifier">print_xml</span><span class="special">());</span> +<span class="special">}</span> +</pre> +<p> + <code class="computeroutput"><a class="link" href="algorithm/transformation/functions/filter_if.html" title="filter_if"><code class="computeroutput"><span class="identifier">filter_if</span></code></a></code> is another Fusion + algorithm. It returns a <a class="link" href="view/filter_view.html" title="filter_view"><code class="computeroutput"><span class="identifier">filter_view</span></code></a>, a conforming Fusion sequence. + This view reflects only those elements that pass the given predicate. In this + case, the predicate is <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">is_pointer</span><span class="special"><</span><span class="identifier">_</span><span class="special">></span></code>. + This "filtered view" is then passed to the <a class="link" href="algorithm/iteration/functions/for_each.html" title="for_each"><code class="computeroutput"><span class="identifier">for_each</span></code></a> algorithm, which then prints + the "filtered view" as XML. + </p> +<p> + Easy, right? + </p> +<h4> +<a name="fusion.quick_start.h2"></a> + <span><a name="fusion.quick_start.associative_tuples"></a></span><a class="link" href="quick_start.html#fusion.quick_start.associative_tuples">Associative + tuples</a> + </h4> +<p> + Ok, moving on... + </p> +<p> + Apart from <code class="computeroutput"><a class="link" href="container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a></code>, + fusion has a couple of other sequence types to choose from. Each sequence has + its own characteristics. We have <code class="computeroutput"><a class="link" href="container/list.html" title="list"><code class="computeroutput"><span class="identifier">list</span></code></a></code>, <code class="computeroutput"><a class="link" href="container/set.html" title="set"><code class="computeroutput"><span class="identifier">set</span></code></a></code>, <code class="computeroutput"><a class="link" href="container/map.html" title="map"><code class="computeroutput"><span class="identifier">map</span></code></a></code>, plus a multitude of <code class="computeroutput"><span class="identifier">views</span></code> that provide various ways to present + the sequences. + </p> +<p> + Fusion's <code class="computeroutput"><a class="link" href="container/map.html" title="map"><code class="computeroutput"><span class="identifier">map</span></code></a></code> + associate types with elements. It can be used as a cleverer replacement of + the <code class="computeroutput"><span class="keyword">struct</span></code>. Example: + </p> +<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">fields</span> +<span class="special">{</span> + <span class="keyword">struct</span> <span class="identifier">name</span><span class="special">;</span> + <span class="keyword">struct</span> <span class="identifier">age</span><span class="special">;</span> +<span class="special">}</span> + +<span class="keyword">typedef</span> <a class="link" href="container/map.html" title="map"><code class="computeroutput"><span class="identifier">map</span></code></a><span class="special"><</span> + <a class="link" href="support/pair.html" title="pair"><code class="computeroutput"><span class="identifier">fusion</span><span class="special">::</span><span class="identifier">pair</span></code></a><span class="special"><</span><span class="identifier">fields</span><span class="special">::</span><span class="identifier">name</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">></span> + <span class="special">,</span> <a class="link" href="support/pair.html" title="pair"><code class="computeroutput"><span class="identifier">fusion</span><span class="special">::</span><span class="identifier">pair</span></code></a><span class="special"><</span><span class="identifier">fields</span><span class="special">::</span><span class="identifier">age</span><span class="special">,</span> <span class="keyword">int</span><span class="special">></span> <span class="special">></span> +<span class="identifier">person</span><span class="special">;</span> +</pre> +<p> + <code class="computeroutput"><a class="link" href="container/map.html" title="map"><code class="computeroutput"><span class="identifier">map</span></code></a></code> + is an associative sequence. Its elements are Fusion pairs which differ somewhat + from <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span></code>. Fusion pairs only contain one member, + with the type of their second template parameter. The first type parameter + of the pair is used as an index to the associated element in the sequence. + For example, given a <code class="computeroutput"><span class="identifier">a_person</span></code> + of type, <code class="computeroutput"><span class="identifier">person</span></code>, you can do: + </p> +<pre class="programlisting"><span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">fields</span><span class="special">;</span> +<span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">person_name</span> <span class="special">=</span> <a class="link" href="sequence/intrinsic/functions/at_key.html" title="at_key"><code class="computeroutput"><span class="identifier">at_key</span></code></a><span class="special"><</span><span class="identifier">name</span><span class="special">>(</span><span class="identifier">a_person</span><span class="special">);</span> +<span class="keyword">int</span> <span class="identifier">person_age</span> <span class="special">=</span> <a class="link" href="sequence/intrinsic/functions/at_key.html" title="at_key"><code class="computeroutput"><span class="identifier">at_key</span></code></a><span class="special"><</span><span class="identifier">age</span><span class="special">>(</span><span class="identifier">a_person</span><span class="special">);</span> +</pre> +<p> + Why go through all this trouble, you say? Well, for one, unlike the <code class="computeroutput"><span class="keyword">struct</span></code>, we are dealing with a generic data structure. + There are a multitude of facilities available at your disposal provided out + of the box with fusion or written by others. With these facilities, introspection + comes for free, for example. We can write one serialization function (well, + two, if you consider loading and saving) that will work for all your fusion + <code class="computeroutput"><a class="link" href="container/map.html" title="map"><code class="computeroutput"><span class="identifier">map</span></code></a></code>s. + Example: + </p> +<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">saver</span> +<span class="special">{</span> + <span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Pair</span><span class="special">></span> + <span class="keyword">void</span> <span class="keyword">operator</span><span class="special">()(</span><span class="identifier">Pair</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">data</span><span class="special">)</span> <span class="keyword">const</span> + <span class="special">{</span> + <span class="identifier">some_archive</span> <span class="special"><<</span> <span class="identifier">data</span><span class="special">.</span><span class="identifier">second</span><span class="special">;</span> + <span class="special">}</span> +<span class="special">};</span> + +<span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Stuff</span><span class="special">></span> +<span class="keyword">void</span> <span class="identifier">save</span><span class="special">(</span><span class="identifier">Stuff</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">stuff</span><span class="special">)</span> +<span class="special">{</span> + <a class="link" href="algorithm/iteration/functions/for_each.html" title="for_each"><code class="computeroutput"><span class="identifier">for_each</span></code></a><span class="special">(</span><span class="identifier">stuff</span><span class="special">,</span> <span class="identifier">saver</span><span class="special">());</span> +<span class="special">}</span> +</pre> +<p> + The <code class="computeroutput"><span class="identifier">save</span></code> function is generic + and will work for all types of <code class="computeroutput"><span class="identifier">stuff</span></code> + regardless if it is a <code class="computeroutput"><span class="identifier">person</span></code>, + a <code class="computeroutput"><span class="identifier">dog</span></code> or a whole <code class="computeroutput"><span class="identifier">alternate_universe</span></code>. + </p> +<h4> +<a name="fusion.quick_start.h3"></a> + <span><a name="fusion.quick_start.tip_of_the_iceberg"></a></span><a class="link" href="quick_start.html#fusion.quick_start.tip_of_the_iceberg">Tip + of the Iceberg</a> + </h4> +<p> + And... we've barely scratched the surface! You can compose and expand the data + structures, remove elements from the structures, find specific data types, + query the elements, filter out types for inspection, transform data structures, + etc. What you've seen is just the tip of the iceberg. + </p> +<div class="footnotes"> +<br><hr width="100" align="left"> +<div class="footnote"><p><sup>[<a id="ftn.fusion.quick_start.f0" href="#fusion.quick_start.f0" class="para">2</a>] </sup> + There are finer grained header files available if you wish to have more control + over which components to include (see section <a class="link" href="organization.html" title="Organization">Organization</a> + for details). + </p></div> +<div class="footnote"><p><sup>[<a id="ftn.fusion.quick_start.f1" href="#fusion.quick_start.f1" class="para">3</a>] </sup> + Unless otherwise noted, components are in namespace <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">fusion</span></code>. + For the sake of simplicity, code in this quick start implies <code class="computeroutput"><span class="keyword">using</span></code> directives for the fusion components + we will be using. + </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-2006, 2011 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="introduction.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="organization.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/references.html b/libs/fusion/doc/html/fusion/references.html new file mode 100755 index 0000000000..419d188920 --- /dev/null +++ b/libs/fusion/doc/html/fusion/references.html @@ -0,0 +1,73 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>References</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="prev" href="acknowledgements.html" title="Acknowledgements"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="acknowledgements.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h2 class="title" style="clear: both"> +<a name="fusion.references"></a><a class="link" href="references.html" title="References">References</a> +</h2></div></div></div> +<div class="orderedlist"><ol class="orderedlist" type="1"> +<li class="listitem"> + <a href="http://boost.org/libs/iterator/doc/new-iter-concepts.html" target="_top">New + Iterator Concepts</a>, David Abrahams, Jeremy Siek, Thomas Witt, 2004-11-01. + </li> +<li class="listitem"> + <a href="http://boost.org/libs/tuple/doc/tuple_users_guide.html" target="_top">The + Boost Tuple Library</a>, Jaakko Jarvi, 2001. + </li> +<li class="listitem"> + <a href="http://www.boost.org/libs/spirit/" target="_top">Spirit Parser Library</a>, + Joel de Guzman, 2001-2006. + </li> +<li class="listitem"> + <a href="http://www.boost.org/libs/mpl/" target="_top">The Boost MPL Library</a>, + Aleksey Gurtovoy and David Abrahams, 2002-2004. + </li> +<li class="listitem"> + <a href="http://www.boost.org/doc/html/array.html" target="_top">Boost Array</a>, + Nicolai Josuttis, 2002-2004. + </li> +<li class="listitem"> + <a href="http://www.sgi.com/tech/stl/" target="_top">Standard Template Library Programmer's + Guide</a>, Hewlett-Packard Company, 1994. + </li> +<li class="listitem"> + <a href="http://www.boost.org/doc/html/ref.html" target="_top">Boost.Ref</a>, + Jaakko Jarvi, Peter Dimov, Douglas Gregor, Dave Abrahams, 1999-2002. + </li> +</ol></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-2006, 2011 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="acknowledgements.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/sequence.html b/libs/fusion/doc/html/fusion/sequence.html new file mode 100755 index 0000000000..ca82c9a621 --- /dev/null +++ b/libs/fusion/doc/html/fusion/sequence.html @@ -0,0 +1,84 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Sequence</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="prev" href="iterator/metafunctions/deref_data.html" title="deref_data"> +<link rel="next" href="sequence/concepts.html" title="Concepts"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="iterator/metafunctions/deref_data.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="sequence/concepts.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h2 class="title" style="clear: both"> +<a name="fusion.sequence"></a><a class="link" href="sequence.html" title="Sequence">Sequence</a> +</h2></div></div></div> +<div class="toc"><dl> +<dt><span class="section"><a href="sequence/concepts.html">Concepts</a></span></dt> +<dd><dl> +<dt><span class="section"><a href="sequence/concepts/forward_sequence.html">Forward + Sequence</a></span></dt> +<dt><span class="section"><a href="sequence/concepts/bidirectional_sequence.html">Bidirectional + Sequence</a></span></dt> +<dt><span class="section"><a href="sequence/concepts/random_access_sequence.html">Random + Access Sequence</a></span></dt> +<dt><span class="section"><a href="sequence/concepts/associative_sequence.html">Associative + Sequence</a></span></dt> +</dl></dd> +<dt><span class="section"><a href="sequence/intrinsic.html">Intrinsic</a></span></dt> +<dd><dl> +<dt><span class="section"><a href="sequence/intrinsic/functions.html">Functions</a></span></dt> +<dt><span class="section"><a href="sequence/intrinsic/metafunctions.html">Metafunctions</a></span></dt> +</dl></dd> +<dt><span class="section"><a href="sequence/operator.html">Operator</a></span></dt> +<dd><dl> +<dt><span class="section"><a href="sequence/operator/i_o.html">I/O</a></span></dt> +<dt><span class="section"><a href="sequence/operator/comparison.html">Comparison</a></span></dt> +</dl></dd> +</dl></div> +<p> + Like <a href="http://www.boost.org/libs/mpl/index.html" target="_top">MPL</a>, the + Sequence is a fundamental concept in Fusion. A Sequence may or may not actually + store or contain data. <a class="link" href="container.html" title="Container">Container</a> are + sequences that hold data. <a class="link" href="view.html" title="View">Views</a>, on the + other hand, are sequences that do not store any data. Instead, they are proxies + that impart an alternative presentation over another sequence. All models of + Sequence have an associated <a class="link" href="iterator.html" title="Iterator">Iterator</a> + type that can be used to iterate through the Sequence's elements. + </p> +<h4> +<a name="fusion.sequence.h0"></a> + <span><a name="fusion.sequence.header"></a></span><a class="link" href="sequence.html#fusion.sequence.header">Header</a> + </h4> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">sequence</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">sequence</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +</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-2006, 2011 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="iterator/metafunctions/deref_data.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="sequence/concepts.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/sequence/concepts.html b/libs/fusion/doc/html/fusion/sequence/concepts.html new file mode 100755 index 0000000000..814d25d6a8 --- /dev/null +++ b/libs/fusion/doc/html/fusion/sequence/concepts.html @@ -0,0 +1,79 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Concepts</title> +<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../sequence.html" title="Sequence"> +<link rel="prev" href="../sequence.html" title="Sequence"> +<link rel="next" href="concepts/forward_sequence.html" title="Forward Sequence"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="../sequence.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../sequence.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="concepts/forward_sequence.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h3 class="title"> +<a name="fusion.sequence.concepts"></a><a class="link" href="concepts.html" title="Concepts">Concepts</a> +</h3></div></div></div> +<div class="toc"><dl> +<dt><span class="section"><a href="concepts/forward_sequence.html">Forward + Sequence</a></span></dt> +<dt><span class="section"><a href="concepts/bidirectional_sequence.html">Bidirectional + Sequence</a></span></dt> +<dt><span class="section"><a href="concepts/random_access_sequence.html">Random + Access Sequence</a></span></dt> +<dt><span class="section"><a href="concepts/associative_sequence.html">Associative + Sequence</a></span></dt> +</dl></div> +<p> + Fusion Sequences are organized into a hierarchy of concepts. + </p> +<h5> +<a name="fusion.sequence.concepts.h0"></a> + <span><a name="fusion.sequence.concepts.traversal"></a></span><a class="link" href="concepts.html#fusion.sequence.concepts.traversal">Traversal</a> + </h5> +<p> + Fusion's sequence traversal related concepts parallel Fusion's <a class="link" href="../iterator/concepts.html" title="Concepts">Iterator + Concepts</a>. <a class="link" href="concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a> is the most basic concept. <a class="link" href="concepts/bidirectional_sequence.html" title="Bidirectional Sequence">Bidirectional + Sequence</a> is a refinement of <a class="link" href="concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a>. <a class="link" href="concepts/random_access_sequence.html" title="Random Access Sequence">Random + Access Sequence</a> is a refinement of <a class="link" href="concepts/bidirectional_sequence.html" title="Bidirectional Sequence">Bidirectional + Sequence</a>. These concepts pertain to sequence traversal. + </p> +<h5> +<a name="fusion.sequence.concepts.h1"></a> + <span><a name="fusion.sequence.concepts.associativity"></a></span><a class="link" href="concepts.html#fusion.sequence.concepts.associativity">Associativity</a> + </h5> +<p> + The <a class="link" href="concepts/associative_sequence.html" title="Associative Sequence">Associative + Sequence</a> concept is orthogonal to traversal. An Associative Sequence + allows efficient retrieval of elements based on keys. + </p> +</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-2006, 2011 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="../sequence.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../sequence.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="concepts/forward_sequence.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/sequence/concepts/associative_sequence.html b/libs/fusion/doc/html/fusion/sequence/concepts/associative_sequence.html new file mode 100755 index 0000000000..d157ec3d0d --- /dev/null +++ b/libs/fusion/doc/html/fusion/sequence/concepts/associative_sequence.html @@ -0,0 +1,350 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Associative Sequence</title> +<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../concepts.html" title="Concepts"> +<link rel="prev" href="random_access_sequence.html" title="Random Access Sequence"> +<link rel="next" href="../intrinsic.html" title="Intrinsic"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="random_access_sequence.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../concepts.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../intrinsic.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h4 class="title"> +<a name="fusion.sequence.concepts.associative_sequence"></a><a class="link" href="associative_sequence.html" title="Associative Sequence">Associative + Sequence</a> +</h4></div></div></div> +<h6> +<a name="fusion.sequence.concepts.associative_sequence.h0"></a> + <span><a name="fusion.sequence.concepts.associative_sequence.description"></a></span><a class="link" href="associative_sequence.html#fusion.sequence.concepts.associative_sequence.description">Description</a> + </h6> +<p> + An Associative Sequence allows efficient retrieval of elements based on + keys. Like associative sequences in <a href="http://www.boost.org/libs/mpl/index.html" target="_top">MPL</a>, + and unlike associative containers in <a href="http://en.wikipedia.org/wiki/Standard_Template_Library" target="_top">STL</a>, + Fusion associative sequences have no implied ordering relation. Instead, + type identity is used to impose an equivalence relation on keys. + </p> +<div class="variablelist"> +<p class="title"><b>Notation</b></p> +<dl> +<dt><span class="term"><code class="computeroutput"><span class="identifier">s</span></code></span></dt> +<dd><p> + An Associative Sequence + </p></dd> +<dt><span class="term"><code class="computeroutput"><span class="identifier">S</span></code></span></dt> +<dd><p> + An Associative Sequence type + </p></dd> +<dt><span class="term"><code class="computeroutput"><span class="identifier">K</span></code></span></dt> +<dd><p> + An arbitrary <span class="emphasis"><em>key</em></span> type + </p></dd> +<dt><span class="term"><code class="computeroutput"><span class="identifier">o</span></code></span></dt> +<dd><p> + An arbitrary object + </p></dd> +<dt><span class="term"><code class="computeroutput"><span class="identifier">e</span></code></span></dt> +<dd><p> + A Sequence element + </p></dd> +</dl> +</div> +<h6> +<a name="fusion.sequence.concepts.associative_sequence.h1"></a> + <span><a name="fusion.sequence.concepts.associative_sequence.valid_expressions"></a></span><a class="link" href="associative_sequence.html#fusion.sequence.concepts.associative_sequence.valid_expressions">Valid + Expressions</a> + </h6> +<p> + For any Associative Sequence the following expressions must be valid: + </p> +<div class="informaltable"><table class="table"> +<colgroup> +<col> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Expression + </p> + </th> +<th> + <p> + Return type + </p> + </th> +<th> + <p> + Type Requirements + </p> + </th> +<th> + <p> + Runtime Complexity + </p> + </th> +</tr></thead> +<tbody> +<tr> +<td> + <p> + <code class="computeroutput"><a class="link" href="../intrinsic/functions/has_key.html" title="has_key"><code class="computeroutput"><span class="identifier">has_key</span></code></a><span class="special"><</span><span class="identifier">K</span><span class="special">>(</span><span class="identifier">s</span><span class="special">)</span></code> + </p> + </td> +<td> + <p> + <a href="http://www.boost.org/libs/mpl/doc/refmanual/integral-constant.html" target="_top">MPL + Boolean Constant</a>. Convertible to bool. + </p> + </td> +<td> + </td> +<td> + <p> + Constant + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><a class="link" href="../intrinsic/functions/at_key.html" title="at_key"><code class="computeroutput"><span class="identifier">at_key</span></code></a><span class="special"><</span><span class="identifier">K</span><span class="special">>(</span><span class="identifier">s</span><span class="special">)</span></code> + </p> + </td> +<td> + <p> + Any type + </p> + </td> +<td> + </td> +<td> + <p> + Constant + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><a class="link" href="../intrinsic/functions/at_key.html" title="at_key"><code class="computeroutput"><span class="identifier">at_key</span></code></a><span class="special"><</span><span class="identifier">K</span><span class="special">>(</span><span class="identifier">s</span><span class="special">)</span> + <span class="special">=</span> <span class="identifier">o</span></code> + </p> + </td> +<td> + <p> + Any type + </p> + </td> +<td> + <p> + <code class="computeroutput"><span class="identifier">s</span></code> is mutable + and <code class="computeroutput"><span class="identifier">e</span> <span class="special">=</span> + <span class="identifier">o</span></code>, where <code class="computeroutput"><span class="identifier">e</span></code> is the first element in the + sequence, is a valid expression. + </p> + </td> +<td> + <p> + Constant + </p> + </td> +</tr> +</tbody> +</table></div> +<h6> +<a name="fusion.sequence.concepts.associative_sequence.h2"></a> + <span><a name="fusion.sequence.concepts.associative_sequence.result_type_expressions"></a></span><a class="link" href="associative_sequence.html#fusion.sequence.concepts.associative_sequence.result_type_expressions">Result + Type Expressions</a> + </h6> +<div class="informaltable"><table class="table"> +<colgroup> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Expression + </p> + </th> +<th> + <p> + Compile Time Complexity + </p> + </th> +</tr></thead> +<tbody> +<tr> +<td> + <p> + <code class="computeroutput"><a class="link" href="../intrinsic/metafunctions/has_key.html" title="has_key"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">has_key</span></code></a><span class="special"><</span><span class="identifier">S</span><span class="special">,</span> + <span class="identifier">K</span><span class="special">>::</span><span class="identifier">type</span></code> + </p> + </td> +<td> + <p> + Amortized constant time + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><a class="link" href="../intrinsic/metafunctions/at_key.html" title="at_key"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">at_key</span></code></a><span class="special"><</span><span class="identifier">S</span><span class="special">,</span> + <span class="identifier">K</span><span class="special">>::</span><span class="identifier">type</span></code> + </p> + </td> +<td> + <p> + Amortized constant time + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><a class="link" href="../intrinsic/metafunctions/value_at_key.html" title="value_at_key"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">value_at_key</span></code></a><span class="special"><</span><span class="identifier">S</span><span class="special">,</span> <span class="identifier">K</span><span class="special">>::</span><span class="identifier">type</span></code> + </p> + </td> +<td> + <p> + Amortized constant time + </p> + </td> +</tr> +</tbody> +</table></div> +<div class="sidebar"> +<div class="titlepage"></div> +<p> + <span class="inlinemediaobject"><img src="../../../images/note.png" alt="note"></span> <code class="computeroutput"><a class="link" href="../intrinsic/metafunctions/at_key.html" title="at_key"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">at_key</span></code></a><span class="special"><</span><span class="identifier">S</span><span class="special">,</span> <span class="identifier">K</span><span class="special">></span></code> returns the actual type returned by + <code class="computeroutput"><a class="link" href="../intrinsic/functions/at_key.html" title="at_key"><code class="computeroutput"><span class="identifier">at_key</span></code></a><span class="special"><</span><span class="identifier">K</span><span class="special">>(</span><span class="identifier">s</span><span class="special">)</span></code>. In + most cases, this is a reference. Hence, there is no way to know the exact + element type using <code class="computeroutput"><a class="link" href="../intrinsic/metafunctions/at_key.html" title="at_key"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">at_key</span></code></a><span class="special"><</span><span class="identifier">S</span><span class="special">,</span> <span class="identifier">K</span><span class="special">></span></code>.The element at <code class="computeroutput"><span class="identifier">K</span></code> + may actually be a reference to begin with. For this purpose, you can use + <code class="computeroutput"><a class="link" href="../intrinsic/metafunctions/value_at_key.html" title="value_at_key"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">value_at_key</span></code></a><span class="special"><</span><span class="identifier">S</span><span class="special">,</span> <span class="identifier">N</span><span class="special">></span></code>. + </p> +</div> +<h6> +<a name="fusion.sequence.concepts.associative_sequence.h3"></a> + <span><a name="fusion.sequence.concepts.associative_sequence.expression_semantics"></a></span><a class="link" href="associative_sequence.html#fusion.sequence.concepts.associative_sequence.expression_semantics">Expression + Semantics</a> + </h6> +<div class="informaltable"><table class="table"> +<colgroup> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Expression + </p> + </th> +<th> + <p> + Semantics + </p> + </th> +</tr></thead> +<tbody> +<tr> +<td> + <p> + <code class="computeroutput"><a class="link" href="../intrinsic/functions/has_key.html" title="has_key"><code class="computeroutput"><span class="identifier">has_key</span></code></a><span class="special"><</span><span class="identifier">K</span><span class="special">>(</span><span class="identifier">s</span><span class="special">)</span></code> + </p> + </td> +<td> + <p> + A boolean Integral Constant <code class="computeroutput"><span class="identifier">c</span></code> + such that <code class="computeroutput"><span class="identifier">c</span><span class="special">::</span><span class="identifier">value</span> <span class="special">==</span> + <span class="keyword">true</span></code> if and only if there + is one or more elements with the key <code class="computeroutput"><span class="identifier">k</span></code> + in <code class="computeroutput"><span class="identifier">s</span></code>; see <a class="link" href="../intrinsic/functions/has_key.html" title="has_key"><code class="computeroutput"><span class="identifier">has_key</span></code></a>. + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><a class="link" href="../intrinsic/functions/at_key.html" title="at_key"><code class="computeroutput"><span class="identifier">at_key</span></code></a><span class="special"><</span><span class="identifier">K</span><span class="special">>(</span><span class="identifier">s</span><span class="special">)</span></code> + </p> + </td> +<td> + <p> + The element associated with the key <code class="computeroutput"><span class="identifier">K</span></code> + in the sequence <code class="computeroutput"><span class="identifier">s</span></code>; + see <a class="link" href="../intrinsic/functions/at.html" title="at"><code class="computeroutput"><span class="identifier">at</span></code></a>. + </p> + </td> +</tr> +</tbody> +</table></div> +<h6> +<a name="fusion.sequence.concepts.associative_sequence.h4"></a> + <span><a name="fusion.sequence.concepts.associative_sequence.models"></a></span><a class="link" href="associative_sequence.html#fusion.sequence.concepts.associative_sequence.models">Models</a> + </h6> +<div class="itemizedlist"><ul class="itemizedlist" type="disc"> +<li class="listitem"> + <a class="link" href="../../container/set.html" title="set"><code class="computeroutput"><span class="identifier">set</span></code></a> + </li> +<li class="listitem"> + <a class="link" href="../../container/map.html" title="map"><code class="computeroutput"><span class="identifier">map</span></code></a> + </li> +<li class="listitem"> + <a class="link" href="../../view/filter_view.html" title="filter_view"><code class="computeroutput"><span class="identifier">filter_view</span></code></a> + (where adapted sequence is an <a class="link" href="associative_sequence.html" title="Associative Sequence">Associative + Sequence</a> and a <a class="link" href="forward_sequence.html" title="Forward Sequence">Forward + Sequence</a>) + </li> +<li class="listitem"> + <a class="link" href="../../view/iterator_range.html" title="iterator_range"><code class="computeroutput"><span class="identifier">iterator_range</span></code></a> + (where adapted iterators are <a class="link" href="../../iterator/concepts/associative_iterator.html" title="Associative Iterator">Associative + Iterator</a>s) + </li> +<li class="listitem"> + <a class="link" href="../../view/joint_view.html" title="joint_view"><code class="computeroutput"><span class="identifier">joint_view</span></code></a> + (where adapted sequences are <a class="link" href="associative_sequence.html" title="Associative Sequence">Associative + Sequence</a>s and <a class="link" href="forward_sequence.html" title="Forward Sequence">Forward + Sequence</a>s) + </li> +<li class="listitem"> + <a class="link" href="../../view/reverse_view.html" title="reverse_view"><code class="computeroutput"><span class="identifier">reverse_view</span></code></a> + (where adapted sequence is an <a class="link" href="associative_sequence.html" title="Associative Sequence">Associative + Sequence</a> and a <a class="link" href="bidirectional_sequence.html" title="Bidirectional Sequence">Bidirectional + Sequence</a>) + </li> +</ul></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-2006, 2011 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="random_access_sequence.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../concepts.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../intrinsic.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/sequence/concepts/bidirectional_sequence.html b/libs/fusion/doc/html/fusion/sequence/concepts/bidirectional_sequence.html new file mode 100755 index 0000000000..5d93c8b609 --- /dev/null +++ b/libs/fusion/doc/html/fusion/sequence/concepts/bidirectional_sequence.html @@ -0,0 +1,343 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Bidirectional Sequence</title> +<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../concepts.html" title="Concepts"> +<link rel="prev" href="forward_sequence.html" title="Forward Sequence"> +<link rel="next" href="random_access_sequence.html" title="Random Access Sequence"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="forward_sequence.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../concepts.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="random_access_sequence.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h4 class="title"> +<a name="fusion.sequence.concepts.bidirectional_sequence"></a><a class="link" href="bidirectional_sequence.html" title="Bidirectional Sequence">Bidirectional + Sequence</a> +</h4></div></div></div> +<h6> +<a name="fusion.sequence.concepts.bidirectional_sequence.h0"></a> + <span><a name="fusion.sequence.concepts.bidirectional_sequence.description"></a></span><a class="link" href="bidirectional_sequence.html#fusion.sequence.concepts.bidirectional_sequence.description">Description</a> + </h6> +<p> + A Bidirectional Sequence is a <a class="link" href="forward_sequence.html" title="Forward Sequence">Forward + Sequence</a> whose iterators model <a class="link" href="../../iterator/concepts/bidirectional_iterator.html" title="Bidirectional Iterator">Bidirectional + Iterator</a>. + </p> +<h6> +<a name="fusion.sequence.concepts.bidirectional_sequence.h1"></a> + <span><a name="fusion.sequence.concepts.bidirectional_sequence.refinement_of"></a></span><a class="link" href="bidirectional_sequence.html#fusion.sequence.concepts.bidirectional_sequence.refinement_of">Refinement + of</a> + </h6> +<p> + <a class="link" href="forward_sequence.html" title="Forward Sequence">Forward Sequence</a> + </p> +<div class="variablelist"> +<p class="title"><b>Notation</b></p> +<dl> +<dt><span class="term"><code class="computeroutput"><span class="identifier">s</span></code></span></dt> +<dd><p> + A Forward Sequence + </p></dd> +<dt><span class="term"><code class="computeroutput"><span class="identifier">S</span></code></span></dt> +<dd><p> + A Forward Sequence type + </p></dd> +<dt><span class="term"><code class="computeroutput"><span class="identifier">o</span></code></span></dt> +<dd><p> + An arbitrary object + </p></dd> +<dt><span class="term"><code class="computeroutput"><span class="identifier">e</span></code></span></dt> +<dd><p> + A Sequence element + </p></dd> +</dl> +</div> +<h6> +<a name="fusion.sequence.concepts.bidirectional_sequence.h2"></a> + <span><a name="fusion.sequence.concepts.bidirectional_sequence.valid_expressions"></a></span><a class="link" href="bidirectional_sequence.html#fusion.sequence.concepts.bidirectional_sequence.valid_expressions">Valid + Expressions</a> + </h6> +<p> + In addition to the requirements defined in <a class="link" href="forward_sequence.html" title="Forward Sequence">Forward + Sequence</a>, for any Bidirectional Sequence the following must be met: + </p> +<div class="informaltable"><table class="table"> +<colgroup> +<col> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Expression + </p> + </th> +<th> + <p> + Return type + </p> + </th> +<th> + <p> + Type Requirements + </p> + </th> +<th> + <p> + Runtime Complexity + </p> + </th> +</tr></thead> +<tbody> +<tr> +<td> + <p> + <code class="computeroutput"><a class="link" href="../intrinsic/functions/begin.html" title="begin"><code class="computeroutput"><span class="identifier">begin</span></code></a><span class="special">(</span><span class="identifier">s</span><span class="special">)</span></code> + </p> + </td> +<td> + <p> + <a class="link" href="../../iterator/concepts/bidirectional_iterator.html" title="Bidirectional Iterator">Bidirectional + Iterator</a> + </p> + </td> +<td> + </td> +<td> + <p> + Constant + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><a class="link" href="../intrinsic/functions/end.html" title="end"><code class="computeroutput"><span class="identifier">end</span></code></a><span class="special">(</span><span class="identifier">s</span><span class="special">)</span></code> + </p> + </td> +<td> + <p> + <a class="link" href="../../iterator/concepts/bidirectional_iterator.html" title="Bidirectional Iterator">Bidirectional + Iterator</a> + </p> + </td> +<td> + </td> +<td> + <p> + Constant + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><a class="link" href="../intrinsic/functions/back.html" title="back"><code class="computeroutput"><span class="identifier">back</span></code></a><span class="special">(</span><span class="identifier">s</span><span class="special">)</span></code> + </p> + </td> +<td> + <p> + Any type + </p> + </td> +<td> + </td> +<td> + <p> + Constant + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><a class="link" href="../intrinsic/functions/back.html" title="back"><code class="computeroutput"><span class="identifier">back</span></code></a><span class="special">(</span><span class="identifier">s</span><span class="special">)</span> + <span class="special">=</span> <span class="identifier">o</span></code> + </p> + </td> +<td> + <p> + Any type + </p> + </td> +<td> + <p> + <code class="computeroutput"><span class="identifier">s</span></code> is mutable + and <code class="computeroutput"><span class="identifier">e</span> <span class="special">=</span> + <span class="identifier">o</span></code>, where <code class="computeroutput"><span class="identifier">e</span></code> is the first element in the + sequence, is a valid expression. + </p> + </td> +<td> + <p> + Constant + </p> + </td> +</tr> +</tbody> +</table></div> +<h6> +<a name="fusion.sequence.concepts.bidirectional_sequence.h3"></a> + <span><a name="fusion.sequence.concepts.bidirectional_sequence.result_type_expressions"></a></span><a class="link" href="bidirectional_sequence.html#fusion.sequence.concepts.bidirectional_sequence.result_type_expressions">Result + Type Expressions</a> + </h6> +<div class="informaltable"><table class="table"> +<colgroup> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Expression + </p> + </th> +<th> + <p> + Compile Time Complexity + </p> + </th> +</tr></thead> +<tbody> +<tr> +<td> + <p> + <code class="computeroutput"><a class="link" href="../intrinsic/metafunctions/begin.html" title="begin"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">begin</span></code></a><span class="special"><</span><span class="identifier">S</span><span class="special">>::</span><span class="identifier">type</span></code> + </p> + </td> +<td> + <p> + Amortized constant time + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><a class="link" href="../intrinsic/metafunctions/end.html" title="end"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">end</span></code></a><span class="special"><</span><span class="identifier">S</span><span class="special">>::</span><span class="identifier">type</span></code> + </p> + </td> +<td> + <p> + Amortized constant time + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><a class="link" href="../intrinsic/metafunctions/back.html" title="back"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">back</span></code></a><span class="special"><</span><span class="identifier">S</span><span class="special">>::</span><span class="identifier">type</span></code> + </p> + </td> +<td> + <p> + Amortized constant time + </p> + </td> +</tr> +</tbody> +</table></div> +<h6> +<a name="fusion.sequence.concepts.bidirectional_sequence.h4"></a> + <span><a name="fusion.sequence.concepts.bidirectional_sequence.expression_semantics"></a></span><a class="link" href="bidirectional_sequence.html#fusion.sequence.concepts.bidirectional_sequence.expression_semantics">Expression + Semantics</a> + </h6> +<p> + The semantics of an expression are defined only where they differ from, + or are not defined in <a class="link" href="forward_sequence.html" title="Forward Sequence">Forward + Sequence</a>. + </p> +<div class="informaltable"><table class="table"> +<colgroup> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Expression + </p> + </th> +<th> + <p> + Semantics + </p> + </th> +</tr></thead> +<tbody><tr> +<td> + <p> + <code class="computeroutput"><a class="link" href="../intrinsic/functions/back.html" title="back"><code class="computeroutput"><span class="identifier">back</span></code></a><span class="special">(</span><span class="identifier">s</span><span class="special">)</span></code> + </p> + </td> +<td> + <p> + The last element in the sequence; see <a class="link" href="../intrinsic/functions/back.html" title="back"><code class="computeroutput"><span class="identifier">back</span></code></a>. + </p> + </td> +</tr></tbody> +</table></div> +<h6> +<a name="fusion.sequence.concepts.bidirectional_sequence.h5"></a> + <span><a name="fusion.sequence.concepts.bidirectional_sequence.models"></a></span><a class="link" href="bidirectional_sequence.html#fusion.sequence.concepts.bidirectional_sequence.models">Models</a> + </h6> +<div class="itemizedlist"><ul class="itemizedlist" type="disc"> +<li class="listitem"> + <a class="link" href="../../adapted/std__pair.html" title="std::pair"><code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span></code></a> + </li> +<li class="listitem"> + <a class="link" href="../../adapted/boost__array.html" title="boost::array"><code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span></code></a> + </li> +<li class="listitem"> + <a class="link" href="../../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a> + </li> +<li class="listitem"> + <a class="link" href="../../view/reverse_view.html" title="reverse_view"><code class="computeroutput"><span class="identifier">reverse_view</span></code></a> + </li> +<li class="listitem"> + <a class="link" href="../../view/single_view.html" title="single_view"><code class="computeroutput"><span class="identifier">single_view</span></code></a> + </li> +<li class="listitem"> + <a class="link" href="../../view/iterator_range.html" title="iterator_range"><code class="computeroutput"><span class="identifier">iterator_range</span></code></a> + (where adapted sequence is a Bidirectional Sequence) + </li> +<li class="listitem"> + <a class="link" href="../../view/transform_view.html" title="transform_view"><code class="computeroutput"><span class="identifier">transform_view</span></code></a> + (where adapted sequence is a Bidirectional Sequence) + </li> +<li class="listitem"> + <a class="link" href="../../view/zip_view.html" title="zip_view"><code class="computeroutput"><span class="identifier">zip_view</span></code></a> + (where adapted sequences are models of Bidirectional Sequence) + </li> +</ul></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-2006, 2011 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="forward_sequence.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../concepts.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="random_access_sequence.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/sequence/concepts/forward_sequence.html b/libs/fusion/doc/html/fusion/sequence/concepts/forward_sequence.html new file mode 100755 index 0000000000..59cfc93f6d --- /dev/null +++ b/libs/fusion/doc/html/fusion/sequence/concepts/forward_sequence.html @@ -0,0 +1,490 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Forward Sequence</title> +<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../concepts.html" title="Concepts"> +<link rel="prev" href="../concepts.html" title="Concepts"> +<link rel="next" href="bidirectional_sequence.html" title="Bidirectional Sequence"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="../concepts.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../concepts.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="bidirectional_sequence.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h4 class="title"> +<a name="fusion.sequence.concepts.forward_sequence"></a><a class="link" href="forward_sequence.html" title="Forward Sequence">Forward + Sequence</a> +</h4></div></div></div> +<h6> +<a name="fusion.sequence.concepts.forward_sequence.h0"></a> + <span><a name="fusion.sequence.concepts.forward_sequence.description"></a></span><a class="link" href="forward_sequence.html#fusion.sequence.concepts.forward_sequence.description">Description</a> + </h6> +<p> + A Forward Sequence is a Sequence whose elements are arranged in a definite + order. The ordering is guaranteed not to change from iteration to iteration. + The requirement of a definite ordering allows the definition of element-by-element + equality (if the container's element type is Equality Comparable) and of + lexicographical ordering (if the container's element type is LessThan Comparable). + </p> +<div class="variablelist"> +<p class="title"><b>Notation</b></p> +<dl> +<dt><span class="term"><code class="computeroutput"><span class="identifier">s</span></code></span></dt> +<dd><p> + A Forward Sequence + </p></dd> +<dt><span class="term"><code class="computeroutput"><span class="identifier">S</span></code></span></dt> +<dd><p> + A Forward Sequence type + </p></dd> +<dt><span class="term"><code class="computeroutput"><span class="identifier">o</span></code></span></dt> +<dd><p> + An arbitrary object + </p></dd> +<dt><span class="term"><code class="computeroutput"><span class="identifier">e</span></code></span></dt> +<dd><p> + A Sequence element + </p></dd> +</dl> +</div> +<h6> +<a name="fusion.sequence.concepts.forward_sequence.h1"></a> + <span><a name="fusion.sequence.concepts.forward_sequence.valid_expressions"></a></span><a class="link" href="forward_sequence.html#fusion.sequence.concepts.forward_sequence.valid_expressions">Valid + Expressions</a> + </h6> +<p> + For any Forward Sequence the following expressions must be valid: + </p> +<div class="informaltable"><table class="table"> +<colgroup> +<col> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Expression + </p> + </th> +<th> + <p> + Return type + </p> + </th> +<th> + <p> + Type Requirements + </p> + </th> +<th> + <p> + Runtime Complexity + </p> + </th> +</tr></thead> +<tbody> +<tr> +<td> + <p> + <code class="computeroutput"><a class="link" href="../intrinsic/functions/begin.html" title="begin"><code class="computeroutput"><span class="identifier">begin</span></code></a><span class="special">(</span><span class="identifier">s</span><span class="special">)</span></code> + </p> + </td> +<td> + <p> + <a class="link" href="../../iterator/concepts/forward_iterator.html" title="Forward Iterator">Forward + Iterator</a> + </p> + </td> +<td> + </td> +<td> + <p> + Constant + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><a class="link" href="../intrinsic/functions/end.html" title="end"><code class="computeroutput"><span class="identifier">end</span></code></a><span class="special">(</span><span class="identifier">s</span><span class="special">)</span></code> + </p> + </td> +<td> + <p> + <a class="link" href="../../iterator/concepts/forward_iterator.html" title="Forward Iterator">Forward + Iterator</a> + </p> + </td> +<td> + </td> +<td> + <p> + Constant + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><a class="link" href="../intrinsic/functions/size.html" title="size"><code class="computeroutput"><span class="identifier">size</span></code></a><span class="special">(</span><span class="identifier">s</span><span class="special">)</span></code> + </p> + </td> +<td> + <p> + <a href="http://www.boost.org/libs/mpl/doc/refmanual/integral-constant.html" target="_top">MPL + Integral Constant</a>. Convertible to int. + </p> + </td> +<td> + </td> +<td> + <p> + Constant + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><a class="link" href="../intrinsic/functions/empty.html" title="empty"><code class="computeroutput"><span class="identifier">empty</span></code></a><span class="special">(</span><span class="identifier">s</span><span class="special">)</span></code> + </p> + </td> +<td> + <p> + <a href="http://www.boost.org/libs/mpl/doc/refmanual/integral-constant.html" target="_top">MPL + Boolean Constant</a>. Convertible to bool. + </p> + </td> +<td> + </td> +<td> + <p> + Constant + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><a class="link" href="../intrinsic/functions/front.html" title="front"><code class="computeroutput"><span class="identifier">front</span></code></a><span class="special">(</span><span class="identifier">s</span><span class="special">)</span></code> + </p> + </td> +<td> + <p> + Any type + </p> + </td> +<td> + </td> +<td> + <p> + Constant + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><a class="link" href="../intrinsic/functions/front.html" title="front"><code class="computeroutput"><span class="identifier">front</span></code></a><span class="special">(</span><span class="identifier">s</span><span class="special">)</span> + <span class="special">=</span> <span class="identifier">o</span></code> + </p> + </td> +<td> + <p> + Any type + </p> + </td> +<td> + <p> + <code class="computeroutput"><span class="identifier">s</span></code> is mutable + and <code class="computeroutput"><span class="identifier">e</span> <span class="special">=</span> + <span class="identifier">o</span></code>, where <code class="computeroutput"><span class="identifier">e</span></code> is the first element in the + sequence, is a valid expression. + </p> + </td> +<td> + <p> + Constant + </p> + </td> +</tr> +</tbody> +</table></div> +<h6> +<a name="fusion.sequence.concepts.forward_sequence.h2"></a> + <span><a name="fusion.sequence.concepts.forward_sequence.result_type_expressions"></a></span><a class="link" href="forward_sequence.html#fusion.sequence.concepts.forward_sequence.result_type_expressions">Result + Type Expressions</a> + </h6> +<div class="informaltable"><table class="table"> +<colgroup> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Expression + </p> + </th> +<th> + <p> + Compile Time Complexity + </p> + </th> +</tr></thead> +<tbody> +<tr> +<td> + <p> + <code class="computeroutput"><a class="link" href="../intrinsic/metafunctions/begin.html" title="begin"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">begin</span></code></a><span class="special"><</span><span class="identifier">S</span><span class="special">>::</span><span class="identifier">type</span></code> + </p> + </td> +<td> + <p> + Amortized constant time + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><a class="link" href="../intrinsic/metafunctions/end.html" title="end"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">end</span></code></a><span class="special"><</span><span class="identifier">S</span><span class="special">>::</span><span class="identifier">type</span></code> + </p> + </td> +<td> + <p> + Amortized constant time + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><a class="link" href="../intrinsic/metafunctions/size.html" title="size"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></code></a><span class="special"><</span><span class="identifier">S</span><span class="special">>::</span><span class="identifier">type</span></code> + </p> + </td> +<td> + <p> + Unspecified + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><a class="link" href="../intrinsic/metafunctions/empty.html" title="empty"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">empty</span></code></a><span class="special"><</span><span class="identifier">S</span><span class="special">>::</span><span class="identifier">type</span></code> + </p> + </td> +<td> + <p> + Constant time + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><a class="link" href="../intrinsic/metafunctions/front.html" title="front"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">front</span></code></a><span class="special"><</span><span class="identifier">S</span><span class="special">>::</span><span class="identifier">type</span></code> + </p> + </td> +<td> + <p> + Amortized constant time + </p> + </td> +</tr> +</tbody> +</table></div> +<h6> +<a name="fusion.sequence.concepts.forward_sequence.h3"></a> + <span><a name="fusion.sequence.concepts.forward_sequence.expression_semantics"></a></span><a class="link" href="forward_sequence.html#fusion.sequence.concepts.forward_sequence.expression_semantics">Expression + Semantics</a> + </h6> +<div class="informaltable"><table class="table"> +<colgroup> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Expression + </p> + </th> +<th> + <p> + Semantics + </p> + </th> +</tr></thead> +<tbody> +<tr> +<td> + <p> + <code class="computeroutput"><a class="link" href="../intrinsic/functions/begin.html" title="begin"><code class="computeroutput"><span class="identifier">begin</span></code></a><span class="special">(</span><span class="identifier">s</span><span class="special">)</span></code> + </p> + </td> +<td> + <p> + An iterator to the first element of the sequence; see <a class="link" href="../intrinsic/functions/begin.html" title="begin"><code class="computeroutput"><span class="identifier">begin</span></code></a>. + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><a class="link" href="../intrinsic/functions/end.html" title="end"><code class="computeroutput"><span class="identifier">end</span></code></a><span class="special">(</span><span class="identifier">s</span><span class="special">)</span></code> + </p> + </td> +<td> + <p> + A past-the-end iterator to the sequence; see <a class="link" href="../intrinsic/functions/end.html" title="end"><code class="computeroutput"><span class="identifier">end</span></code></a>. + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><a class="link" href="../intrinsic/functions/size.html" title="size"><code class="computeroutput"><span class="identifier">size</span></code></a><span class="special">(</span><span class="identifier">s</span><span class="special">)</span></code> + </p> + </td> +<td> + <p> + The size of the sequence; see <a class="link" href="../intrinsic/functions/size.html" title="size"><code class="computeroutput"><span class="identifier">size</span></code></a>. + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><a class="link" href="../intrinsic/functions/empty.html" title="empty"><code class="computeroutput"><span class="identifier">empty</span></code></a><span class="special">(</span><span class="identifier">s</span><span class="special">)</span></code> + </p> + </td> +<td> + <p> + A boolean Integral Constant <code class="computeroutput"><span class="identifier">c</span></code> + such that <code class="computeroutput"><span class="identifier">c</span><span class="special">::</span><span class="identifier">value</span> <span class="special">==</span> + <span class="keyword">true</span></code> if and only if the + sequence is empty; see <a class="link" href="../intrinsic/functions/empty.html" title="empty"><code class="computeroutput"><span class="identifier">empty</span></code></a>. + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><a class="link" href="../intrinsic/functions/front.html" title="front"><code class="computeroutput"><span class="identifier">front</span></code></a><span class="special">(</span><span class="identifier">s</span><span class="special">)</span></code> + </p> + </td> +<td> + <p> + The first element in the sequence; see <a class="link" href="../intrinsic/functions/front.html" title="front"><code class="computeroutput"><span class="identifier">front</span></code></a>. + </p> + </td> +</tr> +</tbody> +</table></div> +<h6> +<a name="fusion.sequence.concepts.forward_sequence.h4"></a> + <span><a name="fusion.sequence.concepts.forward_sequence.invariants"></a></span><a class="link" href="forward_sequence.html#fusion.sequence.concepts.forward_sequence.invariants">Invariants</a> + </h6> +<p> + For any Forward Sequence s the following invariants always hold: + </p> +<div class="itemizedlist"><ul class="itemizedlist" type="disc"> +<li class="listitem"> + <code class="computeroutput"><span class="special">[</span><a class="link" href="../intrinsic/functions/begin.html" title="begin"><code class="computeroutput"><span class="identifier">begin</span></code></a><span class="special">(</span><span class="identifier">s</span><span class="special">),</span> <a class="link" href="../intrinsic/functions/end.html" title="end"><code class="computeroutput"><span class="identifier">end</span></code></a><span class="special">(</span><span class="identifier">s</span><span class="special">))</span></code> is always a valid range. + </li> +<li class="listitem"> + An <a class="link" href="../../algorithm.html" title="Algorithm">Algorithm</a> that iterates + through the range <code class="computeroutput"><span class="special">[</span><a class="link" href="../intrinsic/functions/begin.html" title="begin"><code class="computeroutput"><span class="identifier">begin</span></code></a><span class="special">(</span><span class="identifier">s</span><span class="special">),</span> <a class="link" href="../intrinsic/functions/end.html" title="end"><code class="computeroutput"><span class="identifier">end</span></code></a><span class="special">(</span><span class="identifier">s</span><span class="special">))</span></code> will pass through every element of + <code class="computeroutput"><span class="identifier">s</span></code> exactly once. + </li> +<li class="listitem"> + <code class="computeroutput"><a class="link" href="../intrinsic/functions/begin.html" title="begin"><code class="computeroutput"><span class="identifier">begin</span></code></a><span class="special">(</span><span class="identifier">s</span><span class="special">)</span></code> + is identical to <code class="computeroutput"><a class="link" href="../intrinsic/functions/end.html" title="end"><code class="computeroutput"><span class="identifier">end</span></code></a><span class="special">(</span><span class="identifier">s</span><span class="special">))</span></code> + if and only if <code class="computeroutput"><span class="identifier">s</span></code> is + empty. + </li> +<li class="listitem"> + Two different iterations through <code class="computeroutput"><span class="identifier">s</span></code> + will access its elements in the same order. + </li> +</ul></div> +<h6> +<a name="fusion.sequence.concepts.forward_sequence.h5"></a> + <span><a name="fusion.sequence.concepts.forward_sequence.models"></a></span><a class="link" href="forward_sequence.html#fusion.sequence.concepts.forward_sequence.models">Models</a> + </h6> +<div class="itemizedlist"><ul class="itemizedlist" type="disc"> +<li class="listitem"> + <a class="link" href="../../adapted/std__pair.html" title="std::pair"><code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span></code></a> + </li> +<li class="listitem"> + <a class="link" href="../../adapted/boost__array.html" title="boost::array"><code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span></code></a> + </li> +<li class="listitem"> + <a class="link" href="../../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a> + </li> +<li class="listitem"> + <a class="link" href="../../container/cons.html" title="cons"><code class="computeroutput"><span class="identifier">cons</span></code></a> + </li> +<li class="listitem"> + <a class="link" href="../../container/list.html" title="list"><code class="computeroutput"><span class="identifier">list</span></code></a> + </li> +<li class="listitem"> + <a class="link" href="../../container/set.html" title="set"><code class="computeroutput"><span class="identifier">set</span></code></a> + </li> +<li class="listitem"> + <a class="link" href="../../container/map.html" title="map"><code class="computeroutput"><span class="identifier">map</span></code></a> + </li> +<li class="listitem"> + <a class="link" href="../../view/single_view.html" title="single_view"><code class="computeroutput"><span class="identifier">single_view</span></code></a> + </li> +<li class="listitem"> + <a class="link" href="../../view/filter_view.html" title="filter_view"><code class="computeroutput"><span class="identifier">filter_view</span></code></a> + </li> +<li class="listitem"> + <a class="link" href="../../view/iterator_range.html" title="iterator_range"><code class="computeroutput"><span class="identifier">iterator_range</span></code></a> + </li> +<li class="listitem"> + <a class="link" href="../../view/joint_view.html" title="joint_view"><code class="computeroutput"><span class="identifier">joint_view</span></code></a> + </li> +<li class="listitem"> + <a class="link" href="../../view/transform_view.html" title="transform_view"><code class="computeroutput"><span class="identifier">transform_view</span></code></a> + </li> +<li class="listitem"> + <a class="link" href="../../view/reverse_view.html" title="reverse_view"><code class="computeroutput"><span class="identifier">reverse_view</span></code></a> + </li> +<li class="listitem"> + <a class="link" href="../../view/zip_view.html" title="zip_view"><code class="computeroutput"><span class="identifier">zip_view</span></code></a> + </li> +</ul></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-2006, 2011 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="../concepts.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../concepts.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="bidirectional_sequence.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/sequence/concepts/random_access_sequence.html b/libs/fusion/doc/html/fusion/sequence/concepts/random_access_sequence.html new file mode 100755 index 0000000000..d0288069c1 --- /dev/null +++ b/libs/fusion/doc/html/fusion/sequence/concepts/random_access_sequence.html @@ -0,0 +1,375 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Random Access Sequence</title> +<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../concepts.html" title="Concepts"> +<link rel="prev" href="bidirectional_sequence.html" title="Bidirectional Sequence"> +<link rel="next" href="associative_sequence.html" title="Associative Sequence"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="bidirectional_sequence.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../concepts.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="associative_sequence.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h4 class="title"> +<a name="fusion.sequence.concepts.random_access_sequence"></a><a class="link" href="random_access_sequence.html" title="Random Access Sequence">Random + Access Sequence</a> +</h4></div></div></div> +<h6> +<a name="fusion.sequence.concepts.random_access_sequence.h0"></a> + <span><a name="fusion.sequence.concepts.random_access_sequence.description"></a></span><a class="link" href="random_access_sequence.html#fusion.sequence.concepts.random_access_sequence.description">Description</a> + </h6> +<p> + A Random Access Sequence is a <a class="link" href="bidirectional_sequence.html" title="Bidirectional Sequence">Bidirectional + Sequence</a> whose iterators model <a class="link" href="../../iterator/concepts/random_access_iterator.html" title="Random Access Iterator">Random + Access Iterator</a>. It guarantees constant time access to arbitrary + sequence elements. + </p> +<h6> +<a name="fusion.sequence.concepts.random_access_sequence.h1"></a> + <span><a name="fusion.sequence.concepts.random_access_sequence.refinement_of"></a></span><a class="link" href="random_access_sequence.html#fusion.sequence.concepts.random_access_sequence.refinement_of">Refinement + of</a> + </h6> +<p> + <a class="link" href="bidirectional_sequence.html" title="Bidirectional Sequence">Bidirectional + Sequence</a> + </p> +<div class="variablelist"> +<p class="title"><b>Notation</b></p> +<dl> +<dt><span class="term"><code class="computeroutput"><span class="identifier">s</span></code></span></dt> +<dd><p> + A Random Access Sequence + </p></dd> +<dt><span class="term"><code class="computeroutput"><span class="identifier">S</span></code></span></dt> +<dd><p> + A Random Access Sequence type + </p></dd> +<dt><span class="term"><code class="computeroutput"><span class="identifier">N</span></code></span></dt> +<dd><p> + An <a href="http://www.boost.org/libs/mpl/doc/refmanual/integral-constant.html" target="_top">MPL + Integral Constant</a> + </p></dd> +<dt><span class="term"><code class="computeroutput"><span class="identifier">o</span></code></span></dt> +<dd><p> + An arbitrary object + </p></dd> +<dt><span class="term"><code class="computeroutput"><span class="identifier">e</span></code></span></dt> +<dd><p> + A Sequence element + </p></dd> +</dl> +</div> +<h6> +<a name="fusion.sequence.concepts.random_access_sequence.h2"></a> + <span><a name="fusion.sequence.concepts.random_access_sequence.valid_expressions"></a></span><a class="link" href="random_access_sequence.html#fusion.sequence.concepts.random_access_sequence.valid_expressions">Valid + Expressions</a> + </h6> +<p> + In addition to the requirements defined in <a class="link" href="bidirectional_sequence.html" title="Bidirectional Sequence">Bidirectional + Sequence</a>, for any Random Access Sequence the following must be met: + </p> +<div class="informaltable"><table class="table"> +<colgroup> +<col> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Expression + </p> + </th> +<th> + <p> + Return type + </p> + </th> +<th> + <p> + Type Requirements + </p> + </th> +<th> + <p> + Runtime Complexity + </p> + </th> +</tr></thead> +<tbody> +<tr> +<td> + <p> + <code class="computeroutput"><a class="link" href="../intrinsic/functions/begin.html" title="begin"><code class="computeroutput"><span class="identifier">begin</span></code></a><span class="special">(</span><span class="identifier">s</span><span class="special">)</span></code> + </p> + </td> +<td> + <p> + <a class="link" href="../../iterator/concepts/random_access_iterator.html" title="Random Access Iterator">Random + Access Iterator</a> + </p> + </td> +<td> + </td> +<td> + <p> + Constant + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><a class="link" href="../intrinsic/functions/end.html" title="end"><code class="computeroutput"><span class="identifier">end</span></code></a><span class="special">(</span><span class="identifier">s</span><span class="special">)</span></code> + </p> + </td> +<td> + <p> + <a class="link" href="../../iterator/concepts/random_access_iterator.html" title="Random Access Iterator">Random + Access Iterator</a> + </p> + </td> +<td> + </td> +<td> + <p> + Constant + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><a class="link" href="../intrinsic/functions/at.html" title="at"><code class="computeroutput"><span class="identifier">at</span></code></a><span class="special"><</span><span class="identifier">N</span><span class="special">>(</span><span class="identifier">s</span><span class="special">)</span></code> + </p> + </td> +<td> + <p> + Any type + </p> + </td> +<td> + </td> +<td> + <p> + Constant + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><a class="link" href="../intrinsic/functions/at.html" title="at"><code class="computeroutput"><span class="identifier">at</span></code></a><span class="special"><</span><span class="identifier">N</span><span class="special">>(</span><span class="identifier">s</span><span class="special">)</span> + <span class="special">=</span> <span class="identifier">o</span></code> + </p> + </td> +<td> + <p> + Any type + </p> + </td> +<td> + <p> + <code class="computeroutput"><span class="identifier">s</span></code> is mutable + and <code class="computeroutput"><span class="identifier">e</span> <span class="special">=</span> + <span class="identifier">o</span></code>, where <code class="computeroutput"><span class="identifier">e</span></code> is the first element in the + sequence, is a valid expression. + </p> + </td> +<td> + <p> + Constant + </p> + </td> +</tr> +</tbody> +</table></div> +<h6> +<a name="fusion.sequence.concepts.random_access_sequence.h3"></a> + <span><a name="fusion.sequence.concepts.random_access_sequence.result_type_expressions"></a></span><a class="link" href="random_access_sequence.html#fusion.sequence.concepts.random_access_sequence.result_type_expressions">Result + Type Expressions</a> + </h6> +<div class="informaltable"><table class="table"> +<colgroup> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Expression + </p> + </th> +<th> + <p> + Compile Time Complexity + </p> + </th> +</tr></thead> +<tbody> +<tr> +<td> + <p> + <code class="computeroutput"><a class="link" href="../intrinsic/metafunctions/begin.html" title="begin"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">begin</span></code></a><span class="special"><</span><span class="identifier">S</span><span class="special">>::</span><span class="identifier">type</span></code> + </p> + </td> +<td> + <p> + Amortized constant time + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><a class="link" href="../intrinsic/metafunctions/end.html" title="end"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">end</span></code></a><span class="special"><</span><span class="identifier">S</span><span class="special">>::</span><span class="identifier">type</span></code> + </p> + </td> +<td> + <p> + Amortized constant time + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><a class="link" href="../intrinsic/metafunctions/at.html" title="at"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">at</span></code></a><span class="special"><</span><span class="identifier">S</span><span class="special">,</span> + <span class="identifier">N</span><span class="special">>::</span><span class="identifier">type</span></code> + </p> + </td> +<td> + <p> + Amortized constant time + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><a class="link" href="../intrinsic/metafunctions/value_at.html" title="value_at"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">value_at</span></code></a><span class="special"><</span><span class="identifier">S</span><span class="special">,</span> + <span class="identifier">N</span><span class="special">>::</span><span class="identifier">type</span></code> + </p> + </td> +<td> + <p> + Amortized constant time + </p> + </td> +</tr> +</tbody> +</table></div> +<div class="sidebar"> +<div class="titlepage"></div> +<p> + <span class="inlinemediaobject"><img src="../../../images/note.png" alt="note"></span> <code class="computeroutput"><a class="link" href="../intrinsic/metafunctions/at.html" title="at"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">at</span></code></a><span class="special"><</span><span class="identifier">S</span><span class="special">,</span> <span class="identifier">N</span><span class="special">></span></code> returns the actual type returned by + <code class="computeroutput"><a class="link" href="../intrinsic/functions/at.html" title="at"><code class="computeroutput"><span class="identifier">at</span></code></a><span class="special"><</span><span class="identifier">N</span><span class="special">>(</span><span class="identifier">s</span><span class="special">)</span></code>. In + most cases, this is a reference. Hence, there is no way to know the exact + element type using <code class="computeroutput"><a class="link" href="../intrinsic/metafunctions/at.html" title="at"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">at</span></code></a><span class="special"><</span><span class="identifier">S</span><span class="special">,</span> <span class="identifier">N</span><span class="special">></span></code>.The element at <code class="computeroutput"><span class="identifier">N</span></code> + may actually be a reference to begin with. For this purpose, you can use + <code class="computeroutput"><a class="link" href="../intrinsic/metafunctions/value_at.html" title="value_at"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">value_at</span></code></a><span class="special"><</span><span class="identifier">S</span><span class="special">,</span> <span class="identifier">N</span><span class="special">></span></code>. + </p> +</div> +<h6> +<a name="fusion.sequence.concepts.random_access_sequence.h4"></a> + <span><a name="fusion.sequence.concepts.random_access_sequence.expression_semantics"></a></span><a class="link" href="random_access_sequence.html#fusion.sequence.concepts.random_access_sequence.expression_semantics">Expression + Semantics</a> + </h6> +<p> + The semantics of an expression are defined only where they differ from, + or are not defined in <a class="link" href="bidirectional_sequence.html" title="Bidirectional Sequence">Bidirectional + Sequence</a>. + </p> +<div class="informaltable"><table class="table"> +<colgroup> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Expression + </p> + </th> +<th> + <p> + Semantics + </p> + </th> +</tr></thead> +<tbody><tr> +<td> + <p> + <code class="computeroutput"><a class="link" href="../intrinsic/functions/at.html" title="at"><code class="computeroutput"><span class="identifier">at</span></code></a><span class="special"><</span><span class="identifier">N</span><span class="special">>(</span><span class="identifier">s</span><span class="special">)</span></code> + </p> + </td> +<td> + <p> + The Nth element from the beginning of the sequence; see <a class="link" href="../intrinsic/functions/at.html" title="at"><code class="computeroutput"><span class="identifier">at</span></code></a>. + </p> + </td> +</tr></tbody> +</table></div> +<h6> +<a name="fusion.sequence.concepts.random_access_sequence.h5"></a> + <span><a name="fusion.sequence.concepts.random_access_sequence.models"></a></span><a class="link" href="random_access_sequence.html#fusion.sequence.concepts.random_access_sequence.models">Models</a> + </h6> +<div class="itemizedlist"><ul class="itemizedlist" type="disc"> +<li class="listitem"> + <a class="link" href="../../adapted/std__pair.html" title="std::pair"><code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span></code></a> + </li> +<li class="listitem"> + <a class="link" href="../../adapted/boost__array.html" title="boost::array"><code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span></code></a> + </li> +<li class="listitem"> + <a class="link" href="../../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a> + </li> +<li class="listitem"> + <a class="link" href="../../view/reverse_view.html" title="reverse_view"><code class="computeroutput"><span class="identifier">reverse_view</span></code></a> + </li> +<li class="listitem"> + <a class="link" href="../../view/single_view.html" title="single_view"><code class="computeroutput"><span class="identifier">single_view</span></code></a> + </li> +<li class="listitem"> + <a class="link" href="../../view/iterator_range.html" title="iterator_range"><code class="computeroutput"><span class="identifier">iterator_range</span></code></a> + (where adapted sequence is a Random Access Sequence) + </li> +<li class="listitem"> + <a class="link" href="../../view/transform_view.html" title="transform_view"><code class="computeroutput"><span class="identifier">transform_view</span></code></a> + (where adapted sequence is a Random Access Sequence) + </li> +<li class="listitem"> + <a class="link" href="../../view/zip_view.html" title="zip_view"><code class="computeroutput"><span class="identifier">zip_view</span></code></a> + (where adapted sequences are models of Random Access Sequence) + </li> +</ul></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-2006, 2011 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="bidirectional_sequence.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../concepts.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="associative_sequence.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/sequence/intrinsic.html b/libs/fusion/doc/html/fusion/sequence/intrinsic.html new file mode 100755 index 0000000000..7988f2bc8e --- /dev/null +++ b/libs/fusion/doc/html/fusion/sequence/intrinsic.html @@ -0,0 +1,70 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Intrinsic</title> +<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../sequence.html" title="Sequence"> +<link rel="prev" href="concepts/associative_sequence.html" title="Associative Sequence"> +<link rel="next" href="intrinsic/functions.html" title="Functions"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="concepts/associative_sequence.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../sequence.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="intrinsic/functions.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h3 class="title"> +<a name="fusion.sequence.intrinsic"></a><a class="link" href="intrinsic.html" title="Intrinsic">Intrinsic</a> +</h3></div></div></div> +<div class="toc"><dl> +<dt><span class="section"><a href="intrinsic/functions.html">Functions</a></span></dt> +<dt><span class="section"><a href="intrinsic/metafunctions.html">Metafunctions</a></span></dt> +</dl></div> +<p> + Intrinsic form the essential interface of every Fusion <a class="link" href="../sequence.html" title="Sequence">Sequence</a>. + <a href="http://en.wikipedia.org/wiki/Standard_Template_Library" target="_top">STL</a> + counterparts of these functions are usually implemented as member functions. + Intrinsic functions, unlike <a class="link" href="../algorithm.html" title="Algorithm">Algorithms</a>, + are not generic across the full <a class="link" href="../sequence.html" title="Sequence">Sequence</a> + repertoire. They need to be implemented for each Fusion <a class="link" href="../sequence.html" title="Sequence">Sequence</a><sup>[<a name="fusion.sequence.intrinsic.f0" href="#ftn.fusion.sequence.intrinsic.f0" class="footnote">5</a>]</sup>. + </p> +<h5> +<a name="fusion.sequence.intrinsic.h0"></a> + <span><a name="fusion.sequence.intrinsic.header"></a></span><a class="link" href="intrinsic.html#fusion.sequence.intrinsic.header">Header</a> + </h5> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">sequence</span><span class="special">/</span><span class="identifier">intrinsic</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">intrinsic</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<div class="footnotes"> +<br><hr width="100" align="left"> +<div class="footnote"><p><sup>[<a id="ftn.fusion.sequence.intrinsic.f0" href="#fusion.sequence.intrinsic.f0" class="para">5</a>] </sup> + In practice, many of intrinsic functions have default implementations that + will work in majority of cases + </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-2006, 2011 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="concepts/associative_sequence.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../sequence.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="intrinsic/functions.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/sequence/intrinsic/functions.html b/libs/fusion/doc/html/fusion/sequence/intrinsic/functions.html new file mode 100755 index 0000000000..46be1765a6 --- /dev/null +++ b/libs/fusion/doc/html/fusion/sequence/intrinsic/functions.html @@ -0,0 +1,57 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Functions</title> +<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../intrinsic.html" title="Intrinsic"> +<link rel="prev" href="../intrinsic.html" title="Intrinsic"> +<link rel="next" href="functions/begin.html" title="begin"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="../intrinsic.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../intrinsic.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="functions/begin.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h4 class="title"> +<a name="fusion.sequence.intrinsic.functions"></a><a class="link" href="functions.html" title="Functions">Functions</a> +</h4></div></div></div> +<div class="toc"><dl> +<dt><span class="section"><a href="functions/begin.html">begin</a></span></dt> +<dt><span class="section"><a href="functions/end.html">end</a></span></dt> +<dt><span class="section"><a href="functions/empty.html">empty</a></span></dt> +<dt><span class="section"><a href="functions/front.html">front</a></span></dt> +<dt><span class="section"><a href="functions/back.html">back</a></span></dt> +<dt><span class="section"><a href="functions/size.html">size</a></span></dt> +<dt><span class="section"><a href="functions/at.html">at</a></span></dt> +<dt><span class="section"><a href="functions/at_c.html">at_c</a></span></dt> +<dt><span class="section"><a href="functions/has_key.html">has_key</a></span></dt> +<dt><span class="section"><a href="functions/at_key.html">at_key</a></span></dt> +<dt><span class="section"><a href="functions/swap.html">swap</a></span></dt> +</dl></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-2006, 2011 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="../intrinsic.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../intrinsic.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="functions/begin.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/sequence/intrinsic/functions/at.html b/libs/fusion/doc/html/fusion/sequence/intrinsic/functions/at.html new file mode 100755 index 0000000000..eb67e23570 --- /dev/null +++ b/libs/fusion/doc/html/fusion/sequence/intrinsic/functions/at.html @@ -0,0 +1,169 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>at</title> +<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../functions.html" title="Functions"> +<link rel="prev" href="size.html" title="size"> +<link rel="next" href="at_c.html" title="at_c"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="size.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="at_c.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h5 class="title"> +<a name="fusion.sequence.intrinsic.functions.at"></a><a class="link" href="at.html" title="at">at</a> +</h5></div></div></div> +<h6> +<a name="fusion.sequence.intrinsic.functions.at.h0"></a> + <span><a name="fusion.sequence.intrinsic.functions.at.description"></a></span><a class="link" href="at.html#fusion.sequence.intrinsic.functions.at.description">Description</a> + </h6> +<p> + Returns the N-th element from the beginning of the sequence. + </p> +<h6> +<a name="fusion.sequence.intrinsic.functions.at.h1"></a> + <span><a name="fusion.sequence.intrinsic.functions.at.synopsis"></a></span><a class="link" href="at.html#fusion.sequence.intrinsic.functions.at.synopsis">Synopsis</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">N</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">></span> +<span class="keyword">typename</span> <a class="link" href="../metafunctions/at.html" title="at"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">at</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">N</span><span class="special">>::</span><span class="identifier">type</span> +<span class="identifier">at</span><span class="special">(</span><span class="identifier">Sequence</span><span class="special">&</span> <span class="identifier">seq</span><span class="special">);</span> + +<span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">N</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">></span> +<span class="keyword">typename</span> <a class="link" href="../metafunctions/at.html" title="at"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">at</span></code></a><span class="special"><</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">N</span><span class="special">>::</span><span class="identifier">type</span> +<span class="identifier">at</span><span class="special">(</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">seq</span><span class="special">);</span> +</pre> +<h6> +<a name="fusion.sequence.intrinsic.functions.at.h2"></a> + <span><a name="fusion.sequence.intrinsic.functions.at.parameters"></a></span><a class="link" href="at.html#fusion.sequence.intrinsic.functions.at.parameters">Parameters</a> + </h6> +<div class="informaltable"><table class="table"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Requirement + </p> + </th> +<th> + <p> + Description + </p> + </th> +</tr></thead> +<tbody> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">seq</span></code> + </p> + </td> +<td> + <p> + Model of <a class="link" href="../../concepts/random_access_sequence.html" title="Random Access Sequence">Random + Access Sequence</a> + </p> + </td> +<td> + <p> + The sequence we wish to investigate. + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">N</span></code> + </p> + </td> +<td> + <p> + An <a href="http://www.boost.org/libs/mpl/doc/refmanual/integral-constant.html" target="_top">MPL + Integral Constant</a> + </p> + </td> +<td> + <p> + An index from the beginning of the sequence. + </p> + </td> +</tr> +</tbody> +</table></div> +<h6> +<a name="fusion.sequence.intrinsic.functions.at.h3"></a> + <span><a name="fusion.sequence.intrinsic.functions.at.expression_semantics"></a></span><a class="link" href="at.html#fusion.sequence.intrinsic.functions.at.expression_semantics">Expression + Semantics</a> + </h6> +<pre class="programlisting"><span class="identifier">at</span><span class="special"><</span><span class="identifier">N</span><span class="special">>(</span><span class="identifier">seq</span><span class="special">);</span> +</pre> +<p> + <span class="bold"><strong>Return type</strong></span>: Returns a reference to + the N-th element from the beginning of the sequence <code class="computeroutput"><span class="identifier">seq</span></code> + if <code class="computeroutput"><span class="identifier">seq</span></code> is mutable and + <code class="computeroutput"><span class="identifier">e</span> <span class="special">=</span> + <span class="identifier">o</span></code>, where <code class="computeroutput"><span class="identifier">e</span></code> + is the N-th element from the beginning of the sequence, is a valid expression. + Else, returns a type convertable to the N-th element from the beginning + of the sequence. + </p> +<p> + <span class="bold"><strong>Precondition</strong></span>: <code class="computeroutput"><span class="number">0</span> + <span class="special"><=</span> <span class="identifier">N</span><span class="special">::</span><span class="identifier">value</span> <span class="special"><</span> <a class="link" href="size.html" title="size"><code class="computeroutput"><span class="identifier">size</span></code></a><span class="special">(</span><span class="identifier">s</span><span class="special">)</span></code> + </p> +<p> + <span class="bold"><strong>Semantics</strong></span>: Equivalent to + </p> +<pre class="programlisting"><a class="link" href="../../../iterator/functions/deref.html" title="deref"><code class="computeroutput"><span class="identifier">deref</span></code></a><span class="special">(</span><a class="link" href="../../../iterator/functions/advance.html" title="advance"><code class="computeroutput"><span class="identifier">advance</span></code></a><span class="special"><</span><span class="identifier">N</span><span class="special">>(</span><a class="link" href="begin.html" title="begin"><code class="computeroutput"><span class="identifier">begin</span></code></a><span class="special">(</span><span class="identifier">s</span><span class="special">)))</span> +</pre> +<h6> +<a name="fusion.sequence.intrinsic.functions.at.h4"></a> + <span><a name="fusion.sequence.intrinsic.functions.at.header"></a></span><a class="link" href="at.html#fusion.sequence.intrinsic.functions.at.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">sequence</span><span class="special">/</span><span class="identifier">intrinsic</span><span class="special">/</span><span class="identifier">at</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">at</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h6> +<a name="fusion.sequence.intrinsic.functions.at.h5"></a> + <span><a name="fusion.sequence.intrinsic.functions.at.example"></a></span><a class="link" href="at.html#fusion.sequence.intrinsic.functions.at.example">Example</a> + </h6> +<pre class="programlisting"><a class="link" href="../../../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">int</span><span class="special">,</span> <span class="keyword">int</span><span class="special">></span> <span class="identifier">v</span><span class="special">(</span><span class="number">1</span><span class="special">,</span> <span class="number">2</span><span class="special">,</span> <span class="number">3</span><span class="special">);</span> +<span class="identifier">assert</span><span class="special">(</span><span class="identifier">at</span><span class="special"><</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">int_</span><span class="special"><</span><span class="number">1</span><span class="special">></span> <span class="special">>(</span><span class="identifier">v</span><span class="special">)</span> <span class="special">==</span> <span class="number">2</span><span class="special">);</span> +</pre> +</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-2006, 2011 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="size.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="at_c.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/sequence/intrinsic/functions/at_c.html b/libs/fusion/doc/html/fusion/sequence/intrinsic/functions/at_c.html new file mode 100755 index 0000000000..7278210fb2 --- /dev/null +++ b/libs/fusion/doc/html/fusion/sequence/intrinsic/functions/at_c.html @@ -0,0 +1,169 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>at_c</title> +<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../functions.html" title="Functions"> +<link rel="prev" href="at.html" title="at"> +<link rel="next" href="has_key.html" title="has_key"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="at.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="has_key.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h5 class="title"> +<a name="fusion.sequence.intrinsic.functions.at_c"></a><a class="link" href="at_c.html" title="at_c">at_c</a> +</h5></div></div></div> +<h6> +<a name="fusion.sequence.intrinsic.functions.at_c.h0"></a> + <span><a name="fusion.sequence.intrinsic.functions.at_c.description"></a></span><a class="link" href="at_c.html#fusion.sequence.intrinsic.functions.at_c.description">Description</a> + </h6> +<p> + Returns the N-th element from the beginning of the sequence. + </p> +<h6> +<a name="fusion.sequence.intrinsic.functions.at_c.h1"></a> + <span><a name="fusion.sequence.intrinsic.functions.at_c.synopsis"></a></span><a class="link" href="at_c.html#fusion.sequence.intrinsic.functions.at_c.synopsis">Synopsis</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">int</span> <span class="identifier">N</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">></span> +<span class="keyword">typename</span> <a class="link" href="../metafunctions/at_c.html" title="at_c"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">at_c</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">N</span><span class="special">>::</span><span class="identifier">type</span> +<span class="identifier">at_c</span><span class="special">(</span><span class="identifier">Sequence</span><span class="special">&</span> <span class="identifier">seq</span><span class="special">);</span> + +<span class="keyword">template</span> <span class="special"><</span><span class="keyword">int</span> <span class="identifier">N</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">></span> +<span class="keyword">typename</span> <a class="link" href="../metafunctions/at_c.html" title="at_c"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">at_c</span></code></a><span class="special"><</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">N</span><span class="special">>::</span><span class="identifier">type</span> +<span class="identifier">at_c</span><span class="special">(</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">seq</span><span class="special">);</span> +</pre> +<h6> +<a name="fusion.sequence.intrinsic.functions.at_c.h2"></a> + <span><a name="fusion.sequence.intrinsic.functions.at_c.parameters"></a></span><a class="link" href="at_c.html#fusion.sequence.intrinsic.functions.at_c.parameters">Parameters</a> + </h6> +<div class="informaltable"><table class="table"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Requirement + </p> + </th> +<th> + <p> + Description + </p> + </th> +</tr></thead> +<tbody> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">seq</span></code> + </p> + </td> +<td> + <p> + Model of <a class="link" href="../../concepts/random_access_sequence.html" title="Random Access Sequence">Random + Access Sequence</a> + </p> + </td> +<td> + <p> + The sequence we wish to investigate. + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">N</span></code> + </p> + </td> +<td> + <p> + An integral constant + </p> + </td> +<td> + <p> + An index from the beginning of the sequence. + </p> + </td> +</tr> +</tbody> +</table></div> +<h6> +<a name="fusion.sequence.intrinsic.functions.at_c.h3"></a> + <span><a name="fusion.sequence.intrinsic.functions.at_c.expression_semantics"></a></span><a class="link" href="at_c.html#fusion.sequence.intrinsic.functions.at_c.expression_semantics">Expression + Semantics</a> + </h6> +<pre class="programlisting"><span class="identifier">at_c</span><span class="special"><</span><span class="identifier">N</span><span class="special">>(</span><span class="identifier">seq</span><span class="special">);</span> +</pre> +<p> + <span class="bold"><strong>Return type</strong></span>: Returns a reference to + the N-th element from the beginning of the sequence <code class="computeroutput"><span class="identifier">seq</span></code> + if <code class="computeroutput"><span class="identifier">seq</span></code> is mutable and + <code class="computeroutput"><span class="identifier">e</span> <span class="special">=</span> + <span class="identifier">o</span></code>, where <code class="computeroutput"><span class="identifier">e</span></code> + is the N-th element from the beginning of the sequence, is a valid expression. + Else, returns a type convertable to the N-th element from the beginning + of the sequence. + </p> +<p> + <span class="bold"><strong>Precondition</strong></span>: <code class="computeroutput"><span class="number">0</span> + <span class="special"><=</span> <span class="identifier">N</span> + <span class="special"><</span> <a class="link" href="size.html" title="size"><code class="computeroutput"><span class="identifier">size</span></code></a><span class="special">(</span><span class="identifier">s</span><span class="special">)</span></code> + </p> +<p> + <span class="bold"><strong>Semantics</strong></span>: Equivalent to + </p> +<pre class="programlisting"><a class="link" href="../../../iterator/functions/deref.html" title="deref"><code class="computeroutput"><span class="identifier">deref</span></code></a><span class="special">(</span><a class="link" href="../../../iterator/functions/advance.html" title="advance"><code class="computeroutput"><span class="identifier">advance</span></code></a><span class="special"><</span><span class="identifier">N</span><span class="special">>(</span><a class="link" href="begin.html" title="begin"><code class="computeroutput"><span class="identifier">begin</span></code></a><span class="special">(</span><span class="identifier">s</span><span class="special">)))</span> +</pre> +<h6> +<a name="fusion.sequence.intrinsic.functions.at_c.h4"></a> + <span><a name="fusion.sequence.intrinsic.functions.at_c.header"></a></span><a class="link" href="at_c.html#fusion.sequence.intrinsic.functions.at_c.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">sequence</span><span class="special">/</span><span class="identifier">intrinsic</span><span class="special">/</span><span class="identifier">at_c</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">at_c</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h6> +<a name="fusion.sequence.intrinsic.functions.at_c.h5"></a> + <span><a name="fusion.sequence.intrinsic.functions.at_c.example"></a></span><a class="link" href="at_c.html#fusion.sequence.intrinsic.functions.at_c.example">Example</a> + </h6> +<pre class="programlisting"><a class="link" href="../../../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">int</span><span class="special">,</span> <span class="keyword">int</span><span class="special">></span> <span class="identifier">v</span><span class="special">(</span><span class="number">1</span><span class="special">,</span> <span class="number">2</span><span class="special">,</span> <span class="number">3</span><span class="special">);</span> +<span class="identifier">assert</span><span class="special">(</span><span class="identifier">at_c</span><span class="special"><</span><span class="number">1</span><span class="special">>(</span><span class="identifier">v</span><span class="special">)</span> <span class="special">==</span> <span class="number">2</span><span class="special">);</span> +</pre> +</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-2006, 2011 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="at.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="has_key.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/sequence/intrinsic/functions/at_key.html b/libs/fusion/doc/html/fusion/sequence/intrinsic/functions/at_key.html new file mode 100755 index 0000000000..341836180e --- /dev/null +++ b/libs/fusion/doc/html/fusion/sequence/intrinsic/functions/at_key.html @@ -0,0 +1,165 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>at_key</title> +<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../functions.html" title="Functions"> +<link rel="prev" href="has_key.html" title="has_key"> +<link rel="next" href="swap.html" title="swap"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="has_key.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="swap.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h5 class="title"> +<a name="fusion.sequence.intrinsic.functions.at_key"></a><a class="link" href="at_key.html" title="at_key">at_key</a> +</h5></div></div></div> +<h6> +<a name="fusion.sequence.intrinsic.functions.at_key.h0"></a> + <span><a name="fusion.sequence.intrinsic.functions.at_key.description"></a></span><a class="link" href="at_key.html#fusion.sequence.intrinsic.functions.at_key.description">Description</a> + </h6> +<p> + Returns the element associated with a Key from the sequence. + </p> +<h6> +<a name="fusion.sequence.intrinsic.functions.at_key.h1"></a> + <span><a name="fusion.sequence.intrinsic.functions.at_key.synopsis"></a></span><a class="link" href="at_key.html#fusion.sequence.intrinsic.functions.at_key.synopsis">Synopsis</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Key</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">></span> +<span class="keyword">typename</span> <a class="link" href="../metafunctions/at_key.html" title="at_key"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">at_key</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">Key</span><span class="special">>::</span><span class="identifier">type</span> +<span class="identifier">at_key</span><span class="special">(</span><span class="identifier">Sequence</span><span class="special">&</span> <span class="identifier">seq</span><span class="special">);</span> + +<span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Key</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">></span> +<span class="keyword">typename</span> <a class="link" href="../metafunctions/at_key.html" title="at_key"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">at_key</span></code></a><span class="special"><</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">Key</span><span class="special">>::</span><span class="identifier">type</span> +<span class="identifier">at_key</span><span class="special">(</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">seq</span><span class="special">);</span> +</pre> +<h6> +<a name="fusion.sequence.intrinsic.functions.at_key.h2"></a> + <span><a name="fusion.sequence.intrinsic.functions.at_key.parameters"></a></span><a class="link" href="at_key.html#fusion.sequence.intrinsic.functions.at_key.parameters">Parameters</a> + </h6> +<div class="informaltable"><table class="table"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Requirement + </p> + </th> +<th> + <p> + Description + </p> + </th> +</tr></thead> +<tbody> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">seq</span></code> + </p> + </td> +<td> + <p> + Model of <a class="link" href="../../concepts/associative_sequence.html" title="Associative Sequence">Associative + Sequence</a> + </p> + </td> +<td> + <p> + The sequence we wish to investigate. + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">Key</span></code> + </p> + </td> +<td> + <p> + Any type + </p> + </td> +<td> + <p> + The queried key. + </p> + </td> +</tr> +</tbody> +</table></div> +<h6> +<a name="fusion.sequence.intrinsic.functions.at_key.h3"></a> + <span><a name="fusion.sequence.intrinsic.functions.at_key.expression_semantics"></a></span><a class="link" href="at_key.html#fusion.sequence.intrinsic.functions.at_key.expression_semantics">Expression + Semantics</a> + </h6> +<pre class="programlisting"><span class="identifier">at_key</span><span class="special"><</span><span class="identifier">Key</span><span class="special">>(</span><span class="identifier">seq</span><span class="special">);</span> +</pre> +<p> + <span class="bold"><strong>Return type</strong></span>: Returns a reference to + the element associated with Key from the sequence <code class="computeroutput"><span class="identifier">seq</span></code> + if <code class="computeroutput"><span class="identifier">seq</span></code> is mutable and + <code class="computeroutput"><span class="identifier">e</span> <span class="special">=</span> + <span class="identifier">o</span></code>, where <code class="computeroutput"><span class="identifier">e</span></code> + is the element associated with Key, is a valid expression. Else, returns + a type convertable to the element associated with Key. + </p> +<p> + <span class="bold"><strong>Precondition</strong></span>: <code class="computeroutput"><span class="identifier">has_key</span><span class="special"><</span><span class="identifier">Key</span><span class="special">>(</span><span class="identifier">seq</span><span class="special">)</span> <span class="special">==</span> <span class="keyword">true</span></code> + </p> +<p> + <span class="bold"><strong>Semantics</strong></span>: Returns the element associated + with Key. + </p> +<h6> +<a name="fusion.sequence.intrinsic.functions.at_key.h4"></a> + <span><a name="fusion.sequence.intrinsic.functions.at_key.header"></a></span><a class="link" href="at_key.html#fusion.sequence.intrinsic.functions.at_key.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">sequence</span><span class="special">/</span><span class="identifier">intrinsic</span><span class="special">/</span><span class="identifier">at_key</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">at_key</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h6> +<a name="fusion.sequence.intrinsic.functions.at_key.h5"></a> + <span><a name="fusion.sequence.intrinsic.functions.at_key.example"></a></span><a class="link" href="at_key.html#fusion.sequence.intrinsic.functions.at_key.example">Example</a> + </h6> +<pre class="programlisting"><a class="link" href="../../../container/set.html" title="set"><code class="computeroutput"><span class="identifier">set</span></code></a><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">char</span><span class="special">,</span> <span class="keyword">bool</span><span class="special">></span> <span class="identifier">s</span><span class="special">(</span><span class="number">1</span><span class="special">,</span> <span class="char">'x'</span><span class="special">,</span> <span class="keyword">true</span><span class="special">);</span> +<span class="identifier">assert</span><span class="special">(</span><span class="identifier">at_key</span><span class="special"><</span><span class="keyword">char</span><span class="special">>(</span><span class="identifier">s</span><span class="special">)</span> <span class="special">==</span> <span class="char">'x'</span><span class="special">);</span> +</pre> +</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-2006, 2011 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="has_key.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="swap.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/sequence/intrinsic/functions/back.html b/libs/fusion/doc/html/fusion/sequence/intrinsic/functions/back.html new file mode 100755 index 0000000000..534058d181 --- /dev/null +++ b/libs/fusion/doc/html/fusion/sequence/intrinsic/functions/back.html @@ -0,0 +1,146 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>back</title> +<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../functions.html" title="Functions"> +<link rel="prev" href="front.html" title="front"> +<link rel="next" href="size.html" title="size"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="front.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="size.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h5 class="title"> +<a name="fusion.sequence.intrinsic.functions.back"></a><a class="link" href="back.html" title="back">back</a> +</h5></div></div></div> +<h6> +<a name="fusion.sequence.intrinsic.functions.back.h0"></a> + <span><a name="fusion.sequence.intrinsic.functions.back.description"></a></span><a class="link" href="back.html#fusion.sequence.intrinsic.functions.back.description">Description</a> + </h6> +<p> + Returns the last element in the sequence. + </p> +<h6> +<a name="fusion.sequence.intrinsic.functions.back.h1"></a> + <span><a name="fusion.sequence.intrinsic.functions.back.synopsis"></a></span><a class="link" href="back.html#fusion.sequence.intrinsic.functions.back.synopsis">Synopsis</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">></span> +<span class="keyword">typename</span> <a class="link" href="../metafunctions/back.html" title="back"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">back</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">>::</span><span class="identifier">type</span> +<span class="identifier">back</span><span class="special">(</span><span class="identifier">Sequence</span><span class="special">&</span> <span class="identifier">seq</span><span class="special">);</span> + +<span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">></span> +<span class="keyword">typename</span> <a class="link" href="../metafunctions/back.html" title="back"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">back</span></code></a><span class="special"><</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">>::</span><span class="identifier">type</span> +<span class="identifier">back</span><span class="special">(</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">seq</span><span class="special">);</span> +</pre> +<h6> +<a name="fusion.sequence.intrinsic.functions.back.h2"></a> + <span><a name="fusion.sequence.intrinsic.functions.back.parameters"></a></span><a class="link" href="back.html#fusion.sequence.intrinsic.functions.back.parameters">Parameters</a> + </h6> +<div class="informaltable"><table class="table"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Requirement + </p> + </th> +<th> + <p> + Description + </p> + </th> +</tr></thead> +<tbody><tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">seq</span></code> + </p> + </td> +<td> + <p> + Model of <a class="link" href="../../concepts/bidirectional_sequence.html" title="Bidirectional Sequence">Bidirectional + Sequence</a> + </p> + </td> +<td> + <p> + The sequence we wish to investigate. + </p> + </td> +</tr></tbody> +</table></div> +<h6> +<a name="fusion.sequence.intrinsic.functions.back.h3"></a> + <span><a name="fusion.sequence.intrinsic.functions.back.expression_semantics"></a></span><a class="link" href="back.html#fusion.sequence.intrinsic.functions.back.expression_semantics">Expression + Semantics</a> + </h6> +<pre class="programlisting"><span class="identifier">back</span><span class="special">(</span><span class="identifier">seq</span><span class="special">);</span> +</pre> +<p> + <span class="bold"><strong>Return type</strong></span>: Returns a reference to + the last element in the sequence <code class="computeroutput"><span class="identifier">seq</span></code> + if <code class="computeroutput"><span class="identifier">seq</span></code> is mutable and + <code class="computeroutput"><span class="identifier">e</span> <span class="special">=</span> + <span class="identifier">o</span></code>, where <code class="computeroutput"><span class="identifier">e</span></code> + is the last element in the sequence, is a valid expression. Else, returns + a type convertable to the last element in the sequence. + </p> +<p> + <span class="bold"><strong>Precondition</strong></span>: <code class="computeroutput"><a class="link" href="empty.html" title="empty"><code class="computeroutput"><span class="identifier">empty</span></code></a><span class="special">(</span><span class="identifier">seq</span><span class="special">)</span> <span class="special">==</span> <span class="keyword">false</span></code> + </p> +<p> + <span class="bold"><strong>Semantics</strong></span>: Returns the last element + in the sequence. + </p> +<h6> +<a name="fusion.sequence.intrinsic.functions.back.h4"></a> + <span><a name="fusion.sequence.intrinsic.functions.back.header"></a></span><a class="link" href="back.html#fusion.sequence.intrinsic.functions.back.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">sequence</span><span class="special">/</span><span class="identifier">intrinsic</span><span class="special">/</span><span class="identifier">back</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">back</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h6> +<a name="fusion.sequence.intrinsic.functions.back.h5"></a> + <span><a name="fusion.sequence.intrinsic.functions.back.example"></a></span><a class="link" href="back.html#fusion.sequence.intrinsic.functions.back.example">Example</a> + </h6> +<pre class="programlisting"><a class="link" href="../../../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">int</span><span class="special">,</span> <span class="keyword">int</span><span class="special">></span> <span class="identifier">v</span><span class="special">(</span><span class="number">1</span><span class="special">,</span> <span class="number">2</span><span class="special">,</span> <span class="number">3</span><span class="special">);</span> +<span class="identifier">assert</span><span class="special">(</span><span class="identifier">back</span><span class="special">(</span><span class="identifier">v</span><span class="special">)</span> <span class="special">==</span> <span class="number">3</span><span class="special">);</span> +</pre> +</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-2006, 2011 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="front.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="size.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/sequence/intrinsic/functions/begin.html b/libs/fusion/doc/html/fusion/sequence/intrinsic/functions/begin.html new file mode 100755 index 0000000000..2665ef1250 --- /dev/null +++ b/libs/fusion/doc/html/fusion/sequence/intrinsic/functions/begin.html @@ -0,0 +1,157 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>begin</title> +<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../functions.html" title="Functions"> +<link rel="prev" href="../functions.html" title="Functions"> +<link rel="next" href="end.html" title="end"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="../functions.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="end.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h5 class="title"> +<a name="fusion.sequence.intrinsic.functions.begin"></a><a class="link" href="begin.html" title="begin">begin</a> +</h5></div></div></div> +<h6> +<a name="fusion.sequence.intrinsic.functions.begin.h0"></a> + <span><a name="fusion.sequence.intrinsic.functions.begin.description"></a></span><a class="link" href="begin.html#fusion.sequence.intrinsic.functions.begin.description">Description</a> + </h6> +<p> + Returns an iterator pointing to the first element in the sequence. + </p> +<h6> +<a name="fusion.sequence.intrinsic.functions.begin.h1"></a> + <span><a name="fusion.sequence.intrinsic.functions.begin.synopsis"></a></span><a class="link" href="begin.html#fusion.sequence.intrinsic.functions.begin.synopsis">Synopsis</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">></span> +<span class="keyword">typename</span> <a class="link" href="../metafunctions/begin.html" title="begin"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">begin</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">>::</span><span class="identifier">type</span> +<span class="identifier">begin</span><span class="special">(</span><span class="identifier">Sequence</span><span class="special">&</span> <span class="identifier">seq</span><span class="special">);</span> + +<span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">></span> +<span class="keyword">typename</span> <a class="link" href="../metafunctions/begin.html" title="begin"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">begin</span></code></a><span class="special"><</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">>::</span><span class="identifier">type</span> +<span class="identifier">begin</span><span class="special">(</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">seq</span><span class="special">);</span> +</pre> +<h6> +<a name="fusion.sequence.intrinsic.functions.begin.h2"></a> + <span><a name="fusion.sequence.intrinsic.functions.begin.parameters"></a></span><a class="link" href="begin.html#fusion.sequence.intrinsic.functions.begin.parameters">Parameters</a> + </h6> +<div class="informaltable"><table class="table"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Requirement + </p> + </th> +<th> + <p> + Description + </p> + </th> +</tr></thead> +<tbody><tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">seq</span></code> + </p> + </td> +<td> + <p> + Model of <a class="link" href="../../concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a> + </p> + </td> +<td> + <p> + The sequence we wish to get an iterator from. + </p> + </td> +</tr></tbody> +</table></div> +<h6> +<a name="fusion.sequence.intrinsic.functions.begin.h3"></a> + <span><a name="fusion.sequence.intrinsic.functions.begin.expression_semantics"></a></span><a class="link" href="begin.html#fusion.sequence.intrinsic.functions.begin.expression_semantics">Expression + Semantics</a> + </h6> +<pre class="programlisting"><span class="identifier">begin</span><span class="special">(</span><span class="identifier">seq</span><span class="special">);</span> +</pre> +<p> + <span class="bold"><strong>Return type</strong></span>: + </p> +<div class="itemizedlist"><ul class="itemizedlist" type="disc"> +<li class="listitem"> + A model of <a class="link" href="../../../iterator/concepts/forward_iterator.html" title="Forward Iterator">Forward + Iterator</a> if <code class="computeroutput"><span class="identifier">seq</span></code> + is a <a class="link" href="../../concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a> else, <a class="link" href="../../../iterator/concepts/bidirectional_iterator.html" title="Bidirectional Iterator">Bidirectional + Iterator</a> if <code class="computeroutput"><span class="identifier">seq</span></code> + is a <a class="link" href="../../concepts/bidirectional_sequence.html" title="Bidirectional Sequence">Bidirectional + Sequence</a> else, <a class="link" href="../../../iterator/concepts/random_access_iterator.html" title="Random Access Iterator">Random + Access Iterator</a> if <code class="computeroutput"><span class="identifier">seq</span></code> + is a <a class="link" href="../../concepts/random_access_sequence.html" title="Random Access Sequence">Random + Access Sequence</a>. + </li> +<li class="listitem"> + A model of <a class="link" href="../../../iterator/concepts/associative_iterator.html" title="Associative Iterator">Associative + Iterator</a> if <code class="computeroutput"><span class="identifier">seq</span></code> + is an <a class="link" href="../../concepts/associative_sequence.html" title="Associative Sequence">Associative + Sequence</a>. + </li> +</ul></div> +<p> + <span class="bold"><strong>Semantics</strong></span>: Returns an iterator pointing + to the first element in the sequence. + </p> +<h6> +<a name="fusion.sequence.intrinsic.functions.begin.h4"></a> + <span><a name="fusion.sequence.intrinsic.functions.begin.header"></a></span><a class="link" href="begin.html#fusion.sequence.intrinsic.functions.begin.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">sequence</span><span class="special">/</span><span class="identifier">intrinsic</span><span class="special">/</span><span class="identifier">begin</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">begin</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h6> +<a name="fusion.sequence.intrinsic.functions.begin.h5"></a> + <span><a name="fusion.sequence.intrinsic.functions.begin.example"></a></span><a class="link" href="begin.html#fusion.sequence.intrinsic.functions.begin.example">Example</a> + </h6> +<pre class="programlisting"><a class="link" href="../../../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">int</span><span class="special">,</span> <span class="keyword">int</span><span class="special">></span> <span class="identifier">v</span><span class="special">(</span><span class="number">1</span><span class="special">,</span> <span class="number">2</span><span class="special">,</span> <span class="number">3</span><span class="special">);</span> +<span class="identifier">assert</span><span class="special">(</span><a class="link" href="../../../iterator/functions/deref.html" title="deref"><code class="computeroutput"><span class="identifier">deref</span></code></a><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">v</span><span class="special">))</span> <span class="special">==</span> <span class="number">1</span><span class="special">);</span> +</pre> +</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-2006, 2011 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="../functions.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="end.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/sequence/intrinsic/functions/empty.html b/libs/fusion/doc/html/fusion/sequence/intrinsic/functions/empty.html new file mode 100755 index 0000000000..781c7d1030 --- /dev/null +++ b/libs/fusion/doc/html/fusion/sequence/intrinsic/functions/empty.html @@ -0,0 +1,135 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>empty</title> +<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../functions.html" title="Functions"> +<link rel="prev" href="end.html" title="end"> +<link rel="next" href="front.html" title="front"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="end.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="front.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h5 class="title"> +<a name="fusion.sequence.intrinsic.functions.empty"></a><a class="link" href="empty.html" title="empty">empty</a> +</h5></div></div></div> +<h6> +<a name="fusion.sequence.intrinsic.functions.empty.h0"></a> + <span><a name="fusion.sequence.intrinsic.functions.empty.description"></a></span><a class="link" href="empty.html#fusion.sequence.intrinsic.functions.empty.description">Description</a> + </h6> +<p> + Returns a type convertible to <code class="computeroutput"><span class="keyword">bool</span></code> + that evaluates to <code class="computeroutput"><span class="keyword">true</span></code> if + the sequence is empty, else, evaluates to <code class="computeroutput"><span class="keyword">false</span></code>. + </p> +<h6> +<a name="fusion.sequence.intrinsic.functions.empty.h1"></a> + <span><a name="fusion.sequence.intrinsic.functions.empty.synopsis"></a></span><a class="link" href="empty.html#fusion.sequence.intrinsic.functions.empty.synopsis">Synopsis</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">></span> +<span class="keyword">typename</span> <a class="link" href="../metafunctions/empty.html" title="empty"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">empty</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">>::</span><span class="identifier">type</span> +<span class="identifier">empty</span><span class="special">(</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">seq</span><span class="special">);</span> +</pre> +<h6> +<a name="fusion.sequence.intrinsic.functions.empty.h2"></a> + <span><a name="fusion.sequence.intrinsic.functions.empty.parameters"></a></span><a class="link" href="empty.html#fusion.sequence.intrinsic.functions.empty.parameters">Parameters</a> + </h6> +<div class="informaltable"><table class="table"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Requirement + </p> + </th> +<th> + <p> + Description + </p> + </th> +</tr></thead> +<tbody><tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">seq</span></code> + </p> + </td> +<td> + <p> + Model of <a class="link" href="../../concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a> + </p> + </td> +<td> + <p> + The sequence we wish to investigate. + </p> + </td> +</tr></tbody> +</table></div> +<h6> +<a name="fusion.sequence.intrinsic.functions.empty.h3"></a> + <span><a name="fusion.sequence.intrinsic.functions.empty.expression_semantics"></a></span><a class="link" href="empty.html#fusion.sequence.intrinsic.functions.empty.expression_semantics">Expression + Semantics</a> + </h6> +<pre class="programlisting"><span class="identifier">empty</span><span class="special">(</span><span class="identifier">seq</span><span class="special">);</span> +</pre> +<p> + <span class="bold"><strong>Return type</strong></span>: Convertible to <code class="computeroutput"><span class="keyword">bool</span></code>. + </p> +<p> + <span class="bold"><strong>Semantics</strong></span>: Evaluates to <code class="computeroutput"><span class="keyword">true</span></code> if the sequence is empty, else, evaluates + to <code class="computeroutput"><span class="keyword">false</span></code>. + </p> +<h6> +<a name="fusion.sequence.intrinsic.functions.empty.h4"></a> + <span><a name="fusion.sequence.intrinsic.functions.empty.header"></a></span><a class="link" href="empty.html#fusion.sequence.intrinsic.functions.empty.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">sequence</span><span class="special">/</span><span class="identifier">intrinsic</span><span class="special">/</span><span class="identifier">empty</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">empty</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h6> +<a name="fusion.sequence.intrinsic.functions.empty.h5"></a> + <span><a name="fusion.sequence.intrinsic.functions.empty.example"></a></span><a class="link" href="empty.html#fusion.sequence.intrinsic.functions.empty.example">Example</a> + </h6> +<pre class="programlisting"><a class="link" href="../../../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">int</span><span class="special">,</span> <span class="keyword">int</span><span class="special">></span> <span class="identifier">v</span><span class="special">(</span><span class="number">1</span><span class="special">,</span> <span class="number">2</span><span class="special">,</span> <span class="number">3</span><span class="special">);</span> +<span class="identifier">assert</span><span class="special">(</span><span class="identifier">empty</span><span class="special">(</span><span class="identifier">v</span><span class="special">)</span> <span class="special">==</span> <span class="keyword">false</span><span class="special">);</span> +</pre> +</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-2006, 2011 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="end.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="front.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/sequence/intrinsic/functions/end.html b/libs/fusion/doc/html/fusion/sequence/intrinsic/functions/end.html new file mode 100755 index 0000000000..c708c3f4ad --- /dev/null +++ b/libs/fusion/doc/html/fusion/sequence/intrinsic/functions/end.html @@ -0,0 +1,157 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>end</title> +<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../functions.html" title="Functions"> +<link rel="prev" href="begin.html" title="begin"> +<link rel="next" href="empty.html" title="empty"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="begin.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="empty.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h5 class="title"> +<a name="fusion.sequence.intrinsic.functions.end"></a><a class="link" href="end.html" title="end">end</a> +</h5></div></div></div> +<h6> +<a name="fusion.sequence.intrinsic.functions.end.h0"></a> + <span><a name="fusion.sequence.intrinsic.functions.end.description"></a></span><a class="link" href="end.html#fusion.sequence.intrinsic.functions.end.description">Description</a> + </h6> +<p> + Returns an iterator pointing to one element past the end of the sequence. + </p> +<h6> +<a name="fusion.sequence.intrinsic.functions.end.h1"></a> + <span><a name="fusion.sequence.intrinsic.functions.end.synopsis"></a></span><a class="link" href="end.html#fusion.sequence.intrinsic.functions.end.synopsis">Synopsis</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">></span> +<span class="keyword">typename</span> <a class="link" href="../metafunctions/end.html" title="end"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">end</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">>::</span><span class="identifier">type</span> +<span class="identifier">end</span><span class="special">(</span><span class="identifier">Sequence</span><span class="special">&</span> <span class="identifier">seq</span><span class="special">);</span> + +<span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">></span> +<span class="keyword">typename</span> <a class="link" href="../metafunctions/end.html" title="end"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">end</span></code></a><span class="special"><</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">>::</span><span class="identifier">type</span> +<span class="identifier">end</span><span class="special">(</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">seq</span><span class="special">);</span> +</pre> +<h6> +<a name="fusion.sequence.intrinsic.functions.end.h2"></a> + <span><a name="fusion.sequence.intrinsic.functions.end.parameters"></a></span><a class="link" href="end.html#fusion.sequence.intrinsic.functions.end.parameters">Parameters</a> + </h6> +<div class="informaltable"><table class="table"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Requirement + </p> + </th> +<th> + <p> + Description + </p> + </th> +</tr></thead> +<tbody><tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">seq</span></code> + </p> + </td> +<td> + <p> + Model of <a class="link" href="../../concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a> + </p> + </td> +<td> + <p> + The sequence we wish to get an iterator from. + </p> + </td> +</tr></tbody> +</table></div> +<h6> +<a name="fusion.sequence.intrinsic.functions.end.h3"></a> + <span><a name="fusion.sequence.intrinsic.functions.end.expression_semantics"></a></span><a class="link" href="end.html#fusion.sequence.intrinsic.functions.end.expression_semantics">Expression + Semantics</a> + </h6> +<pre class="programlisting"><span class="identifier">end</span><span class="special">(</span><span class="identifier">seq</span><span class="special">);</span> +</pre> +<p> + <span class="bold"><strong>Return type</strong></span>: + </p> +<div class="itemizedlist"><ul class="itemizedlist" type="disc"> +<li class="listitem"> + A model of <a class="link" href="../../../iterator/concepts/forward_iterator.html" title="Forward Iterator">Forward + Iterator</a> if <code class="computeroutput"><span class="identifier">seq</span></code> + is a <a class="link" href="../../concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a> else, <a class="link" href="../../../iterator/concepts/bidirectional_iterator.html" title="Bidirectional Iterator">Bidirectional + Iterator</a> if <code class="computeroutput"><span class="identifier">seq</span></code> + is a <a class="link" href="../../concepts/bidirectional_sequence.html" title="Bidirectional Sequence">Bidirectional + Sequence</a> else, <a class="link" href="../../../iterator/concepts/random_access_iterator.html" title="Random Access Iterator">Random + Access Iterator</a> if <code class="computeroutput"><span class="identifier">seq</span></code> + is a <a class="link" href="../../concepts/random_access_sequence.html" title="Random Access Sequence">Random + Access Sequence</a>. + </li> +<li class="listitem"> + A model of <a class="link" href="../../../iterator/concepts/associative_iterator.html" title="Associative Iterator">Associative + Iterator</a> if <code class="computeroutput"><span class="identifier">seq</span></code> + is an <a class="link" href="../../concepts/associative_sequence.html" title="Associative Sequence">Associative + Sequence</a>. + </li> +</ul></div> +<p> + <span class="bold"><strong>Semantics</strong></span>: Returns an iterator pointing + to one element past the end of the sequence. + </p> +<h6> +<a name="fusion.sequence.intrinsic.functions.end.h4"></a> + <span><a name="fusion.sequence.intrinsic.functions.end.header"></a></span><a class="link" href="end.html#fusion.sequence.intrinsic.functions.end.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">sequence</span><span class="special">/</span><span class="identifier">intrinsic</span><span class="special">/</span><span class="identifier">end</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">end</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h6> +<a name="fusion.sequence.intrinsic.functions.end.h5"></a> + <span><a name="fusion.sequence.intrinsic.functions.end.example"></a></span><a class="link" href="end.html#fusion.sequence.intrinsic.functions.end.example">Example</a> + </h6> +<pre class="programlisting"><a class="link" href="../../../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">int</span><span class="special">,</span> <span class="keyword">int</span><span class="special">></span> <span class="identifier">v</span><span class="special">(</span><span class="number">1</span><span class="special">,</span> <span class="number">2</span><span class="special">,</span> <span class="number">3</span><span class="special">);</span> +<span class="identifier">assert</span><span class="special">(</span><a class="link" href="../../../iterator/functions/deref.html" title="deref"><code class="computeroutput"><span class="identifier">deref</span></code></a><span class="special">(</span><a class="link" href="../../../iterator/functions/prior.html" title="prior"><code class="computeroutput"><span class="identifier">prior</span></code></a><span class="special">(</span><span class="identifier">end</span><span class="special">(</span><span class="identifier">v</span><span class="special">)))</span> <span class="special">==</span> <span class="number">3</span><span class="special">);</span> +</pre> +</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-2006, 2011 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="begin.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="empty.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/sequence/intrinsic/functions/front.html b/libs/fusion/doc/html/fusion/sequence/intrinsic/functions/front.html new file mode 100755 index 0000000000..1a2f626f02 --- /dev/null +++ b/libs/fusion/doc/html/fusion/sequence/intrinsic/functions/front.html @@ -0,0 +1,146 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>front</title> +<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../functions.html" title="Functions"> +<link rel="prev" href="empty.html" title="empty"> +<link rel="next" href="back.html" title="back"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="empty.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="back.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h5 class="title"> +<a name="fusion.sequence.intrinsic.functions.front"></a><a class="link" href="front.html" title="front">front</a> +</h5></div></div></div> +<h6> +<a name="fusion.sequence.intrinsic.functions.front.h0"></a> + <span><a name="fusion.sequence.intrinsic.functions.front.description"></a></span><a class="link" href="front.html#fusion.sequence.intrinsic.functions.front.description">Description</a> + </h6> +<p> + Returns the first element in the sequence. + </p> +<h6> +<a name="fusion.sequence.intrinsic.functions.front.h1"></a> + <span><a name="fusion.sequence.intrinsic.functions.front.synopsis"></a></span><a class="link" href="front.html#fusion.sequence.intrinsic.functions.front.synopsis">Synopsis</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">></span> +<span class="keyword">typename</span> <a class="link" href="../metafunctions/front.html" title="front"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">front</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">>::</span><span class="identifier">type</span> +<span class="identifier">front</span><span class="special">(</span><span class="identifier">Sequence</span><span class="special">&</span> <span class="identifier">seq</span><span class="special">);</span> + +<span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">></span> +<span class="keyword">typename</span> <a class="link" href="../metafunctions/front.html" title="front"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">front</span></code></a><span class="special"><</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">>::</span><span class="identifier">type</span> +<span class="identifier">front</span><span class="special">(</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">seq</span><span class="special">);</span> +</pre> +<h6> +<a name="fusion.sequence.intrinsic.functions.front.h2"></a> + <span><a name="fusion.sequence.intrinsic.functions.front.parameters"></a></span><a class="link" href="front.html#fusion.sequence.intrinsic.functions.front.parameters">Parameters</a> + </h6> +<div class="informaltable"><table class="table"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Requirement + </p> + </th> +<th> + <p> + Description + </p> + </th> +</tr></thead> +<tbody><tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">seq</span></code> + </p> + </td> +<td> + <p> + Model of <a class="link" href="../../concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a> + </p> + </td> +<td> + <p> + The sequence we wish to investigate. + </p> + </td> +</tr></tbody> +</table></div> +<h6> +<a name="fusion.sequence.intrinsic.functions.front.h3"></a> + <span><a name="fusion.sequence.intrinsic.functions.front.expression_semantics"></a></span><a class="link" href="front.html#fusion.sequence.intrinsic.functions.front.expression_semantics">Expression + Semantics</a> + </h6> +<pre class="programlisting"><span class="identifier">front</span><span class="special">(</span><span class="identifier">seq</span><span class="special">);</span> +</pre> +<p> + <span class="bold"><strong>Return type</strong></span>: Returns a reference to + the first element in the sequence <code class="computeroutput"><span class="identifier">seq</span></code> + if <code class="computeroutput"><span class="identifier">seq</span></code> is mutable and + <code class="computeroutput"><span class="identifier">e</span> <span class="special">=</span> + <span class="identifier">o</span></code>, where <code class="computeroutput"><span class="identifier">e</span></code> + is the first element in the sequence, is a valid expression. Else, returns + a type convertable to the first element in the sequence. + </p> +<p> + <span class="bold"><strong>Precondition</strong></span>: <code class="computeroutput"><a class="link" href="empty.html" title="empty"><code class="computeroutput"><span class="identifier">empty</span></code></a><span class="special">(</span><span class="identifier">seq</span><span class="special">)</span> <span class="special">==</span> <span class="keyword">false</span></code> + </p> +<p> + <span class="bold"><strong>Semantics</strong></span>: Returns the first element + in the sequence. + </p> +<h6> +<a name="fusion.sequence.intrinsic.functions.front.h4"></a> + <span><a name="fusion.sequence.intrinsic.functions.front.header"></a></span><a class="link" href="front.html#fusion.sequence.intrinsic.functions.front.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">sequence</span><span class="special">/</span><span class="identifier">intrinsic</span><span class="special">/</span><span class="identifier">front</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">front</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h6> +<a name="fusion.sequence.intrinsic.functions.front.h5"></a> + <span><a name="fusion.sequence.intrinsic.functions.front.example"></a></span><a class="link" href="front.html#fusion.sequence.intrinsic.functions.front.example">Example</a> + </h6> +<pre class="programlisting"><a class="link" href="../../../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">int</span><span class="special">,</span> <span class="keyword">int</span><span class="special">></span> <span class="identifier">v</span><span class="special">(</span><span class="number">1</span><span class="special">,</span> <span class="number">2</span><span class="special">,</span> <span class="number">3</span><span class="special">);</span> +<span class="identifier">assert</span><span class="special">(</span><span class="identifier">front</span><span class="special">(</span><span class="identifier">v</span><span class="special">)</span> <span class="special">==</span> <span class="number">1</span><span class="special">);</span> +</pre> +</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-2006, 2011 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="empty.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="back.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/sequence/intrinsic/functions/has_key.html b/libs/fusion/doc/html/fusion/sequence/intrinsic/functions/has_key.html new file mode 100755 index 0000000000..460ef9e343 --- /dev/null +++ b/libs/fusion/doc/html/fusion/sequence/intrinsic/functions/has_key.html @@ -0,0 +1,155 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>has_key</title> +<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../functions.html" title="Functions"> +<link rel="prev" href="at_c.html" title="at_c"> +<link rel="next" href="at_key.html" title="at_key"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="at_c.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="at_key.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h5 class="title"> +<a name="fusion.sequence.intrinsic.functions.has_key"></a><a class="link" href="has_key.html" title="has_key">has_key</a> +</h5></div></div></div> +<h6> +<a name="fusion.sequence.intrinsic.functions.has_key.h0"></a> + <span><a name="fusion.sequence.intrinsic.functions.has_key.description"></a></span><a class="link" href="has_key.html#fusion.sequence.intrinsic.functions.has_key.description">Description</a> + </h6> +<p> + Returns a type convertible to <code class="computeroutput"><span class="keyword">bool</span></code> + that evaluates to <code class="computeroutput"><span class="keyword">true</span></code> if + the sequence contains an element associated with a Key, else, evaluates + to <code class="computeroutput"><span class="keyword">false</span></code>. + </p> +<h6> +<a name="fusion.sequence.intrinsic.functions.has_key.h1"></a> + <span><a name="fusion.sequence.intrinsic.functions.has_key.synopsis"></a></span><a class="link" href="has_key.html#fusion.sequence.intrinsic.functions.has_key.synopsis">Synopsis</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Key</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">></span> +<span class="keyword">typename</span> <a class="link" href="../metafunctions/has_key.html" title="has_key"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">has_key</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">Key</span><span class="special">>::</span><span class="identifier">type</span> +<span class="identifier">has_key</span><span class="special">(</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">seq</span><span class="special">);</span> +</pre> +<h6> +<a name="fusion.sequence.intrinsic.functions.has_key.h2"></a> + <span><a name="fusion.sequence.intrinsic.functions.has_key.parameters"></a></span><a class="link" href="has_key.html#fusion.sequence.intrinsic.functions.has_key.parameters">Parameters</a> + </h6> +<div class="informaltable"><table class="table"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Requirement + </p> + </th> +<th> + <p> + Description + </p> + </th> +</tr></thead> +<tbody> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">seq</span></code> + </p> + </td> +<td> + <p> + Model of <a class="link" href="../../concepts/associative_sequence.html" title="Associative Sequence">Associative + Sequence</a> + </p> + </td> +<td> + <p> + The sequence we wish to investigate. + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">Key</span></code> + </p> + </td> +<td> + <p> + Any type + </p> + </td> +<td> + <p> + The queried key. + </p> + </td> +</tr> +</tbody> +</table></div> +<h6> +<a name="fusion.sequence.intrinsic.functions.has_key.h3"></a> + <span><a name="fusion.sequence.intrinsic.functions.has_key.expression_semantics"></a></span><a class="link" href="has_key.html#fusion.sequence.intrinsic.functions.has_key.expression_semantics">Expression + Semantics</a> + </h6> +<pre class="programlisting"><span class="identifier">has_key</span><span class="special"><</span><span class="identifier">Key</span><span class="special">>(</span><span class="identifier">seq</span><span class="special">);</span> +</pre> +<p> + <span class="bold"><strong>Return type</strong></span>: Convertible to <code class="computeroutput"><span class="keyword">bool</span></code>. + </p> +<p> + <span class="bold"><strong>Semantics</strong></span>: Evaluates to <code class="computeroutput"><span class="keyword">true</span></code> if the sequence contains an element + associated with Key, else, evaluates to <code class="computeroutput"><span class="keyword">false</span></code>. + </p> +<h6> +<a name="fusion.sequence.intrinsic.functions.has_key.h4"></a> + <span><a name="fusion.sequence.intrinsic.functions.has_key.header"></a></span><a class="link" href="has_key.html#fusion.sequence.intrinsic.functions.has_key.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">sequence</span><span class="special">/</span><span class="identifier">intrinsic</span><span class="special">/</span><span class="identifier">has_key</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">has_key</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h6> +<a name="fusion.sequence.intrinsic.functions.has_key.h5"></a> + <span><a name="fusion.sequence.intrinsic.functions.has_key.example"></a></span><a class="link" href="has_key.html#fusion.sequence.intrinsic.functions.has_key.example">Example</a> + </h6> +<pre class="programlisting"><a class="link" href="../../../container/set.html" title="set"><code class="computeroutput"><span class="identifier">set</span></code></a><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">char</span><span class="special">,</span> <span class="keyword">bool</span><span class="special">></span> <span class="identifier">s</span><span class="special">(</span><span class="number">1</span><span class="special">,</span> <span class="char">'x'</span><span class="special">,</span> <span class="keyword">true</span><span class="special">);</span> +<span class="identifier">assert</span><span class="special">(</span><span class="identifier">has_key</span><span class="special"><</span><span class="keyword">char</span><span class="special">>(</span><span class="identifier">s</span><span class="special">)</span> <span class="special">==</span> <span class="keyword">true</span><span class="special">);</span> +</pre> +</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-2006, 2011 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="at_c.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="at_key.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/sequence/intrinsic/functions/size.html b/libs/fusion/doc/html/fusion/sequence/intrinsic/functions/size.html new file mode 100755 index 0000000000..248775b772 --- /dev/null +++ b/libs/fusion/doc/html/fusion/sequence/intrinsic/functions/size.html @@ -0,0 +1,134 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>size</title> +<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../functions.html" title="Functions"> +<link rel="prev" href="back.html" title="back"> +<link rel="next" href="at.html" title="at"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="back.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="at.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h5 class="title"> +<a name="fusion.sequence.intrinsic.functions.size"></a><a class="link" href="size.html" title="size">size</a> +</h5></div></div></div> +<h6> +<a name="fusion.sequence.intrinsic.functions.size.h0"></a> + <span><a name="fusion.sequence.intrinsic.functions.size.description"></a></span><a class="link" href="size.html#fusion.sequence.intrinsic.functions.size.description">Description</a> + </h6> +<p> + Returns a type convertible to <code class="computeroutput"><span class="keyword">int</span></code> + that evaluates the number of elements in the sequence. + </p> +<h6> +<a name="fusion.sequence.intrinsic.functions.size.h1"></a> + <span><a name="fusion.sequence.intrinsic.functions.size.synopsis"></a></span><a class="link" href="size.html#fusion.sequence.intrinsic.functions.size.synopsis">Synopsis</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">></span> +<span class="keyword">typename</span> <a class="link" href="../metafunctions/size.html" title="size"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">>::</span><span class="identifier">type</span> +<span class="identifier">size</span><span class="special">(</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">seq</span><span class="special">);</span> +</pre> +<h6> +<a name="fusion.sequence.intrinsic.functions.size.h2"></a> + <span><a name="fusion.sequence.intrinsic.functions.size.parameters"></a></span><a class="link" href="size.html#fusion.sequence.intrinsic.functions.size.parameters">Parameters</a> + </h6> +<div class="informaltable"><table class="table"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Requirement + </p> + </th> +<th> + <p> + Description + </p> + </th> +</tr></thead> +<tbody><tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">seq</span></code> + </p> + </td> +<td> + <p> + Model of <a class="link" href="../../concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a> + </p> + </td> +<td> + <p> + The sequence we wish to investigate. + </p> + </td> +</tr></tbody> +</table></div> +<h6> +<a name="fusion.sequence.intrinsic.functions.size.h3"></a> + <span><a name="fusion.sequence.intrinsic.functions.size.expression_semantics"></a></span><a class="link" href="size.html#fusion.sequence.intrinsic.functions.size.expression_semantics">Expression + Semantics</a> + </h6> +<pre class="programlisting"><span class="identifier">size</span><span class="special">(</span><span class="identifier">seq</span><span class="special">);</span> +</pre> +<p> + <span class="bold"><strong>Return type</strong></span>: Convertible to <code class="computeroutput"><span class="keyword">int</span></code>. + </p> +<p> + <span class="bold"><strong>Semantics</strong></span>: Returns the number of elements + in the sequence. + </p> +<h6> +<a name="fusion.sequence.intrinsic.functions.size.h4"></a> + <span><a name="fusion.sequence.intrinsic.functions.size.header"></a></span><a class="link" href="size.html#fusion.sequence.intrinsic.functions.size.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">sequence</span><span class="special">/</span><span class="identifier">intrinsic</span><span class="special">/</span><span class="identifier">size</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">size</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h6> +<a name="fusion.sequence.intrinsic.functions.size.h5"></a> + <span><a name="fusion.sequence.intrinsic.functions.size.example"></a></span><a class="link" href="size.html#fusion.sequence.intrinsic.functions.size.example">Example</a> + </h6> +<pre class="programlisting"><a class="link" href="../../../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">int</span><span class="special">,</span> <span class="keyword">int</span><span class="special">></span> <span class="identifier">v</span><span class="special">(</span><span class="number">1</span><span class="special">,</span> <span class="number">2</span><span class="special">,</span> <span class="number">3</span><span class="special">);</span> +<span class="identifier">assert</span><span class="special">(</span><span class="identifier">size</span><span class="special">(</span><span class="identifier">v</span><span class="special">)</span> <span class="special">==</span> <span class="number">3</span><span class="special">);</span> +</pre> +</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-2006, 2011 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="back.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="at.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/sequence/intrinsic/functions/swap.html b/libs/fusion/doc/html/fusion/sequence/intrinsic/functions/swap.html new file mode 100755 index 0000000000..3e3cb2f980 --- /dev/null +++ b/libs/fusion/doc/html/fusion/sequence/intrinsic/functions/swap.html @@ -0,0 +1,132 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>swap</title> +<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../functions.html" title="Functions"> +<link rel="prev" href="at_key.html" title="at_key"> +<link rel="next" href="../metafunctions.html" title="Metafunctions"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="at_key.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h5 class="title"> +<a name="fusion.sequence.intrinsic.functions.swap"></a><a class="link" href="swap.html" title="swap">swap</a> +</h5></div></div></div> +<h6> +<a name="fusion.sequence.intrinsic.functions.swap.h0"></a> + <span><a name="fusion.sequence.intrinsic.functions.swap.description"></a></span><a class="link" href="swap.html#fusion.sequence.intrinsic.functions.swap.description">Description</a> + </h6> +<p> + Performs an element by element swap of the elements in 2 sequences. + </p> +<h6> +<a name="fusion.sequence.intrinsic.functions.swap.h1"></a> + <span><a name="fusion.sequence.intrinsic.functions.swap.synopsis"></a></span><a class="link" href="swap.html#fusion.sequence.intrinsic.functions.swap.synopsis">Synopsis</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Seq1</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Seq2</span><span class="special">></span> +<span class="keyword">void</span> <span class="identifier">swap</span><span class="special">(</span><span class="identifier">Seq1</span><span class="special">&</span> <span class="identifier">seq1</span><span class="special">,</span> <span class="identifier">Seq2</span><span class="special">&</span> <span class="identifier">seq2</span><span class="special">);</span> +</pre> +<h6> +<a name="fusion.sequence.intrinsic.functions.swap.h2"></a> + <span><a name="fusion.sequence.intrinsic.functions.swap.parameters"></a></span><a class="link" href="swap.html#fusion.sequence.intrinsic.functions.swap.parameters">Parameters</a> + </h6> +<div class="informaltable"><table class="table"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameters + </p> + </th> +<th> + <p> + Requirement + </p> + </th> +<th> + <p> + Description + </p> + </th> +</tr></thead> +<tbody><tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">seq1</span></code>, <code class="computeroutput"><span class="identifier">seq2</span></code> + </p> + </td> +<td> + <p> + Models of <a class="link" href="../../concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a> + </p> + </td> +<td> + <p> + The sequences whos elements we wish to swap. + </p> + </td> +</tr></tbody> +</table></div> +<h6> +<a name="fusion.sequence.intrinsic.functions.swap.h3"></a> + <span><a name="fusion.sequence.intrinsic.functions.swap.expression_semantics"></a></span><a class="link" href="swap.html#fusion.sequence.intrinsic.functions.swap.expression_semantics">Expression + Semantics</a> + </h6> +<pre class="programlisting"><span class="identifier">swap</span><span class="special">(</span><span class="identifier">seq1</span><span class="special">,</span> <span class="identifier">seq2</span><span class="special">);</span> +</pre> +<p> + <span class="bold"><strong>Return type</strong></span>: <code class="computeroutput"><span class="keyword">void</span></code> + </p> +<p> + <span class="bold"><strong>Precondition</strong></span>: <code class="computeroutput"><a class="link" href="size.html" title="size"><code class="computeroutput"><span class="identifier">size</span></code></a><span class="special">(</span><span class="identifier">seq1</span><span class="special">)</span> <span class="special">==</span> <a class="link" href="size.html" title="size"><code class="computeroutput"><span class="identifier">size</span></code></a><span class="special">(</span><span class="identifier">seq2</span><span class="special">)</span></code> + </p> +<p> + <span class="bold"><strong>Semantics</strong></span>: Calls <code class="computeroutput"><span class="identifier">swap</span><span class="special">(</span><span class="identifier">a1</span><span class="special">,</span> <span class="identifier">b1</span><span class="special">)</span></code> for corresponding elements in <code class="computeroutput"><span class="identifier">seq1</span></code> and <code class="computeroutput"><span class="identifier">seq2</span></code>. + </p> +<p> + /sequence/intrinsic/swap.hpp> + </p> +<h6> +<a name="fusion.sequence.intrinsic.functions.swap.h4"></a> + <span><a name="fusion.sequence.intrinsic.functions.swap.example"></a></span><a class="link" href="swap.html#fusion.sequence.intrinsic.functions.swap.example">Example</a> + </h6> +<pre class="programlisting"><a class="link" href="../../../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">></span> <span class="identifier">v1</span><span class="special">(</span><span class="number">1</span><span class="special">,</span> <span class="string">"hello"</span><span class="special">),</span> <span class="identifier">v2</span><span class="special">(</span><span class="number">2</span><span class="special">,</span> <span class="string">"world"</span><span class="special">);</span> +<span class="identifier">swap</span><span class="special">(</span><span class="identifier">v1</span><span class="special">,</span> <span class="identifier">v2</span><span class="special">);</span> +<span class="identifier">assert</span><span class="special">(</span><span class="identifier">v1</span> <span class="special">==</span> <a class="link" href="../../../container/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></a><span class="special">(</span><span class="number">2</span><span class="special">,</span> <span class="string">"world"</span><span class="special">));</span> +<span class="identifier">assert</span><span class="special">(</span><span class="identifier">v2</span> <span class="special">==</span> <a class="link" href="../../../container/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></a><span class="special">(</span><span class="number">1</span><span class="special">,</span> <span class="string">"hello"</span><span class="special">));</span> +</pre> +</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-2006, 2011 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="at_key.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/sequence/intrinsic/metafunctions.html b/libs/fusion/doc/html/fusion/sequence/intrinsic/metafunctions.html new file mode 100755 index 0000000000..57b27ab41c --- /dev/null +++ b/libs/fusion/doc/html/fusion/sequence/intrinsic/metafunctions.html @@ -0,0 +1,60 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Metafunctions</title> +<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../intrinsic.html" title="Intrinsic"> +<link rel="prev" href="functions/swap.html" title="swap"> +<link rel="next" href="metafunctions/begin.html" title="begin"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="functions/swap.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../intrinsic.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="metafunctions/begin.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h4 class="title"> +<a name="fusion.sequence.intrinsic.metafunctions"></a><a class="link" href="metafunctions.html" title="Metafunctions">Metafunctions</a> +</h4></div></div></div> +<div class="toc"><dl> +<dt><span class="section"><a href="metafunctions/begin.html">begin</a></span></dt> +<dt><span class="section"><a href="metafunctions/end.html">end</a></span></dt> +<dt><span class="section"><a href="metafunctions/empty.html">empty</a></span></dt> +<dt><span class="section"><a href="metafunctions/front.html">front</a></span></dt> +<dt><span class="section"><a href="metafunctions/back.html">back</a></span></dt> +<dt><span class="section"><a href="metafunctions/size.html">size</a></span></dt> +<dt><span class="section"><a href="metafunctions/at.html">at</a></span></dt> +<dt><span class="section"><a href="metafunctions/at_c.html">at_c</a></span></dt> +<dt><span class="section"><a href="metafunctions/value_at.html">value_at</a></span></dt> +<dt><span class="section"><a href="metafunctions/value_at_c.html">value_at_c</a></span></dt> +<dt><span class="section"><a href="metafunctions/has_key.html">has_key</a></span></dt> +<dt><span class="section"><a href="metafunctions/at_key.html">at_key</a></span></dt> +<dt><span class="section"><a href="metafunctions/value_at_key.html">value_at_key</a></span></dt> +<dt><span class="section"><a href="metafunctions/swap.html">swap</a></span></dt> +</dl></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-2006, 2011 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="functions/swap.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../intrinsic.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="metafunctions/begin.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/sequence/intrinsic/metafunctions/at.html b/libs/fusion/doc/html/fusion/sequence/intrinsic/metafunctions/at.html new file mode 100755 index 0000000000..e6f8a8e992 --- /dev/null +++ b/libs/fusion/doc/html/fusion/sequence/intrinsic/metafunctions/at.html @@ -0,0 +1,165 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>at</title> +<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../metafunctions.html" title="Metafunctions"> +<link rel="prev" href="size.html" title="size"> +<link rel="next" href="at_c.html" title="at_c"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="size.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="at_c.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h5 class="title"> +<a name="fusion.sequence.intrinsic.metafunctions.at"></a><a class="link" href="at.html" title="at">at</a> +</h5></div></div></div> +<h6> +<a name="fusion.sequence.intrinsic.metafunctions.at.h0"></a> + <span><a name="fusion.sequence.intrinsic.metafunctions.at.description"></a></span><a class="link" href="at.html#fusion.sequence.intrinsic.metafunctions.at.description">Description</a> + </h6> +<p> + Returns the result type of <a class="link" href="../functions/at.html" title="at"><code class="computeroutput"><span class="identifier">at</span></code></a><sup>[<a name="fusion.sequence.intrinsic.metafunctions.at.f0" href="#ftn.fusion.sequence.intrinsic.metafunctions.at.f0" class="footnote">6</a>]</sup>. + </p> +<h6> +<a name="fusion.sequence.intrinsic.metafunctions.at.h1"></a> + <span><a name="fusion.sequence.intrinsic.metafunctions.at.synopsis"></a></span><a class="link" href="at.html#fusion.sequence.intrinsic.metafunctions.at.synopsis">Synopsis</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span> + <span class="keyword">typename</span> <span class="identifier">Seq</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">N</span><span class="special">></span> +<span class="keyword">struct</span> <span class="identifier">at</span> +<span class="special">{</span> + <span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">type</span><span class="special">;</span> +<span class="special">};</span> +</pre> +<div class="table"> +<a name="fusion.sequence.intrinsic.metafunctions.at.t0"></a><p class="title"><b>Table 1.29. Parameters</b></p> +<div class="table-contents"><table class="table" summary="Parameters"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Requirement + </p> + </th> +<th> + <p> + Description + </p> + </th> +</tr></thead> +<tbody> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">Seq</span></code> + </p> + </td> +<td> + <p> + A model of <a class="link" href="../../concepts/random_access_sequence.html" title="Random Access Sequence">Random + Access Sequence</a> + </p> + </td> +<td> + <p> + Argument sequence + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">N</span></code> + </p> + </td> +<td> + <p> + An <a href="http://www.boost.org/libs/mpl/doc/refmanual/integral-constant.html" target="_top">MPL + Integral Constant</a> + </p> + </td> +<td> + <p> + Index of element + </p> + </td> +</tr> +</tbody> +</table></div> +</div> +<br class="table-break"><h6> +<a name="fusion.sequence.intrinsic.metafunctions.at.h2"></a> + <span><a name="fusion.sequence.intrinsic.metafunctions.at.expression_semantics"></a></span><a class="link" href="at.html#fusion.sequence.intrinsic.metafunctions.at.expression_semantics">Expression + Semantics</a> + </h6> +<pre class="programlisting"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">at</span><span class="special"><</span><span class="identifier">Seq</span><span class="special">,</span> <span class="identifier">N</span><span class="special">>::</span><span class="identifier">type</span> +</pre> +<p> + <span class="bold"><strong>Return type</strong></span>: Any type. + </p> +<p> + <span class="bold"><strong>Semantics</strong></span>: Returns the result type of + using <a class="link" href="../functions/at.html" title="at"><code class="computeroutput"><span class="identifier">at</span></code></a> to access the <code class="computeroutput"><span class="identifier">N</span></code>th element of <code class="computeroutput"><span class="identifier">Seq</span></code>. + </p> +<h6> +<a name="fusion.sequence.intrinsic.metafunctions.at.h3"></a> + <span><a name="fusion.sequence.intrinsic.metafunctions.at.header"></a></span><a class="link" href="at.html#fusion.sequence.intrinsic.metafunctions.at.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">sequence</span><span class="special">/</span><span class="identifier">intrinsic</span><span class="special">/</span><span class="identifier">at</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">at</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h6> +<a name="fusion.sequence.intrinsic.metafunctions.at.h4"></a> + <span><a name="fusion.sequence.intrinsic.metafunctions.at.example"></a></span><a class="link" href="at.html#fusion.sequence.intrinsic.metafunctions.at.example">Example</a> + </h6> +<pre class="programlisting"><span class="keyword">typedef</span> <a class="link" href="../../../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">float</span><span class="special">,</span><span class="keyword">char</span><span class="special">></span> <span class="identifier">vec</span><span class="special">;</span> +<span class="identifier">BOOST_MPL_ASSERT</span><span class="special">((</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">is_same</span><span class="special"><</span><a class="link" href="at.html" title="at"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">at</span></code></a><span class="special"><</span><span class="identifier">vec</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">int_</span><span class="special"><</span><span class="number">1</span><span class="special">></span> <span class="special">>::</span><span class="identifier">type</span><span class="special">,</span> <span class="keyword">float</span><span class="special">&>));</span> +</pre> +<div class="footnotes"> +<br><hr width="100" align="left"> +<div class="footnote"><p><sup>[<a id="ftn.fusion.sequence.intrinsic.metafunctions.at.f0" href="#fusion.sequence.intrinsic.metafunctions.at.f0" class="para">6</a>] </sup> + <a class="link" href="at.html" title="at"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">at</span></code></a> reflects the actual return + type of the function <a class="link" href="../functions/at.html" title="at"><code class="computeroutput"><span class="identifier">at</span></code></a>. <a class="link" href="../../../sequence.html" title="Sequence">Sequence</a>(s) + typically return references to its elements via the <a class="link" href="../functions/at.html" title="at"><code class="computeroutput"><span class="identifier">at</span></code></a> function. If you want to + get the actual element type, use <a class="link" href="value_at.html" title="value_at"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">value_at</span></code></a> + </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-2006, 2011 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="size.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="at_c.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/sequence/intrinsic/metafunctions/at_c.html b/libs/fusion/doc/html/fusion/sequence/intrinsic/metafunctions/at_c.html new file mode 100755 index 0000000000..f757423b82 --- /dev/null +++ b/libs/fusion/doc/html/fusion/sequence/intrinsic/metafunctions/at_c.html @@ -0,0 +1,164 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>at_c</title> +<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../metafunctions.html" title="Metafunctions"> +<link rel="prev" href="at.html" title="at"> +<link rel="next" href="value_at.html" title="value_at"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="at.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="value_at.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h5 class="title"> +<a name="fusion.sequence.intrinsic.metafunctions.at_c"></a><a class="link" href="at_c.html" title="at_c">at_c</a> +</h5></div></div></div> +<h6> +<a name="fusion.sequence.intrinsic.metafunctions.at_c.h0"></a> + <span><a name="fusion.sequence.intrinsic.metafunctions.at_c.description"></a></span><a class="link" href="at_c.html#fusion.sequence.intrinsic.metafunctions.at_c.description">Description</a> + </h6> +<p> + Returns the result type of <a class="link" href="../functions/at_c.html" title="at_c"><code class="computeroutput"><span class="identifier">at_c</span></code></a><sup>[<a name="fusion.sequence.intrinsic.metafunctions.at_c.f0" href="#ftn.fusion.sequence.intrinsic.metafunctions.at_c.f0" class="footnote">7</a>]</sup>. + </p> +<h6> +<a name="fusion.sequence.intrinsic.metafunctions.at_c.h1"></a> + <span><a name="fusion.sequence.intrinsic.metafunctions.at_c.synopsis"></a></span><a class="link" href="at_c.html#fusion.sequence.intrinsic.metafunctions.at_c.synopsis">Synopsis</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span> + <span class="keyword">typename</span> <span class="identifier">Seq</span><span class="special">,</span> + <span class="keyword">int</span> <span class="identifier">M</span><span class="special">></span> +<span class="keyword">struct</span> <span class="identifier">at_c</span> +<span class="special">{</span> + <span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">type</span><span class="special">;</span> +<span class="special">};</span> +</pre> +<div class="table"> +<a name="fusion.sequence.intrinsic.metafunctions.at_c.t0"></a><p class="title"><b>Table 1.30. Parameters</b></p> +<div class="table-contents"><table class="table" summary="Parameters"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Requirement + </p> + </th> +<th> + <p> + Description + </p> + </th> +</tr></thead> +<tbody> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">Seq</span></code> + </p> + </td> +<td> + <p> + A model of <a class="link" href="../../concepts/random_access_sequence.html" title="Random Access Sequence">Random + Access Sequence</a> + </p> + </td> +<td> + <p> + Argument sequence + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">M</span></code> + </p> + </td> +<td> + <p> + Positive integer index + </p> + </td> +<td> + <p> + Index of element + </p> + </td> +</tr> +</tbody> +</table></div> +</div> +<br class="table-break"><h6> +<a name="fusion.sequence.intrinsic.metafunctions.at_c.h2"></a> + <span><a name="fusion.sequence.intrinsic.metafunctions.at_c.expression_semantics"></a></span><a class="link" href="at_c.html#fusion.sequence.intrinsic.metafunctions.at_c.expression_semantics">Expression + Semantics</a> + </h6> +<pre class="programlisting"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">at_c</span><span class="special"><</span><span class="identifier">Seq</span><span class="special">,</span> <span class="identifier">M</span><span class="special">>::</span><span class="identifier">type</span> +</pre> +<p> + <span class="bold"><strong>Return type</strong></span>: Any type + </p> +<p> + <span class="bold"><strong>Semantics</strong></span>: Returns the result type of + using <a class="link" href="../functions/at_c.html" title="at_c"><code class="computeroutput"><span class="identifier">at_c</span></code></a> to access the <code class="computeroutput"><span class="identifier">M</span></code>th element of <code class="computeroutput"><span class="identifier">Seq</span></code>. + </p> +<h6> +<a name="fusion.sequence.intrinsic.metafunctions.at_c.h3"></a> + <span><a name="fusion.sequence.intrinsic.metafunctions.at_c.header"></a></span><a class="link" href="at_c.html#fusion.sequence.intrinsic.metafunctions.at_c.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">sequence</span><span class="special">/</span><span class="identifier">intrinsic</span><span class="special">/</span><span class="identifier">at</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">at</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h6> +<a name="fusion.sequence.intrinsic.metafunctions.at_c.h4"></a> + <span><a name="fusion.sequence.intrinsic.metafunctions.at_c.example"></a></span><a class="link" href="at_c.html#fusion.sequence.intrinsic.metafunctions.at_c.example">Example</a> + </h6> +<pre class="programlisting"><span class="keyword">typedef</span> <a class="link" href="../../../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">float</span><span class="special">,</span><span class="keyword">char</span><span class="special">></span> <span class="identifier">vec</span><span class="special">;</span> +<span class="identifier">BOOST_MPL_ASSERT</span><span class="special">((</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">is_same</span><span class="special"><</span><a class="link" href="at_c.html" title="at_c"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">at_c</span></code></a><span class="special"><</span><span class="identifier">vec</span><span class="special">,</span> <span class="number">1</span><span class="special">>::</span><span class="identifier">type</span><span class="special">,</span> <span class="keyword">float</span><span class="special">&>));</span> +</pre> +<div class="footnotes"> +<br><hr width="100" align="left"> +<div class="footnote"><p><sup>[<a id="ftn.fusion.sequence.intrinsic.metafunctions.at_c.f0" href="#fusion.sequence.intrinsic.metafunctions.at_c.f0" class="para">7</a>] </sup> + <a class="link" href="at_c.html" title="at_c"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">at_c</span></code></a> reflects the actual return + type of the function <a class="link" href="../functions/at_c.html" title="at_c"><code class="computeroutput"><span class="identifier">at_c</span></code></a>. <a class="link" href="../../../sequence.html" title="Sequence">Sequence</a>(s) + typically return references to its elements via the <a class="link" href="../functions/at_c.html" title="at_c"><code class="computeroutput"><span class="identifier">at_c</span></code></a> function. If you want + to get the actual element type, use <a class="link" href="value_at_c.html" title="value_at_c"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">value_at_c</span></code></a> + </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-2006, 2011 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="at.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="value_at.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/sequence/intrinsic/metafunctions/at_key.html b/libs/fusion/doc/html/fusion/sequence/intrinsic/metafunctions/at_key.html new file mode 100755 index 0000000000..6bdcc1538a --- /dev/null +++ b/libs/fusion/doc/html/fusion/sequence/intrinsic/metafunctions/at_key.html @@ -0,0 +1,166 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>at_key</title> +<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../metafunctions.html" title="Metafunctions"> +<link rel="prev" href="has_key.html" title="has_key"> +<link rel="next" href="value_at_key.html" title="value_at_key"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="has_key.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="value_at_key.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h5 class="title"> +<a name="fusion.sequence.intrinsic.metafunctions.at_key"></a><a class="link" href="at_key.html" title="at_key">at_key</a> +</h5></div></div></div> +<h6> +<a name="fusion.sequence.intrinsic.metafunctions.at_key.h0"></a> + <span><a name="fusion.sequence.intrinsic.metafunctions.at_key.description"></a></span><a class="link" href="at_key.html#fusion.sequence.intrinsic.metafunctions.at_key.description">Description</a> + </h6> +<p> + Returns the result type of <a class="link" href="../functions/at_key.html" title="at_key"><code class="computeroutput"><span class="identifier">at_key</span></code></a><sup>[<a name="fusion.sequence.intrinsic.metafunctions.at_key.f0" href="#ftn.fusion.sequence.intrinsic.metafunctions.at_key.f0" class="footnote">8</a>]</sup>. + </p> +<h6> +<a name="fusion.sequence.intrinsic.metafunctions.at_key.h1"></a> + <span><a name="fusion.sequence.intrinsic.metafunctions.at_key.synopsis"></a></span><a class="link" href="at_key.html#fusion.sequence.intrinsic.metafunctions.at_key.synopsis">Synopsis</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span> + <span class="keyword">typename</span> <span class="identifier">Seq</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">Key</span><span class="special">></span> +<span class="keyword">struct</span> <span class="identifier">at_key</span> +<span class="special">{</span> + <span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">type</span><span class="special">;</span> +<span class="special">};</span> +</pre> +<div class="table"> +<a name="fusion.sequence.intrinsic.metafunctions.at_key.t0"></a><p class="title"><b>Table 1.34. Parameters</b></p> +<div class="table-contents"><table class="table" summary="Parameters"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Requirement + </p> + </th> +<th> + <p> + Description + </p> + </th> +</tr></thead> +<tbody> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">Seq</span></code> + </p> + </td> +<td> + <p> + A model of <a class="link" href="../../concepts/associative_sequence.html" title="Associative Sequence">Associative + Sequence</a> + </p> + </td> +<td> + <p> + Argument sequence + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">Key</span></code> + </p> + </td> +<td> + <p> + Any type + </p> + </td> +<td> + <p> + Key type + </p> + </td> +</tr> +</tbody> +</table></div> +</div> +<br class="table-break"><h6> +<a name="fusion.sequence.intrinsic.metafunctions.at_key.h2"></a> + <span><a name="fusion.sequence.intrinsic.metafunctions.at_key.expression_semantics"></a></span><a class="link" href="at_key.html#fusion.sequence.intrinsic.metafunctions.at_key.expression_semantics">Expression + Semantics</a> + </h6> +<pre class="programlisting"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">at_key</span><span class="special"><</span><span class="identifier">Seq</span><span class="special">,</span> <span class="identifier">Key</span><span class="special">>::</span><span class="identifier">type</span> +</pre> +<p> + <span class="bold"><strong>Return type</strong></span>: Any type. + </p> +<p> + <span class="bold"><strong>Semantics</strong></span>: Returns the result of using + <a class="link" href="../functions/at_key.html" title="at_key"><code class="computeroutput"><span class="identifier">at_key</span></code></a> to access the element + with key type <code class="computeroutput"><span class="identifier">Key</span></code> in + <code class="computeroutput"><span class="identifier">Seq</span></code>. + </p> +<h6> +<a name="fusion.sequence.intrinsic.metafunctions.at_key.h3"></a> + <span><a name="fusion.sequence.intrinsic.metafunctions.at_key.header"></a></span><a class="link" href="at_key.html#fusion.sequence.intrinsic.metafunctions.at_key.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">sequence</span><span class="special">/</span><span class="identifier">intrinsic</span><span class="special">/</span><span class="identifier">at_key</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">at_key</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h6> +<a name="fusion.sequence.intrinsic.metafunctions.at_key.h4"></a> + <span><a name="fusion.sequence.intrinsic.metafunctions.at_key.example"></a></span><a class="link" href="at_key.html#fusion.sequence.intrinsic.metafunctions.at_key.example">Example</a> + </h6> +<pre class="programlisting"><span class="keyword">typedef</span> <a class="link" href="../../../container/map.html" title="map"><code class="computeroutput"><span class="identifier">map</span></code></a><span class="special"><</span><a class="link" href="../../../support/pair.html" title="pair"><code class="computeroutput"><span class="identifier">pair</span></code></a><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">char</span><span class="special">>,</span> <a class="link" href="../../../support/pair.html" title="pair"><code class="computeroutput"><span class="identifier">pair</span></code></a><span class="special"><</span><span class="keyword">char</span><span class="special">,</span> <span class="keyword">char</span><span class="special">>,</span> <a class="link" href="../../../support/pair.html" title="pair"><code class="computeroutput"><span class="identifier">pair</span></code></a><span class="special"><</span><span class="keyword">double</span><span class="special">,</span> <span class="keyword">char</span><span class="special">></span> <span class="special">></span> <span class="identifier">mymap</span><span class="special">;</span> +<span class="identifier">BOOST_MPL_ASSERT</span><span class="special">((</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">is_same</span><span class="special"><</span><a class="link" href="at_key.html" title="at_key"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">at_key</span></code></a><span class="special"><</span><span class="identifier">mymap</span><span class="special">,</span> <span class="keyword">int</span><span class="special">>::</span><span class="identifier">type</span><span class="special">,</span> <span class="keyword">char</span><span class="special">&>));</span> +</pre> +<div class="footnotes"> +<br><hr width="100" align="left"> +<div class="footnote"><p><sup>[<a id="ftn.fusion.sequence.intrinsic.metafunctions.at_key.f0" href="#fusion.sequence.intrinsic.metafunctions.at_key.f0" class="para">8</a>] </sup> + <a class="link" href="at_key.html" title="at_key"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">at_key</span></code></a> reflects the actual + return type of the function <a class="link" href="../functions/at_key.html" title="at_key"><code class="computeroutput"><span class="identifier">at_key</span></code></a>. __sequence__s typically + return references to its elements via the <a class="link" href="../functions/at_key.html" title="at_key"><code class="computeroutput"><span class="identifier">at_key</span></code></a> function. If you want + to get the actual element type, use <a class="link" href="value_at_key.html" title="value_at_key"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">value_at_key</span></code></a> + </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-2006, 2011 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="has_key.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="value_at_key.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/sequence/intrinsic/metafunctions/back.html b/libs/fusion/doc/html/fusion/sequence/intrinsic/metafunctions/back.html new file mode 100755 index 0000000000..ab4f094f67 --- /dev/null +++ b/libs/fusion/doc/html/fusion/sequence/intrinsic/metafunctions/back.html @@ -0,0 +1,134 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>back</title> +<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../metafunctions.html" title="Metafunctions"> +<link rel="prev" href="front.html" title="front"> +<link rel="next" href="size.html" title="size"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="front.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="size.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h5 class="title"> +<a name="fusion.sequence.intrinsic.metafunctions.back"></a><a class="link" href="back.html" title="back">back</a> +</h5></div></div></div> +<h6> +<a name="fusion.sequence.intrinsic.metafunctions.back.h0"></a> + <span><a name="fusion.sequence.intrinsic.metafunctions.back.description"></a></span><a class="link" href="back.html#fusion.sequence.intrinsic.metafunctions.back.description">Description</a> + </h6> +<p> + Returns the result type of <a class="link" href="../functions/back.html" title="back"><code class="computeroutput"><span class="identifier">back</span></code></a>. + </p> +<h6> +<a name="fusion.sequence.intrinsic.metafunctions.back.h1"></a> + <span><a name="fusion.sequence.intrinsic.metafunctions.back.synopsis"></a></span><a class="link" href="back.html#fusion.sequence.intrinsic.metafunctions.back.synopsis">Synopsis</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Seq</span><span class="special">></span> +<span class="keyword">struct</span> <span class="identifier">back</span> +<span class="special">{</span> + <span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">type</span><span class="special">;</span> +<span class="special">};</span> +</pre> +<div class="table"> +<a name="fusion.sequence.intrinsic.metafunctions.back.t0"></a><p class="title"><b>Table 1.27. Parameters</b></p> +<div class="table-contents"><table class="table" summary="Parameters"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Requirement + </p> + </th> +<th> + <p> + Description + </p> + </th> +</tr></thead> +<tbody><tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">Seq</span></code> + </p> + </td> +<td> + <p> + A model of <a class="link" href="../../concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a> + </p> + </td> +<td> + <p> + Argument sequence + </p> + </td> +</tr></tbody> +</table></div> +</div> +<br class="table-break"><h6> +<a name="fusion.sequence.intrinsic.metafunctions.back.h2"></a> + <span><a name="fusion.sequence.intrinsic.metafunctions.back.expression_semantics"></a></span><a class="link" href="back.html#fusion.sequence.intrinsic.metafunctions.back.expression_semantics">Expression + Semantics</a> + </h6> +<pre class="programlisting"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">back</span><span class="special"><</span><span class="identifier">Seq</span><span class="special">>::</span><span class="identifier">type</span> +</pre> +<p> + <span class="bold"><strong>Return type</strong></span>: Any type + </p> +<p> + <span class="bold"><strong>Semantics</strong></span>: The type returned by dereferencing + an iterator to the last element in the sequence. Equivalent to <code class="computeroutput"><a class="link" href="../../../iterator/metafunctions/deref.html" title="deref"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">deref</span></code></a><span class="special"><</span><a class="link" href="../../../iterator/metafunctions/prior.html" title="prior"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">prior</span></code></a><span class="special"><</span><a class="link" href="end.html" title="end"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">end</span></code></a><span class="special"><</span><span class="identifier">Seq</span><span class="special">>::</span><span class="identifier">type</span><span class="special">>::</span><span class="identifier">type</span><span class="special">>::</span><span class="identifier">type</span></code>. + </p> +<h6> +<a name="fusion.sequence.intrinsic.metafunctions.back.h3"></a> + <span><a name="fusion.sequence.intrinsic.metafunctions.back.header"></a></span><a class="link" href="back.html#fusion.sequence.intrinsic.metafunctions.back.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">sequence</span><span class="special">/</span><span class="identifier">intrinsic</span><span class="special">/</span><span class="identifier">back</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">back</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h6> +<a name="fusion.sequence.intrinsic.metafunctions.back.h4"></a> + <span><a name="fusion.sequence.intrinsic.metafunctions.back.example"></a></span><a class="link" href="back.html#fusion.sequence.intrinsic.metafunctions.back.example">Example</a> + </h6> +<pre class="programlisting"><span class="keyword">typedef</span> <a class="link" href="../../../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">char</span><span class="special">></span> <span class="identifier">vec</span><span class="special">;</span> +<span class="identifier">BOOST_MPL_ASSERT</span><span class="special">((</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">is_same</span><span class="special"><</span><a class="link" href="back.html" title="back"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">back</span></code></a><span class="special"><</span><span class="identifier">vec</span><span class="special">>::</span><span class="identifier">type</span><span class="special">,</span> <span class="keyword">char</span><span class="special">&>));</span> +</pre> +</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-2006, 2011 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="front.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="size.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/sequence/intrinsic/metafunctions/begin.html b/libs/fusion/doc/html/fusion/sequence/intrinsic/metafunctions/begin.html new file mode 100755 index 0000000000..8cc353796a --- /dev/null +++ b/libs/fusion/doc/html/fusion/sequence/intrinsic/metafunctions/begin.html @@ -0,0 +1,155 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>begin</title> +<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../metafunctions.html" title="Metafunctions"> +<link rel="prev" href="../metafunctions.html" title="Metafunctions"> +<link rel="next" href="end.html" title="end"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="../metafunctions.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="end.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h5 class="title"> +<a name="fusion.sequence.intrinsic.metafunctions.begin"></a><a class="link" href="begin.html" title="begin">begin</a> +</h5></div></div></div> +<h6> +<a name="fusion.sequence.intrinsic.metafunctions.begin.h0"></a> + <span><a name="fusion.sequence.intrinsic.metafunctions.begin.description"></a></span><a class="link" href="begin.html#fusion.sequence.intrinsic.metafunctions.begin.description">Description</a> + </h6> +<p> + Returns the result type of <a class="link" href="../functions/begin.html" title="begin"><code class="computeroutput"><span class="identifier">begin</span></code></a>. + </p> +<h6> +<a name="fusion.sequence.intrinsic.metafunctions.begin.h1"></a> + <span><a name="fusion.sequence.intrinsic.metafunctions.begin.synopsis"></a></span><a class="link" href="begin.html#fusion.sequence.intrinsic.metafunctions.begin.synopsis">Synopsis</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Seq</span><span class="special">></span> +<span class="keyword">struct</span> <span class="identifier">begin</span> +<span class="special">{</span> + <span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">type</span><span class="special">;</span> +<span class="special">};</span> +</pre> +<div class="table"> +<a name="fusion.sequence.intrinsic.metafunctions.begin.t0"></a><p class="title"><b>Table 1.23. Parameters</b></p> +<div class="table-contents"><table class="table" summary="Parameters"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Requirement + </p> + </th> +<th> + <p> + Description + </p> + </th> +</tr></thead> +<tbody><tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">Seq</span></code> + </p> + </td> +<td> + <p> + A model of <a class="link" href="../../concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a> + </p> + </td> +<td> + <p> + Argument sequence + </p> + </td> +</tr></tbody> +</table></div> +</div> +<br class="table-break"><h6> +<a name="fusion.sequence.intrinsic.metafunctions.begin.h2"></a> + <span><a name="fusion.sequence.intrinsic.metafunctions.begin.expression_semantics"></a></span><a class="link" href="begin.html#fusion.sequence.intrinsic.metafunctions.begin.expression_semantics">Expression + Semantics</a> + </h6> +<pre class="programlisting"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">begin</span><span class="special"><</span><span class="identifier">Seq</span><span class="special">>::</span><span class="identifier">type</span> +</pre> +<p> + <span class="bold"><strong>Return type</strong></span>: + </p> +<div class="itemizedlist"><ul class="itemizedlist" type="disc"> +<li class="listitem"> + A model of <a class="link" href="../../../iterator/concepts/forward_iterator.html" title="Forward Iterator">Forward + Iterator</a> if <code class="computeroutput"><span class="identifier">seq</span></code> + is a <a class="link" href="../../concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a> else, <a class="link" href="../../../iterator/concepts/bidirectional_iterator.html" title="Bidirectional Iterator">Bidirectional + Iterator</a> if <code class="computeroutput"><span class="identifier">seq</span></code> + is a <a class="link" href="../../concepts/bidirectional_sequence.html" title="Bidirectional Sequence">Bidirectional + Sequence</a> else, <a class="link" href="../../../iterator/concepts/random_access_iterator.html" title="Random Access Iterator">Random + Access Iterator</a> if <code class="computeroutput"><span class="identifier">seq</span></code> + is a <a class="link" href="../../concepts/random_access_sequence.html" title="Random Access Sequence">Random + Access Sequence</a>. + </li> +<li class="listitem"> + A model of <a class="link" href="../../../iterator/concepts/associative_iterator.html" title="Associative Iterator">Associative + Iterator</a> if <code class="computeroutput"><span class="identifier">seq</span></code> + is an <a class="link" href="../../concepts/associative_sequence.html" title="Associative Sequence">Associative + Sequence</a>. + </li> +</ul></div> +<p> + <span class="bold"><strong>Semantics</strong></span>: Returns the type of an iterator + to the first element of <code class="computeroutput"><span class="identifier">Seq</span></code>. + </p> +<h6> +<a name="fusion.sequence.intrinsic.metafunctions.begin.h3"></a> + <span><a name="fusion.sequence.intrinsic.metafunctions.begin.header"></a></span><a class="link" href="begin.html#fusion.sequence.intrinsic.metafunctions.begin.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">sequence</span><span class="special">/</span><span class="identifier">intrinsic</span><span class="special">/</span><span class="identifier">begin</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">begin</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h6> +<a name="fusion.sequence.intrinsic.metafunctions.begin.h4"></a> + <span><a name="fusion.sequence.intrinsic.metafunctions.begin.example"></a></span><a class="link" href="begin.html#fusion.sequence.intrinsic.metafunctions.begin.example">Example</a> + </h6> +<pre class="programlisting"><span class="keyword">typedef</span> <a class="link" href="../../../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><</span><span class="keyword">int</span><span class="special">></span> <span class="identifier">vec</span><span class="special">;</span> +<span class="keyword">typedef</span> <a class="link" href="begin.html" title="begin"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">begin</span></code></a><span class="special"><</span><span class="identifier">vec</span><span class="special">>::</span><span class="identifier">type</span> <span class="identifier">it</span><span class="special">;</span> +<span class="identifier">BOOST_MPL_ASSERT</span><span class="special">((</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">is_same</span><span class="special"><</span><a class="link" href="../../../iterator/metafunctions/deref.html" title="deref"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">deref</span></code></a><span class="special"><</span><span class="identifier">it</span><span class="special">>::</span><span class="identifier">type</span><span class="special">,</span> <span class="keyword">int</span><span class="special">&>))</span> +</pre> +</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-2006, 2011 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="../metafunctions.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="end.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/sequence/intrinsic/metafunctions/empty.html b/libs/fusion/doc/html/fusion/sequence/intrinsic/metafunctions/empty.html new file mode 100755 index 0000000000..a34293ad55 --- /dev/null +++ b/libs/fusion/doc/html/fusion/sequence/intrinsic/metafunctions/empty.html @@ -0,0 +1,139 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>empty</title> +<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../metafunctions.html" title="Metafunctions"> +<link rel="prev" href="end.html" title="end"> +<link rel="next" href="front.html" title="front"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="end.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="front.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h5 class="title"> +<a name="fusion.sequence.intrinsic.metafunctions.empty"></a><a class="link" href="empty.html" title="empty">empty</a> +</h5></div></div></div> +<h6> +<a name="fusion.sequence.intrinsic.metafunctions.empty.h0"></a> + <span><a name="fusion.sequence.intrinsic.metafunctions.empty.description"></a></span><a class="link" href="empty.html#fusion.sequence.intrinsic.metafunctions.empty.description">Description</a> + </h6> +<p> + Returns the result type of <a class="link" href="../functions/empty.html" title="empty"><code class="computeroutput"><span class="identifier">empty</span></code></a>. + </p> +<h6> +<a name="fusion.sequence.intrinsic.metafunctions.empty.h1"></a> + <span><a name="fusion.sequence.intrinsic.metafunctions.empty.synopsis"></a></span><a class="link" href="empty.html#fusion.sequence.intrinsic.metafunctions.empty.synopsis">Synopsis</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Seq</span><span class="special">></span> +<span class="keyword">struct</span> <span class="identifier">empty</span> +<span class="special">{</span> + <span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">type</span><span class="special">;</span> +<span class="special">};</span> +</pre> +<div class="table"> +<a name="fusion.sequence.intrinsic.metafunctions.empty.t0"></a><p class="title"><b>Table 1.25. Parameters</b></p> +<div class="table-contents"><table class="table" summary="Parameters"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Requirement + </p> + </th> +<th> + <p> + Description + </p> + </th> +</tr></thead> +<tbody><tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">Seq</span></code> + </p> + </td> +<td> + <p> + A model of <a class="link" href="../../concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a> + </p> + </td> +<td> + <p> + Argument sequence + </p> + </td> +</tr></tbody> +</table></div> +</div> +<br class="table-break"><h6> +<a name="fusion.sequence.intrinsic.metafunctions.empty.h2"></a> + <span><a name="fusion.sequence.intrinsic.metafunctions.empty.expression_semantics"></a></span><a class="link" href="empty.html#fusion.sequence.intrinsic.metafunctions.empty.expression_semantics">Expression + Semantics</a> + </h6> +<pre class="programlisting"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">empty</span><span class="special"><</span><span class="identifier">Seq</span><span class="special">>::</span><span class="identifier">type</span> +</pre> +<p> + <span class="bold"><strong>Return type</strong></span>: An <a href="http://www.boost.org/libs/mpl/doc/refmanual/integral-constant.html" target="_top">MPL + Integral Constant</a> + </p> +<p> + <span class="bold"><strong>Semantics</strong></span>: Returns <code class="computeroutput"><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">true_</span></code> + if <code class="computeroutput"><span class="identifier">Seq</span></code> has zero elements, + <code class="computeroutput"><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">false_</span></code> otherwise. + </p> +<h6> +<a name="fusion.sequence.intrinsic.metafunctions.empty.h3"></a> + <span><a name="fusion.sequence.intrinsic.metafunctions.empty.header"></a></span><a class="link" href="empty.html#fusion.sequence.intrinsic.metafunctions.empty.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">sequence</span><span class="special">/</span><span class="identifier">intrinsic</span><span class="special">/</span><span class="identifier">empty</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">empty</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h6> +<a name="fusion.sequence.intrinsic.metafunctions.empty.h4"></a> + <span><a name="fusion.sequence.intrinsic.metafunctions.empty.example"></a></span><a class="link" href="empty.html#fusion.sequence.intrinsic.metafunctions.empty.example">Example</a> + </h6> +<pre class="programlisting"><span class="keyword">typedef</span> <a class="link" href="../../../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><></span> <span class="identifier">empty_vec</span><span class="special">;</span> +<span class="keyword">typedef</span> <a class="link" href="../../../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">float</span><span class="special">,</span><span class="keyword">char</span><span class="special">></span> <span class="identifier">vec</span><span class="special">;</span> + +<span class="identifier">BOOST_MPL_ASSERT</span><span class="special">((</span><a class="link" href="empty.html" title="empty"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">empty</span></code></a><span class="special"><</span><span class="identifier">empty_vec</span><span class="special">>));</span> +<span class="identifier">BOOST_MPL_ASSERT_NOT</span><span class="special">((</span><a class="link" href="empty.html" title="empty"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">empty</span></code></a><span class="special"><</span><span class="identifier">vec</span><span class="special">>));</span> +</pre> +</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-2006, 2011 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="end.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="front.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/sequence/intrinsic/metafunctions/end.html b/libs/fusion/doc/html/fusion/sequence/intrinsic/metafunctions/end.html new file mode 100755 index 0000000000..683aba4b66 --- /dev/null +++ b/libs/fusion/doc/html/fusion/sequence/intrinsic/metafunctions/end.html @@ -0,0 +1,155 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>end</title> +<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../metafunctions.html" title="Metafunctions"> +<link rel="prev" href="begin.html" title="begin"> +<link rel="next" href="empty.html" title="empty"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="begin.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="empty.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h5 class="title"> +<a name="fusion.sequence.intrinsic.metafunctions.end"></a><a class="link" href="end.html" title="end">end</a> +</h5></div></div></div> +<h6> +<a name="fusion.sequence.intrinsic.metafunctions.end.h0"></a> + <span><a name="fusion.sequence.intrinsic.metafunctions.end.description"></a></span><a class="link" href="end.html#fusion.sequence.intrinsic.metafunctions.end.description">Description</a> + </h6> +<p> + Returns the result type of <a class="link" href="../functions/end.html" title="end"><code class="computeroutput"><span class="identifier">end</span></code></a>. + </p> +<h6> +<a name="fusion.sequence.intrinsic.metafunctions.end.h1"></a> + <span><a name="fusion.sequence.intrinsic.metafunctions.end.synopsis"></a></span><a class="link" href="end.html#fusion.sequence.intrinsic.metafunctions.end.synopsis">Synopsis</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Seq</span><span class="special">></span> +<span class="keyword">struct</span> <span class="identifier">end</span> +<span class="special">{</span> + <span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">type</span><span class="special">;</span> +<span class="special">};</span> +</pre> +<div class="table"> +<a name="fusion.sequence.intrinsic.metafunctions.end.t0"></a><p class="title"><b>Table 1.24. Parameters</b></p> +<div class="table-contents"><table class="table" summary="Parameters"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Requirement + </p> + </th> +<th> + <p> + Description + </p> + </th> +</tr></thead> +<tbody><tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">Seq</span></code> + </p> + </td> +<td> + <p> + A model of <a class="link" href="../../concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a> + </p> + </td> +<td> + <p> + Argument sequence + </p> + </td> +</tr></tbody> +</table></div> +</div> +<br class="table-break"><h6> +<a name="fusion.sequence.intrinsic.metafunctions.end.h2"></a> + <span><a name="fusion.sequence.intrinsic.metafunctions.end.expression_semantics"></a></span><a class="link" href="end.html#fusion.sequence.intrinsic.metafunctions.end.expression_semantics">Expression + Semantics</a> + </h6> +<pre class="programlisting"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">end</span><span class="special"><</span><span class="identifier">Seq</span><span class="special">>::</span><span class="identifier">type</span> +</pre> +<p> + <span class="bold"><strong>Return type</strong></span>: + </p> +<div class="itemizedlist"><ul class="itemizedlist" type="disc"> +<li class="listitem"> + A model of <a class="link" href="../../../iterator/concepts/forward_iterator.html" title="Forward Iterator">Forward + Iterator</a> if <code class="computeroutput"><span class="identifier">seq</span></code> + is a <a class="link" href="../../concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a> else, <a class="link" href="../../../iterator/concepts/bidirectional_iterator.html" title="Bidirectional Iterator">Bidirectional + Iterator</a> if <code class="computeroutput"><span class="identifier">seq</span></code> + is a <a class="link" href="../../concepts/bidirectional_sequence.html" title="Bidirectional Sequence">Bidirectional + Sequence</a> else, <a class="link" href="../../../iterator/concepts/random_access_iterator.html" title="Random Access Iterator">Random + Access Iterator</a> if <code class="computeroutput"><span class="identifier">seq</span></code> + is a <a class="link" href="../../concepts/random_access_sequence.html" title="Random Access Sequence">Random + Access Sequence</a>. + </li> +<li class="listitem"> + A model of <a class="link" href="../../../iterator/concepts/associative_iterator.html" title="Associative Iterator">Associative + Iterator</a> if <code class="computeroutput"><span class="identifier">seq</span></code> + is an <a class="link" href="../../concepts/associative_sequence.html" title="Associative Sequence">Associative + Sequence</a>. + </li> +</ul></div> +<p> + <span class="bold"><strong>Semantics</strong></span>: Returns the type of an iterator + one past the end of <code class="computeroutput"><span class="identifier">Seq</span></code>. + </p> +<h6> +<a name="fusion.sequence.intrinsic.metafunctions.end.h3"></a> + <span><a name="fusion.sequence.intrinsic.metafunctions.end.header"></a></span><a class="link" href="end.html#fusion.sequence.intrinsic.metafunctions.end.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">sequence</span><span class="special">/</span><span class="identifier">intrinsic</span><span class="special">/</span><span class="identifier">end</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">end</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h6> +<a name="fusion.sequence.intrinsic.metafunctions.end.h4"></a> + <span><a name="fusion.sequence.intrinsic.metafunctions.end.example"></a></span><a class="link" href="end.html#fusion.sequence.intrinsic.metafunctions.end.example">Example</a> + </h6> +<pre class="programlisting"><span class="keyword">typedef</span> <a class="link" href="../../../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><</span><span class="keyword">int</span><span class="special">></span> <span class="identifier">vec</span><span class="special">;</span> +<span class="keyword">typedef</span> <a class="link" href="../../../iterator/metafunctions/prior.html" title="prior"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">prior</span></code></a><span class="special"><</span><a class="link" href="end.html" title="end"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">end</span></code></a><span class="special"><</span><span class="identifier">vec</span><span class="special">>::</span><span class="identifier">type</span><span class="special">>::</span><span class="identifier">type</span> <span class="identifier">first</span><span class="special">;</span> +<span class="identifier">BOOST_MPL_ASSERT</span><span class="special">((</span><a class="link" href="../../../iterator/metafunctions/equal_to.html" title="equal_to"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">equal_to</span></code></a><span class="special"><</span><span class="identifier">first</span><span class="special">,</span> <a class="link" href="begin.html" title="begin"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">begin</span></code></a><span class="special"><</span><span class="identifier">vec</span><span class="special">>::</span><span class="identifier">type</span><span class="special">>))</span> +</pre> +</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-2006, 2011 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="begin.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="empty.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/sequence/intrinsic/metafunctions/front.html b/libs/fusion/doc/html/fusion/sequence/intrinsic/metafunctions/front.html new file mode 100755 index 0000000000..caa273839f --- /dev/null +++ b/libs/fusion/doc/html/fusion/sequence/intrinsic/metafunctions/front.html @@ -0,0 +1,135 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>front</title> +<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../metafunctions.html" title="Metafunctions"> +<link rel="prev" href="empty.html" title="empty"> +<link rel="next" href="back.html" title="back"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="empty.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="back.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h5 class="title"> +<a name="fusion.sequence.intrinsic.metafunctions.front"></a><a class="link" href="front.html" title="front">front</a> +</h5></div></div></div> +<h6> +<a name="fusion.sequence.intrinsic.metafunctions.front.h0"></a> + <span><a name="fusion.sequence.intrinsic.metafunctions.front.description"></a></span><a class="link" href="front.html#fusion.sequence.intrinsic.metafunctions.front.description">Description</a> + </h6> +<p> + Returns the result type of <a class="link" href="../functions/front.html" title="front"><code class="computeroutput"><span class="identifier">front</span></code></a>. + </p> +<h6> +<a name="fusion.sequence.intrinsic.metafunctions.front.h1"></a> + <span><a name="fusion.sequence.intrinsic.metafunctions.front.synopsis"></a></span><a class="link" href="front.html#fusion.sequence.intrinsic.metafunctions.front.synopsis">Synopsis</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Seq</span><span class="special">></span> +<span class="keyword">struct</span> <span class="identifier">front</span> +<span class="special">{</span> + <span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">type</span><span class="special">;</span> +<span class="special">};</span> +</pre> +<div class="table"> +<a name="fusion.sequence.intrinsic.metafunctions.front.t0"></a><p class="title"><b>Table 1.26. Parameters</b></p> +<div class="table-contents"><table class="table" summary="Parameters"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Requirement + </p> + </th> +<th> + <p> + Description + </p> + </th> +</tr></thead> +<tbody><tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">Seq</span></code> + </p> + </td> +<td> + <p> + A model of <a class="link" href="../../concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a> + </p> + </td> +<td> + <p> + Argument sequence + </p> + </td> +</tr></tbody> +</table></div> +</div> +<br class="table-break"><h6> +<a name="fusion.sequence.intrinsic.metafunctions.front.h2"></a> + <span><a name="fusion.sequence.intrinsic.metafunctions.front.expression_semantics"></a></span><a class="link" href="front.html#fusion.sequence.intrinsic.metafunctions.front.expression_semantics">Expression + Semantics</a> + </h6> +<pre class="programlisting"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">front</span><span class="special"><</span><span class="identifier">Seq</span><span class="special">>::</span><span class="identifier">type</span> +</pre> +<p> + <span class="bold"><strong>Return type</strong></span>: Any type + </p> +<p> + <span class="bold"><strong>Semantics</strong></span>: The type returned by dereferencing + an iterator to the first element in <code class="computeroutput"><span class="identifier">Seq</span></code>. + Equivalent to <code class="computeroutput"><a class="link" href="../../../iterator/metafunctions/deref.html" title="deref"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">deref</span></code></a><span class="special"><</span><a class="link" href="begin.html" title="begin"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">begin</span></code></a><span class="special"><</span><span class="identifier">Seq</span><span class="special">>::</span><span class="identifier">type</span><span class="special">>::</span><span class="identifier">type</span></code>. + </p> +<h6> +<a name="fusion.sequence.intrinsic.metafunctions.front.h3"></a> + <span><a name="fusion.sequence.intrinsic.metafunctions.front.header"></a></span><a class="link" href="front.html#fusion.sequence.intrinsic.metafunctions.front.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">sequence</span><span class="special">/</span><span class="identifier">intrinsic</span><span class="special">/</span><span class="identifier">front</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">front</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h6> +<a name="fusion.sequence.intrinsic.metafunctions.front.h4"></a> + <span><a name="fusion.sequence.intrinsic.metafunctions.front.example"></a></span><a class="link" href="front.html#fusion.sequence.intrinsic.metafunctions.front.example">Example</a> + </h6> +<pre class="programlisting"><span class="keyword">typedef</span> <a class="link" href="../../../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">char</span><span class="special">></span> <span class="identifier">vec</span><span class="special">;</span> +<span class="identifier">BOOST_MPL_ASSERT</span><span class="special">((</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">is_same</span><span class="special"><</span><a class="link" href="front.html" title="front"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">front</span></code></a><span class="special"><</span><span class="identifier">vec</span><span class="special">>::</span><span class="identifier">type</span><span class="special">,</span> <span class="keyword">int</span><span class="special">&>));</span> +</pre> +</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-2006, 2011 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="empty.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="back.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/sequence/intrinsic/metafunctions/has_key.html b/libs/fusion/doc/html/fusion/sequence/intrinsic/metafunctions/has_key.html new file mode 100755 index 0000000000..848010f181 --- /dev/null +++ b/libs/fusion/doc/html/fusion/sequence/intrinsic/metafunctions/has_key.html @@ -0,0 +1,159 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>has_key</title> +<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../metafunctions.html" title="Metafunctions"> +<link rel="prev" href="value_at_c.html" title="value_at_c"> +<link rel="next" href="at_key.html" title="at_key"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="value_at_c.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="at_key.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h5 class="title"> +<a name="fusion.sequence.intrinsic.metafunctions.has_key"></a><a class="link" href="has_key.html" title="has_key">has_key</a> +</h5></div></div></div> +<h6> +<a name="fusion.sequence.intrinsic.metafunctions.has_key.h0"></a> + <span><a name="fusion.sequence.intrinsic.metafunctions.has_key.description"></a></span><a class="link" href="has_key.html#fusion.sequence.intrinsic.metafunctions.has_key.description">Description</a> + </h6> +<p> + Returns the result type of <a class="link" href="../functions/has_key.html" title="has_key"><code class="computeroutput"><span class="identifier">has_key</span></code></a>. + </p> +<h6> +<a name="fusion.sequence.intrinsic.metafunctions.has_key.h1"></a> + <span><a name="fusion.sequence.intrinsic.metafunctions.has_key.synopsis"></a></span><a class="link" href="has_key.html#fusion.sequence.intrinsic.metafunctions.has_key.synopsis">Synopsis</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span> + <span class="keyword">typename</span> <span class="identifier">Seq</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">Key</span><span class="special">></span> +<span class="keyword">struct</span> <span class="identifier">has_key</span> +<span class="special">{</span> + <span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">type</span><span class="special">;</span> +<span class="special">};</span> +</pre> +<div class="table"> +<a name="fusion.sequence.intrinsic.metafunctions.has_key.t0"></a><p class="title"><b>Table 1.33. Parameters</b></p> +<div class="table-contents"><table class="table" summary="Parameters"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Requirement + </p> + </th> +<th> + <p> + Description + </p> + </th> +</tr></thead> +<tbody> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">Seq</span></code> + </p> + </td> +<td> + <p> + A model of <a class="link" href="../../concepts/associative_sequence.html" title="Associative Sequence">Associative + Sequence</a> + </p> + </td> +<td> + <p> + Argument sequence + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">Key</span></code> + </p> + </td> +<td> + <p> + Any type + </p> + </td> +<td> + <p> + Key type + </p> + </td> +</tr> +</tbody> +</table></div> +</div> +<br class="table-break"><h6> +<a name="fusion.sequence.intrinsic.metafunctions.has_key.h2"></a> + <span><a name="fusion.sequence.intrinsic.metafunctions.has_key.expression_semantics"></a></span><a class="link" href="has_key.html#fusion.sequence.intrinsic.metafunctions.has_key.expression_semantics">Expression + Semantics</a> + </h6> +<pre class="programlisting"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">has_key</span><span class="special"><</span><span class="identifier">Seq</span><span class="special">,</span> <span class="identifier">Key</span><span class="special">>::</span><span class="identifier">type</span> +</pre> +<p> + <span class="bold"><strong>Return type</strong></span>: An <a href="http://www.boost.org/libs/mpl/doc/refmanual/integral-constant.html" target="_top">MPL + Integral Constant</a>. + </p> +<p> + <span class="bold"><strong>Semantics</strong></span>: Returns <code class="computeroutput"><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">true_</span></code> + if <code class="computeroutput"><span class="identifier">Seq</span></code> contains an element + with key type <code class="computeroutput"><span class="identifier">Key</span></code>, returns + <code class="computeroutput"><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">false_</span></code> otherwise. + </p> +<h6> +<a name="fusion.sequence.intrinsic.metafunctions.has_key.h3"></a> + <span><a name="fusion.sequence.intrinsic.metafunctions.has_key.header"></a></span><a class="link" href="has_key.html#fusion.sequence.intrinsic.metafunctions.has_key.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">sequence</span><span class="special">/</span><span class="identifier">intrinsic</span><span class="special">/</span><span class="identifier">has_key</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">has_key</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h6> +<a name="fusion.sequence.intrinsic.metafunctions.has_key.h4"></a> + <span><a name="fusion.sequence.intrinsic.metafunctions.has_key.example"></a></span><a class="link" href="has_key.html#fusion.sequence.intrinsic.metafunctions.has_key.example">Example</a> + </h6> +<pre class="programlisting"><span class="keyword">typedef</span> <a class="link" href="../../../container/map.html" title="map"><code class="computeroutput"><span class="identifier">map</span></code></a><span class="special"><</span><a class="link" href="../../../support/pair.html" title="pair"><code class="computeroutput"><span class="identifier">pair</span></code></a><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">char</span><span class="special">>,</span> <a class="link" href="../../../support/pair.html" title="pair"><code class="computeroutput"><span class="identifier">pair</span></code></a><span class="special"><</span><span class="keyword">char</span><span class="special">,</span> <span class="keyword">char</span><span class="special">>,</span> <a class="link" href="../../../support/pair.html" title="pair"><code class="computeroutput"><span class="identifier">pair</span></code></a><span class="special"><</span><span class="keyword">double</span><span class="special">,</span> <span class="keyword">char</span><span class="special">></span> <span class="special">></span> <span class="identifier">mymap</span><span class="special">;</span> +<span class="identifier">BOOST_MPL_ASSERT</span><span class="special">((</span><a class="link" href="has_key.html" title="has_key"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">has_key</span></code></a><span class="special"><</span><span class="identifier">mymap</span><span class="special">,</span> <span class="keyword">int</span><span class="special">>));</span> +<span class="identifier">BOOST_MPL_ASSERT_NOT</span><span class="special">((</span><a class="link" href="has_key.html" title="has_key"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">has_key</span></code></a><span class="special"><</span><span class="identifier">mymap</span><span class="special">,</span> <span class="keyword">void</span><span class="special">*>));</span> +</pre> +</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-2006, 2011 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="value_at_c.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="at_key.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/sequence/intrinsic/metafunctions/size.html b/libs/fusion/doc/html/fusion/sequence/intrinsic/metafunctions/size.html new file mode 100755 index 0000000000..bd10fd22b5 --- /dev/null +++ b/libs/fusion/doc/html/fusion/sequence/intrinsic/metafunctions/size.html @@ -0,0 +1,136 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>size</title> +<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../metafunctions.html" title="Metafunctions"> +<link rel="prev" href="back.html" title="back"> +<link rel="next" href="at.html" title="at"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="back.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="at.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h5 class="title"> +<a name="fusion.sequence.intrinsic.metafunctions.size"></a><a class="link" href="size.html" title="size">size</a> +</h5></div></div></div> +<h6> +<a name="fusion.sequence.intrinsic.metafunctions.size.h0"></a> + <span><a name="fusion.sequence.intrinsic.metafunctions.size.description"></a></span><a class="link" href="size.html#fusion.sequence.intrinsic.metafunctions.size.description">Description</a> + </h6> +<p> + Returns the result type of <a class="link" href="../functions/size.html" title="size"><code class="computeroutput"><span class="identifier">size</span></code></a>. + </p> +<h6> +<a name="fusion.sequence.intrinsic.metafunctions.size.h1"></a> + <span><a name="fusion.sequence.intrinsic.metafunctions.size.synopsis"></a></span><a class="link" href="size.html#fusion.sequence.intrinsic.metafunctions.size.synopsis">Synopsis</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Seq</span><span class="special">></span> +<span class="keyword">struct</span> <span class="identifier">size</span> +<span class="special">{</span> + <span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">type</span><span class="special">;</span> +<span class="special">};</span> +</pre> +<div class="table"> +<a name="fusion.sequence.intrinsic.metafunctions.size.t0"></a><p class="title"><b>Table 1.28. Parameters</b></p> +<div class="table-contents"><table class="table" summary="Parameters"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Requirement + </p> + </th> +<th> + <p> + Description + </p> + </th> +</tr></thead> +<tbody><tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">Seq</span></code> + </p> + </td> +<td> + <p> + A model of <a class="link" href="../../concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a> + </p> + </td> +<td> + <p> + Argument sequence + </p> + </td> +</tr></tbody> +</table></div> +</div> +<br class="table-break"><h6> +<a name="fusion.sequence.intrinsic.metafunctions.size.h2"></a> + <span><a name="fusion.sequence.intrinsic.metafunctions.size.expression_semantics"></a></span><a class="link" href="size.html#fusion.sequence.intrinsic.metafunctions.size.expression_semantics">Expression + Semantics</a> + </h6> +<pre class="programlisting"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span><span class="special"><</span><span class="identifier">Seq</span><span class="special">>::</span><span class="identifier">type</span> +</pre> +<p> + <span class="bold"><strong>Return type</strong></span>: An <a href="http://www.boost.org/libs/mpl/doc/refmanual/integral-constant.html" target="_top">MPL + Integral Constant</a>. + </p> +<p> + <span class="bold"><strong>Semantics</strong></span>: Returns the number of elements + in <code class="computeroutput"><span class="identifier">Seq</span></code>. + </p> +<h6> +<a name="fusion.sequence.intrinsic.metafunctions.size.h3"></a> + <span><a name="fusion.sequence.intrinsic.metafunctions.size.header"></a></span><a class="link" href="size.html#fusion.sequence.intrinsic.metafunctions.size.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">sequence</span><span class="special">/</span><span class="identifier">intrinsic</span><span class="special">/</span><span class="identifier">size</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">size</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h6> +<a name="fusion.sequence.intrinsic.metafunctions.size.h4"></a> + <span><a name="fusion.sequence.intrinsic.metafunctions.size.example"></a></span><a class="link" href="size.html#fusion.sequence.intrinsic.metafunctions.size.example">Example</a> + </h6> +<pre class="programlisting"><span class="keyword">typedef</span> <a class="link" href="../../../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">float</span><span class="special">,</span><span class="keyword">char</span><span class="special">></span> <span class="identifier">vec</span><span class="special">;</span> +<span class="keyword">typedef</span> <a class="link" href="size.html" title="size"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></code></a><span class="special"><</span><span class="identifier">vec</span><span class="special">>::</span><span class="identifier">type</span> <span class="identifier">size_mpl_integral_constant</span><span class="special">;</span> +<span class="identifier">BOOST_MPL_ASSERT_RELATION</span><span class="special">(</span><span class="identifier">size_mpl_integral_constant</span><span class="special">::</span><span class="identifier">value</span><span class="special">,</span> <span class="special">==,</span> <span class="number">3</span><span class="special">);</span> +</pre> +</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-2006, 2011 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="back.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="at.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/sequence/intrinsic/metafunctions/swap.html b/libs/fusion/doc/html/fusion/sequence/intrinsic/metafunctions/swap.html new file mode 100755 index 0000000000..26839cafcb --- /dev/null +++ b/libs/fusion/doc/html/fusion/sequence/intrinsic/metafunctions/swap.html @@ -0,0 +1,126 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>swap</title> +<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../metafunctions.html" title="Metafunctions"> +<link rel="prev" href="value_at_key.html" title="value_at_key"> +<link rel="next" href="../../operator.html" title="Operator"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="value_at_key.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../../operator.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h5 class="title"> +<a name="fusion.sequence.intrinsic.metafunctions.swap"></a><a class="link" href="swap.html" title="swap">swap</a> +</h5></div></div></div> +<h6> +<a name="fusion.sequence.intrinsic.metafunctions.swap.h0"></a> + <span><a name="fusion.sequence.intrinsic.metafunctions.swap.description"></a></span><a class="link" href="swap.html#fusion.sequence.intrinsic.metafunctions.swap.description">Description</a> + </h6> +<p> + Returns the return type of swap. + </p> +<h6> +<a name="fusion.sequence.intrinsic.metafunctions.swap.h1"></a> + <span><a name="fusion.sequence.intrinsic.metafunctions.swap.synopsis"></a></span><a class="link" href="swap.html#fusion.sequence.intrinsic.metafunctions.swap.synopsis">Synopsis</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Seq1</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Seq2</span><span class="special">></span> +<span class="keyword">struct</span> <span class="identifier">swap</span> +<span class="special">{</span> + <span class="keyword">typedef</span> <span class="keyword">void</span> <span class="identifier">type</span><span class="special">;</span> +<span class="special">};</span> +</pre> +<div class="table"> +<a name="fusion.sequence.intrinsic.metafunctions.swap.t0"></a><p class="title"><b>Table 1.36. Parameters</b></p> +<div class="table-contents"><table class="table" summary="Parameters"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameters + </p> + </th> +<th> + <p> + Requirement + </p> + </th> +<th> + <p> + Description + </p> + </th> +</tr></thead> +<tbody><tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">Seq1</span></code>, <code class="computeroutput"><span class="identifier">Seq2</span></code> + </p> + </td> +<td> + <p> + Models of <a class="link" href="../../concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a> + </p> + </td> +<td> + <p> + The sequences being swapped + </p> + </td> +</tr></tbody> +</table></div> +</div> +<br class="table-break"><h6> +<a name="fusion.sequence.intrinsic.metafunctions.swap.h2"></a> + <span><a name="fusion.sequence.intrinsic.metafunctions.swap.expression_semantics"></a></span><a class="link" href="swap.html#fusion.sequence.intrinsic.metafunctions.swap.expression_semantics">Expression + Semantics</a> + </h6> +<pre class="programlisting"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">swap</span><span class="special"><</span><span class="identifier">Seq1</span><span class="special">,</span> <span class="identifier">Seq2</span><span class="special">>::</span><span class="identifier">type</span> +</pre> +<p> + <span class="bold"><strong>Return type</strong></span>: <code class="computeroutput"><span class="keyword">void</span></code>. + </p> +<p> + <span class="bold"><strong>Semantics</strong></span>: Always returns <code class="computeroutput"><span class="keyword">void</span></code>. + </p> +<h6> +<a name="fusion.sequence.intrinsic.metafunctions.swap.h3"></a> + <span><a name="fusion.sequence.intrinsic.metafunctions.swap.header"></a></span><a class="link" href="swap.html#fusion.sequence.intrinsic.metafunctions.swap.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">sequence</span><span class="special">/</span><span class="identifier">intrinsic</span><span class="special">/</span><span class="identifier">swap</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">swap</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +</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-2006, 2011 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="value_at_key.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../../operator.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/sequence/intrinsic/metafunctions/value_at.html b/libs/fusion/doc/html/fusion/sequence/intrinsic/metafunctions/value_at.html new file mode 100755 index 0000000000..ebe7aa6685 --- /dev/null +++ b/libs/fusion/doc/html/fusion/sequence/intrinsic/metafunctions/value_at.html @@ -0,0 +1,156 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>value_at</title> +<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../metafunctions.html" title="Metafunctions"> +<link rel="prev" href="at_c.html" title="at_c"> +<link rel="next" href="value_at_c.html" title="value_at_c"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="at_c.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="value_at_c.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h5 class="title"> +<a name="fusion.sequence.intrinsic.metafunctions.value_at"></a><a class="link" href="value_at.html" title="value_at">value_at</a> +</h5></div></div></div> +<h6> +<a name="fusion.sequence.intrinsic.metafunctions.value_at.h0"></a> + <span><a name="fusion.sequence.intrinsic.metafunctions.value_at.description"></a></span><a class="link" href="value_at.html#fusion.sequence.intrinsic.metafunctions.value_at.description">Description</a> + </h6> +<p> + Returns the actual type at a given index from the <a class="link" href="../../../sequence.html" title="Sequence">Sequence</a>. + </p> +<h6> +<a name="fusion.sequence.intrinsic.metafunctions.value_at.h1"></a> + <span><a name="fusion.sequence.intrinsic.metafunctions.value_at.synopsis"></a></span><a class="link" href="value_at.html#fusion.sequence.intrinsic.metafunctions.value_at.synopsis">Synopsis</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span> + <span class="keyword">typename</span> <span class="identifier">Seq</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">N</span><span class="special">></span> +<span class="keyword">struct</span> <span class="identifier">value_at</span> +<span class="special">{</span> + <span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">type</span><span class="special">;</span> +<span class="special">};</span> +</pre> +<div class="table"> +<a name="fusion.sequence.intrinsic.metafunctions.value_at.t0"></a><p class="title"><b>Table 1.31. Parameters</b></p> +<div class="table-contents"><table class="table" summary="Parameters"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Requirement + </p> + </th> +<th> + <p> + Description + </p> + </th> +</tr></thead> +<tbody> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">Seq</span></code> + </p> + </td> +<td> + <p> + A model of <a class="link" href="../../concepts/random_access_sequence.html" title="Random Access Sequence">Random + Access Sequence</a> + </p> + </td> +<td> + <p> + Argument sequence + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">N</span></code> + </p> + </td> +<td> + <p> + An <a href="http://www.boost.org/libs/mpl/doc/refmanual/integral-constant.html" target="_top">MPL + Integral Constant</a> + </p> + </td> +<td> + <p> + Index of element + </p> + </td> +</tr> +</tbody> +</table></div> +</div> +<br class="table-break"><h6> +<a name="fusion.sequence.intrinsic.metafunctions.value_at.h2"></a> + <span><a name="fusion.sequence.intrinsic.metafunctions.value_at.expression_semantics"></a></span><a class="link" href="value_at.html#fusion.sequence.intrinsic.metafunctions.value_at.expression_semantics">Expression + Semantics</a> + </h6> +<pre class="programlisting"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">value_at</span><span class="special"><</span><span class="identifier">Seq</span><span class="special">,</span> <span class="identifier">N</span><span class="special">>::</span><span class="identifier">type</span> +</pre> +<p> + <span class="bold"><strong>Return type</strong></span>: Any type. + </p> +<p> + <span class="bold"><strong>Semantics</strong></span>: Returns the actual type at + the <code class="computeroutput"><span class="identifier">N</span></code>th element of <code class="computeroutput"><span class="identifier">Seq</span></code>. + </p> +<h6> +<a name="fusion.sequence.intrinsic.metafunctions.value_at.h3"></a> + <span><a name="fusion.sequence.intrinsic.metafunctions.value_at.header"></a></span><a class="link" href="value_at.html#fusion.sequence.intrinsic.metafunctions.value_at.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">sequence</span><span class="special">/</span><span class="identifier">intrinsic</span><span class="special">/</span><span class="identifier">value_at</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">value_at</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h6> +<a name="fusion.sequence.intrinsic.metafunctions.value_at.h4"></a> + <span><a name="fusion.sequence.intrinsic.metafunctions.value_at.example"></a></span><a class="link" href="value_at.html#fusion.sequence.intrinsic.metafunctions.value_at.example">Example</a> + </h6> +<pre class="programlisting"><span class="keyword">typedef</span> <a class="link" href="../../../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">float</span><span class="special">,</span><span class="keyword">char</span><span class="special">></span> <span class="identifier">vec</span><span class="special">;</span> +<span class="identifier">BOOST_MPL_ASSERT</span><span class="special">((</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">is_same</span><span class="special"><</span><a class="link" href="value_at.html" title="value_at"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">value_at</span></code></a><span class="special"><</span><span class="identifier">vec</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">int_</span><span class="special"><</span><span class="number">1</span><span class="special">></span> <span class="special">>::</span><span class="identifier">type</span><span class="special">,</span> <span class="keyword">float</span><span class="special">>));</span> +</pre> +</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-2006, 2011 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="at_c.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="value_at_c.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/sequence/intrinsic/metafunctions/value_at_c.html b/libs/fusion/doc/html/fusion/sequence/intrinsic/metafunctions/value_at_c.html new file mode 100755 index 0000000000..42bff6deec --- /dev/null +++ b/libs/fusion/doc/html/fusion/sequence/intrinsic/metafunctions/value_at_c.html @@ -0,0 +1,155 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>value_at_c</title> +<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../metafunctions.html" title="Metafunctions"> +<link rel="prev" href="value_at.html" title="value_at"> +<link rel="next" href="has_key.html" title="has_key"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="value_at.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="has_key.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h5 class="title"> +<a name="fusion.sequence.intrinsic.metafunctions.value_at_c"></a><a class="link" href="value_at_c.html" title="value_at_c">value_at_c</a> +</h5></div></div></div> +<h6> +<a name="fusion.sequence.intrinsic.metafunctions.value_at_c.h0"></a> + <span><a name="fusion.sequence.intrinsic.metafunctions.value_at_c.description"></a></span><a class="link" href="value_at_c.html#fusion.sequence.intrinsic.metafunctions.value_at_c.description">Description</a> + </h6> +<p> + Returns the actual type at a given index from the <a class="link" href="../../../sequence.html" title="Sequence">Sequence</a>. + </p> +<h6> +<a name="fusion.sequence.intrinsic.metafunctions.value_at_c.h1"></a> + <span><a name="fusion.sequence.intrinsic.metafunctions.value_at_c.synopsis"></a></span><a class="link" href="value_at_c.html#fusion.sequence.intrinsic.metafunctions.value_at_c.synopsis">Synopsis</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span> + <span class="keyword">typename</span> <span class="identifier">Seq</span><span class="special">,</span> + <span class="keyword">int</span> <span class="identifier">M</span><span class="special">></span> +<span class="keyword">struct</span> <span class="identifier">value_at_c</span> +<span class="special">{</span> + <span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">type</span><span class="special">;</span> +<span class="special">};</span> +</pre> +<div class="table"> +<a name="fusion.sequence.intrinsic.metafunctions.value_at_c.t0"></a><p class="title"><b>Table 1.32. Parameters</b></p> +<div class="table-contents"><table class="table" summary="Parameters"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Requirement + </p> + </th> +<th> + <p> + Description + </p> + </th> +</tr></thead> +<tbody> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">Seq</span></code> + </p> + </td> +<td> + <p> + A model of <a class="link" href="../../concepts/random_access_sequence.html" title="Random Access Sequence">Random + Access Sequence</a> + </p> + </td> +<td> + <p> + Argument sequence + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">M</span></code> + </p> + </td> +<td> + <p> + Positive integer index + </p> + </td> +<td> + <p> + Index of element + </p> + </td> +</tr> +</tbody> +</table></div> +</div> +<br class="table-break"><h6> +<a name="fusion.sequence.intrinsic.metafunctions.value_at_c.h2"></a> + <span><a name="fusion.sequence.intrinsic.metafunctions.value_at_c.expression_semantics"></a></span><a class="link" href="value_at_c.html#fusion.sequence.intrinsic.metafunctions.value_at_c.expression_semantics">Expression + Semantics</a> + </h6> +<pre class="programlisting"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">value_at_c</span><span class="special"><</span><span class="identifier">Seq</span><span class="special">,</span> <span class="identifier">M</span><span class="special">>::</span><span class="identifier">type</span> +</pre> +<p> + <span class="bold"><strong>Return type</strong></span>: Any type + </p> +<p> + <span class="bold"><strong>Semantics</strong></span>: Returns the actual type at + the <code class="computeroutput"><span class="identifier">M</span></code>th element of <code class="computeroutput"><span class="identifier">Seq</span></code>. + </p> +<h6> +<a name="fusion.sequence.intrinsic.metafunctions.value_at_c.h3"></a> + <span><a name="fusion.sequence.intrinsic.metafunctions.value_at_c.header"></a></span><a class="link" href="value_at_c.html#fusion.sequence.intrinsic.metafunctions.value_at_c.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">sequence</span><span class="special">/</span><span class="identifier">intrinsic</span><span class="special">/</span><span class="identifier">value_at</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">value_at</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h6> +<a name="fusion.sequence.intrinsic.metafunctions.value_at_c.h4"></a> + <span><a name="fusion.sequence.intrinsic.metafunctions.value_at_c.example"></a></span><a class="link" href="value_at_c.html#fusion.sequence.intrinsic.metafunctions.value_at_c.example">Example</a> + </h6> +<pre class="programlisting"><span class="keyword">typedef</span> <a class="link" href="../../../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">float</span><span class="special">,</span><span class="keyword">char</span><span class="special">></span> <span class="identifier">vec</span><span class="special">;</span> +<span class="identifier">BOOST_MPL_ASSERT</span><span class="special">((</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">is_same</span><span class="special"><</span><a class="link" href="value_at_c.html" title="value_at_c"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">value_at_c</span></code></a><span class="special"><</span><span class="identifier">vec</span><span class="special">,</span> <span class="number">1</span><span class="special">>::</span><span class="identifier">type</span><span class="special">,</span> <span class="keyword">float</span><span class="special">>));</span> +</pre> +</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-2006, 2011 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="value_at.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="has_key.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/sequence/intrinsic/metafunctions/value_at_key.html b/libs/fusion/doc/html/fusion/sequence/intrinsic/metafunctions/value_at_key.html new file mode 100755 index 0000000000..01a1b34cdf --- /dev/null +++ b/libs/fusion/doc/html/fusion/sequence/intrinsic/metafunctions/value_at_key.html @@ -0,0 +1,156 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>value_at_key</title> +<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../metafunctions.html" title="Metafunctions"> +<link rel="prev" href="at_key.html" title="at_key"> +<link rel="next" href="swap.html" title="swap"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="at_key.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="swap.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h5 class="title"> +<a name="fusion.sequence.intrinsic.metafunctions.value_at_key"></a><a class="link" href="value_at_key.html" title="value_at_key">value_at_key</a> +</h5></div></div></div> +<h6> +<a name="fusion.sequence.intrinsic.metafunctions.value_at_key.h0"></a> + <span><a name="fusion.sequence.intrinsic.metafunctions.value_at_key.description"></a></span><a class="link" href="value_at_key.html#fusion.sequence.intrinsic.metafunctions.value_at_key.description">Description</a> + </h6> +<p> + Returns the actual element type associated with a Key from the <a class="link" href="../../../sequence.html" title="Sequence">Sequence</a>. + </p> +<h6> +<a name="fusion.sequence.intrinsic.metafunctions.value_at_key.h1"></a> + <span><a name="fusion.sequence.intrinsic.metafunctions.value_at_key.synopsis"></a></span><a class="link" href="value_at_key.html#fusion.sequence.intrinsic.metafunctions.value_at_key.synopsis">Synopsis</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span> + <span class="keyword">typename</span> <span class="identifier">Seq</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">Key</span><span class="special">></span> +<span class="keyword">struct</span> <span class="identifier">value_at_key</span> +<span class="special">{</span> + <span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">type</span><span class="special">;</span> +<span class="special">};</span> +</pre> +<div class="table"> +<a name="fusion.sequence.intrinsic.metafunctions.value_at_key.t0"></a><p class="title"><b>Table 1.35. Parameters</b></p> +<div class="table-contents"><table class="table" summary="Parameters"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Requirement + </p> + </th> +<th> + <p> + Description + </p> + </th> +</tr></thead> +<tbody> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">Seq</span></code> + </p> + </td> +<td> + <p> + A model of <a class="link" href="../../concepts/associative_sequence.html" title="Associative Sequence">Associative + Sequence</a> + </p> + </td> +<td> + <p> + Argument sequence + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">Key</span></code> + </p> + </td> +<td> + <p> + Any type + </p> + </td> +<td> + <p> + Key type + </p> + </td> +</tr> +</tbody> +</table></div> +</div> +<br class="table-break"><h6> +<a name="fusion.sequence.intrinsic.metafunctions.value_at_key.h2"></a> + <span><a name="fusion.sequence.intrinsic.metafunctions.value_at_key.expression_semantics"></a></span><a class="link" href="value_at_key.html#fusion.sequence.intrinsic.metafunctions.value_at_key.expression_semantics">Expression + Semantics</a> + </h6> +<pre class="programlisting"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">value_at_key</span><span class="special"><</span><span class="identifier">Seq</span><span class="special">,</span> <span class="identifier">Key</span><span class="special">>::</span><span class="identifier">type</span> +</pre> +<p> + <span class="bold"><strong>Return type</strong></span>: Any type. + </p> +<p> + <span class="bold"><strong>Semantics</strong></span>: Returns the actual element + type associated with key type <code class="computeroutput"><span class="identifier">Key</span></code> + in <code class="computeroutput"><span class="identifier">Seq</span></code>. + </p> +<h6> +<a name="fusion.sequence.intrinsic.metafunctions.value_at_key.h3"></a> + <span><a name="fusion.sequence.intrinsic.metafunctions.value_at_key.header"></a></span><a class="link" href="value_at_key.html#fusion.sequence.intrinsic.metafunctions.value_at_key.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">sequence</span><span class="special">/</span><span class="identifier">intrinsic</span><span class="special">/</span><span class="identifier">value_at_key</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">value_at_key</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h6> +<a name="fusion.sequence.intrinsic.metafunctions.value_at_key.h4"></a> + <span><a name="fusion.sequence.intrinsic.metafunctions.value_at_key.example"></a></span><a class="link" href="value_at_key.html#fusion.sequence.intrinsic.metafunctions.value_at_key.example">Example</a> + </h6> +<pre class="programlisting"><span class="keyword">typedef</span> <a class="link" href="../../../container/map.html" title="map"><code class="computeroutput"><span class="identifier">map</span></code></a><span class="special"><</span><a class="link" href="../../../support/pair.html" title="pair"><code class="computeroutput"><span class="identifier">pair</span></code></a><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">char</span><span class="special">>,</span> <a class="link" href="../../../support/pair.html" title="pair"><code class="computeroutput"><span class="identifier">pair</span></code></a><span class="special"><</span><span class="keyword">char</span><span class="special">,</span> <span class="keyword">char</span><span class="special">>,</span> <a class="link" href="../../../support/pair.html" title="pair"><code class="computeroutput"><span class="identifier">pair</span></code></a><span class="special"><</span><span class="keyword">double</span><span class="special">,</span> <span class="keyword">char</span><span class="special">></span> <span class="special">></span> <span class="identifier">mymap</span><span class="special">;</span> +<span class="identifier">BOOST_MPL_ASSERT</span><span class="special">((</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">is_same</span><span class="special"><</span><a class="link" href="at_key.html" title="at_key"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">at_key</span></code></a><span class="special"><</span><span class="identifier">mymap</span><span class="special">,</span> <span class="keyword">int</span><span class="special">>::</span><span class="identifier">type</span><span class="special">,</span> <span class="keyword">char</span><span class="special">>));</span> +</pre> +</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-2006, 2011 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="at_key.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="swap.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/sequence/operator.html b/libs/fusion/doc/html/fusion/sequence/operator.html new file mode 100755 index 0000000000..3798cb0e97 --- /dev/null +++ b/libs/fusion/doc/html/fusion/sequence/operator.html @@ -0,0 +1,53 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Operator</title> +<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../sequence.html" title="Sequence"> +<link rel="prev" href="intrinsic/metafunctions/swap.html" title="swap"> +<link rel="next" href="operator/i_o.html" title="I/O"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="intrinsic/metafunctions/swap.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../sequence.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator/i_o.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h3 class="title"> +<a name="fusion.sequence.operator"></a><a class="link" href="operator.html" title="Operator">Operator</a> +</h3></div></div></div> +<div class="toc"><dl> +<dt><span class="section"><a href="operator/i_o.html">I/O</a></span></dt> +<dt><span class="section"><a href="operator/comparison.html">Comparison</a></span></dt> +</dl></div> +<p> + These operators, like the <a class="link" href="../algorithm.html" title="Algorithm">Algorithms</a>, + work generically on all Fusion sequences. All conforming Fusion sequences + automatically get these operators for free. + </p> +</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-2006, 2011 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="intrinsic/metafunctions/swap.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../sequence.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator/i_o.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/sequence/operator/comparison.html b/libs/fusion/doc/html/fusion/sequence/operator/comparison.html new file mode 100755 index 0000000000..cea2902b04 --- /dev/null +++ b/libs/fusion/doc/html/fusion/sequence/operator/comparison.html @@ -0,0 +1,73 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Comparison</title> +<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../operator.html" title="Operator"> +<link rel="prev" href="i_o/out.html" title="out"> +<link rel="next" href="comparison/equal.html" title="equal"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="i_o/out.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../operator.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="comparison/equal.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h4 class="title"> +<a name="fusion.sequence.operator.comparison"></a><a class="link" href="comparison.html" title="Comparison">Comparison</a> +</h4></div></div></div> +<div class="toc"><dl> +<dt><span class="section"><a href="comparison/equal.html">equal</a></span></dt> +<dt><span class="section"><a href="comparison/not_equal.html">not + equal</a></span></dt> +<dt><span class="section"><a href="comparison/less_than.html">less + than</a></span></dt> +<dt><span class="section"><a href="comparison/less_than_equal.html">less + than equal</a></span></dt> +<dt><span class="section"><a href="comparison/greater_than.html">greater + than</a></span></dt> +<dt><span class="section"><a href="comparison/greater_than_equal.html">greater + than equal</a></span></dt> +</dl></div> +<p> + The Comparison operators: <code class="computeroutput"><span class="special">==</span></code>, + <code class="computeroutput"><span class="special">!=</span></code>, <code class="computeroutput"><span class="special"><</span></code>, + <code class="computeroutput"><span class="special"><=</span></code>, <code class="computeroutput"><span class="special">>=</span></code> + and <code class="computeroutput"><span class="special">>=</span></code> work generically + on all Fusion sequences. Comparison operators are "short- circuited": + elementary comparisons start from the first elements and are performed + only until the result is clear. + </p> +<h6> +<a name="fusion.sequence.operator.comparison.h0"></a> + <span><a name="fusion.sequence.operator.comparison.header"></a></span><a class="link" href="comparison.html#fusion.sequence.operator.comparison.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">sequence</span><span class="special">/</span><span class="identifier">comparison</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">comparison</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +</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-2006, 2011 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="i_o/out.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../operator.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="comparison/equal.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/sequence/operator/comparison/equal.html b/libs/fusion/doc/html/fusion/sequence/operator/comparison/equal.html new file mode 100755 index 0000000000..b4d5758aa9 --- /dev/null +++ b/libs/fusion/doc/html/fusion/sequence/operator/comparison/equal.html @@ -0,0 +1,154 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>equal</title> +<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../comparison.html" title="Comparison"> +<link rel="prev" href="../comparison.html" title="Comparison"> +<link rel="next" href="not_equal.html" title="not equal"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="../comparison.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../comparison.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="not_equal.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h5 class="title"> +<a name="fusion.sequence.operator.comparison.equal"></a><a class="link" href="equal.html" title="equal">equal</a> +</h5></div></div></div> +<h6> +<a name="fusion.sequence.operator.comparison.equal.h0"></a> + <span><a name="fusion.sequence.operator.comparison.equal.description"></a></span><a class="link" href="equal.html#fusion.sequence.operator.comparison.equal.description">Description</a> + </h6> +<p> + Compare two sequences for equality. + </p> +<h6> +<a name="fusion.sequence.operator.comparison.equal.h1"></a> + <span><a name="fusion.sequence.operator.comparison.equal.synopsis"></a></span><a class="link" href="equal.html#fusion.sequence.operator.comparison.equal.synopsis">Synopsis</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Seq1</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Seq2</span><span class="special">></span> +<span class="keyword">bool</span> +<span class="keyword">operator</span><span class="special">==(</span><span class="identifier">Seq1</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">Seq2</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">b</span><span class="special">);</span> +</pre> +<h6> +<a name="fusion.sequence.operator.comparison.equal.h2"></a> + <span><a name="fusion.sequence.operator.comparison.equal.parameters"></a></span><a class="link" href="equal.html#fusion.sequence.operator.comparison.equal.parameters">Parameters</a> + </h6> +<div class="informaltable"><table class="table"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Requirement + </p> + </th> +<th> + <p> + Description + </p> + </th> +</tr></thead> +<tbody><tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">a</span><span class="special">,</span> + <span class="identifier">b</span></code> + </p> + </td> +<td> + <p> + Instances of <a class="link" href="../../../sequence.html" title="Sequence">Sequence</a> + </p> + </td> +<td> + <p> + <a class="link" href="../../../sequence.html" title="Sequence">Sequence</a>(s) to compare + </p> + </td> +</tr></tbody> +</table></div> +<h6> +<a name="fusion.sequence.operator.comparison.equal.h3"></a> + <span><a name="fusion.sequence.operator.comparison.equal.expression_semantics"></a></span><a class="link" href="equal.html#fusion.sequence.operator.comparison.equal.expression_semantics">Expression + Semantics</a> + </h6> +<pre class="programlisting"><span class="identifier">a</span> <span class="special">==</span> <span class="identifier">b</span> +</pre> +<p> + <span class="bold"><strong>Return type</strong></span>: <code class="computeroutput"><span class="keyword">bool</span></code> + </p> +<p> + <span class="bold"><strong>Requirements</strong></span>: + </p> +<p> + For each element, <code class="computeroutput"><span class="identifier">e1</span></code>, + in sequence <code class="computeroutput"><span class="identifier">a</span></code>, and for + each element, <code class="computeroutput"><span class="identifier">e2</span></code>, in + sequence <code class="computeroutput"><span class="identifier">b</span></code>, <code class="computeroutput"><span class="identifier">a</span> <span class="special">==</span> <span class="identifier">b</span></code> is a valid expression returning a + type that is convertible to bool. + </p> +<p> + An attempt to compare two Sequences of different lengths results in a + compile time error. + </p> +<p> + <span class="bold"><strong>Semantics</strong></span>: + </p> +<p> + For each element, <code class="computeroutput"><span class="identifier">e1</span></code>, + in sequence <code class="computeroutput"><span class="identifier">a</span></code>, and for + each element, <code class="computeroutput"><span class="identifier">e2</span></code>, in + sequence <code class="computeroutput"><span class="identifier">b</span></code>, <code class="computeroutput"><span class="identifier">e1</span> <span class="special">==</span> <span class="identifier">e2</span></code> returns true. For any 2 zero length + __sequence__s, e and f, e == f returns true. + </p> +<h6> +<a name="fusion.sequence.operator.comparison.equal.h4"></a> + <span><a name="fusion.sequence.operator.comparison.equal.header"></a></span><a class="link" href="equal.html#fusion.sequence.operator.comparison.equal.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">sequence</span><span class="special">/</span><span class="identifier">comparison</span><span class="special">/</span><span class="identifier">equal_to</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">equal_to</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h6> +<a name="fusion.sequence.operator.comparison.equal.h5"></a> + <span><a name="fusion.sequence.operator.comparison.equal.example"></a></span><a class="link" href="equal.html#fusion.sequence.operator.comparison.equal.example">Example</a> + </h6> +<pre class="programlisting"><a class="link" href="../../../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">char</span><span class="special">></span> <span class="identifier">v1</span><span class="special">(</span><span class="number">5</span><span class="special">,</span> <span class="char">'a'</span><span class="special">);</span> +<a class="link" href="../../../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">char</span><span class="special">></span> <span class="identifier">v2</span><span class="special">(</span><span class="number">5</span><span class="special">,</span> <span class="char">'a'</span><span class="special">);</span> +<span class="identifier">assert</span><span class="special">(</span><span class="identifier">v1</span> <span class="special">==</span> <span class="identifier">v2</span><span class="special">);</span> +</pre> +</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-2006, 2011 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="../comparison.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../comparison.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="not_equal.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/sequence/operator/comparison/greater_than.html b/libs/fusion/doc/html/fusion/sequence/operator/comparison/greater_than.html new file mode 100755 index 0000000000..6036162d6e --- /dev/null +++ b/libs/fusion/doc/html/fusion/sequence/operator/comparison/greater_than.html @@ -0,0 +1,146 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>greater than</title> +<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../comparison.html" title="Comparison"> +<link rel="prev" href="less_than_equal.html" title="less than equal"> +<link rel="next" href="greater_than_equal.html" title="greater than equal"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="less_than_equal.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../comparison.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="greater_than_equal.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h5 class="title"> +<a name="fusion.sequence.operator.comparison.greater_than"></a><a class="link" href="greater_than.html" title="greater than">greater + than</a> +</h5></div></div></div> +<p> + Lexicographically compare two sequences. + </p> +<h6> +<a name="fusion.sequence.operator.comparison.greater_than.h0"></a> + <span><a name="fusion.sequence.operator.comparison.greater_than.synopsis"></a></span><a class="link" href="greater_than.html#fusion.sequence.operator.comparison.greater_than.synopsis">Synopsis</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Seq1</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Seq2</span><span class="special">></span> +<span class="keyword">bool</span> +<span class="keyword">operator</span><span class="special">>(</span><span class="identifier">Seq1</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">Seq2</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">b</span><span class="special">);</span> +</pre> +<h6> +<a name="fusion.sequence.operator.comparison.greater_than.h1"></a> + <span><a name="fusion.sequence.operator.comparison.greater_than.parameters"></a></span><a class="link" href="greater_than.html#fusion.sequence.operator.comparison.greater_than.parameters">Parameters</a> + </h6> +<div class="informaltable"><table class="table"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Requirement + </p> + </th> +<th> + <p> + Description + </p> + </th> +</tr></thead> +<tbody><tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">a</span><span class="special">,</span> + <span class="identifier">b</span></code> + </p> + </td> +<td> + <p> + Instances of <a class="link" href="../../../sequence.html" title="Sequence">Sequence</a> + </p> + </td> +<td> + <p> + <a class="link" href="../../../sequence.html" title="Sequence">Sequence</a>(s) to compare + </p> + </td> +</tr></tbody> +</table></div> +<h6> +<a name="fusion.sequence.operator.comparison.greater_than.h2"></a> + <span><a name="fusion.sequence.operator.comparison.greater_than.expression_semantics"></a></span><a class="link" href="greater_than.html#fusion.sequence.operator.comparison.greater_than.expression_semantics">Expression + Semantics</a> + </h6> +<pre class="programlisting"><span class="identifier">a</span> <span class="special">></span> <span class="identifier">b</span> +</pre> +<p> + <span class="bold"><strong>Return type</strong></span>: <code class="computeroutput"><span class="keyword">bool</span></code> + </p> +<p> + <span class="bold"><strong>Requirements</strong></span>: + </p> +<p> + For each element, <code class="computeroutput"><span class="identifier">e1</span></code>, + in sequence <code class="computeroutput"><span class="identifier">a</span></code>, and for + each element, <code class="computeroutput"><span class="identifier">e2</span></code>, in + sequence <code class="computeroutput"><span class="identifier">b</span></code>, <code class="computeroutput"><span class="identifier">a</span> <span class="special"><</span> <span class="identifier">b</span></code> is a valid expression returning a + type that is convertible to bool. + </p> +<p> + An attempt to compare two Sequences of different lengths results in a + compile time error. + </p> +<p> + <span class="bold"><strong>Semantics</strong></span>: Returns b < a. + </p> +<h6> +<a name="fusion.sequence.operator.comparison.greater_than.h3"></a> + <span><a name="fusion.sequence.operator.comparison.greater_than.header"></a></span><a class="link" href="greater_than.html#fusion.sequence.operator.comparison.greater_than.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">sequence</span><span class="special">/</span><span class="identifier">comparison</span><span class="special">/</span><span class="identifier">less_equal</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">less_equal</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h6> +<a name="fusion.sequence.operator.comparison.greater_than.h4"></a> + <span><a name="fusion.sequence.operator.comparison.greater_than.example"></a></span><a class="link" href="greater_than.html#fusion.sequence.operator.comparison.greater_than.example">Example</a> + </h6> +<pre class="programlisting"><a class="link" href="../../../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">float</span><span class="special">></span> <span class="identifier">v1</span><span class="special">(</span><span class="number">4</span><span class="special">,</span> <span class="number">3.3f</span><span class="special">);</span> +<a class="link" href="../../../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><</span><span class="keyword">short</span><span class="special">,</span> <span class="keyword">float</span><span class="special">></span> <span class="identifier">v2</span><span class="special">(</span><span class="number">5</span><span class="special">,</span> <span class="number">3.3f</span><span class="special">);</span> +<a class="link" href="../../../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><</span><span class="keyword">long</span><span class="special">,</span> <span class="keyword">double</span><span class="special">></span> <span class="identifier">v3</span><span class="special">(</span><span class="number">5</span><span class="special">,</span> <span class="number">4.4</span><span class="special">);</span> +<span class="identifier">assert</span><span class="special">(</span><span class="identifier">v2</span> <span class="special">></span> <span class="identifier">v1</span><span class="special">);</span> +<span class="identifier">assert</span><span class="special">(</span><span class="identifier">v3</span> <span class="special">></span> <span class="identifier">v2</span><span class="special">);</span> +</pre> +</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-2006, 2011 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="less_than_equal.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../comparison.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="greater_than_equal.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/sequence/operator/comparison/greater_than_equal.html b/libs/fusion/doc/html/fusion/sequence/operator/comparison/greater_than_equal.html new file mode 100755 index 0000000000..bb5a9ad070 --- /dev/null +++ b/libs/fusion/doc/html/fusion/sequence/operator/comparison/greater_than_equal.html @@ -0,0 +1,146 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>greater than equal</title> +<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../comparison.html" title="Comparison"> +<link rel="prev" href="greater_than.html" title="greater than"> +<link rel="next" href="../../../container.html" title="Container"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="greater_than.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../comparison.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../../../container.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h5 class="title"> +<a name="fusion.sequence.operator.comparison.greater_than_equal"></a><a class="link" href="greater_than_equal.html" title="greater than equal">greater + than equal</a> +</h5></div></div></div> +<p> + Lexicographically compare two sequences. + </p> +<h6> +<a name="fusion.sequence.operator.comparison.greater_than_equal.h0"></a> + <span><a name="fusion.sequence.operator.comparison.greater_than_equal.synopsis"></a></span><a class="link" href="greater_than_equal.html#fusion.sequence.operator.comparison.greater_than_equal.synopsis">Synopsis</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Seq1</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Seq2</span><span class="special">></span> +<span class="keyword">bool</span> +<span class="keyword">operator</span><span class="special">>=(</span><span class="identifier">Seq1</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">Seq2</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">b</span><span class="special">);</span> +</pre> +<h6> +<a name="fusion.sequence.operator.comparison.greater_than_equal.h1"></a> + <span><a name="fusion.sequence.operator.comparison.greater_than_equal.parameters"></a></span><a class="link" href="greater_than_equal.html#fusion.sequence.operator.comparison.greater_than_equal.parameters">Parameters</a> + </h6> +<div class="informaltable"><table class="table"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Requirement + </p> + </th> +<th> + <p> + Description + </p> + </th> +</tr></thead> +<tbody><tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">a</span><span class="special">,</span> + <span class="identifier">b</span></code> + </p> + </td> +<td> + <p> + Instances of <a class="link" href="../../../sequence.html" title="Sequence">Sequence</a> + </p> + </td> +<td> + <p> + <a class="link" href="../../../sequence.html" title="Sequence">Sequence</a>(s) to compare + </p> + </td> +</tr></tbody> +</table></div> +<h6> +<a name="fusion.sequence.operator.comparison.greater_than_equal.h2"></a> + <span><a name="fusion.sequence.operator.comparison.greater_than_equal.expression_semantics"></a></span><a class="link" href="greater_than_equal.html#fusion.sequence.operator.comparison.greater_than_equal.expression_semantics">Expression + Semantics</a> + </h6> +<pre class="programlisting"><span class="identifier">a</span> <span class="special">>=</span> <span class="identifier">b</span> +</pre> +<p> + <span class="bold"><strong>Return type</strong></span>: <code class="computeroutput"><span class="keyword">bool</span></code> + </p> +<p> + <span class="bold"><strong>Requirements</strong></span>: + </p> +<p> + For each element, <code class="computeroutput"><span class="identifier">e1</span></code>, + in sequence <code class="computeroutput"><span class="identifier">a</span></code>, and for + each element, <code class="computeroutput"><span class="identifier">e2</span></code>, in + sequence <code class="computeroutput"><span class="identifier">b</span></code>, <code class="computeroutput"><span class="identifier">a</span> <span class="special"><</span> <span class="identifier">b</span></code> is a valid expression returning a + type that is convertible to bool. + </p> +<p> + An attempt to compare two Sequences of different lengths results in a + compile time error. + </p> +<p> + <span class="bold"><strong>Semantics</strong></span>: Returns !(a < b). + </p> +<h6> +<a name="fusion.sequence.operator.comparison.greater_than_equal.h3"></a> + <span><a name="fusion.sequence.operator.comparison.greater_than_equal.header"></a></span><a class="link" href="greater_than_equal.html#fusion.sequence.operator.comparison.greater_than_equal.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">sequence</span><span class="special">/</span><span class="identifier">comparison</span><span class="special">/</span><span class="identifier">greater_equal</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">greater_equal</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h6> +<a name="fusion.sequence.operator.comparison.greater_than_equal.h4"></a> + <span><a name="fusion.sequence.operator.comparison.greater_than_equal.example"></a></span><a class="link" href="greater_than_equal.html#fusion.sequence.operator.comparison.greater_than_equal.example">Example</a> + </h6> +<pre class="programlisting"><a class="link" href="../../../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">float</span><span class="special">></span> <span class="identifier">v1</span><span class="special">(</span><span class="number">4</span><span class="special">,</span> <span class="number">3.3f</span><span class="special">);</span> +<a class="link" href="../../../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><</span><span class="keyword">short</span><span class="special">,</span> <span class="keyword">float</span><span class="special">></span> <span class="identifier">v2</span><span class="special">(</span><span class="number">5</span><span class="special">,</span> <span class="number">3.3f</span><span class="special">);</span> +<a class="link" href="../../../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><</span><span class="keyword">long</span><span class="special">,</span> <span class="keyword">double</span><span class="special">></span> <span class="identifier">v3</span><span class="special">(</span><span class="number">5</span><span class="special">,</span> <span class="number">4.4</span><span class="special">);</span> +<span class="identifier">assert</span><span class="special">(</span><span class="identifier">v2</span> <span class="special">>=</span> <span class="identifier">v1</span><span class="special">);</span> +<span class="identifier">assert</span><span class="special">(</span><span class="identifier">v3</span> <span class="special">>=</span> <span class="identifier">v2</span><span class="special">);</span> +</pre> +</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-2006, 2011 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="greater_than.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../comparison.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../../../container.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/sequence/operator/comparison/less_than.html b/libs/fusion/doc/html/fusion/sequence/operator/comparison/less_than.html new file mode 100755 index 0000000000..bc7a19e810 --- /dev/null +++ b/libs/fusion/doc/html/fusion/sequence/operator/comparison/less_than.html @@ -0,0 +1,148 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>less than</title> +<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../comparison.html" title="Comparison"> +<link rel="prev" href="not_equal.html" title="not equal"> +<link rel="next" href="less_than_equal.html" title="less than equal"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="not_equal.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../comparison.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="less_than_equal.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h5 class="title"> +<a name="fusion.sequence.operator.comparison.less_than"></a><a class="link" href="less_than.html" title="less than">less + than</a> +</h5></div></div></div> +<p> + Lexicographically compare two sequences. + </p> +<h6> +<a name="fusion.sequence.operator.comparison.less_than.h0"></a> + <span><a name="fusion.sequence.operator.comparison.less_than.synopsis"></a></span><a class="link" href="less_than.html#fusion.sequence.operator.comparison.less_than.synopsis">Synopsis</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Seq1</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Seq2</span><span class="special">></span> +<span class="keyword">bool</span> +<span class="keyword">operator</span><span class="special"><(</span><span class="identifier">Seq1</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">Seq2</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">b</span><span class="special">);</span> +</pre> +<h6> +<a name="fusion.sequence.operator.comparison.less_than.h1"></a> + <span><a name="fusion.sequence.operator.comparison.less_than.parameters"></a></span><a class="link" href="less_than.html#fusion.sequence.operator.comparison.less_than.parameters">Parameters</a> + </h6> +<div class="informaltable"><table class="table"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Requirement + </p> + </th> +<th> + <p> + Description + </p> + </th> +</tr></thead> +<tbody><tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">a</span><span class="special">,</span> + <span class="identifier">b</span></code> + </p> + </td> +<td> + <p> + Instances of <a class="link" href="../../../sequence.html" title="Sequence">Sequence</a> + </p> + </td> +<td> + <p> + <a class="link" href="../../../sequence.html" title="Sequence">Sequence</a>(s) to compare + </p> + </td> +</tr></tbody> +</table></div> +<h6> +<a name="fusion.sequence.operator.comparison.less_than.h2"></a> + <span><a name="fusion.sequence.operator.comparison.less_than.expression_semantics"></a></span><a class="link" href="less_than.html#fusion.sequence.operator.comparison.less_than.expression_semantics">Expression + Semantics</a> + </h6> +<pre class="programlisting"><span class="identifier">a</span> <span class="special"><</span> <span class="identifier">b</span> +</pre> +<p> + <span class="bold"><strong>Return type</strong></span>: <code class="computeroutput"><span class="keyword">bool</span></code> + </p> +<p> + <span class="bold"><strong>Requirements</strong></span>: + </p> +<p> + For each element, <code class="computeroutput"><span class="identifier">e1</span></code>, + in sequence <code class="computeroutput"><span class="identifier">a</span></code>, and for + each element, <code class="computeroutput"><span class="identifier">e2</span></code>, in + sequence <code class="computeroutput"><span class="identifier">b</span></code>, <code class="computeroutput"><span class="identifier">a</span> <span class="special"><</span> <span class="identifier">b</span></code> is a valid expression returning a + type that is convertible to bool. + </p> +<p> + An attempt to compare two Sequences of different lengths results in a + compile time error. + </p> +<p> + <span class="bold"><strong>Semantics</strong></span>: Returns the lexicographical + comparison of between <code class="computeroutput"><span class="identifier">a</span></code> + and <code class="computeroutput"><span class="identifier">b</span></code>. + </p> +<h6> +<a name="fusion.sequence.operator.comparison.less_than.h3"></a> + <span><a name="fusion.sequence.operator.comparison.less_than.header"></a></span><a class="link" href="less_than.html#fusion.sequence.operator.comparison.less_than.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">sequence</span><span class="special">/</span><span class="identifier">comparison</span><span class="special">/</span><span class="identifier">less</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">less</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h6> +<a name="fusion.sequence.operator.comparison.less_than.h4"></a> + <span><a name="fusion.sequence.operator.comparison.less_than.example"></a></span><a class="link" href="less_than.html#fusion.sequence.operator.comparison.less_than.example">Example</a> + </h6> +<pre class="programlisting"><a class="link" href="../../../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">float</span><span class="special">></span> <span class="identifier">v1</span><span class="special">(</span><span class="number">4</span><span class="special">,</span> <span class="number">3.3f</span><span class="special">);</span> +<a class="link" href="../../../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><</span><span class="keyword">short</span><span class="special">,</span> <span class="keyword">float</span><span class="special">></span> <span class="identifier">v2</span><span class="special">(</span><span class="number">5</span><span class="special">,</span> <span class="number">3.3f</span><span class="special">);</span> +<a class="link" href="../../../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><</span><span class="keyword">long</span><span class="special">,</span> <span class="keyword">double</span><span class="special">></span> <span class="identifier">v3</span><span class="special">(</span><span class="number">5</span><span class="special">,</span> <span class="number">4.4</span><span class="special">);</span> +<span class="identifier">assert</span><span class="special">(</span><span class="identifier">v1</span> <span class="special"><</span> <span class="identifier">v2</span><span class="special">);</span> +<span class="identifier">assert</span><span class="special">(</span><span class="identifier">v2</span> <span class="special"><</span> <span class="identifier">v3</span><span class="special">);</span> +</pre> +</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-2006, 2011 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="not_equal.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../comparison.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="less_than_equal.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/sequence/operator/comparison/less_than_equal.html b/libs/fusion/doc/html/fusion/sequence/operator/comparison/less_than_equal.html new file mode 100755 index 0000000000..c17097a3ff --- /dev/null +++ b/libs/fusion/doc/html/fusion/sequence/operator/comparison/less_than_equal.html @@ -0,0 +1,146 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>less than equal</title> +<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../comparison.html" title="Comparison"> +<link rel="prev" href="less_than.html" title="less than"> +<link rel="next" href="greater_than.html" title="greater than"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="less_than.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../comparison.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="greater_than.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h5 class="title"> +<a name="fusion.sequence.operator.comparison.less_than_equal"></a><a class="link" href="less_than_equal.html" title="less than equal">less + than equal</a> +</h5></div></div></div> +<p> + Lexicographically compare two sequences. + </p> +<h6> +<a name="fusion.sequence.operator.comparison.less_than_equal.h0"></a> + <span><a name="fusion.sequence.operator.comparison.less_than_equal.synopsis"></a></span><a class="link" href="less_than_equal.html#fusion.sequence.operator.comparison.less_than_equal.synopsis">Synopsis</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Seq1</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Seq2</span><span class="special">></span> +<span class="keyword">bool</span> +<span class="keyword">operator</span><span class="special"><=(</span><span class="identifier">Seq1</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">Seq2</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">b</span><span class="special">);</span> +</pre> +<h6> +<a name="fusion.sequence.operator.comparison.less_than_equal.h1"></a> + <span><a name="fusion.sequence.operator.comparison.less_than_equal.parameters"></a></span><a class="link" href="less_than_equal.html#fusion.sequence.operator.comparison.less_than_equal.parameters">Parameters</a> + </h6> +<div class="informaltable"><table class="table"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Requirement + </p> + </th> +<th> + <p> + Description + </p> + </th> +</tr></thead> +<tbody><tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">a</span><span class="special">,</span> + <span class="identifier">b</span></code> + </p> + </td> +<td> + <p> + Instances of <a class="link" href="../../../sequence.html" title="Sequence">Sequence</a> + </p> + </td> +<td> + <p> + <a class="link" href="../../../sequence.html" title="Sequence">Sequence</a>(s) to compare + </p> + </td> +</tr></tbody> +</table></div> +<h6> +<a name="fusion.sequence.operator.comparison.less_than_equal.h2"></a> + <span><a name="fusion.sequence.operator.comparison.less_than_equal.expression_semantics"></a></span><a class="link" href="less_than_equal.html#fusion.sequence.operator.comparison.less_than_equal.expression_semantics">Expression + Semantics</a> + </h6> +<pre class="programlisting"><span class="identifier">a</span> <span class="special"><=</span> <span class="identifier">b</span> +</pre> +<p> + <span class="bold"><strong>Return type</strong></span>: <code class="computeroutput"><span class="keyword">bool</span></code> + </p> +<p> + <span class="bold"><strong>Requirements</strong></span>: + </p> +<p> + For each element, <code class="computeroutput"><span class="identifier">e1</span></code>, + in sequence <code class="computeroutput"><span class="identifier">a</span></code>, and for + each element, <code class="computeroutput"><span class="identifier">e2</span></code>, in + sequence <code class="computeroutput"><span class="identifier">b</span></code>, <code class="computeroutput"><span class="identifier">a</span> <span class="special"><</span> <span class="identifier">b</span></code> is a valid expression returning a + type that is convertible to bool. + </p> +<p> + An attempt to compare two Sequences of different lengths results in a + compile time error. + </p> +<p> + <span class="bold"><strong>Semantics</strong></span>: Returns !(b < a). + </p> +<h6> +<a name="fusion.sequence.operator.comparison.less_than_equal.h3"></a> + <span><a name="fusion.sequence.operator.comparison.less_than_equal.header"></a></span><a class="link" href="less_than_equal.html#fusion.sequence.operator.comparison.less_than_equal.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">sequence</span><span class="special">/</span><span class="identifier">comparison</span><span class="special">/</span><span class="identifier">less_equal</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">less_equal</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h6> +<a name="fusion.sequence.operator.comparison.less_than_equal.h4"></a> + <span><a name="fusion.sequence.operator.comparison.less_than_equal.example"></a></span><a class="link" href="less_than_equal.html#fusion.sequence.operator.comparison.less_than_equal.example">Example</a> + </h6> +<pre class="programlisting"><a class="link" href="../../../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">float</span><span class="special">></span> <span class="identifier">v1</span><span class="special">(</span><span class="number">4</span><span class="special">,</span> <span class="number">3.3f</span><span class="special">);</span> +<a class="link" href="../../../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><</span><span class="keyword">short</span><span class="special">,</span> <span class="keyword">float</span><span class="special">></span> <span class="identifier">v2</span><span class="special">(</span><span class="number">5</span><span class="special">,</span> <span class="number">3.3f</span><span class="special">);</span> +<a class="link" href="../../../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><</span><span class="keyword">long</span><span class="special">,</span> <span class="keyword">double</span><span class="special">></span> <span class="identifier">v3</span><span class="special">(</span><span class="number">5</span><span class="special">,</span> <span class="number">4.4</span><span class="special">);</span> +<span class="identifier">assert</span><span class="special">(</span><span class="identifier">v1</span> <span class="special"><=</span> <span class="identifier">v2</span><span class="special">);</span> +<span class="identifier">assert</span><span class="special">(</span><span class="identifier">v2</span> <span class="special"><=</span> <span class="identifier">v3</span><span class="special">);</span> +</pre> +</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-2006, 2011 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="less_than.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../comparison.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="greater_than.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/sequence/operator/comparison/not_equal.html b/libs/fusion/doc/html/fusion/sequence/operator/comparison/not_equal.html new file mode 100755 index 0000000000..5e7e3cf035 --- /dev/null +++ b/libs/fusion/doc/html/fusion/sequence/operator/comparison/not_equal.html @@ -0,0 +1,149 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>not equal</title> +<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../comparison.html" title="Comparison"> +<link rel="prev" href="equal.html" title="equal"> +<link rel="next" href="less_than.html" title="less than"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="equal.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../comparison.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="less_than.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h5 class="title"> +<a name="fusion.sequence.operator.comparison.not_equal"></a><a class="link" href="not_equal.html" title="not equal">not + equal</a> +</h5></div></div></div> +<p> + Compare two sequences for inequality. + </p> +<h6> +<a name="fusion.sequence.operator.comparison.not_equal.h0"></a> + <span><a name="fusion.sequence.operator.comparison.not_equal.synopsis"></a></span><a class="link" href="not_equal.html#fusion.sequence.operator.comparison.not_equal.synopsis">Synopsis</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Seq1</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Seq2</span><span class="special">></span> +<span class="keyword">bool</span> +<span class="keyword">operator</span><span class="special">!=(</span><span class="identifier">Seq1</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">Seq2</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">b</span><span class="special">);</span> +</pre> +<h6> +<a name="fusion.sequence.operator.comparison.not_equal.h1"></a> + <span><a name="fusion.sequence.operator.comparison.not_equal.parameters"></a></span><a class="link" href="not_equal.html#fusion.sequence.operator.comparison.not_equal.parameters">Parameters</a> + </h6> +<div class="informaltable"><table class="table"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Requirement + </p> + </th> +<th> + <p> + Description + </p> + </th> +</tr></thead> +<tbody><tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">a</span><span class="special">,</span> + <span class="identifier">b</span></code> + </p> + </td> +<td> + <p> + Instances of <a class="link" href="../../../sequence.html" title="Sequence">Sequence</a> + </p> + </td> +<td> + <p> + <a class="link" href="../../../sequence.html" title="Sequence">Sequence</a>(s) to compare + </p> + </td> +</tr></tbody> +</table></div> +<h6> +<a name="fusion.sequence.operator.comparison.not_equal.h2"></a> + <span><a name="fusion.sequence.operator.comparison.not_equal.expression_semantics"></a></span><a class="link" href="not_equal.html#fusion.sequence.operator.comparison.not_equal.expression_semantics">Expression + Semantics</a> + </h6> +<pre class="programlisting"><span class="identifier">a</span> <span class="special">!=</span> <span class="identifier">b</span> +</pre> +<p> + <span class="bold"><strong>Return type</strong></span>: <code class="computeroutput"><span class="keyword">bool</span></code> + </p> +<p> + <span class="bold"><strong>Requirements</strong></span>: + </p> +<p> + For each element, <code class="computeroutput"><span class="identifier">e1</span></code>, + in sequence <code class="computeroutput"><span class="identifier">a</span></code>, and for + each element, <code class="computeroutput"><span class="identifier">e2</span></code>, in + sequence <code class="computeroutput"><span class="identifier">b</span></code>, <code class="computeroutput"><span class="identifier">a</span> <span class="special">==</span> <span class="identifier">b</span></code> is a valid expression returning a + type that is convertible to bool. + </p> +<p> + An attempt to compare two Sequences of different lengths results in a + compile time error. + </p> +<p> + <span class="bold"><strong>Semantics</strong></span>: + </p> +<p> + Returns !(a == b). + </p> +<h6> +<a name="fusion.sequence.operator.comparison.not_equal.h3"></a> + <span><a name="fusion.sequence.operator.comparison.not_equal.header"></a></span><a class="link" href="not_equal.html#fusion.sequence.operator.comparison.not_equal.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">sequence</span><span class="special">/</span><span class="identifier">comparison</span><span class="special">/</span><span class="identifier">not_equal_to</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">not_equal_to</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h6> +<a name="fusion.sequence.operator.comparison.not_equal.h4"></a> + <span><a name="fusion.sequence.operator.comparison.not_equal.example"></a></span><a class="link" href="not_equal.html#fusion.sequence.operator.comparison.not_equal.example">Example</a> + </h6> +<pre class="programlisting"><a class="link" href="../../../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">char</span><span class="special">></span> <span class="identifier">v3</span><span class="special">(</span><span class="number">5</span><span class="special">,</span> <span class="char">'b'</span><span class="special">);</span> +<a class="link" href="../../../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">char</span><span class="special">></span> <span class="identifier">t4</span><span class="special">(</span><span class="number">2</span><span class="special">,</span> <span class="char">'a'</span><span class="special">);</span> +<span class="identifier">assert</span><span class="special">(</span><span class="identifier">v1</span> <span class="special">!=</span> <span class="identifier">v3</span><span class="special">);</span> +<span class="identifier">assert</span><span class="special">(</span><span class="identifier">v1</span> <span class="special">!=</span> <span class="identifier">t4</span><span class="special">);</span> +<span class="identifier">assert</span><span class="special">(!(</span><span class="identifier">v1</span> <span class="special">!=</span> <span class="identifier">v2</span><span class="special">));</span> +</pre> +</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-2006, 2011 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="equal.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../comparison.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="less_than.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/sequence/operator/i_o.html b/libs/fusion/doc/html/fusion/sequence/operator/i_o.html new file mode 100755 index 0000000000..74f3c13647 --- /dev/null +++ b/libs/fusion/doc/html/fusion/sequence/operator/i_o.html @@ -0,0 +1,151 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>I/O</title> +<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../operator.html" title="Operator"> +<link rel="prev" href="../operator.html" title="Operator"> +<link rel="next" href="i_o/in.html" title="in"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="../operator.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../operator.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="i_o/in.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h4 class="title"> +<a name="fusion.sequence.operator.i_o"></a><a class="link" href="i_o.html" title="I/O">I/O</a> +</h4></div></div></div> +<div class="toc"><dl> +<dt><span class="section"><a href="i_o/in.html">in</a></span></dt> +<dt><span class="section"><a href="i_o/out.html">out</a></span></dt> +</dl></div> +<p> + The I/O operators: <code class="computeroutput"><span class="special"><<</span></code> + and <code class="computeroutput"><span class="special">>></span></code> work generically + on all Fusion sequences. The I/O operators are overloaded in namespace + <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">fusion</span></code> <sup>[<a name="fusion.sequence.operator.i_o.f0" href="#ftn.fusion.sequence.operator.i_o.f0" class="footnote">9</a>]</sup> + </p> +<p> + The <code class="computeroutput"><span class="keyword">operator</span><span class="special"><<</span></code> + has been overloaded for generic output streams such that <a class="link" href="../../sequence.html" title="Sequence">Sequence</a>(s) + are output by recursively calling <code class="computeroutput"><span class="keyword">operator</span><span class="special"><<</span></code> for each element. Analogously, + the global <code class="computeroutput"><span class="keyword">operator</span><span class="special">>></span></code> + has been overloaded to extract <a class="link" href="../../sequence.html" title="Sequence">Sequence</a>(s) + from generic input streams by recursively calling <code class="computeroutput"><span class="keyword">operator</span><span class="special">>></span></code> for each element. + </p> +<p> + The default delimiter between the elements is space, and the <a class="link" href="../../sequence.html" title="Sequence">Sequence</a> + is enclosed in parenthesis. For Example: + </p> +<pre class="programlisting"><a class="link" href="../../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><</span><span class="keyword">float</span><span class="special">,</span> <span class="keyword">int</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">></span> <span class="identifier">a</span><span class="special">(</span><span class="number">1.0f</span><span class="special">,</span> <span class="number">2</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">(</span><span class="string">"Howdy folks!"</span><span class="special">);</span> +<span class="identifier">cout</span> <span class="special"><<</span> <span class="identifier">a</span><span class="special">;</span> +</pre> +<p> + outputs the <a class="link" href="../../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a> + as: (1.0 2 Howdy folks!) + </p> +<p> + The library defines three manipulators for changing the default behavior: + </p> +<div class="variablelist"> +<p class="title"><b>Manipulators</b></p> +<dl> +<dt><span class="term"><code class="computeroutput"><span class="identifier">tuple_open</span><span class="special">(</span><span class="identifier">arg</span><span class="special">)</span></code></span></dt> +<dd><p> + Defines the character that is output before the first element. + </p></dd> +<dt><span class="term"><code class="computeroutput"><span class="identifier">tuple_close</span><span class="special">(</span><span class="identifier">arg</span><span class="special">)</span></code></span></dt> +<dd><p> + Defines the character that is output after the last element. + </p></dd> +<dt><span class="term"><code class="computeroutput"><span class="identifier">tuple_delimiter</span><span class="special">(</span><span class="identifier">arg</span><span class="special">)</span></code></span></dt> +<dd><p> + Defines the delimiter character between elements. + </p></dd> +</dl> +</div> +<p> + The argument to <code class="computeroutput"><span class="identifier">tuple_open</span></code>, + <code class="computeroutput"><span class="identifier">tuple_close</span></code> and <code class="computeroutput"><span class="identifier">tuple_delimiter</span></code> may be a <code class="computeroutput"><span class="keyword">char</span></code>, <code class="computeroutput"><span class="keyword">wchar_t</span></code>, + a C-string, or a wide C-string. + </p> +<p> + Example: + </p> +<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special"><<</span> <span class="identifier">tuple_open</span><span class="special">(</span><span class="char">'['</span><span class="special">)</span> <span class="special"><<</span> <span class="identifier">tuple_close</span><span class="special">(</span><span class="char">']'</span><span class="special">)</span> <span class="special"><<</span> <span class="identifier">tuple_delimiter</span><span class="special">(</span><span class="string">", "</span><span class="special">)</span> <span class="special"><<</span> <span class="identifier">a</span><span class="special">;</span> +</pre> +<p> + outputs the same <a class="link" href="../../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a>, <code class="computeroutput"><span class="identifier">a</span></code> + as: [1.0, 2, Howdy folks!] + </p> +<p> + The same manipulators work with <code class="computeroutput"><span class="keyword">operator</span><span class="special">>></span></code> and <code class="computeroutput"><span class="identifier">istream</span></code> + as well. Suppose the <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">cin</span></code> + stream contains the following data: + </p> +<pre class="programlisting"><span class="special">(</span><span class="number">1</span> <span class="number">2</span> <span class="number">3</span><span class="special">)</span> <span class="special">[</span><span class="number">4</span><span class="special">:</span><span class="number">5</span><span class="special">]</span> +</pre> +<p> + The code: + </p> +<pre class="programlisting"><a class="link" href="../../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">int</span><span class="special">,</span> <span class="keyword">int</span><span class="special">></span> <span class="identifier">i</span><span class="special">;</span> +<a class="link" href="../../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">int</span><span class="special">></span> <span class="identifier">j</span><span class="special">;</span> + +<span class="identifier">std</span><span class="special">::</span><span class="identifier">cin</span> <span class="special">>></span> <span class="identifier">i</span><span class="special">;</span> +<span class="identifier">std</span><span class="special">::</span><span class="identifier">cin</span> <span class="special">>></span> <span class="identifier">set_open</span><span class="special">(</span><span class="char">'['</span><span class="special">)</span> <span class="special">>></span> <span class="identifier">set_close</span><span class="special">(</span><span class="char">']'</span><span class="special">)</span> <span class="special">>></span> <span class="identifier">set_delimiter</span><span class="special">(</span><span class="char">':'</span><span class="special">);</span> +<span class="identifier">std</span><span class="special">::</span><span class="identifier">cin</span> <span class="special">>></span> <span class="identifier">j</span><span class="special">;</span> +</pre> +<p> + reads the data into the <a class="link" href="../../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a>(s) <code class="computeroutput"><span class="identifier">i</span></code> + and <code class="computeroutput"><span class="identifier">j</span></code>. + </p> +<p> + Note that extracting <a class="link" href="../../sequence.html" title="Sequence">Sequence</a>(s) + with <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span></code> or C-style string elements does + not generally work, since the streamed <a class="link" href="../../sequence.html" title="Sequence">Sequence</a> + representation may not be unambiguously parseable. + </p> +<h6> +<a name="fusion.sequence.operator.i_o.h0"></a> + <span><a name="fusion.sequence.operator.i_o.header"></a></span><a class="link" href="i_o.html#fusion.sequence.operator.i_o.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">sequence</span><span class="special">/</span><span class="identifier">io</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">io</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<div class="footnotes"> +<br><hr width="100" align="left"> +<div class="footnote"><p><sup>[<a id="ftn.fusion.sequence.operator.i_o.f0" href="#fusion.sequence.operator.i_o.f0" class="para">9</a>] </sup> + __sequences__ and <a class="link" href="../../view.html" title="View">Views</a> residing in + different namespaces will have to either provide their own I/O operators + (possibly forwarding to fusion's I/O operators) or hoist fusion's I/O + operators (using declaration), in their own namespaces for proper argument + dependent lookup. + </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-2006, 2011 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="../operator.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../operator.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="i_o/in.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/sequence/operator/i_o/in.html b/libs/fusion/doc/html/fusion/sequence/operator/i_o/in.html new file mode 100755 index 0000000000..c63a30ad88 --- /dev/null +++ b/libs/fusion/doc/html/fusion/sequence/operator/i_o/in.html @@ -0,0 +1,153 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>in</title> +<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../i_o.html" title="I/O"> +<link rel="prev" href="../i_o.html" title="I/O"> +<link rel="next" href="out.html" title="out"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="../i_o.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../i_o.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="out.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h5 class="title"> +<a name="fusion.sequence.operator.i_o.in"></a><a class="link" href="in.html" title="in">in</a> +</h5></div></div></div> +<h6> +<a name="fusion.sequence.operator.i_o.in.h0"></a> + <span><a name="fusion.sequence.operator.i_o.in.description"></a></span><a class="link" href="in.html#fusion.sequence.operator.i_o.in.description">Description</a> + </h6> +<p> + Read a <a class="link" href="../../../sequence.html" title="Sequence">Sequence</a> from an input + stream. + </p> +<h6> +<a name="fusion.sequence.operator.i_o.in.h1"></a> + <span><a name="fusion.sequence.operator.i_o.in.synopsis"></a></span><a class="link" href="in.html#fusion.sequence.operator.i_o.in.synopsis">Synopsis</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">IStream</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">></span> +<span class="identifier">IStream</span><span class="special">&</span> +<span class="keyword">operator</span><span class="special">>>(</span><span class="identifier">IStream</span><span class="special">&</span> <span class="identifier">is</span><span class="special">,</span> <span class="identifier">Sequence</span><span class="special">&</span> <span class="identifier">seq</span><span class="special">);</span> +</pre> +<h6> +<a name="fusion.sequence.operator.i_o.in.h2"></a> + <span><a name="fusion.sequence.operator.i_o.in.parameters"></a></span><a class="link" href="in.html#fusion.sequence.operator.i_o.in.parameters">Parameters</a> + </h6> +<div class="informaltable"><table class="table"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Requirement + </p> + </th> +<th> + <p> + Description + </p> + </th> +</tr></thead> +<tbody> +<tr> +<td> + <p> + is + </p> + </td> +<td> + <p> + An input stream. + </p> + </td> +<td> + <p> + Stream to extract information from. + </p> + </td> +</tr> +<tr> +<td> + <p> + seq + </p> + </td> +<td> + <p> + A <a class="link" href="../../../sequence.html" title="Sequence">Sequence</a>. + </p> + </td> +<td> + <p> + The sequence to read. + </p> + </td> +</tr> +</tbody> +</table></div> +<h6> +<a name="fusion.sequence.operator.i_o.in.h3"></a> + <span><a name="fusion.sequence.operator.i_o.in.expression_semantics"></a></span><a class="link" href="in.html#fusion.sequence.operator.i_o.in.expression_semantics">Expression + Semantics</a> + </h6> +<pre class="programlisting"><span class="identifier">is</span> <span class="special">>></span> <span class="identifier">seq</span> +</pre> +<p> + <span class="bold"><strong>Return type</strong></span>: IStream& + </p> +<p> + <span class="bold"><strong>Semantics</strong></span>: For each element, <code class="computeroutput"><span class="identifier">e</span></code>, in sequence, <code class="computeroutput"><span class="identifier">seq</span></code>, + call <code class="computeroutput"><span class="identifier">is</span> <span class="special">>></span> + <span class="identifier">e</span></code>. + </p> +<h6> +<a name="fusion.sequence.operator.i_o.in.h4"></a> + <span><a name="fusion.sequence.operator.i_o.in.header"></a></span><a class="link" href="in.html#fusion.sequence.operator.i_o.in.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">sequence</span><span class="special">/</span><span class="identifier">io</span><span class="special">/</span><span class="identifier">in</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">in</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h6> +<a name="fusion.sequence.operator.i_o.in.h5"></a> + <span><a name="fusion.sequence.operator.i_o.in.example"></a></span><a class="link" href="in.html#fusion.sequence.operator.i_o.in.example">Example</a> + </h6> +<pre class="programlisting"><a class="link" href="../../../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">,</span> <span class="keyword">char</span><span class="special">></span> <span class="identifier">v</span><span class="special">;</span> +<span class="identifier">std</span><span class="special">::</span><span class="identifier">cin</span> <span class="special">>></span> <span class="identifier">v</span><span class="special">;</span> +</pre> +</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-2006, 2011 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="../i_o.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../i_o.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="out.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/sequence/operator/i_o/out.html b/libs/fusion/doc/html/fusion/sequence/operator/i_o/out.html new file mode 100755 index 0000000000..374d9f537a --- /dev/null +++ b/libs/fusion/doc/html/fusion/sequence/operator/i_o/out.html @@ -0,0 +1,152 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>out</title> +<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../i_o.html" title="I/O"> +<link rel="prev" href="in.html" title="in"> +<link rel="next" href="../comparison.html" title="Comparison"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="in.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../i_o.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../comparison.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h5 class="title"> +<a name="fusion.sequence.operator.i_o.out"></a><a class="link" href="out.html" title="out">out</a> +</h5></div></div></div> +<h6> +<a name="fusion.sequence.operator.i_o.out.h0"></a> + <span><a name="fusion.sequence.operator.i_o.out.description"></a></span><a class="link" href="out.html#fusion.sequence.operator.i_o.out.description">Description</a> + </h6> +<p> + Write a <a class="link" href="../../../sequence.html" title="Sequence">Sequence</a> to an output + stream. + </p> +<h6> +<a name="fusion.sequence.operator.i_o.out.h1"></a> + <span><a name="fusion.sequence.operator.i_o.out.synopsis"></a></span><a class="link" href="out.html#fusion.sequence.operator.i_o.out.synopsis">Synopsis</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">OStream</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">></span> +<span class="identifier">OStream</span><span class="special">&</span> +<span class="keyword">operator</span><span class="special"><<(</span><span class="identifier">OStream</span><span class="special">&</span> <span class="identifier">os</span><span class="special">,</span> <span class="identifier">Sequence</span><span class="special">&</span> <span class="identifier">seq</span><span class="special">);</span> +</pre> +<h6> +<a name="fusion.sequence.operator.i_o.out.h2"></a> + <span><a name="fusion.sequence.operator.i_o.out.parameters"></a></span><a class="link" href="out.html#fusion.sequence.operator.i_o.out.parameters">Parameters</a> + </h6> +<div class="informaltable"><table class="table"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Requirement + </p> + </th> +<th> + <p> + Description + </p> + </th> +</tr></thead> +<tbody> +<tr> +<td> + <p> + os + </p> + </td> +<td> + <p> + An output stream. + </p> + </td> +<td> + <p> + Stream to write information to. + </p> + </td> +</tr> +<tr> +<td> + <p> + seq + </p> + </td> +<td> + <p> + A <a class="link" href="../../../sequence.html" title="Sequence">Sequence</a>. + </p> + </td> +<td> + <p> + The sequence to write. + </p> + </td> +</tr> +</tbody> +</table></div> +<h6> +<a name="fusion.sequence.operator.i_o.out.h3"></a> + <span><a name="fusion.sequence.operator.i_o.out.expression_semantics"></a></span><a class="link" href="out.html#fusion.sequence.operator.i_o.out.expression_semantics">Expression + Semantics</a> + </h6> +<pre class="programlisting"><span class="identifier">os</span> <span class="special"><<</span> <span class="identifier">seq</span> +</pre> +<p> + <span class="bold"><strong>Return type</strong></span>: OStream& + </p> +<p> + <span class="bold"><strong>Semantics</strong></span>: For each element, <code class="computeroutput"><span class="identifier">e</span></code>, in sequence, <code class="computeroutput"><span class="identifier">seq</span></code>, + call <code class="computeroutput"><span class="identifier">os</span> <span class="special"><<</span> + <span class="identifier">e</span></code>. + </p> +<h6> +<a name="fusion.sequence.operator.i_o.out.h4"></a> + <span><a name="fusion.sequence.operator.i_o.out.header"></a></span><a class="link" href="out.html#fusion.sequence.operator.i_o.out.header">Header</a> + </h6> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">sequence</span><span class="special">/</span><span class="identifier">io</span><span class="special">/</span><span class="identifier">out</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">out</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h6> +<a name="fusion.sequence.operator.i_o.out.h5"></a> + <span><a name="fusion.sequence.operator.i_o.out.example"></a></span><a class="link" href="out.html#fusion.sequence.operator.i_o.out.example">Example</a> + </h6> +<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special"><<</span> <a class="link" href="../../../container/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></a><span class="special">(</span><span class="number">123</span><span class="special">,</span> <span class="string">"Hello"</span><span class="special">,</span> <span class="char">'x'</span><span class="special">)</span> <span class="special"><<</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span> +</pre> +</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-2006, 2011 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="in.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../i_o.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../comparison.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/support.html b/libs/fusion/doc/html/fusion/support.html new file mode 100755 index 0000000000..374daa2e2e --- /dev/null +++ b/libs/fusion/doc/html/fusion/support.html @@ -0,0 +1,56 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Support</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="prev" href="organization.html" title="Organization"> +<link rel="next" href="support/is_sequence.html" title="is_sequence"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="organization.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="support/is_sequence.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h2 class="title" style="clear: both"> +<a name="fusion.support"></a><a class="link" href="support.html" title="Support">Support</a> +</h2></div></div></div> +<div class="toc"><dl> +<dt><span class="section"><a href="support/is_sequence.html">is_sequence</a></span></dt> +<dt><span class="section"><a href="support/is_view.html">is_view</a></span></dt> +<dt><span class="section"><a href="support/tag_of.html">tag_of</a></span></dt> +<dt><span class="section"><a href="support/category_of.html">category_of</a></span></dt> +<dt><span class="section"><a href="support/deduce.html">deduce</a></span></dt> +<dt><span class="section"><a href="support/deduce_sequence.html">deduce_sequence</a></span></dt> +<dt><span class="section"><a href="support/pair.html">pair</a></span></dt> +</dl></div> +<p> + A couple of classes and metafunctions provide basic support for Fusion. + </p> +</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-2006, 2011 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="organization.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="support/is_sequence.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/support/category_of.html b/libs/fusion/doc/html/fusion/support/category_of.html new file mode 100755 index 0000000000..df8bed648c --- /dev/null +++ b/libs/fusion/doc/html/fusion/support/category_of.html @@ -0,0 +1,171 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>category_of</title> +<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../support.html" title="Support"> +<link rel="prev" href="tag_of.html" title="tag_of"> +<link rel="next" href="deduce.html" title="deduce"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="tag_of.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../support.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="deduce.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h3 class="title"> +<a name="fusion.support.category_of"></a><a class="link" href="category_of.html" title="category_of">category_of</a> +</h3></div></div></div> +<h5> +<a name="fusion.support.category_of.h0"></a> + <span><a name="fusion.support.category_of.description"></a></span><a class="link" href="category_of.html#fusion.support.category_of.description">Description</a> + </h5> +<p> + A metafunction that establishes the conceptual classification of a particular + <a class="link" href="../sequence.html" title="Sequence">Sequence</a> or <a class="link" href="../iterator.html" title="Iterator">Iterator</a> + (see <a class="link" href="../iterator/concepts.html" title="Concepts">Iterator Concepts</a> and + <a class="link" href="../sequence/concepts.html" title="Concepts">Sequence Concepts</a>). + </p> +<h5> +<a name="fusion.support.category_of.h1"></a> + <span><a name="fusion.support.category_of.synopsis"></a></span><a class="link" href="category_of.html#fusion.support.category_of.synopsis">Synopsis</a> + </h5> +<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">traits</span> +<span class="special">{</span> + <span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">></span> + <span class="keyword">struct</span> <span class="identifier">category_of</span> + <span class="special">{</span> + <span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">type</span><span class="special">;</span> + <span class="special">};</span> +<span class="special">}</span> +</pre> +<h5> +<a name="fusion.support.category_of.h2"></a> + <span><a name="fusion.support.category_of.parameters"></a></span><a class="link" href="category_of.html#fusion.support.category_of.parameters">Parameters</a> + </h5> +<div class="informaltable"><table class="table"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Requirement + </p> + </th> +<th> + <p> + Description + </p> + </th> +</tr></thead> +<tbody><tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">T</span></code> + </p> + </td> +<td> + <p> + Any type + </p> + </td> +<td> + <p> + The type to query. + </p> + </td> +</tr></tbody> +</table></div> +<h5> +<a name="fusion.support.category_of.h3"></a> + <span><a name="fusion.support.category_of.expression_semantics"></a></span><a class="link" href="category_of.html#fusion.support.category_of.expression_semantics">Expression + Semantics</a> + </h5> +<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">category_of</span><span class="special"><</span><span class="identifier">T</span><span class="special">>::</span><span class="identifier">type</span> <span class="identifier">category</span><span class="special">;</span> +</pre> +<p> + <span class="bold"><strong>Return type</strong></span>: + </p> +<p> + The return type is derived from one of: + </p> +<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">fusion</span> +<span class="special">{</span> + <span class="keyword">struct</span> <span class="identifier">incrementable_traversal_tag</span> <span class="special">{};</span> + + <span class="keyword">struct</span> <span class="identifier">single_pass_traversal_tag</span> + <span class="special">:</span> <span class="identifier">incrementable_traversal_tag</span> <span class="special">{};</span> + + <span class="keyword">struct</span> <span class="identifier">forward_traversal_tag</span> + <span class="special">:</span> <span class="identifier">single_pass_traversal_tag</span> <span class="special">{};</span> + + <span class="keyword">struct</span> <span class="identifier">bidirectional_traversal_tag</span> + <span class="special">:</span> <span class="identifier">forward_traversal_tag</span> <span class="special">{};</span> + + <span class="keyword">struct</span> <span class="identifier">random_access_traversal_tag</span> + <span class="special">:</span> <span class="identifier">bidirectional_traversal_tag</span> <span class="special">{};</span> +<span class="special">}}</span> +</pre> +<p> + And optionally from: + </p> +<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">fusion</span> +<span class="special">{</span> + <span class="keyword">struct</span> <span class="identifier">associative_tag</span> <span class="special">{};</span> +<span class="special">}}</span> +</pre> +<p> + <span class="bold"><strong>Semantics</strong></span>: Establishes the conceptual classification + of a particular <a class="link" href="../sequence.html" title="Sequence">Sequence</a> or <a class="link" href="../iterator.html" title="Iterator">Iterator</a>. + </p> +<h5> +<a name="fusion.support.category_of.h4"></a> + <span><a name="fusion.support.category_of.header"></a></span><a class="link" href="category_of.html#fusion.support.category_of.header">Header</a> + </h5> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">support</span><span class="special">/</span><span class="identifier">category_of</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">category_of</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h5> +<a name="fusion.support.category_of.h5"></a> + <span><a name="fusion.support.category_of.example"></a></span><a class="link" href="category_of.html#fusion.support.category_of.example">Example</a> + </h5> +<pre class="programlisting"><span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">is_base_of</span><span class="special">;</span> +<span class="keyword">typedef</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">category_of</span><span class="special"><</span><a class="link" href="../container/list.html" title="list"><code class="computeroutput"><span class="identifier">list</span></code></a><span class="special"><></span> <span class="special">>::</span><span class="identifier">type</span> <span class="identifier">list_category</span><span class="special">;</span> +<span class="keyword">typedef</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">category_of</span><span class="special"><</span><a class="link" href="../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><></span> <span class="special">>::</span><span class="identifier">type</span> <span class="identifier">vector_category</span><span class="special">;</span> +<span class="identifier">BOOST_MPL_ASSERT</span><span class="special">((</span> <span class="identifier">is_base_of</span><span class="special"><</span><span class="identifier">forward_traversal_tag</span><span class="special">,</span> <span class="identifier">list_category</span><span class="special">></span> <span class="special">));</span> +<span class="identifier">BOOST_MPL_ASSERT</span><span class="special">((</span> <span class="identifier">is_base_of</span><span class="special"><</span><span class="identifier">random_access_traversal_tag</span><span class="special">,</span> <span class="identifier">vector_category</span><span class="special">></span> <span class="special">));</span> +</pre> +</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-2006, 2011 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="tag_of.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../support.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="deduce.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/support/deduce.html b/libs/fusion/doc/html/fusion/support/deduce.html new file mode 100755 index 0000000000..81f16af8ff --- /dev/null +++ b/libs/fusion/doc/html/fusion/support/deduce.html @@ -0,0 +1,105 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>deduce</title> +<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../support.html" title="Support"> +<link rel="prev" href="category_of.html" title="category_of"> +<link rel="next" href="deduce_sequence.html" title="deduce_sequence"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="category_of.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../support.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="deduce_sequence.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h3 class="title"> +<a name="fusion.support.deduce"></a><a class="link" href="deduce.html" title="deduce">deduce</a> +</h3></div></div></div> +<h5> +<a name="fusion.support.deduce.h0"></a> + <span><a name="fusion.support.deduce.description"></a></span><a class="link" href="deduce.html#fusion.support.deduce.description">Description</a> + </h5> +<p> + Metafunction to apply <a class="link" href="../notes.html#fusion.notes.element_conversion"><span class="emphasis"><em>element + conversion</em></span></a> to the full argument type. + </p> +<p> + It removes references to <code class="computeroutput"><span class="keyword">const</span></code>, + references to array types are kept, even if the array is <code class="computeroutput"><span class="keyword">const</span></code>. + Reference wrappers are removed (see <a class="link" href="../notes.html#fusion.notes.boost__ref"><code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">ref</span></code></a>). + </p> +<h5> +<a name="fusion.support.deduce.h1"></a> + <span><a name="fusion.support.deduce.header"></a></span><a class="link" href="deduce.html#fusion.support.deduce.header">Header</a> + </h5> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">support</span><span class="special">/</span><span class="identifier">deduce</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">deduce</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h5> +<a name="fusion.support.deduce.h2"></a> + <span><a name="fusion.support.deduce.synopsis"></a></span><a class="link" href="deduce.html#fusion.support.deduce.synopsis">Synopsis</a> + </h5> +<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">traits</span> +<span class="special">{</span> + <span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">></span> + <span class="keyword">struct</span> <span class="identifier">deduce</span> + <span class="special">{</span> + <span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">type</span><span class="special">;</span> + <span class="special">};</span> +<span class="special">}</span> +</pre> +<h5> +<a name="fusion.support.deduce.h3"></a> + <span><a name="fusion.support.deduce.example"></a></span><a class="link" href="deduce.html#fusion.support.deduce.example">Example</a> + </h5> +<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">></span> +<span class="keyword">struct</span> <span class="identifier">holder</span> +<span class="special">{</span> + <span class="keyword">typename</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">deduce</span><span class="special"><</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&>::</span><span class="identifier">type</span> <span class="identifier">element</span><span class="special">;</span> + + <span class="identifier">holder</span><span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">a</span><span class="special">)</span> + <span class="special">:</span> <span class="identifier">element</span><span class="special">(</span><span class="identifier">a</span><span class="special">)</span> + <span class="special">{</span> <span class="special">}</span> +<span class="special">};</span> + +<span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">></span> +<span class="identifier">holder</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="identifier">make_holder</span><span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">a</span><span class="special">)</span> +<span class="special">{</span> + <span class="keyword">return</span> <span class="identifier">holder</span><span class="special"><</span><span class="identifier">T</span><span class="special">>(</span><span class="identifier">a</span><span class="special">);</span> +<span class="special">}</span> +</pre> +<h5> +<a name="fusion.support.deduce.h4"></a> + <span><a name="fusion.support.deduce.see_also"></a></span><a class="link" href="deduce.html#fusion.support.deduce.see_also">See + also</a> + </h5> +<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"> + <a class="link" href="deduce_sequence.html" title="deduce_sequence"><code class="computeroutput"><span class="identifier">deduce_sequence</span></code></a> + </li></ul></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-2006, 2011 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="category_of.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../support.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="deduce_sequence.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/support/deduce_sequence.html b/libs/fusion/doc/html/fusion/support/deduce_sequence.html new file mode 100755 index 0000000000..3a7d573ead --- /dev/null +++ b/libs/fusion/doc/html/fusion/support/deduce_sequence.html @@ -0,0 +1,105 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>deduce_sequence</title> +<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../support.html" title="Support"> +<link rel="prev" href="deduce.html" title="deduce"> +<link rel="next" href="pair.html" title="pair"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="deduce.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../support.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="pair.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h3 class="title"> +<a name="fusion.support.deduce_sequence"></a><a class="link" href="deduce_sequence.html" title="deduce_sequence">deduce_sequence</a> +</h3></div></div></div> +<h5> +<a name="fusion.support.deduce_sequence.h0"></a> + <span><a name="fusion.support.deduce_sequence.description"></a></span><a class="link" href="deduce_sequence.html#fusion.support.deduce_sequence.description">Description</a> + </h5> +<p> + Applies <a class="link" href="../notes.html#fusion.notes.element_conversion"><span class="emphasis"><em>element + conversion</em></span></a> to each element in a <a class="link" href="../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a>. The resulting type is a <a class="link" href="../sequence/concepts/random_access_sequence.html" title="Random Access Sequence">Random + Access Sequence</a> that provides a converting constructor accepting the + original type as its argument. + </p> +<h5> +<a name="fusion.support.deduce_sequence.h1"></a> + <span><a name="fusion.support.deduce_sequence.header"></a></span><a class="link" href="deduce_sequence.html#fusion.support.deduce_sequence.header">Header</a> + </h5> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">support</span><span class="special">/</span><span class="identifier">deduce_sequence</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">deduce_sequence</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h5> +<a name="fusion.support.deduce_sequence.h2"></a> + <span><a name="fusion.support.deduce_sequence.synopsis"></a></span><a class="link" href="deduce_sequence.html#fusion.support.deduce_sequence.synopsis">Synopsis</a> + </h5> +<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">traits</span> +<span class="special">{</span> + <span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">Sequence</span><span class="special">></span> + <span class="keyword">struct</span> <span class="identifier">deduce_sequence</span> + <span class="special">{</span> + <span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">type</span><span class="special">;</span> + <span class="special">};</span> +<span class="special">}</span> +</pre> +<h5> +<a name="fusion.support.deduce_sequence.h3"></a> + <span><a name="fusion.support.deduce_sequence.example"></a></span><a class="link" href="deduce_sequence.html#fusion.support.deduce_sequence.example">Example</a> + </h5> +<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">Seq</span><span class="special">></span> +<span class="keyword">struct</span> <span class="identifier">holder</span> +<span class="special">{</span> + <span class="keyword">typename</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">deduce_sequence</span><span class="special"><</span><span class="identifier">Seq</span><span class="special">>::</span><span class="identifier">type</span> <span class="identifier">element</span><span class="special">;</span> + + <span class="identifier">holder</span><span class="special">(</span><span class="identifier">Seq</span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">a</span><span class="special">)</span> + <span class="special">:</span> <span class="identifier">element</span><span class="special">(</span><span class="identifier">a</span><span class="special">)</span> + <span class="special">{</span> <span class="special">}</span> +<span class="special">};</span> + +<span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">T0</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T1</span><span class="special">></span> +<span class="identifier">holder</span><span class="special"><</span> <a class="link" href="../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><</span><span class="identifier">T0</span> <span class="keyword">const</span> <span class="special">&,</span> <span class="identifier">T1</span> <span class="keyword">const</span> <span class="special">&></span> <span class="special">></span> +<span class="identifier">make_holder</span><span class="special">(</span><span class="identifier">T0</span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">a0</span><span class="special">,</span> <span class="identifier">T1</span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">a1</span><span class="special">)</span> +<span class="special">{</span> + <span class="keyword">typedef</span> <a class="link" href="../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><</span><span class="identifier">T0</span> <span class="keyword">const</span> <span class="special">&,</span> <span class="identifier">T1</span> <span class="keyword">const</span> <span class="special">&></span> <span class="identifier">arg_vec_t</span><span class="special">;</span> + <span class="keyword">return</span> <span class="identifier">holder</span><span class="special"><</span><span class="identifier">arg_vec_t</span><span class="special">>(</span> <span class="identifier">arg_vec_t</span><span class="special">(</span><span class="identifier">a0</span><span class="special">,</span><span class="identifier">a1</span><span class="special">)</span> <span class="special">);</span> +<span class="special">}</span> +</pre> +<h5> +<a name="fusion.support.deduce_sequence.h4"></a> + <span><a name="fusion.support.deduce_sequence.see_also"></a></span><a class="link" href="deduce_sequence.html#fusion.support.deduce_sequence.see_also">See + also</a> + </h5> +<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"> + <a class="link" href="deduce.html" title="deduce"><code class="computeroutput"><span class="identifier">deduce</span></code></a> + </li></ul></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-2006, 2011 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="deduce.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../support.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="pair.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/support/is_sequence.html b/libs/fusion/doc/html/fusion/support/is_sequence.html new file mode 100755 index 0000000000..53dab35bb7 --- /dev/null +++ b/libs/fusion/doc/html/fusion/support/is_sequence.html @@ -0,0 +1,148 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>is_sequence</title> +<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../support.html" title="Support"> +<link rel="prev" href="../support.html" title="Support"> +<link rel="next" href="is_view.html" title="is_view"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="../support.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../support.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_view.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h3 class="title"> +<a name="fusion.support.is_sequence"></a><a class="link" href="is_sequence.html" title="is_sequence">is_sequence</a> +</h3></div></div></div> +<h5> +<a name="fusion.support.is_sequence.h0"></a> + <span><a name="fusion.support.is_sequence.description"></a></span><a class="link" href="is_sequence.html#fusion.support.is_sequence.description">Description</a> + </h5> +<p> + Metafunction that evaluates to <code class="computeroutput"><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">true_</span></code> + if a certain type <code class="computeroutput"><span class="identifier">T</span></code> is a + conforming Fusion <a class="link" href="../sequence.html" title="Sequence">Sequence</a>, <code class="computeroutput"><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">false_</span></code> + otherwise. This may be specialized to accomodate clients which provide Fusion + conforming sequences. + </p> +<h5> +<a name="fusion.support.is_sequence.h1"></a> + <span><a name="fusion.support.is_sequence.synopsis"></a></span><a class="link" href="is_sequence.html#fusion.support.is_sequence.synopsis">Synopsis</a> + </h5> +<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">traits</span> +<span class="special">{</span> + <span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">></span> + <span class="keyword">struct</span> <span class="identifier">is_sequence</span> + <span class="special">{</span> + <span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">type</span><span class="special">;</span> + <span class="special">};</span> +<span class="special">}</span> +</pre> +<h5> +<a name="fusion.support.is_sequence.h2"></a> + <span><a name="fusion.support.is_sequence.parameters"></a></span><a class="link" href="is_sequence.html#fusion.support.is_sequence.parameters">Parameters</a> + </h5> +<div class="informaltable"><table class="table"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Requirement + </p> + </th> +<th> + <p> + Description + </p> + </th> +</tr></thead> +<tbody><tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">T</span></code> + </p> + </td> +<td> + <p> + Any type + </p> + </td> +<td> + <p> + The type to query. + </p> + </td> +</tr></tbody> +</table></div> +<h5> +<a name="fusion.support.is_sequence.h3"></a> + <span><a name="fusion.support.is_sequence.expression_semantics"></a></span><a class="link" href="is_sequence.html#fusion.support.is_sequence.expression_semantics">Expression + Semantics</a> + </h5> +<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">is_sequence</span><span class="special"><</span><span class="identifier">T</span><span class="special">>::</span><span class="identifier">type</span> <span class="identifier">c</span><span class="special">;</span> +</pre> +<p> + <span class="bold"><strong>Return type</strong></span>: An <a href="http://www.boost.org/libs/mpl/doc/refmanual/integral-constant.html" target="_top">MPL + Boolean Constant</a>. + </p> +<p> + <span class="bold"><strong>Semantics</strong></span>: Metafunction that evaluates to + <code class="computeroutput"><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">true_</span></code> if a certain type <code class="computeroutput"><span class="identifier">T</span></code> + is a conforming Fusion sequence, <code class="computeroutput"><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">false_</span></code> + otherwise. + </p> +<h5> +<a name="fusion.support.is_sequence.h4"></a> + <span><a name="fusion.support.is_sequence.header"></a></span><a class="link" href="is_sequence.html#fusion.support.is_sequence.header">Header</a> + </h5> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">support</span><span class="special">/</span><span class="identifier">is_sequence</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">is_sequence</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h5> +<a name="fusion.support.is_sequence.h5"></a> + <span><a name="fusion.support.is_sequence.example"></a></span><a class="link" href="is_sequence.html#fusion.support.is_sequence.example">Example</a> + </h5> +<pre class="programlisting"><span class="identifier">BOOST_MPL_ASSERT_NOT</span><span class="special">((</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">is_sequence</span><span class="special"><</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span><span class="special"><</span><span class="keyword">int</span><span class="special">></span> <span class="special">></span> <span class="special">));</span> +<span class="identifier">BOOST_MPL_ASSERT_NOT</span><span class="special">((</span> <span class="identifier">is_sequence</span><span class="special"><</span> <span class="keyword">int</span> <span class="special">></span> <span class="special">));</span> +<span class="identifier">BOOST_MPL_ASSERT</span><span class="special">((</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">is_sequence</span><span class="special"><</span><a class="link" href="../container/list.html" title="list"><code class="computeroutput"><span class="identifier">list</span></code></a><span class="special"><></span> <span class="special">></span> <span class="special">));</span> +<span class="identifier">BOOST_MPL_ASSERT</span><span class="special">((</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">is_sequence</span><span class="special"><</span><a class="link" href="../container/list.html" title="list"><code class="computeroutput"><span class="identifier">list</span></code></a><span class="special"><</span><span class="keyword">int</span><span class="special">></span> <span class="special">></span> <span class="special">));</span> +<span class="identifier">BOOST_MPL_ASSERT</span><span class="special">((</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">is_sequence</span><span class="special"><</span><a class="link" href="../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><></span> <span class="special">></span> <span class="special">));</span> +<span class="identifier">BOOST_MPL_ASSERT</span><span class="special">((</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">is_sequence</span><span class="special"><</span><a class="link" href="../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><</span><span class="keyword">int</span><span class="special">></span> <span class="special">></span> <span class="special">));</span> +</pre> +</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-2006, 2011 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="../support.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../support.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_view.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/support/is_view.html b/libs/fusion/doc/html/fusion/support/is_view.html new file mode 100755 index 0000000000..57d2eca0d4 --- /dev/null +++ b/libs/fusion/doc/html/fusion/support/is_view.html @@ -0,0 +1,153 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>is_view</title> +<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../support.html" title="Support"> +<link rel="prev" href="is_sequence.html" title="is_sequence"> +<link rel="next" href="tag_of.html" title="tag_of"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="is_sequence.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../support.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="tag_of.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h3 class="title"> +<a name="fusion.support.is_view"></a><a class="link" href="is_view.html" title="is_view">is_view</a> +</h3></div></div></div> +<h5> +<a name="fusion.support.is_view.h0"></a> + <span><a name="fusion.support.is_view.description"></a></span><a class="link" href="is_view.html#fusion.support.is_view.description">Description</a> + </h5> +<p> + Metafunction that evaluates to <code class="computeroutput"><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">true_</span></code> + if a certain type <code class="computeroutput"><span class="identifier">T</span></code> is a + conforming Fusion <a class="link" href="../view.html" title="View">View</a>, <code class="computeroutput"><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">false_</span></code> + otherwise. A view is a specialized sequence that does not actually contain + data. Views hold sequences which may be other views. In general, views are + held by other views by value, while non-views are held by other views by + reference. <code class="computeroutput"><span class="identifier">is_view</span></code> may be + specialized to accomodate clients providing Fusion conforming views. + </p> +<h5> +<a name="fusion.support.is_view.h1"></a> + <span><a name="fusion.support.is_view.synopsis"></a></span><a class="link" href="is_view.html#fusion.support.is_view.synopsis">Synopsis</a> + </h5> +<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">traits</span> +<span class="special">{</span> + <span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">></span> + <span class="keyword">struct</span> <span class="identifier">is_view</span> + <span class="special">{</span> + <span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">type</span><span class="special">;</span> + <span class="special">};</span> +<span class="special">}</span> +</pre> +<h5> +<a name="fusion.support.is_view.h2"></a> + <span><a name="fusion.support.is_view.parameters"></a></span><a class="link" href="is_view.html#fusion.support.is_view.parameters">Parameters</a> + </h5> +<div class="informaltable"><table class="table"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Requirement + </p> + </th> +<th> + <p> + Description + </p> + </th> +</tr></thead> +<tbody><tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">T</span></code> + </p> + </td> +<td> + <p> + Any type + </p> + </td> +<td> + <p> + The type to query. + </p> + </td> +</tr></tbody> +</table></div> +<h5> +<a name="fusion.support.is_view.h3"></a> + <span><a name="fusion.support.is_view.expression_semantics"></a></span><a class="link" href="is_view.html#fusion.support.is_view.expression_semantics">Expression + Semantics</a> + </h5> +<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">is_view</span><span class="special"><</span><span class="identifier">T</span><span class="special">>::</span><span class="identifier">type</span> <span class="identifier">c</span><span class="special">;</span> +</pre> +<p> + <span class="bold"><strong>Return type</strong></span>: An <a href="http://www.boost.org/libs/mpl/doc/refmanual/integral-constant.html" target="_top">MPL + Boolean Constant</a>. + </p> +<p> + <span class="bold"><strong>Semantics</strong></span>: Metafunction that evaluates to + <code class="computeroutput"><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">true_</span></code> if a certain type <code class="computeroutput"><span class="identifier">T</span></code> + is a conforming Fusion view, <code class="computeroutput"><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">false_</span></code> + otherwise. + </p> +<h5> +<a name="fusion.support.is_view.h4"></a> + <span><a name="fusion.support.is_view.header"></a></span><a class="link" href="is_view.html#fusion.support.is_view.header">Header</a> + </h5> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">support</span><span class="special">/</span><span class="identifier">is_view</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">is_view</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h5> +<a name="fusion.support.is_view.h5"></a> + <span><a name="fusion.support.is_view.example"></a></span><a class="link" href="is_view.html#fusion.support.is_view.example">Example</a> + </h5> +<pre class="programlisting"><span class="identifier">BOOST_MPL_ASSERT_NOT</span><span class="special">((</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">is_view</span><span class="special"><</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span><span class="special"><</span><span class="keyword">int</span><span class="special">></span> <span class="special">></span> <span class="special">));</span> +<span class="identifier">BOOST_MPL_ASSERT_NOT</span><span class="special">((</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">is_view</span><span class="special"><</span><span class="keyword">int</span><span class="special">></span> <span class="special">));</span> + +<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">_</span> +<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">is_pointer</span><span class="special">;</span> +<span class="keyword">typedef</span> <a class="link" href="../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><</span><span class="keyword">int</span><span class="special">*,</span> <span class="keyword">char</span><span class="special">,</span> <span class="keyword">long</span><span class="special">*,</span> <span class="keyword">bool</span><span class="special">,</span> <span class="keyword">double</span><span class="special">></span> <span class="identifier">vector_type</span><span class="special">;</span> +<span class="keyword">typedef</span> <a class="link" href="../view/filter_view.html" title="filter_view"><code class="computeroutput"><span class="identifier">filter_view</span></code></a><span class="special"><</span><span class="identifier">vector_type</span><span class="special">,</span> <span class="identifier">is_pointer</span><span class="special"><</span><span class="identifier">_</span><span class="special">></span> <span class="special">></span> <span class="identifier">filter_view_type</span><span class="special">;</span> +<span class="identifier">BOOST_MPL_ASSERT</span><span class="special">((</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">is_view</span><span class="special"><</span><span class="identifier">filter_view_type</span><span class="special">></span> <span class="special">));</span> +</pre> +</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-2006, 2011 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="is_sequence.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../support.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="tag_of.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/support/pair.html b/libs/fusion/doc/html/fusion/support/pair.html new file mode 100755 index 0000000000..d8aac98151 --- /dev/null +++ b/libs/fusion/doc/html/fusion/support/pair.html @@ -0,0 +1,352 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>pair</title> +<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../support.html" title="Support"> +<link rel="prev" href="deduce_sequence.html" title="deduce_sequence"> +<link rel="next" href="../iterator.html" title="Iterator"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="deduce_sequence.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../support.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../iterator.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h3 class="title"> +<a name="fusion.support.pair"></a><a class="link" href="pair.html" title="pair">pair</a> +</h3></div></div></div> +<h5> +<a name="fusion.support.pair.h0"></a> + <span><a name="fusion.support.pair.description"></a></span><a class="link" href="pair.html#fusion.support.pair.description">Description</a> + </h5> +<p> + Fusion <code class="computeroutput"><span class="identifier">pair</span></code> type is a half + runtime pair. A half runtime pair is similar to a <a class="link" href="../adapted/std__pair.html" title="std::pair"><code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span></code></a>, + but, unlike <a class="link" href="../adapted/std__pair.html" title="std::pair"><code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span></code></a>, + the first type does not have data. It is used as elements in <a class="link" href="../container/map.html" title="map"><code class="computeroutput"><span class="identifier">map</span></code></a>s, for example. + </p> +<h5> +<a name="fusion.support.pair.h1"></a> + <span><a name="fusion.support.pair.synopsis"></a></span><a class="link" href="pair.html#fusion.support.pair.synopsis">Synopsis</a> + </h5> +<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">First</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Second</span><span class="special">></span> +<span class="keyword">struct</span> <span class="identifier">pair</span><span class="special">;</span> + +<span class="keyword">namespace</span> <span class="identifier">result_of</span> +<span class="special">{</span> + <span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Pair</span><span class="special">></span> + <span class="keyword">struct</span> <span class="identifier">first</span><span class="special">;</span> + + <span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Pair</span><span class="special">></span> + <span class="keyword">struct</span> <span class="identifier">second</span><span class="special">;</span> + + <span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">First</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Second</span><span class="special">></span> + <span class="keyword">struct</span> <span class="identifier">make_pair</span><span class="special">;</span> +<span class="special">}</span> + +<span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">First</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Second</span><span class="special">></span> +<span class="keyword">typename</span> <span class="identifier">result_of</span><span class="special">::</span><span class="identifier">make_pair</span><span class="special"><</span><span class="identifier">First</span><span class="special">,</span><span class="identifier">Second</span><span class="special">>::</span><span class="identifier">type</span> +<span class="identifier">make_pair</span><span class="special">(</span><span class="identifier">Second</span> <span class="keyword">const</span> <span class="special">&);</span> +</pre> +<h5> +<a name="fusion.support.pair.h2"></a> + <span><a name="fusion.support.pair.template_parameters"></a></span><a class="link" href="pair.html#fusion.support.pair.template_parameters">Template + parameters</a> + </h5> +<div class="informaltable"><table class="table"> +<colgroup> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Description + </p> + </th> +</tr></thead> +<tbody> +<tr> +<td> + <p> + First + </p> + </td> +<td> + <p> + The first type. This is purely a type. No data is held. + </p> + </td> +</tr> +<tr> +<td> + <p> + Second + </p> + </td> +<td> + <p> + The second type. This contains data. + </p> + </td> +</tr> +</tbody> +</table></div> +<div class="variablelist"> +<p class="title"><b>Notation</b></p> +<dl> +<dt><span class="term"><code class="computeroutput"><span class="identifier">P</span></code></span></dt> +<dd><p> + Fusion pair type + </p></dd> +<dt><span class="term"><code class="computeroutput"><span class="identifier">p</span></code>, <code class="computeroutput"><span class="identifier">p2</span></code></span></dt> +<dd><p> + Fusion pairs + </p></dd> +<dt><span class="term"><code class="computeroutput"><span class="identifier">F</span></code>, <code class="computeroutput"><span class="identifier">S</span></code></span></dt> +<dd><p> + Arbitrary types + </p></dd> +<dt><span class="term"><code class="computeroutput"><span class="identifier">s</span></code></span></dt> +<dd><p> + Value of type <code class="computeroutput"><span class="identifier">S</span></code> + </p></dd> +<dt><span class="term"><code class="computeroutput"><span class="identifier">o</span></code></span></dt> +<dd><p> + Output stream + </p></dd> +<dt><span class="term"><code class="computeroutput"><span class="identifier">i</span></code></span></dt> +<dd><p> + Input stream + </p></dd> +</dl> +</div> +<h5> +<a name="fusion.support.pair.h3"></a> + <span><a name="fusion.support.pair.expression_semantics"></a></span><a class="link" href="pair.html#fusion.support.pair.expression_semantics">Expression + Semantics</a> + </h5> +<div class="informaltable"><table class="table"> +<colgroup> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Expression + </p> + </th> +<th> + <p> + Semantics + </p> + </th> +</tr></thead> +<tbody> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">P</span><span class="special">::</span><span class="identifier">first_type</span></code> + </p> + </td> +<td> + <p> + The type of the first template parameter, <code class="computeroutput"><span class="identifier">F</span></code>, + equivalent to <code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">first</span><span class="special"><</span><span class="identifier">P</span><span class="special">>::</span><span class="identifier">type</span></code>. + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">P</span><span class="special">::</span><span class="identifier">second_type</span></code> + </p> + </td> +<td> + <p> + The type of the second template parameter, <code class="computeroutput"><span class="identifier">S</span></code>, + equivalent to <code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">second</span><span class="special"><</span><span class="identifier">P</span><span class="special">>::</span><span class="identifier">type</span></code>. + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">P</span><span class="special">()</span></code> + </p> + </td> +<td> + <p> + Default construction. + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">P</span><span class="special">(</span><span class="identifier">s</span><span class="special">)</span></code> + </p> + </td> +<td> + <p> + Construct a pair given value for the second type, <code class="computeroutput"><span class="identifier">s</span></code>. + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">P</span><span class="special">(</span><span class="identifier">p2</span><span class="special">)</span></code> + </p> + </td> +<td> + <p> + Copy constructs a pair from another pair, <code class="computeroutput"><span class="identifier">p2</span></code>. + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">p</span><span class="special">.</span><span class="identifier">second</span></code> + </p> + </td> +<td> + <p> + Get the data from <code class="computeroutput"><span class="identifier">p1</span></code>. + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">p</span> <span class="special">=</span> + <span class="identifier">p2</span></code> + </p> + </td> +<td> + <p> + Assigns a pair, <code class="computeroutput"><span class="identifier">p1</span></code>, + from another pair, <code class="computeroutput"><span class="identifier">p2</span></code>. + </p> + </td> +</tr> +<tr> +<td> + <p> + make_pair<F>(s) + </p> + </td> +<td> + <p> + Make a pair given the first type, <code class="computeroutput"><span class="identifier">F</span></code>, + and a value for the second type, <code class="computeroutput"><span class="identifier">s</span></code>. + The second type assumes the type of <code class="computeroutput"><span class="identifier">s</span></code> + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">o</span> <span class="special"><<</span> + <span class="identifier">p</span></code> + </p> + </td> +<td> + <p> + Output <code class="computeroutput"><span class="identifier">p</span></code> to output + stream, <code class="computeroutput"><span class="identifier">o</span></code>. + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">i</span> <span class="special">>></span> + <span class="identifier">p</span></code> + </p> + </td> +<td> + <p> + Input <code class="computeroutput"><span class="identifier">p</span></code> from input + stream, <code class="computeroutput"><span class="identifier">i</span></code>. + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">p</span> <span class="special">==</span> + <span class="identifier">p2</span></code> + </p> + </td> +<td> + <p> + Tests two pairs for equality. + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">p</span> <span class="special">!=</span> + <span class="identifier">p2</span></code> + </p> + </td> +<td> + <p> + Tests two pairs for inequality. + </p> + </td> +</tr> +</tbody> +</table></div> +<h5> +<a name="fusion.support.pair.h4"></a> + <span><a name="fusion.support.pair.header"></a></span><a class="link" href="pair.html#fusion.support.pair.header">Header</a> + </h5> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">support</span><span class="special">/</span><span class="identifier">pair</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">pair</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h5> +<a name="fusion.support.pair.h5"></a> + <span><a name="fusion.support.pair.example"></a></span><a class="link" href="pair.html#fusion.support.pair.example">Example</a> + </h5> +<pre class="programlisting"><span class="identifier">pair</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">char</span><span class="special">></span> <span class="identifier">p</span><span class="special">(</span><span class="char">'X'</span><span class="special">);</span> +<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special"><<</span> <span class="identifier">p</span> <span class="special"><<</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span> +<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special"><<</span> <span class="identifier">make_pair</span><span class="special"><</span><span class="keyword">int</span><span class="special">>(</span><span class="char">'X'</span><span class="special">)</span> <span class="special"><<</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span> +<span class="identifier">assert</span><span class="special">((</span><span class="identifier">p</span> <span class="special">==</span> <span class="identifier">make_pair</span><span class="special"><</span><span class="keyword">int</span><span class="special">>(</span><span class="char">'X'</span><span class="special">)));</span> +</pre> +</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-2006, 2011 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="deduce_sequence.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../support.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../iterator.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/support/tag_of.html b/libs/fusion/doc/html/fusion/support/tag_of.html new file mode 100755 index 0000000000..ae8014c756 --- /dev/null +++ b/libs/fusion/doc/html/fusion/support/tag_of.html @@ -0,0 +1,149 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>tag_of</title> +<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../support.html" title="Support"> +<link rel="prev" href="is_view.html" title="is_view"> +<link rel="next" href="category_of.html" title="category_of"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="is_view.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../support.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="category_of.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h3 class="title"> +<a name="fusion.support.tag_of"></a><a class="link" href="tag_of.html" title="tag_of">tag_of</a> +</h3></div></div></div> +<h5> +<a name="fusion.support.tag_of.h0"></a> + <span><a name="fusion.support.tag_of.description"></a></span><a class="link" href="tag_of.html#fusion.support.tag_of.description">Description</a> + </h5> +<p> + All conforming Fusion sequences and iterators have an associated tag type. + The purpose of the tag is to enable <a class="link" href="../notes.html#fusion.notes.tag_dispatching"><span class="emphasis"><em>tag + dispatching</em></span></a> from <a class="link" href="../sequence/intrinsic.html" title="Intrinsic">Intrinsic</a> + functions to implementations appropriate for the type. + </p> +<p> + This metafunction may be specialized to accomodate clients providing Fusion + conforming sequences. + </p> +<h5> +<a name="fusion.support.tag_of.h1"></a> + <span><a name="fusion.support.tag_of.synopsis"></a></span><a class="link" href="tag_of.html#fusion.support.tag_of.synopsis">Synopsis</a> + </h5> +<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">traits</span> +<span class="special">{</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">></span> + <span class="keyword">struct</span> <span class="identifier">tag_of</span> + <span class="special">{</span> + <span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">type</span><span class="special">;</span> + <span class="special">};</span> +<span class="special">}</span> +</pre> +<h5> +<a name="fusion.support.tag_of.h2"></a> + <span><a name="fusion.support.tag_of.parameters"></a></span><a class="link" href="tag_of.html#fusion.support.tag_of.parameters">Parameters</a> + </h5> +<div class="informaltable"><table class="table"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Requirement + </p> + </th> +<th> + <p> + Description + </p> + </th> +</tr></thead> +<tbody><tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">T</span></code> + </p> + </td> +<td> + <p> + Any type + </p> + </td> +<td> + <p> + The type to query. + </p> + </td> +</tr></tbody> +</table></div> +<h5> +<a name="fusion.support.tag_of.h3"></a> + <span><a name="fusion.support.tag_of.expression_semantics"></a></span><a class="link" href="tag_of.html#fusion.support.tag_of.expression_semantics">Expression + Semantics</a> + </h5> +<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">tag_of</span><span class="special"><</span><span class="identifier">T</span><span class="special">>::</span><span class="identifier">type</span> <span class="identifier">tag</span><span class="special">;</span> +</pre> +<p> + <span class="bold"><strong>Return type</strong></span>: Any type. + </p> +<p> + <span class="bold"><strong>Semantics</strong></span>: Returns the tag type associated + with <code class="computeroutput"><span class="identifier">T</span></code>. + </p> +<h5> +<a name="fusion.support.tag_of.h4"></a> + <span><a name="fusion.support.tag_of.header"></a></span><a class="link" href="tag_of.html#fusion.support.tag_of.header">Header</a> + </h5> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">support</span><span class="special">/</span><span class="identifier">tag_of</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">tag_of</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h5> +<a name="fusion.support.tag_of.h5"></a> + <span><a name="fusion.support.tag_of.example"></a></span><a class="link" href="tag_of.html#fusion.support.tag_of.example">Example</a> + </h5> +<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">tag_of</span><span class="special"><</span><a class="link" href="../container/list.html" title="list"><code class="computeroutput"><span class="identifier">list</span></code></a><span class="special"><></span> <span class="special">>::</span><span class="identifier">type</span> <span class="identifier">tag1</span><span class="special">;</span> +<span class="keyword">typedef</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">tag_of</span><span class="special"><</span><a class="link" href="../container/list.html" title="list"><code class="computeroutput"><span class="identifier">list</span></code></a><span class="special"><</span><span class="keyword">int</span><span class="special">></span> <span class="special">>::</span><span class="identifier">type</span> <span class="identifier">tag2</span><span class="special">;</span> +<span class="keyword">typedef</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">tag_of</span><span class="special"><</span><a class="link" href="../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><></span> <span class="special">>::</span><span class="identifier">type</span> <span class="identifier">tag3</span><span class="special">;</span> +<span class="keyword">typedef</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">tag_of</span><span class="special"><</span><a class="link" href="../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><</span><span class="keyword">int</span><span class="special">></span> <span class="special">>::</span><span class="identifier">type</span> <span class="identifier">tag4</span><span class="special">;</span> + +<span class="identifier">BOOST_MPL_ASSERT</span><span class="special">((</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">is_same</span><span class="special"><</span><span class="identifier">tag1</span><span class="special">,</span> <span class="identifier">tag2</span><span class="special">>));</span> +<span class="identifier">BOOST_MPL_ASSERT</span><span class="special">((</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">is_same</span><span class="special"><</span><span class="identifier">tag3</span><span class="special">,</span> <span class="identifier">tag4</span><span class="special">>));</span> +</pre> +</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-2006, 2011 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="is_view.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../support.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="category_of.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/tuple.html b/libs/fusion/doc/html/fusion/tuple.html new file mode 100755 index 0000000000..eeb43ad385 --- /dev/null +++ b/libs/fusion/doc/html/fusion/tuple.html @@ -0,0 +1,70 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Tuple</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="prev" href="algorithm/transformation/metafunctions/push_front.html" title="push_front"> +<link rel="next" href="tuple/class_template_tuple.html" title="Class template tuple"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="algorithm/transformation/metafunctions/push_front.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="tuple/class_template_tuple.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h2 class="title" style="clear: both"> +<a name="fusion.tuple"></a><a class="link" href="tuple.html" title="Tuple">Tuple</a> +</h2></div></div></div> +<div class="toc"><dl> +<dt><span class="section"><a href="tuple/class_template_tuple.html">Class template tuple</a></span></dt> +<dd><dl> +<dt><span class="section"><a href="tuple/class_template_tuple/construction.html">Construction</a></span></dt> +<dt><span class="section"><a href="tuple/class_template_tuple/tuple_creation_functions.html">Tuple + creation functions</a></span></dt> +<dt><span class="section"><a href="tuple/class_template_tuple/tuple_helper_classes.html">Tuple + helper classes</a></span></dt> +<dt><span class="section"><a href="tuple/class_template_tuple/element_access.html">Element + access</a></span></dt> +<dt><span class="section"><a href="tuple/class_template_tuple/relational_operators.html">Relational + operators</a></span></dt> +</dl></dd> +<dt><span class="section"><a href="tuple/pairs.html">Pairs</a></span></dt> +</dl></div> +<p> + The TR1 technical report describes extensions to the C++ standard library. + Many of these extensions will be considered for the next iteration of the C++ + standard. TR1 describes a tuple type, and support for treating <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span></code> + as a type of tuple. + </p> +<p> + Fusion provides full support for the <a href="http://std.dkuug.dk/jtc1/sc22/wg21/docs/papers/2002/n1403.pdf" target="_top">TR1 + Tuple</a> interface, and the extended uses of <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span></code> described + in the TR1 document. + </p> +</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-2006, 2011 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="algorithm/transformation/metafunctions/push_front.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="tuple/class_template_tuple.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/tuple/class_template_tuple.html b/libs/fusion/doc/html/fusion/tuple/class_template_tuple.html new file mode 100755 index 0000000000..dc8208baa2 --- /dev/null +++ b/libs/fusion/doc/html/fusion/tuple/class_template_tuple.html @@ -0,0 +1,79 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Class template tuple</title> +<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../tuple.html" title="Tuple"> +<link rel="prev" href="../tuple.html" title="Tuple"> +<link rel="next" href="class_template_tuple/construction.html" title="Construction"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="../tuple.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../tuple.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="class_template_tuple/construction.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h3 class="title"> +<a name="fusion.tuple.class_template_tuple"></a><a class="link" href="class_template_tuple.html" title="Class template tuple">Class template tuple</a> +</h3></div></div></div> +<div class="toc"><dl> +<dt><span class="section"><a href="class_template_tuple/construction.html">Construction</a></span></dt> +<dt><span class="section"><a href="class_template_tuple/tuple_creation_functions.html">Tuple + creation functions</a></span></dt> +<dt><span class="section"><a href="class_template_tuple/tuple_helper_classes.html">Tuple + helper classes</a></span></dt> +<dt><span class="section"><a href="class_template_tuple/element_access.html">Element + access</a></span></dt> +<dt><span class="section"><a href="class_template_tuple/relational_operators.html">Relational + operators</a></span></dt> +</dl></div> +<p> + Fusion's implementation of the <a href="http://std.dkuug.dk/jtc1/sc22/wg21/docs/papers/2002/n1403.pdf" target="_top">TR1 + Tuple</a> is also a fusion <a class="link" href="../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a>. As such the fusion tuple type provides a lot of functionality + beyond that required by TR1. + </p> +<p> + Currently tuple is basically a synonym for <a class="link" href="../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a>, although this may be changed + in future releases of fusion. + </p> +<h5> +<a name="fusion.tuple.class_template_tuple.h0"></a> + <span><a name="fusion.tuple.class_template_tuple.synopsis"></a></span><a class="link" href="class_template_tuple.html#fusion.tuple.class_template_tuple.synopsis">Synopsis</a> + </h5> +<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span> + <span class="keyword">typename</span> <span class="identifier">T1</span> <span class="special">=</span> <span class="emphasis"><em>unspecified</em></span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">T2</span> <span class="special">=</span> <span class="emphasis"><em>unspecified</em></span><span class="special">,</span> + <span class="special">...</span> + <span class="keyword">typename</span> <span class="identifier">TN</span> <span class="special">=</span> <span class="emphasis"><em>unspecified</em></span><span class="special">></span> +<span class="keyword">class</span> <span class="identifier">tuple</span><span class="special">;</span> +</pre> +<p> + /tuple.hpp> + </p> +</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-2006, 2011 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="../tuple.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../tuple.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="class_template_tuple/construction.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/tuple/class_template_tuple/construction.html b/libs/fusion/doc/html/fusion/tuple/class_template_tuple/construction.html new file mode 100755 index 0000000000..c9b03b8cba --- /dev/null +++ b/libs/fusion/doc/html/fusion/tuple/class_template_tuple/construction.html @@ -0,0 +1,128 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Construction</title> +<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../class_template_tuple.html" title="Class template tuple"> +<link rel="prev" href="../class_template_tuple.html" title="Class template tuple"> +<link rel="next" href="tuple_creation_functions.html" title="Tuple creation functions"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="../class_template_tuple.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../class_template_tuple.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="tuple_creation_functions.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h4 class="title"> +<a name="fusion.tuple.class_template_tuple.construction"></a><a class="link" href="construction.html" title="Construction">Construction</a> +</h4></div></div></div> +<h6> +<a name="fusion.tuple.class_template_tuple.construction.h0"></a> + <span><a name="fusion.tuple.class_template_tuple.construction.description"></a></span><a class="link" href="construction.html#fusion.tuple.class_template_tuple.construction.description">Description</a> + </h6> +<p> + The <a href="http://std.dkuug.dk/jtc1/sc22/wg21/docs/papers/2002/n1403.pdf" target="_top">TR1 + Tuple</a> type provides a default constructor, a constructor that takes + initializers for all of its elements, a copy constructor, and a converting + copy constructor. The details of the various constructors are described + in this section. + </p> +<h6> +<a name="fusion.tuple.class_template_tuple.construction.h1"></a> + <span><a name="fusion.tuple.class_template_tuple.construction.specification"></a></span><a class="link" href="construction.html#fusion.tuple.class_template_tuple.construction.specification">Specification</a> + </h6> +<div class="variablelist"> +<p class="title"><b>Notation</b></p> +<dl> +<dt><span class="term"><code class="computeroutput"><span class="identifier">T1</span> <span class="special">...</span> + <span class="identifier">TN</span></code>, <code class="computeroutput"><span class="identifier">U1</span> + <span class="special">...</span> <span class="identifier">UN</span></code></span></dt> +<dd><p> + Tuple element types + </p></dd> +<dt><span class="term"><code class="computeroutput"><span class="identifier">P1</span> <span class="special">...</span> + <span class="identifier">PN</span></code></span></dt> +<dd><p> + Parameter types + </p></dd> +<dt><span class="term"><code class="computeroutput"><span class="identifier">Ti</span></code>, <code class="computeroutput"><span class="identifier">Ui</span></code></span></dt> +<dd><p> + The type of the <code class="computeroutput"><span class="identifier">i</span></code>th + element of a tuple + </p></dd> +<dt><span class="term"><code class="computeroutput"><span class="identifier">Pi</span></code></span></dt> +<dd><p> + The type of the <code class="computeroutput"><span class="identifier">i</span></code>th + parameter + </p></dd> +</dl> +</div> +<pre class="programlisting"><span class="identifier">tuple</span><span class="special">();</span> +</pre> +<p> + <span class="bold"><strong>Requirements</strong></span>: Each <code class="computeroutput"><span class="identifier">Ti</span></code> + is default constructable. + </p> +<p> + <span class="bold"><strong>Semantics</strong></span>: Default initializes each element + of the tuple. + </p> +<pre class="programlisting"><span class="identifier">tuple</span><span class="special">(</span><span class="identifier">P1</span><span class="special">,</span><span class="identifier">P2</span><span class="special">,...,</span><span class="identifier">PN</span><span class="special">);</span> +</pre> +<p> + <span class="bold"><strong>Requirements</strong></span>: Each <code class="computeroutput"><span class="identifier">Pi</span></code> + is <code class="computeroutput"><span class="identifier">Ti</span></code> if <code class="computeroutput"><span class="identifier">Ti</span></code> is a reference type, <code class="computeroutput"><span class="keyword">const</span> <span class="identifier">Ti</span><span class="special">&</span></code> otherwise. + </p> +<p> + <span class="bold"><strong>Semantics</strong></span>: Copy initializes each element + with the corresponding parameter. + </p> +<pre class="programlisting"><span class="identifier">tuple</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">tuple</span><span class="special">&</span> <span class="identifier">t</span><span class="special">);</span> +</pre> +<p> + <span class="bold"><strong>Requirements</strong></span>: Each <code class="computeroutput"><span class="identifier">Ti</span></code> + should be copy constructable. + </p> +<p> + <span class="bold"><strong>Semantics</strong></span>: Copy constructs each element + of <code class="computeroutput"><span class="special">*</span><span class="keyword">this</span></code> + with the corresponding element of <code class="computeroutput"><span class="identifier">t</span></code>. + </p> +<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">U1</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">U2</span><span class="special">,</span> <span class="special">...,</span> <span class="keyword">typename</span> <span class="identifier">UN</span><span class="special">></span> +<span class="identifier">tuple</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">tuple</span><span class="special"><</span><span class="identifier">U1</span><span class="special">,</span> <span class="identifier">U2</span><span class="special">,</span> <span class="special">...,</span> <span class="identifier">UN</span><span class="special">>&</span> <span class="identifier">t</span><span class="special">);</span> +</pre> +<p> + <span class="bold"><strong>Requirements</strong></span>: Each <code class="computeroutput"><span class="identifier">Ti</span></code> + shall be constructible from the corresponding <code class="computeroutput"><span class="identifier">Ui</span></code>. + </p> +<p> + <span class="bold"><strong>Semantics</strong></span>: Constructs each element of + <code class="computeroutput"><span class="special">*</span><span class="keyword">this</span></code> + with the corresponding element of <code class="computeroutput"><span class="identifier">t</span></code>. + </p> +</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-2006, 2011 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="../class_template_tuple.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../class_template_tuple.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="tuple_creation_functions.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/tuple/class_template_tuple/element_access.html b/libs/fusion/doc/html/fusion/tuple/class_template_tuple/element_access.html new file mode 100755 index 0000000000..d7bedc9922 --- /dev/null +++ b/libs/fusion/doc/html/fusion/tuple/class_template_tuple/element_access.html @@ -0,0 +1,94 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Element access</title> +<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../class_template_tuple.html" title="Class template tuple"> +<link rel="prev" href="tuple_helper_classes.html" title="Tuple helper classes"> +<link rel="next" href="relational_operators.html" title="Relational operators"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="tuple_helper_classes.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../class_template_tuple.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="relational_operators.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h4 class="title"> +<a name="fusion.tuple.class_template_tuple.element_access"></a><a class="link" href="element_access.html" title="Element access">Element + access</a> +</h4></div></div></div> +<h6> +<a name="fusion.tuple.class_template_tuple.element_access.h0"></a> + <span><a name="fusion.tuple.class_template_tuple.element_access.description"></a></span><a class="link" href="element_access.html#fusion.tuple.class_template_tuple.element_access.description">Description</a> + </h6> +<p> + The <a href="http://std.dkuug.dk/jtc1/sc22/wg21/docs/papers/2002/n1403.pdf" target="_top">TR1 + Tuple</a> provides the <code class="computeroutput"><span class="identifier">get</span></code> + function to provide access to it's elements by zero based numeric index. + </p> +<h6> +<a name="fusion.tuple.class_template_tuple.element_access.h1"></a> + <span><a name="fusion.tuple.class_template_tuple.element_access.specification"></a></span><a class="link" href="element_access.html#fusion.tuple.class_template_tuple.element_access.specification">Specification</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span><span class="keyword">int</span> <span class="identifier">I</span><span class="special">,</span> <span class="identifier">T</span><span class="special">></span> +<span class="identifier">RJ</span> <span class="identifier">get</span><span class="special">(</span><span class="identifier">T</span><span class="special">&</span> <span class="identifier">t</span><span class="special">);</span> +</pre> +<p> + <span class="bold"><strong>Requires</strong></span>: <code class="computeroutput"><span class="number">0</span> + <span class="special"><</span> <span class="identifier">I</span> + <span class="special"><=</span> <span class="identifier">N</span></code>. + The program is ill formed if <code class="computeroutput"><span class="identifier">I</span></code> + is out of bounds. <code class="computeroutput"><span class="identifier">T</span></code> is + any fusion sequence type, including <code class="computeroutput"><span class="identifier">tuple</span></code>. + </p> +<p> + <span class="bold"><strong>Return type</strong></span>: <code class="computeroutput"><span class="identifier">RJ</span></code> + is equivalent to <code class="computeroutput"><a class="link" href="../../sequence/intrinsic/metafunctions/at_c.html" title="at_c"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">at_c</span></code></a><span class="special"><</span><span class="identifier">I</span><span class="special">,</span><span class="identifier">T</span><span class="special">>::</span><span class="identifier">type</span></code>. + </p> +<p> + <span class="bold"><strong>Returns</strong></span>: A reference to the <code class="computeroutput"><span class="identifier">I</span></code>th element of <code class="computeroutput"><span class="identifier">T</span></code>. + </p> +<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span><span class="keyword">int</span> <span class="identifier">I</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T</span><span class="special">></span> +<span class="identifier">PJ</span> <span class="identifier">get</span><span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">t</span><span class="special">);</span> +</pre> +<p> + <span class="bold"><strong>Requires</strong></span>: <code class="computeroutput"><span class="number">0</span> + <span class="special"><</span> <span class="identifier">I</span> + <span class="special"><=</span> <span class="identifier">N</span></code>. + The program is ill formed if <code class="computeroutput"><span class="identifier">I</span></code> + is out of bounds. <code class="computeroutput"><span class="identifier">T</span></code> is + any fusion sequence type, including <code class="computeroutput"><span class="identifier">tuple</span></code>. + </p> +<p> + <span class="bold"><strong>Return type</strong></span>: <code class="computeroutput"><span class="identifier">PJ</span></code> + is equivalent to <code class="computeroutput"><a class="link" href="../../sequence/intrinsic/metafunctions/at_c.html" title="at_c"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">at_c</span></code></a><span class="special"><</span><span class="identifier">I</span><span class="special">,</span><span class="identifier">T</span><span class="special">>::</span><span class="identifier">type</span></code>. + </p> +<p> + <span class="bold"><strong>Returns</strong></span>: A const reference to the <code class="computeroutput"><span class="identifier">I</span></code>th element of <code class="computeroutput"><span class="identifier">T</span></code>. + </p> +</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-2006, 2011 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="tuple_helper_classes.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../class_template_tuple.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="relational_operators.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/tuple/class_template_tuple/relational_operators.html b/libs/fusion/doc/html/fusion/tuple/class_template_tuple/relational_operators.html new file mode 100755 index 0000000000..c6b4ef57b1 --- /dev/null +++ b/libs/fusion/doc/html/fusion/tuple/class_template_tuple/relational_operators.html @@ -0,0 +1,187 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Relational operators</title> +<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../class_template_tuple.html" title="Class template tuple"> +<link rel="prev" href="element_access.html" title="Element access"> +<link rel="next" href="../pairs.html" title="Pairs"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="element_access.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../class_template_tuple.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../pairs.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h4 class="title"> +<a name="fusion.tuple.class_template_tuple.relational_operators"></a><a class="link" href="relational_operators.html" title="Relational operators">Relational + operators</a> +</h4></div></div></div> +<h6> +<a name="fusion.tuple.class_template_tuple.relational_operators.h0"></a> + <span><a name="fusion.tuple.class_template_tuple.relational_operators.description"></a></span><a class="link" href="relational_operators.html#fusion.tuple.class_template_tuple.relational_operators.description">Description</a> + </h6> +<p> + The <a href="http://std.dkuug.dk/jtc1/sc22/wg21/docs/papers/2002/n1403.pdf" target="_top">TR1 + Tuple</a> provides the standard boolean relational operators. + </p> +<h6> +<a name="fusion.tuple.class_template_tuple.relational_operators.h1"></a> + <span><a name="fusion.tuple.class_template_tuple.relational_operators.specification"></a></span><a class="link" href="relational_operators.html#fusion.tuple.class_template_tuple.relational_operators.specification">Specification</a> + </h6> +<div class="variablelist"> +<p class="title"><b>Notation</b></p> +<dl> +<dt><span class="term"><code class="computeroutput"><span class="identifier">T1</span> <span class="special">...</span> + <span class="identifier">TN</span></code>, <code class="computeroutput"><span class="identifier">U1</span> + <span class="special">...</span> <span class="identifier">UN</span></code></span></dt> +<dd><p> + Tuple element types + </p></dd> +<dt><span class="term"><code class="computeroutput"><span class="identifier">P1</span> <span class="special">...</span> + <span class="identifier">PN</span></code></span></dt> +<dd><p> + Parameter types + </p></dd> +<dt><span class="term"><code class="computeroutput"><span class="identifier">Ti</span></code>, <code class="computeroutput"><span class="identifier">Ui</span></code></span></dt> +<dd><p> + The type of the <code class="computeroutput"><span class="identifier">i</span></code>th + element of a tuple + </p></dd> +<dt><span class="term"><code class="computeroutput"><span class="identifier">Pi</span></code></span></dt> +<dd><p> + The type of the <code class="computeroutput"><span class="identifier">i</span></code>th + parameter + </p></dd> +</dl> +</div> +<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T2</span><span class="special">,</span> <span class="special">...,</span> <span class="keyword">typename</span> <span class="identifier">TN</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">U1</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">U2</span><span class="special">,</span> <span class="special">...,</span> <span class="keyword">typename</span> <span class="identifier">UN</span><span class="special">></span> +<span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">==(</span> + <span class="keyword">const</span> <span class="identifier">tuple</span><span class="special"><</span><span class="identifier">T1</span><span class="special">,</span> <span class="identifier">T2</span><span class="special">,</span> <span class="special">...,</span> <span class="identifier">TN</span><span class="special">>&</span> <span class="identifier">lhs</span><span class="special">,</span> + <span class="keyword">const</span> <span class="identifier">tuple</span><span class="special"><</span><span class="identifier">U1</span><span class="special">,</span> <span class="identifier">U2</span><span class="special">,</span> <span class="special">...,</span> <span class="identifier">UN</span><span class="special">>&</span> <span class="identifier">rhs</span><span class="special">);</span> +</pre> +<p> + <span class="bold"><strong>Requirements</strong></span>: For all <code class="computeroutput"><span class="identifier">i</span></code>, + <code class="computeroutput"><span class="number">1</span> <span class="special"><=</span> + <span class="identifier">i</span> <span class="special"><</span> + <span class="identifier">N</span></code>, <code class="computeroutput"><a class="link" href="element_access.html" title="Element access"><code class="computeroutput"><span class="identifier">get</span></code></a><span class="special"><</span><span class="identifier">i</span><span class="special">>(</span><span class="identifier">lhs</span><span class="special">)</span> <span class="special">==</span> <a class="link" href="element_access.html" title="Element access"><code class="computeroutput"><span class="identifier">get</span></code></a><span class="special"><</span><span class="identifier">i</span><span class="special">>(</span><span class="identifier">rhs</span><span class="special">)</span></code> + is a valid expression returning a type that is convertible to <code class="computeroutput"><span class="keyword">bool</span></code>. + </p> +<p> + <span class="bold"><strong>Semantics</strong></span>: Returns <code class="computeroutput"><span class="keyword">true</span></code> + if and only if <code class="computeroutput"><a class="link" href="element_access.html" title="Element access"><code class="computeroutput"><span class="identifier">get</span></code></a><span class="special"><</span><span class="identifier">i</span><span class="special">>(</span><span class="identifier">lhs</span><span class="special">)</span> <span class="special">==</span> <a class="link" href="element_access.html" title="Element access"><code class="computeroutput"><span class="identifier">get</span></code></a><span class="special"><</span><span class="identifier">i</span><span class="special">>(</span><span class="identifier">rhs</span><span class="special">)</span></code> + for all <code class="computeroutput"><span class="identifier">i</span></code>. For any 2 zero + length tuples <code class="computeroutput"><span class="identifier">e</span></code> and <code class="computeroutput"><span class="identifier">f</span></code>, <code class="computeroutput"><span class="identifier">e</span> + <span class="special">==</span> <span class="identifier">f</span></code> + returns <code class="computeroutput"><span class="keyword">true</span></code>. + </p> +<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T2</span><span class="special">,</span> <span class="special">...,</span> <span class="keyword">typename</span> <span class="identifier">TN</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">U1</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">U2</span><span class="special">,</span> <span class="special">...,</span> <span class="keyword">typename</span> <span class="identifier">UN</span><span class="special">></span> +<span class="keyword">bool</span> <span class="keyword">operator</span><span class="special"><(</span> + <span class="keyword">const</span> <span class="identifier">tuple</span><span class="special"><</span><span class="identifier">T1</span><span class="special">,</span> <span class="identifier">T2</span><span class="special">,</span> <span class="special">...,</span> <span class="identifier">TN</span><span class="special">>&</span> <span class="identifier">lhs</span><span class="special">,</span> + <span class="keyword">const</span> <span class="identifier">tuple</span><span class="special"><</span><span class="identifier">U1</span><span class="special">,</span> <span class="identifier">U2</span><span class="special">,</span> <span class="special">...,</span> <span class="identifier">UN</span><span class="special">>&</span> <span class="identifier">rhs</span><span class="special">);</span> +</pre> +<p> + <span class="bold"><strong>Requirements</strong></span>: For all <code class="computeroutput"><span class="identifier">i</span></code>, + <code class="computeroutput"><span class="number">1</span> <span class="special"><=</span> + <span class="identifier">i</span> <span class="special"><</span> + <span class="identifier">N</span></code>, <code class="computeroutput"><a class="link" href="element_access.html" title="Element access"><code class="computeroutput"><span class="identifier">get</span></code></a><span class="special"><</span><span class="identifier">i</span><span class="special">>(</span><span class="identifier">lhs</span><span class="special">)</span> <span class="special"><</span> <a class="link" href="element_access.html" title="Element access"><code class="computeroutput"><span class="identifier">get</span></code></a><span class="special"><</span><span class="identifier">i</span><span class="special">>(</span><span class="identifier">rhs</span><span class="special">)</span></code> + is a valid expression returning a type that is convertible to <code class="computeroutput"><span class="keyword">bool</span></code>. + </p> +<p> + <span class="bold"><strong>Semantics</strong></span>: Returns the lexicographical + comparison of between <code class="computeroutput"><span class="identifier">lhs</span></code> + and <code class="computeroutput"><span class="identifier">rhs</span></code>. + </p> +<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T2</span><span class="special">,</span> <span class="special">...,</span> <span class="keyword">typename</span> <span class="identifier">TN</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">U1</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">U2</span><span class="special">,</span> <span class="special">...,</span> <span class="keyword">typename</span> <span class="identifier">UN</span><span class="special">></span> +<span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">!=(</span> + <span class="keyword">const</span> <span class="identifier">tuple</span><span class="special"><</span><span class="identifier">T1</span><span class="special">,</span> <span class="identifier">T2</span><span class="special">,</span> <span class="special">...,</span> <span class="identifier">TN</span><span class="special">>&</span> <span class="identifier">lhs</span><span class="special">,</span> + <span class="keyword">const</span> <span class="identifier">tuple</span><span class="special"><</span><span class="identifier">U1</span><span class="special">,</span> <span class="identifier">U2</span><span class="special">,</span> <span class="special">...,</span> <span class="identifier">UN</span><span class="special">>&</span> <span class="identifier">rhs</span><span class="special">);</span> +</pre> +<p> + <span class="bold"><strong>Requirements</strong></span>: For all <code class="computeroutput"><span class="identifier">i</span></code>, + <code class="computeroutput"><span class="number">1</span> <span class="special"><=</span> + <span class="identifier">i</span> <span class="special"><</span> + <span class="identifier">N</span></code>, <code class="computeroutput"><a class="link" href="element_access.html" title="Element access"><code class="computeroutput"><span class="identifier">get</span></code></a><span class="special"><</span><span class="identifier">i</span><span class="special">>(</span><span class="identifier">lhs</span><span class="special">)</span> <span class="special">==</span> <a class="link" href="element_access.html" title="Element access"><code class="computeroutput"><span class="identifier">get</span></code></a><span class="special"><</span><span class="identifier">i</span><span class="special">>(</span><span class="identifier">rhs</span><span class="special">)</span></code> + is a valid expression returning a type that is convertible to <code class="computeroutput"><span class="keyword">bool</span></code>. + </p> +<p> + <span class="bold"><strong>Semantics</strong></span>: Returns <code class="computeroutput"><span class="special">!(</span><span class="identifier">lhs</span> <span class="special">==</span> <span class="identifier">rhs</span><span class="special">)</span></code>. + </p> +<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T2</span><span class="special">,</span> <span class="special">...,</span> <span class="keyword">typename</span> <span class="identifier">TN</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">U1</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">U2</span><span class="special">,</span> <span class="special">...,</span> <span class="keyword">typename</span> <span class="identifier">UN</span><span class="special">></span> +<span class="keyword">bool</span> <span class="keyword">operator</span><span class="special"><=(</span> + <span class="keyword">const</span> <span class="identifier">tuple</span><span class="special"><</span><span class="identifier">T1</span><span class="special">,</span> <span class="identifier">T2</span><span class="special">,</span> <span class="special">...,</span> <span class="identifier">TN</span><span class="special">>&</span> <span class="identifier">lhs</span><span class="special">,</span> + <span class="keyword">const</span> <span class="identifier">tuple</span><span class="special"><</span><span class="identifier">U1</span><span class="special">,</span> <span class="identifier">U2</span><span class="special">,</span> <span class="special">...,</span> <span class="identifier">UN</span><span class="special">>&</span> <span class="identifier">rhs</span><span class="special">);</span> +</pre> +<p> + <span class="bold"><strong>Requirements</strong></span>: For all <code class="computeroutput"><span class="identifier">i</span></code>, + <code class="computeroutput"><span class="number">1</span> <span class="special"><=</span> + <span class="identifier">i</span> <span class="special"><</span> + <span class="identifier">N</span></code>, <code class="computeroutput"><a class="link" href="element_access.html" title="Element access"><code class="computeroutput"><span class="identifier">get</span></code></a><span class="special"><</span><span class="identifier">i</span><span class="special">>(</span><span class="identifier">rhs</span><span class="special">)</span> <span class="special"><</span> <a class="link" href="element_access.html" title="Element access"><code class="computeroutput"><span class="identifier">get</span></code></a><span class="special"><</span><span class="identifier">i</span><span class="special">>(</span><span class="identifier">lhs</span><span class="special">)</span></code> + is a valid expression returning a type that is convertible to <code class="computeroutput"><span class="keyword">bool</span></code>. + </p> +<p> + <span class="bold"><strong>Semantics</strong></span>: Returns <code class="computeroutput"><span class="special">!(</span><span class="identifier">rhs</span> <span class="special"><</span> <span class="identifier">lhs</span><span class="special">)</span></code> + </p> +<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T2</span><span class="special">,</span> <span class="special">...,</span> <span class="keyword">typename</span> <span class="identifier">TN</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">U1</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">U2</span><span class="special">,</span> <span class="special">...,</span> <span class="keyword">typename</span> <span class="identifier">UN</span><span class="special">></span> +<span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">>(</span> + <span class="keyword">const</span> <span class="identifier">tuple</span><span class="special"><</span><span class="identifier">T1</span><span class="special">,</span> <span class="identifier">T2</span><span class="special">,</span> <span class="special">...,</span> <span class="identifier">TN</span><span class="special">>&</span> <span class="identifier">lhs</span><span class="special">,</span> + <span class="keyword">const</span> <span class="identifier">tuple</span><span class="special"><</span><span class="identifier">U1</span><span class="special">,</span> <span class="identifier">U2</span><span class="special">,</span> <span class="special">...,</span> <span class="identifier">UN</span><span class="special">>&</span> <span class="identifier">rhs</span><span class="special">);</span> +</pre> +<p> + <span class="bold"><strong>Requirements</strong></span>: For all <code class="computeroutput"><span class="identifier">i</span></code>, + <code class="computeroutput"><span class="number">1</span> <span class="special"><=</span> + <span class="identifier">i</span> <span class="special"><</span> + <span class="identifier">N</span></code>, <code class="computeroutput"><a class="link" href="element_access.html" title="Element access"><code class="computeroutput"><span class="identifier">get</span></code></a><span class="special"><</span><span class="identifier">i</span><span class="special">>(</span><span class="identifier">rhs</span><span class="special">)</span> <span class="special"><</span> <a class="link" href="element_access.html" title="Element access"><code class="computeroutput"><span class="identifier">get</span></code></a><span class="special"><</span><span class="identifier">i</span><span class="special">>(</span><span class="identifier">lhs</span><span class="special">)</span></code> + is a valid expression returning a type that is convertible to <code class="computeroutput"><span class="keyword">bool</span></code>. + </p> +<p> + <span class="bold"><strong>Semantics</strong></span>: Returns <code class="computeroutput"><span class="identifier">rhs</span> + <span class="special"><</span> <span class="identifier">lhs</span></code>. + </p> +<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T2</span><span class="special">,</span> <span class="special">...,</span> <span class="keyword">typename</span> <span class="identifier">TN</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">U1</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">U2</span><span class="special">,</span> <span class="special">...,</span> <span class="keyword">typename</span> <span class="identifier">UN</span><span class="special">></span> +<span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">>=(</span> + <span class="keyword">const</span> <span class="identifier">tuple</span><span class="special"><</span><span class="identifier">T1</span><span class="special">,</span> <span class="identifier">T2</span><span class="special">,</span> <span class="special">...,</span> <span class="identifier">TN</span><span class="special">>&</span> <span class="identifier">lhs</span><span class="special">,</span> + <span class="keyword">const</span> <span class="identifier">tuple</span><span class="special"><</span><span class="identifier">U1</span><span class="special">,</span> <span class="identifier">U2</span><span class="special">,</span> <span class="special">...,</span> <span class="identifier">UN</span><span class="special">>&</span> <span class="identifier">rhs</span><span class="special">);</span> +</pre> +<p> + <span class="bold"><strong>Requirements</strong></span>: For all <code class="computeroutput"><span class="identifier">i</span></code>, + <code class="computeroutput"><span class="number">1</span> <span class="special"><=</span> + <span class="identifier">i</span> <span class="special"><</span> + <span class="identifier">N</span></code>, <code class="computeroutput"><a class="link" href="element_access.html" title="Element access"><code class="computeroutput"><span class="identifier">get</span></code></a><span class="special"><</span><span class="identifier">i</span><span class="special">>(</span><span class="identifier">lhs</span><span class="special">)</span> <span class="special"><</span> <a class="link" href="element_access.html" title="Element access"><code class="computeroutput"><span class="identifier">get</span></code></a><span class="special"><</span><span class="identifier">i</span><span class="special">>(</span><span class="identifier">rhs</span><span class="special">)</span></code> + is a valid expression returning a type that is convertible to <code class="computeroutput"><span class="keyword">bool</span></code>. + </p> +<p> + <span class="bold"><strong>Semantics</strong></span>: Returns <code class="computeroutput"><span class="special">!(</span><span class="identifier">lhs</span> <span class="special"><</span> <span class="identifier">rhs</span><span class="special">)</span></code>. + </p> +</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-2006, 2011 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="element_access.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../class_template_tuple.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../pairs.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/tuple/class_template_tuple/tuple_creation_functions.html b/libs/fusion/doc/html/fusion/tuple/class_template_tuple/tuple_creation_functions.html new file mode 100755 index 0000000000..2beb522ee4 --- /dev/null +++ b/libs/fusion/doc/html/fusion/tuple/class_template_tuple/tuple_creation_functions.html @@ -0,0 +1,80 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Tuple creation functions</title> +<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../class_template_tuple.html" title="Class template tuple"> +<link rel="prev" href="construction.html" title="Construction"> +<link rel="next" href="tuple_helper_classes.html" title="Tuple helper classes"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="construction.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../class_template_tuple.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="tuple_helper_classes.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h4 class="title"> +<a name="fusion.tuple.class_template_tuple.tuple_creation_functions"></a><a class="link" href="tuple_creation_functions.html" title="Tuple creation functions">Tuple + creation functions</a> +</h4></div></div></div> +<h6> +<a name="fusion.tuple.class_template_tuple.tuple_creation_functions.h0"></a> + <span><a name="fusion.tuple.class_template_tuple.tuple_creation_functions.description"></a></span><a class="link" href="tuple_creation_functions.html#fusion.tuple.class_template_tuple.tuple_creation_functions.description">Description</a> + </h6> +<p> + TR1 describes 2 utility functions for creating __tr1__tuple__s. <code class="computeroutput"><span class="identifier">make_tuple</span></code> builds a tuple out of it's + argument list, and <code class="computeroutput"><span class="identifier">tie</span></code> + builds a tuple of references to it's arguments. The details of these creation + functions are described in this section. + </p> +<h6> +<a name="fusion.tuple.class_template_tuple.tuple_creation_functions.h1"></a> + <span><a name="fusion.tuple.class_template_tuple.tuple_creation_functions.specification"></a></span><a class="link" href="tuple_creation_functions.html#fusion.tuple.class_template_tuple.tuple_creation_functions.specification">Specification</a> + </h6> +<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T2</span><span class="special">,</span> <span class="special">...,</span> <span class="keyword">typename</span> <span class="identifier">TN</span><span class="special">></span> +<span class="identifier">tuple</span><span class="special"><</span><span class="identifier">V1</span><span class="special">,</span> <span class="identifier">V2</span><span class="special">,</span> <span class="special">...,</span> <span class="identifier">VN</span><span class="special">></span> <span class="identifier">make_tuple</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T1</span><span class="special">&</span> <span class="identifier">t1</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">T2</span><span class="special">&</span> <span class="identifier">t2</span><span class="special">,</span> <span class="special">...,</span> <span class="keyword">const</span> <span class="identifier">TN</span><span class="special">&</span> <span class="identifier">tn</span><span class="special">);</span> +</pre> +<p> + Where <code class="computeroutput"><span class="identifier">Vi</span></code> is <code class="computeroutput"><span class="identifier">X</span><span class="special">&</span></code> + if the cv-unqualified type <code class="computeroutput"><span class="identifier">Ti</span></code> + is <code class="computeroutput"><span class="identifier">reference_wrapper</span><span class="special"><</span><span class="identifier">X</span><span class="special">></span></code>, + otherwise <code class="computeroutput"><span class="identifier">Vi</span></code> is <code class="computeroutput"><span class="identifier">Ti</span></code>. + </p> +<p> + <span class="bold"><strong>Returns</strong></span>: <code class="computeroutput"><span class="identifier">tuple</span><span class="special"><</span><span class="identifier">V1</span><span class="special">,</span> <span class="identifier">V2</span><span class="special">,</span> <span class="special">...,</span> <span class="identifier">VN</span><span class="special">>(</span><span class="identifier">t1</span><span class="special">,</span> <span class="identifier">t2</span><span class="special">,</span> <span class="special">...,</span> <span class="identifier">tN</span><span class="special">)</span></code> + </p> +<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T2</span><span class="special">,</span> <span class="special">...,</span> <span class="keyword">typename</span> <span class="identifier">TN</span><span class="special">></span> +<span class="identifier">tuple</span><span class="special"><</span><span class="identifier">T1</span><span class="special">&,</span> <span class="identifier">T2</span><span class="special">&,</span> <span class="special">...,</span> <span class="identifier">TN</span><span class="special">&></span> <span class="identifier">tie</span><span class="special">(</span><span class="identifier">T1</span><span class="special">&</span> <span class="identifier">t1</span><span class="special">,</span> <span class="identifier">T2</span><span class="special">&</span> <span class="identifier">t2</span><span class="special">,</span> <span class="special">...,</span> <span class="identifier">TN</span><span class="special">&</span> <span class="identifier">tn</span><span class="special">);</span> +</pre> +<p> + <span class="bold"><strong>Returns</strong></span>: tuple<T1&, T2&, ..., + TN&>(t1, t2, ..., tN). When argument <code class="computeroutput"><span class="identifier">ti</span></code> + is <code class="computeroutput"><span class="identifier">ignore</span></code>, assigning any + value to the corresponding tuple element has has no effect. + </p> +</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-2006, 2011 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="construction.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../class_template_tuple.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="tuple_helper_classes.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/tuple/class_template_tuple/tuple_helper_classes.html b/libs/fusion/doc/html/fusion/tuple/class_template_tuple/tuple_helper_classes.html new file mode 100755 index 0000000000..dc07f3c081 --- /dev/null +++ b/libs/fusion/doc/html/fusion/tuple/class_template_tuple/tuple_helper_classes.html @@ -0,0 +1,86 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Tuple helper classes</title> +<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../class_template_tuple.html" title="Class template tuple"> +<link rel="prev" href="tuple_creation_functions.html" title="Tuple creation functions"> +<link rel="next" href="element_access.html" title="Element access"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="tuple_creation_functions.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../class_template_tuple.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="element_access.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h4 class="title"> +<a name="fusion.tuple.class_template_tuple.tuple_helper_classes"></a><a class="link" href="tuple_helper_classes.html" title="Tuple helper classes">Tuple + helper classes</a> +</h4></div></div></div> +<h6> +<a name="fusion.tuple.class_template_tuple.tuple_helper_classes.h0"></a> + <span><a name="fusion.tuple.class_template_tuple.tuple_helper_classes.description"></a></span><a class="link" href="tuple_helper_classes.html#fusion.tuple.class_template_tuple.tuple_helper_classes.description">Description</a> + </h6> +<p> + The <a href="http://std.dkuug.dk/jtc1/sc22/wg21/docs/papers/2002/n1403.pdf" target="_top">TR1 + Tuple</a> provides 2 helper traits, for compile time access to the + tuple size, and the element types. + </p> +<h6> +<a name="fusion.tuple.class_template_tuple.tuple_helper_classes.h1"></a> + <span><a name="fusion.tuple.class_template_tuple.tuple_helper_classes.specification"></a></span><a class="link" href="tuple_helper_classes.html#fusion.tuple.class_template_tuple.tuple_helper_classes.specification">Specification</a> + </h6> +<pre class="programlisting"><span class="identifier">tuple_size</span><span class="special"><</span><span class="identifier">T</span><span class="special">>::</span><span class="identifier">value</span> +</pre> +<p> + <span class="bold"><strong>Requires</strong></span>: <code class="computeroutput"><span class="identifier">T</span></code> + is any fusion sequence type, including <code class="computeroutput"><span class="identifier">tuple</span></code>. + </p> +<p> + <span class="bold"><strong>Type</strong></span>: <a href="http://www.boost.org/libs/mpl/doc/refmanual/integral-constant.html" target="_top">MPL + Integral Constant</a> + </p> +<p> + <span class="bold"><strong>Value</strong></span>: The number of elements in the sequence. + Equivalent to <code class="computeroutput"><a class="link" href="../../sequence/intrinsic/metafunctions/size.html" title="size"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></code></a><span class="special"><</span><span class="identifier">T</span><span class="special">>::</span><span class="identifier">type</span></code>. + </p> +<pre class="programlisting"><span class="identifier">tuple_element</span><span class="special"><</span><span class="identifier">I</span><span class="special">,</span> <span class="identifier">T</span><span class="special">>::</span><span class="identifier">type</span> +</pre> +<p> + <span class="bold"><strong>Requires</strong></span>: <code class="computeroutput"><span class="identifier">T</span></code> + is any fusion sequence type, including <code class="computeroutput"><span class="identifier">tuple</span></code>. + <code class="computeroutput"><span class="number">0</span> <span class="special"><=</span> + <span class="identifier">I</span> <span class="special"><</span> + <span class="identifier">N</span></code> or the program is ill formed. + </p> +<p> + <span class="bold"><strong>Value</strong></span>: The type of the <code class="computeroutput"><span class="identifier">I</span></code>th + element of <code class="computeroutput"><span class="identifier">T</span></code>. Equivalent + to <code class="computeroutput"><a class="link" href="../../sequence/intrinsic/metafunctions/value_at.html" title="value_at"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">value_at</span></code></a><span class="special"><</span><span class="identifier">I</span><span class="special">,</span><span class="identifier">T</span><span class="special">>::</span><span class="identifier">type</span></code>. + </p> +</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-2006, 2011 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="tuple_creation_functions.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../class_template_tuple.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="element_access.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/tuple/pairs.html b/libs/fusion/doc/html/fusion/tuple/pairs.html new file mode 100755 index 0000000000..fba6cf372f --- /dev/null +++ b/libs/fusion/doc/html/fusion/tuple/pairs.html @@ -0,0 +1,105 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Pairs</title> +<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../tuple.html" title="Tuple"> +<link rel="prev" href="class_template_tuple/relational_operators.html" title="Relational operators"> +<link rel="next" href="../extension.html" title="Extension"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="class_template_tuple/relational_operators.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../tuple.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../extension.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h3 class="title"> +<a name="fusion.tuple.pairs"></a><a class="link" href="pairs.html" title="Pairs">Pairs</a> +</h3></div></div></div> +<h5> +<a name="fusion.tuple.pairs.h0"></a> + <span><a name="fusion.tuple.pairs.description"></a></span><a class="link" href="pairs.html#fusion.tuple.pairs.description">Description</a> + </h5> +<p> + The <a href="http://std.dkuug.dk/jtc1/sc22/wg21/docs/papers/2002/n1403.pdf" target="_top">TR1 + Tuple</a> interface is specified to provide uniform access to <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span></code> + as if it were a 2 element tuple. + </p> +<h5> +<a name="fusion.tuple.pairs.h1"></a> + <span><a name="fusion.tuple.pairs.specification"></a></span><a class="link" href="pairs.html#fusion.tuple.pairs.specification">Specification</a> + </h5> +<pre class="programlisting"><span class="identifier">tuple_size</span><span class="special"><</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special"><</span><span class="identifier">T1</span><span class="special">,</span> <span class="identifier">T2</span><span class="special">></span> <span class="special">>::</span><span class="identifier">value</span> +</pre> +<p> + <span class="bold"><strong>Type</strong></span>: An <a href="http://www.boost.org/libs/mpl/doc/refmanual/integral-constant.html" target="_top">MPL + Integral Constant</a> + </p> +<p> + <span class="bold"><strong>Value</strong></span>: Returns 2, the number of elements + in a pair. + </p> +<pre class="programlisting"><span class="identifier">tuple_element</span><span class="special"><</span><span class="number">0</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special"><</span><span class="identifier">T1</span><span class="special">,</span> <span class="identifier">T2</span><span class="special">></span> <span class="special">>::</span><span class="identifier">type</span> +</pre> +<p> + <span class="bold"><strong>Type</strong></span>: <code class="computeroutput"><span class="identifier">T1</span></code> + </p> +<p> + <span class="bold"><strong>Value</strong></span>: Returns the type of the first element + of the pair + </p> +<pre class="programlisting"><span class="identifier">tuple_element</span><span class="special"><</span><span class="number">1</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special"><</span><span class="identifier">T1</span><span class="special">,</span> <span class="identifier">T2</span><span class="special">></span> <span class="special">>::</span><span class="identifier">type</span> +</pre> +<p> + <span class="bold"><strong>Type</strong></span>: <code class="computeroutput"><span class="identifier">T2</span></code> + </p> +<p> + <span class="bold"><strong>Value</strong></span>: Returns thetype of the second element + of the pair + </p> +<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span><span class="keyword">int</span> <span class="identifier">I</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T2</span><span class="special">></span> +<span class="identifier">P</span><span class="special">&</span> <span class="identifier">get</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special"><</span><span class="identifier">T1</span><span class="special">,</span> <span class="identifier">T2</span><span class="special">>&</span> <span class="identifier">pr</span><span class="special">);</span> + +<span class="keyword">template</span><span class="special"><</span><span class="keyword">int</span> <span class="identifier">I</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T2</span><span class="special">></span> +<span class="keyword">const</span> <span class="identifier">P</span><span class="special">&</span> <span class="identifier">get</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special"><</span><span class="identifier">T1</span><span class="special">,</span> <span class="identifier">T2</span><span class="special">>&</span> <span class="identifier">pr</span><span class="special">);</span> +</pre> +<p> + <span class="bold"><strong>Type</strong></span>: If <code class="computeroutput"><span class="identifier">I</span> + <span class="special">==</span> <span class="number">0</span></code> + <code class="computeroutput"><span class="identifier">P</span></code> is <code class="computeroutput"><span class="identifier">T1</span></code>, + else if <code class="computeroutput"><span class="identifier">I</span> <span class="special">==</span> + <span class="number">1</span></code> <code class="computeroutput"><span class="identifier">P</span></code> + is <code class="computeroutput"><span class="identifier">T2</span></code> else the program is + ill-formed. + </p> +<p> + [*Returns: <code class="computeroutput"><span class="identifier">pr</span><span class="special">.</span><span class="identifier">first</span></code> if <code class="computeroutput"><span class="identifier">I</span> + <span class="special">==</span> <span class="number">0</span></code> + else <code class="computeroutput"><span class="identifier">pr</span><span class="special">.</span><span class="identifier">second</span></code>. + </p> +</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-2006, 2011 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="class_template_tuple/relational_operators.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../tuple.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../extension.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/view.html b/libs/fusion/doc/html/fusion/view.html new file mode 100755 index 0000000000..ea62bd1849 --- /dev/null +++ b/libs/fusion/doc/html/fusion/view.html @@ -0,0 +1,71 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>View</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="prev" href="container/conversion/metafunctions/as_map.html" title="as_map"> +<link rel="next" href="view/single_view.html" title="single_view"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="container/conversion/metafunctions/as_map.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="view/single_view.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h2 class="title" style="clear: both"> +<a name="fusion.view"></a><a class="link" href="view.html" title="View">View</a> +</h2></div></div></div> +<div class="toc"><dl> +<dt><span class="section"><a href="view/single_view.html">single_view</a></span></dt> +<dt><span class="section"><a href="view/filter_view.html">filter_view</a></span></dt> +<dt><span class="section"><a href="view/iterator_range.html">iterator_range</a></span></dt> +<dt><span class="section"><a href="view/joint_view.html">joint_view</a></span></dt> +<dt><span class="section"><a href="view/zip_view.html">zip_view</a></span></dt> +<dt><span class="section"><a href="view/transform_view.html">transform_view</a></span></dt> +<dt><span class="section"><a href="view/reverse_view.html">reverse_view</a></span></dt> +<dt><span class="section"><a href="view/nview.html">nview</a></span></dt> +<dt><span class="section"><a href="view/repetitive_view.html">repetitive_view</a></span></dt> +</dl></div> +<p> + Views are sequences that do not actually contain data, but instead impart an + alternative presentation over the data from one or more underlying sequences. + Views are proxies. They provide an efficient yet purely functional way to work + on potentially expensive sequence operations. Views are inherently lazy. Their + elements are only computed on demand only when the elements of the underlying + sequence(s) are actually accessed. Views' lazy nature make them very cheap + to copy and be passed around by value. + </p> +<h4> +<a name="fusion.view.h0"></a> + <span><a name="fusion.view.header"></a></span><a class="link" href="view.html#fusion.view.header">Header</a> + </h4> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">view</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">view</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +</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-2006, 2011 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="container/conversion/metafunctions/as_map.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="view/single_view.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/view/filter_view.html b/libs/fusion/doc/html/fusion/view/filter_view.html new file mode 100755 index 0000000000..390dcaee7a --- /dev/null +++ b/libs/fusion/doc/html/fusion/view/filter_view.html @@ -0,0 +1,248 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>filter_view</title> +<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../view.html" title="View"> +<link rel="prev" href="single_view.html" title="single_view"> +<link rel="next" href="iterator_range.html" title="iterator_range"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="single_view.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../view.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="iterator_range.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h3 class="title"> +<a name="fusion.view.filter_view"></a><a class="link" href="filter_view.html" title="filter_view">filter_view</a> +</h3></div></div></div> +<h5> +<a name="fusion.view.filter_view.h0"></a> + <span><a name="fusion.view.filter_view.description"></a></span><a class="link" href="filter_view.html#fusion.view.filter_view.description">Description</a> + </h5> +<p> + <code class="computeroutput"><span class="identifier">filter_view</span></code> is a view into + a subset of its underlying sequence's elements satisfying a given predicate + (an <a href="http://www.boost.org/libs/mpl/index.html" target="_top">MPL</a> metafunction). + The <code class="computeroutput"><span class="identifier">filter_view</span></code> presents + only those elements for which its predicate evaluates to <code class="computeroutput"><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">true_</span></code>. + </p> +<h5> +<a name="fusion.view.filter_view.h1"></a> + <span><a name="fusion.view.filter_view.header"></a></span><a class="link" href="filter_view.html#fusion.view.filter_view.header">Header</a> + </h5> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">view</span><span class="special">/</span><span class="identifier">filter_view</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">filter_view</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h5> +<a name="fusion.view.filter_view.h2"></a> + <span><a name="fusion.view.filter_view.synopsis"></a></span><a class="link" href="filter_view.html#fusion.view.filter_view.synopsis">Synopsis</a> + </h5> +<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Pred</span><span class="special">></span> +<span class="keyword">struct</span> <span class="identifier">filter_view</span><span class="special">;</span> +</pre> +<h5> +<a name="fusion.view.filter_view.h3"></a> + <span><a name="fusion.view.filter_view.template_parameters"></a></span><a class="link" href="filter_view.html#fusion.view.filter_view.template_parameters">Template + parameters</a> + </h5> +<div class="informaltable"><table class="table"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Description + </p> + </th> +<th> + <p> + Default + </p> + </th> +</tr></thead> +<tbody> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">Sequence</span></code> + </p> + </td> +<td> + <p> + A <a class="link" href="../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a> + </p> + </td> +<td> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">Pred</span></code> + </p> + </td> +<td> + <p> + Unary Metafunction returning an <code class="computeroutput"><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">bool_</span></code> + </p> + </td> +<td> + </td> +</tr> +</tbody> +</table></div> +<h5> +<a name="fusion.view.filter_view.h4"></a> + <span><a name="fusion.view.filter_view.model_of"></a></span><a class="link" href="filter_view.html#fusion.view.filter_view.model_of">Model + of</a> + </h5> +<div class="itemizedlist"><ul class="itemizedlist" type="disc"> +<li class="listitem"> + <a class="link" href="../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward Sequence</a> + </li> +<li class="listitem"> + <a class="link" href="../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative + Sequence</a> if <code class="computeroutput"><span class="identifier">Sequence</span></code> + implements the <a class="link" href="../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative + Sequence</a> model. + </li> +</ul></div> +<div class="variablelist"> +<p class="title"><b>Notation</b></p> +<dl> +<dt><span class="term"><code class="computeroutput"><span class="identifier">F</span></code></span></dt> +<dd><p> + A <code class="computeroutput"><span class="identifier">filter_view</span></code> type + </p></dd> +<dt><span class="term"><code class="computeroutput"><span class="identifier">f</span></code>, <code class="computeroutput"><span class="identifier">f2</span></code></span></dt> +<dd><p> + Instances of <code class="computeroutput"><span class="identifier">filter_view</span></code> + </p></dd> +<dt><span class="term"><code class="computeroutput"><span class="identifier">s</span></code></span></dt> +<dd><p> + A <a class="link" href="../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a> + </p></dd> +</dl> +</div> +<h5> +<a name="fusion.view.filter_view.h5"></a> + <span><a name="fusion.view.filter_view.expression_semantics"></a></span><a class="link" href="filter_view.html#fusion.view.filter_view.expression_semantics">Expression + Semantics</a> + </h5> +<p> + Semantics of an expression is defined only where it differs from, or is not + defined in the implemented models. + </p> +<div class="informaltable"><table class="table"> +<colgroup> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Expression + </p> + </th> +<th> + <p> + Semantics + </p> + </th> +</tr></thead> +<tbody> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">F</span><span class="special">(</span><span class="identifier">s</span><span class="special">)</span></code> + </p> + </td> +<td> + <p> + Creates a <code class="computeroutput"><span class="identifier">filter_view</span></code> + given a sequence, <code class="computeroutput"><span class="identifier">s</span></code>. + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">F</span><span class="special">(</span><span class="identifier">f</span><span class="special">)</span></code> + </p> + </td> +<td> + <p> + Copy constructs a <code class="computeroutput"><span class="identifier">filter_view</span></code> + from another <code class="computeroutput"><span class="identifier">filter_view</span></code>, + <code class="computeroutput"><span class="identifier">f</span></code>. + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">f</span> <span class="special">=</span> + <span class="identifier">f2</span></code> + </p> + </td> +<td> + <p> + Assigns to a <code class="computeroutput"><span class="identifier">filter_view</span></code>, + <code class="computeroutput"><span class="identifier">f</span></code>, from another + <code class="computeroutput"><span class="identifier">filter_view</span></code>, <code class="computeroutput"><span class="identifier">f2</span></code>. + </p> + </td> +</tr> +</tbody> +</table></div> +<h5> +<a name="fusion.view.filter_view.h6"></a> + <span><a name="fusion.view.filter_view.example"></a></span><a class="link" href="filter_view.html#fusion.view.filter_view.example">Example</a> + </h5> +<pre class="programlisting"><span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">_</span><span class="special">;</span> +<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">not_</span><span class="special">;</span> +<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">is_class</span><span class="special">;</span> + +<span class="keyword">typedef</span> <a class="link" href="../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">,</span> <span class="keyword">char</span><span class="special">,</span> <span class="keyword">long</span><span class="special">,</span> <span class="keyword">bool</span><span class="special">,</span> <span class="keyword">double</span><span class="special">></span> <span class="identifier">vector_type</span><span class="special">;</span> + +<span class="identifier">vector_type</span> <span class="identifier">v</span><span class="special">(</span><span class="string">"a-string"</span><span class="special">,</span> <span class="char">'@'</span><span class="special">,</span> <span class="number">987654</span><span class="special">,</span> <span class="keyword">true</span><span class="special">,</span> <span class="number">6.6</span><span class="special">);</span> +<span class="identifier">filter_view</span><span class="special"><</span><span class="identifier">vector_type</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">not_</span><span class="special"><</span><span class="identifier">is_class</span><span class="special"><</span><span class="identifier">_</span><span class="special">></span> <span class="special">></span> <span class="special">></span> <span class="identifier">view</span><span class="special">(</span><span class="identifier">v</span><span class="special">);</span> +<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special"><<</span> <span class="identifier">view</span> <span class="special"><<</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span> +</pre> +</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-2006, 2011 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="single_view.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../view.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="iterator_range.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/view/iterator_range.html b/libs/fusion/doc/html/fusion/view/iterator_range.html new file mode 100755 index 0000000000..db132f5efb --- /dev/null +++ b/libs/fusion/doc/html/fusion/view/iterator_range.html @@ -0,0 +1,261 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>iterator_range</title> +<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../view.html" title="View"> +<link rel="prev" href="filter_view.html" title="filter_view"> +<link rel="next" href="joint_view.html" title="joint_view"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="filter_view.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../view.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="joint_view.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h3 class="title"> +<a name="fusion.view.iterator_range"></a><a class="link" href="iterator_range.html" title="iterator_range">iterator_range</a> +</h3></div></div></div> +<h5> +<a name="fusion.view.iterator_range.h0"></a> + <span><a name="fusion.view.iterator_range.description"></a></span><a class="link" href="iterator_range.html#fusion.view.iterator_range.description">Description</a> + </h5> +<p> + <code class="computeroutput"><span class="identifier">iterator_range</span></code> presents a + sub-range of its underlying sequence delimited by a pair of iterators. + </p> +<h5> +<a name="fusion.view.iterator_range.h1"></a> + <span><a name="fusion.view.iterator_range.header"></a></span><a class="link" href="iterator_range.html#fusion.view.iterator_range.header">Header</a> + </h5> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">view</span><span class="special">/</span><span class="identifier">iterator_range</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">iterator_range</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h5> +<a name="fusion.view.iterator_range.h2"></a> + <span><a name="fusion.view.iterator_range.synopsis"></a></span><a class="link" href="iterator_range.html#fusion.view.iterator_range.synopsis">Synopsis</a> + </h5> +<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">First</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Last</span><span class="special">></span> +<span class="keyword">struct</span> <span class="identifier">iterator_range</span><span class="special">;</span> +</pre> +<h5> +<a name="fusion.view.iterator_range.h3"></a> + <span><a name="fusion.view.iterator_range.template_parameters"></a></span><a class="link" href="iterator_range.html#fusion.view.iterator_range.template_parameters">Template + parameters</a> + </h5> +<div class="informaltable"><table class="table"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Description + </p> + </th> +<th> + <p> + Default + </p> + </th> +</tr></thead> +<tbody> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">First</span></code> + </p> + </td> +<td> + <p> + A fusion <a class="link" href="../iterator.html" title="Iterator">Iterator</a> + </p> + </td> +<td> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">Last</span></code> + </p> + </td> +<td> + <p> + A fusion <a class="link" href="../iterator.html" title="Iterator">Iterator</a> + </p> + </td> +<td> + </td> +</tr> +</tbody> +</table></div> +<h5> +<a name="fusion.view.iterator_range.h4"></a> + <span><a name="fusion.view.iterator_range.model_of"></a></span><a class="link" href="iterator_range.html#fusion.view.iterator_range.model_of">Model + of</a> + </h5> +<div class="itemizedlist"><ul class="itemizedlist" type="disc"> +<li class="listitem"> + <a class="link" href="../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward Sequence</a>, + <a class="link" href="../sequence/concepts/bidirectional_sequence.html" title="Bidirectional Sequence">Bidirectional + Sequence</a> or <a class="link" href="../sequence/concepts/random_access_sequence.html" title="Random Access Sequence">Random + Access Sequence</a> depending on the traversal characteristics (see + <a class="link" href="../sequence/concepts.html#fusion.sequence.concepts.traversal">Sequence Traversal + Concept</a>) of its underlying sequence. + </li> +<li class="listitem"> + <a class="link" href="../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative + Sequence</a> if <code class="computeroutput"><span class="identifier">First</span></code> + and <code class="computeroutput"><span class="identifier">Last</span></code> implement the + <a class="link" href="../iterator/concepts/associative_iterator.html" title="Associative Iterator">Associative + Iterator</a> model. + </li> +</ul></div> +<div class="variablelist"> +<p class="title"><b>Notation</b></p> +<dl> +<dt><span class="term"><code class="computeroutput"><span class="identifier">IR</span></code></span></dt> +<dd><p> + An <code class="computeroutput"><span class="identifier">iterator_range</span></code> type + </p></dd> +<dt><span class="term"><code class="computeroutput"><span class="identifier">f</span></code></span></dt> +<dd><p> + An instance of <code class="computeroutput"><span class="identifier">First</span></code> + </p></dd> +<dt><span class="term"><code class="computeroutput"><span class="identifier">l</span></code></span></dt> +<dd><p> + An instance of <code class="computeroutput"><span class="identifier">Last</span></code> + </p></dd> +<dt><span class="term"><code class="computeroutput"><span class="identifier">ir</span></code>, <code class="computeroutput"><span class="identifier">ir2</span></code></span></dt> +<dd><p> + Instances of <code class="computeroutput"><span class="identifier">iterator_range</span></code> + </p></dd> +</dl> +</div> +<h5> +<a name="fusion.view.iterator_range.h5"></a> + <span><a name="fusion.view.iterator_range.expression_semantics"></a></span><a class="link" href="iterator_range.html#fusion.view.iterator_range.expression_semantics">Expression + Semantics</a> + </h5> +<p> + Semantics of an expression is defined only where it differs from, or is not + defined in the implemented models. + </p> +<div class="informaltable"><table class="table"> +<colgroup> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Expression + </p> + </th> +<th> + <p> + Semantics + </p> + </th> +</tr></thead> +<tbody> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">IR</span><span class="special">(</span><span class="identifier">f</span><span class="special">,</span> + <span class="identifier">l</span><span class="special">)</span></code> + </p> + </td> +<td> + <p> + Creates an <code class="computeroutput"><span class="identifier">iterator_range</span></code> + given iterators, <code class="computeroutput"><span class="identifier">f</span></code> + and <code class="computeroutput"><span class="identifier">l</span></code>. + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">IR</span><span class="special">(</span><span class="identifier">ir</span><span class="special">)</span></code> + </p> + </td> +<td> + <p> + Copy constructs an <code class="computeroutput"><span class="identifier">iterator_range</span></code> + from another <code class="computeroutput"><span class="identifier">iterator_range</span></code>, + <code class="computeroutput"><span class="identifier">ir</span></code>. + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">ir</span> <span class="special">=</span> + <span class="identifier">ir2</span></code> + </p> + </td> +<td> + <p> + Assigns to a <code class="computeroutput"><span class="identifier">iterator_range</span></code>, + <code class="computeroutput"><span class="identifier">ir</span></code>, from another + <code class="computeroutput"><span class="identifier">iterator_range</span></code>, + <code class="computeroutput"><span class="identifier">ir2</span></code>. + </p> + </td> +</tr> +</tbody> +</table></div> +<h5> +<a name="fusion.view.iterator_range.h6"></a> + <span><a name="fusion.view.iterator_range.example"></a></span><a class="link" href="iterator_range.html#fusion.view.iterator_range.example">Example</a> + </h5> +<pre class="programlisting"><span class="keyword">char</span> <span class="keyword">const</span><span class="special">*</span> <span class="identifier">s</span> <span class="special">=</span> <span class="string">"Ruby"</span><span class="special">;</span> +<span class="keyword">typedef</span> <a class="link" href="../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">char</span><span class="special">,</span> <span class="keyword">double</span><span class="special">,</span> <span class="keyword">char</span> <span class="keyword">const</span><span class="special">*></span> <span class="identifier">vector_type</span><span class="special">;</span> +<span class="identifier">vector_type</span> <span class="identifier">vec</span><span class="special">(</span><span class="number">1</span><span class="special">,</span> <span class="char">'x'</span><span class="special">,</span> <span class="number">3.3</span><span class="special">,</span> <span class="identifier">s</span><span class="special">);</span> + +<span class="keyword">typedef</span> <a class="link" href="../sequence/intrinsic/metafunctions/begin.html" title="begin"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">begin</span></code></a><span class="special"><</span><span class="identifier">vector_type</span><span class="special">>::</span><span class="identifier">type</span> <span class="identifier">A</span><span class="special">;</span> +<span class="keyword">typedef</span> <a class="link" href="../sequence/intrinsic/metafunctions/end.html" title="end"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">end</span></code></a><span class="special"><</span><span class="identifier">vector_type</span><span class="special">>::</span><span class="identifier">type</span> <span class="identifier">B</span><span class="special">;</span> +<span class="keyword">typedef</span> <a class="link" href="../iterator/metafunctions/next.html" title="next"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">next</span></code></a><span class="special"><</span><span class="identifier">A</span><span class="special">>::</span><span class="identifier">type</span> <span class="identifier">C</span><span class="special">;</span> +<span class="keyword">typedef</span> <a class="link" href="../iterator/metafunctions/prior.html" title="prior"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">prior</span></code></a><span class="special"><</span><span class="identifier">B</span><span class="special">>::</span><span class="identifier">type</span> <span class="identifier">D</span><span class="special">;</span> + +<span class="identifier">C</span> <span class="identifier">c</span><span class="special">(</span><span class="identifier">vec</span><span class="special">);</span> +<span class="identifier">D</span> <span class="identifier">d</span><span class="special">(</span><span class="identifier">vec</span><span class="special">);</span> + +<span class="identifier">iterator_range</span><span class="special"><</span><span class="identifier">C</span><span class="special">,</span> <span class="identifier">D</span><span class="special">></span> <span class="identifier">range</span><span class="special">(</span><span class="identifier">c</span><span class="special">,</span> <span class="identifier">d</span><span class="special">);</span> +<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special"><<</span> <span class="identifier">range</span> <span class="special"><<</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span> +</pre> +</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-2006, 2011 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="filter_view.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../view.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="joint_view.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/view/joint_view.html b/libs/fusion/doc/html/fusion/view/joint_view.html new file mode 100755 index 0000000000..ce1fce0aea --- /dev/null +++ b/libs/fusion/doc/html/fusion/view/joint_view.html @@ -0,0 +1,250 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>joint_view</title> +<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../view.html" title="View"> +<link rel="prev" href="iterator_range.html" title="iterator_range"> +<link rel="next" href="zip_view.html" title="zip_view"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="iterator_range.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../view.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="zip_view.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h3 class="title"> +<a name="fusion.view.joint_view"></a><a class="link" href="joint_view.html" title="joint_view">joint_view</a> +</h3></div></div></div> +<h5> +<a name="fusion.view.joint_view.h0"></a> + <span><a name="fusion.view.joint_view.description"></a></span><a class="link" href="joint_view.html#fusion.view.joint_view.description">Description</a> + </h5> +<p> + <code class="computeroutput"><span class="identifier">joint_view</span></code> presents a view + which is a concatenation of two sequences. + </p> +<h5> +<a name="fusion.view.joint_view.h1"></a> + <span><a name="fusion.view.joint_view.header"></a></span><a class="link" href="joint_view.html#fusion.view.joint_view.header">Header</a> + </h5> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">view</span><span class="special">/</span><span class="identifier">joint_view</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">joint_view</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h5> +<a name="fusion.view.joint_view.h2"></a> + <span><a name="fusion.view.joint_view.synopsis"></a></span><a class="link" href="joint_view.html#fusion.view.joint_view.synopsis">Synopsis</a> + </h5> +<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Sequence1</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Sequence2</span><span class="special">></span> +<span class="keyword">struct</span> <span class="identifier">joint_view</span><span class="special">;</span> +</pre> +<h5> +<a name="fusion.view.joint_view.h3"></a> + <span><a name="fusion.view.joint_view.template_parameters"></a></span><a class="link" href="joint_view.html#fusion.view.joint_view.template_parameters">Template + parameters</a> + </h5> +<div class="informaltable"><table class="table"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Description + </p> + </th> +<th> + <p> + Default + </p> + </th> +</tr></thead> +<tbody> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">Sequence1</span></code> + </p> + </td> +<td> + <p> + A <a class="link" href="../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a> + </p> + </td> +<td> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">Sequence2</span></code> + </p> + </td> +<td> + <p> + A <a class="link" href="../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a> + </p> + </td> +<td> + </td> +</tr> +</tbody> +</table></div> +<h5> +<a name="fusion.view.joint_view.h4"></a> + <span><a name="fusion.view.joint_view.model_of"></a></span><a class="link" href="joint_view.html#fusion.view.joint_view.model_of">Model + of</a> + </h5> +<div class="itemizedlist"><ul class="itemizedlist" type="disc"> +<li class="listitem"> + <a class="link" href="../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward Sequence</a> + </li> +<li class="listitem"> + <a class="link" href="../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative + Sequence</a> if <code class="computeroutput"><span class="identifier">Sequence1</span></code> + and <code class="computeroutput"><span class="identifier">Sequence2</span></code> implement + the <a class="link" href="../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative + Sequence</a> model. + </li> +</ul></div> +<div class="variablelist"> +<p class="title"><b>Notation</b></p> +<dl> +<dt><span class="term"><code class="computeroutput"><span class="identifier">JV</span></code></span></dt> +<dd><p> + A <code class="computeroutput"><span class="identifier">joint_view</span></code> type + </p></dd> +<dt><span class="term"><code class="computeroutput"><span class="identifier">s1</span></code></span></dt> +<dd><p> + An instance of <code class="computeroutput"><span class="identifier">Sequence1</span></code> + </p></dd> +<dt><span class="term"><code class="computeroutput"><span class="identifier">s2</span></code></span></dt> +<dd><p> + An instance of <code class="computeroutput"><span class="identifier">Sequence2</span></code> + </p></dd> +<dt><span class="term"><code class="computeroutput"><span class="identifier">jv</span></code>, <code class="computeroutput"><span class="identifier">jv2</span></code></span></dt> +<dd><p> + Instances of <code class="computeroutput"><span class="identifier">joint_view</span></code> + </p></dd> +</dl> +</div> +<h5> +<a name="fusion.view.joint_view.h5"></a> + <span><a name="fusion.view.joint_view.expression_semantics"></a></span><a class="link" href="joint_view.html#fusion.view.joint_view.expression_semantics">Expression + Semantics</a> + </h5> +<p> + Semantics of an expression is defined only where it differs from, or is not + defined in the implemented models. + </p> +<div class="informaltable"><table class="table"> +<colgroup> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Expression + </p> + </th> +<th> + <p> + Semantics + </p> + </th> +</tr></thead> +<tbody> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">JV</span><span class="special">(</span><span class="identifier">s1</span><span class="special">,</span> + <span class="identifier">s2</span><span class="special">)</span></code> + </p> + </td> +<td> + <p> + Creates a <code class="computeroutput"><span class="identifier">joint_view</span></code> + given sequences, <code class="computeroutput"><span class="identifier">s1</span></code> + and <code class="computeroutput"><span class="identifier">s2</span></code>. + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">JV</span><span class="special">(</span><span class="identifier">jv</span><span class="special">)</span></code> + </p> + </td> +<td> + <p> + Copy constructs a <code class="computeroutput"><span class="identifier">joint_view</span></code> + from another <code class="computeroutput"><span class="identifier">joint_view</span></code>, + <code class="computeroutput"><span class="identifier">jv</span></code>. + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">jv</span> <span class="special">=</span> + <span class="identifier">jv2</span></code> + </p> + </td> +<td> + <p> + Assigns to a <code class="computeroutput"><span class="identifier">joint_view</span></code>, + <code class="computeroutput"><span class="identifier">jv</span></code>, from another + <code class="computeroutput"><span class="identifier">joint_view</span></code>, <code class="computeroutput"><span class="identifier">jv2</span></code>. + </p> + </td> +</tr> +</tbody> +</table></div> +<h5> +<a name="fusion.view.joint_view.h6"></a> + <span><a name="fusion.view.joint_view.example"></a></span><a class="link" href="joint_view.html#fusion.view.joint_view.example">Example</a> + </h5> +<pre class="programlisting"><a class="link" href="../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">char</span><span class="special">></span> <span class="identifier">v1</span><span class="special">(</span><span class="number">3</span><span class="special">,</span> <span class="char">'x'</span><span class="special">);</span> +<a class="link" href="../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">,</span> <span class="keyword">int</span><span class="special">></span> <span class="identifier">v2</span><span class="special">(</span><span class="string">"hello"</span><span class="special">,</span> <span class="number">123</span><span class="special">);</span> +<span class="identifier">joint_view</span><span class="special"><</span> + <a class="link" href="../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">char</span><span class="special">></span> + <span class="special">,</span> <a class="link" href="../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">,</span> <span class="keyword">int</span><span class="special">></span> +<span class="special">></span> <span class="identifier">view</span><span class="special">(</span><span class="identifier">v1</span><span class="special">,</span> <span class="identifier">v2</span><span class="special">);</span> +<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special"><<</span> <span class="identifier">view</span> <span class="special"><<</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span> +</pre> +</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-2006, 2011 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="iterator_range.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../view.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="zip_view.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/view/nview.html b/libs/fusion/doc/html/fusion/view/nview.html new file mode 100755 index 0000000000..9efa5b2425 --- /dev/null +++ b/libs/fusion/doc/html/fusion/view/nview.html @@ -0,0 +1,267 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>nview</title> +<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../view.html" title="View"> +<link rel="prev" href="reverse_view.html" title="reverse_view"> +<link rel="next" href="repetitive_view.html" title="repetitive_view"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="reverse_view.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../view.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="repetitive_view.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h3 class="title"> +<a name="fusion.view.nview"></a><a class="link" href="nview.html" title="nview">nview</a> +</h3></div></div></div> +<h5> +<a name="fusion.view.nview.h0"></a> + <span><a name="fusion.view.nview.description"></a></span><a class="link" href="nview.html#fusion.view.nview.description">Description</a> + </h5> +<p> + <code class="computeroutput"><span class="identifier">nview</span></code> presents a view which + iterates over a given <a class="link" href="../sequence.html" title="Sequence">Sequence</a> in + a specified order. An <code class="computeroutput"><span class="identifier">nview</span></code> + is constructed from an arbitrary <a class="link" href="../sequence.html" title="Sequence">Sequence</a> + and a list of indicies specifying the elements to iterate over. + </p> +<h5> +<a name="fusion.view.nview.h1"></a> + <span><a name="fusion.view.nview.header"></a></span><a class="link" href="nview.html#fusion.view.nview.header">Header</a> + </h5> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">view</span><span class="special">/</span><span class="identifier">nview</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">nview</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h5> +<a name="fusion.view.nview.h2"></a> + <span><a name="fusion.view.nview.synopsis"></a></span><a class="link" href="nview.html#fusion.view.nview.synopsis">Synopsis</a> + </h5> +<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Indicies</span><span class="special">></span> +<span class="keyword">struct</span> <span class="identifier">nview</span><span class="special">;</span> + +<span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">I1</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">I2</span> <span class="special">=</span> <span class="special">-</span><span class="number">1</span><span class="special">,</span> <span class="special">...></span> +<span class="keyword">typename</span> <span class="identifier">result_of</span><span class="special">::</span><span class="identifier">nview</span><span class="special"><</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">I1</span><span class="special">,</span> <span class="identifier">I2</span><span class="special">,</span> <span class="special">...>::</span><span class="identifier">type</span> +<span class="identifier">as_nview</span><span class="special">(</span><span class="identifier">Sequence</span><span class="special">&</span> <span class="identifier">s</span><span class="special">);</span> +</pre> +<h5> +<a name="fusion.view.nview.h3"></a> + <span><a name="fusion.view.nview.template_parameters"></a></span><a class="link" href="nview.html#fusion.view.nview.template_parameters">Template + parameters</a> + </h5> +<div class="informaltable"><table class="table"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Description + </p> + </th> +<th> + <p> + Default + </p> + </th> +</tr></thead> +<tbody> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">Sequence</span></code> + </p> + </td> +<td> + <p> + An arbitrary Fusion <a class="link" href="../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a> + </p> + </td> +<td> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">Indicies</span></code> + </p> + </td> +<td> + <p> + A <code class="computeroutput"><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">vector_c</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="special">...></span></code> holding the indicies defining + the required iteration order. + </p> + </td> +<td> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">I1</span></code>, <code class="computeroutput"><span class="identifier">I2</span></code>, <code class="computeroutput"><span class="identifier">I3</span></code>... + </p> + </td> +<td> + <p> + A list of integers specifying the required iteration order. + </p> + </td> +<td> + <p> + <code class="computeroutput"><span class="identifier">INT_MAX</span></code> for <code class="computeroutput"><span class="identifier">I2</span></code>, <code class="computeroutput"><span class="identifier">I3</span></code>... + </p> + </td> +</tr> +</tbody> +</table></div> +<h5> +<a name="fusion.view.nview.h4"></a> + <span><a name="fusion.view.nview.model_of"></a></span><a class="link" href="nview.html#fusion.view.nview.model_of">Model + of</a> + </h5> +<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"> + <a class="link" href="../sequence/concepts/random_access_sequence.html" title="Random Access Sequence">Random + Access Sequence</a> (see <a class="link" href="../sequence/concepts.html#fusion.sequence.concepts.traversal">Sequence + Traversal Concept</a>) + </li></ul></div> +<div class="variablelist"> +<p class="title"><b>Notation</b></p> +<dl> +<dt><span class="term"><code class="computeroutput"><span class="identifier">NV</span></code></span></dt> +<dd><p> + A <code class="computeroutput"><span class="identifier">nview</span></code> type + </p></dd> +<dt><span class="term"><code class="computeroutput"><span class="identifier">s</span></code></span></dt> +<dd><p> + An instance of <code class="computeroutput"><span class="identifier">Sequences</span></code> + </p></dd> +<dt><span class="term"><code class="computeroutput"><span class="identifier">nv1</span></code>, <code class="computeroutput"><span class="identifier">nv2</span></code></span></dt> +<dd><p> + Instances of <code class="computeroutput"><span class="identifier">NV</span></code> + </p></dd> +</dl> +</div> +<h5> +<a name="fusion.view.nview.h5"></a> + <span><a name="fusion.view.nview.expression_semantics"></a></span><a class="link" href="nview.html#fusion.view.nview.expression_semantics">Expression + Semantics</a> + </h5> +<p> + Semantics of an expression is defined only where it differs from, or is not + defined in <a class="link" href="../sequence/concepts/random_access_sequence.html" title="Random Access Sequence">Random + Access Sequence</a>. + </p> +<div class="informaltable"><table class="table"> +<colgroup> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Expression + </p> + </th> +<th> + <p> + Semantics + </p> + </th> +</tr></thead> +<tbody> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">NV</span><span class="special">(</span><span class="identifier">s</span><span class="special">)</span></code> + </p> + </td> +<td> + <p> + Creates an <code class="computeroutput"><span class="identifier">nview</span></code> + given a sequence and a list of indicies. + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">NV</span><span class="special">(</span><span class="identifier">nv1</span><span class="special">)</span></code> + </p> + </td> +<td> + <p> + Copy constructs an <code class="computeroutput"><span class="identifier">nview</span></code> + from another <code class="computeroutput"><span class="identifier">nview</span></code>, + <code class="computeroutput"><span class="identifier">nv1</span></code>. + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">nv1</span> <span class="special">=</span> + <span class="identifier">nv2</span></code> + </p> + </td> +<td> + <p> + Assigns to an <code class="computeroutput"><span class="identifier">nview</span></code>, + <code class="computeroutput"><span class="identifier">nv1</span></code>, from another + <code class="computeroutput"><span class="identifier">nview</span></code>, <code class="computeroutput"><span class="identifier">nv2</span></code>. + </p> + </td> +</tr> +</tbody> +</table></div> +<p> + The <code class="computeroutput"><span class="identifier">nview</span></code> internally stores + a Fusion <a class="link" href="../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a> + of references to the elements of the original Fusion <a class="link" href="../sequence.html" title="Sequence">Sequence</a> + </p> +<h5> +<a name="fusion.view.nview.h6"></a> + <span><a name="fusion.view.nview.example"></a></span><a class="link" href="nview.html#fusion.view.nview.example">Example</a> + </h5> +<pre class="programlisting"><span class="keyword">typedef</span> <a class="link" href="../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">char</span><span class="special">,</span> <span class="keyword">double</span><span class="special">></span> <span class="identifier">vec</span><span class="special">;</span> +<span class="keyword">typedef</span> <span class="identifier">mpl</span><span class="special">::</span><span class="identifier">vector_c</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="number">2</span><span class="special">,</span> <span class="number">1</span><span class="special">,</span> <span class="number">0</span><span class="special">,</span> <span class="number">2</span><span class="special">,</span> <span class="number">0</span><span class="special">></span> <span class="identifier">indicies</span><span class="special">;</span> + +<span class="identifier">vec</span> <span class="identifier">v1</span><span class="special">(</span><span class="number">1</span><span class="special">,</span> <span class="char">'c'</span><span class="special">,</span> <span class="number">2.0</span><span class="special">);</span> + +<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special"><<</span> <span class="identifier">nview</span><span class="special"><</span><span class="identifier">vec</span><span class="special">,</span> <span class="identifier">indicies</span><span class="special">>(</span><span class="identifier">v1</span><span class="special">)</span> <span class="special"><<</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span> <span class="comment">// (2.0 c 1 2.0 1)</span> +<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special"><<</span> <span class="identifier">as_nview</span><span class="special"><</span><span class="number">2</span><span class="special">,</span> <span class="number">1</span><span class="special">,</span> <span class="number">1</span><span class="special">,</span> <span class="number">0</span><span class="special">>(</span><span class="identifier">v1</span><span class="special">)</span> <span class="special"><<</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span> <span class="comment">// (2.0 c c 1)</span> +</pre> +</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-2006, 2011 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="reverse_view.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../view.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="repetitive_view.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/view/repetitive_view.html b/libs/fusion/doc/html/fusion/view/repetitive_view.html new file mode 100755 index 0000000000..62efc5d62b --- /dev/null +++ b/libs/fusion/doc/html/fusion/view/repetitive_view.html @@ -0,0 +1,282 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>repetitive_view</title> +<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../view.html" title="View"> +<link rel="prev" href="nview.html" title="nview"> +<link rel="next" href="../adapted.html" title="Adapted"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="nview.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../view.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../adapted.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h3 class="title"> +<a name="fusion.view.repetitive_view"></a><a class="link" href="repetitive_view.html" title="repetitive_view">repetitive_view</a> +</h3></div></div></div> +<h5> +<a name="fusion.view.repetitive_view.h0"></a> + <span><a name="fusion.view.repetitive_view.description"></a></span><a class="link" href="repetitive_view.html#fusion.view.repetitive_view.description">Description</a> + </h5> +<p> + <code class="computeroutput"><span class="identifier">repetitive_view</span></code> presents + a view which iterates over a given <a class="link" href="../sequence.html" title="Sequence">Sequence</a> + repeatedly. Because a <code class="computeroutput"><span class="identifier">repetitive_view</span></code> + has infinite length, it can only be used when some external condition determines + the end. Thus, initializing a fixed length sequence with a <code class="computeroutput"><span class="identifier">repetitive_view</span></code> is okay, but printing a + <code class="computeroutput"><span class="identifier">repetitive_view</span></code> to <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span></code> + is not. + </p> +<h5> +<a name="fusion.view.repetitive_view.h1"></a> + <span><a name="fusion.view.repetitive_view.header"></a></span><a class="link" href="repetitive_view.html#fusion.view.repetitive_view.header">Header</a> + </h5> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">view</span><span class="special">/</span><span class="identifier">repetitive_view</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">repetitive_view</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h5> +<a name="fusion.view.repetitive_view.h2"></a> + <span><a name="fusion.view.repetitive_view.synopsis"></a></span><a class="link" href="repetitive_view.html#fusion.view.repetitive_view.synopsis">Synopsis</a> + </h5> +<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">></span> +<span class="keyword">struct</span> <span class="identifier">repetitive_view</span><span class="special">;</span> +</pre> +<h5> +<a name="fusion.view.repetitive_view.h3"></a> + <span><a name="fusion.view.repetitive_view.template_parameters"></a></span><a class="link" href="repetitive_view.html#fusion.view.repetitive_view.template_parameters">Template + parameters</a> + </h5> +<div class="informaltable"><table class="table"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Description + </p> + </th> +<th> + <p> + Default + </p> + </th> +</tr></thead> +<tbody><tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">Sequence</span></code> + </p> + </td> +<td> + <p> + An arbitrary Fusion <a class="link" href="../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a> + </p> + </td> +<td> + </td> +</tr></tbody> +</table></div> +<div class="variablelist"> +<p class="title"><b>Notation</b></p> +<dl> +<dt><span class="term"><code class="computeroutput"><span class="identifier">RV</span></code></span></dt> +<dd><p> + A <code class="computeroutput"><span class="identifier">repetitive_view</span></code> type + </p></dd> +<dt><span class="term"><code class="computeroutput"><span class="identifier">s</span></code></span></dt> +<dd><p> + An instance of <code class="computeroutput"><span class="identifier">Sequences</span></code> + </p></dd> +<dt><span class="term"><code class="computeroutput"><span class="identifier">rv</span></code>, <code class="computeroutput"><span class="identifier">rv1</span></code>, <code class="computeroutput"><span class="identifier">rv2</span></code></span></dt> +<dd><p> + Instances of <code class="computeroutput"><span class="identifier">RV</span></code> + </p></dd> +</dl> +</div> +<h5> +<a name="fusion.view.repetitive_view.h4"></a> + <span><a name="fusion.view.repetitive_view.expression_semantics"></a></span><a class="link" href="repetitive_view.html#fusion.view.repetitive_view.expression_semantics">Expression + Semantics</a> + </h5> +<div class="informaltable"><table class="table"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Expression + </p> + </th> +<th> + <p> + Return Type + </p> + </th> +<th> + <p> + Semantics + </p> + </th> +</tr></thead> +<tbody> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">RV</span><span class="special">(</span><span class="identifier">s</span><span class="special">)</span></code> + </p> + </td> +<td> + </td> +<td> + <p> + Creates an <code class="computeroutput"><span class="identifier">repetitive_view</span></code> + given the underlying sequence. + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">RV</span><span class="special">(</span><span class="identifier">rv1</span><span class="special">)</span></code> + </p> + </td> +<td> + </td> +<td> + <p> + Copy constructs an <code class="computeroutput"><span class="identifier">repetitive_view</span></code> + from another <code class="computeroutput"><span class="identifier">repetitive_view</span></code>, + <code class="computeroutput"><span class="identifier">rv1</span></code>. + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">rv1</span> <span class="special">=</span> + <span class="identifier">rv2</span></code> + </p> + </td> +<td> + </td> +<td> + <p> + Assigns to a <code class="computeroutput"><span class="identifier">repetitive_view</span></code>, + <code class="computeroutput"><span class="identifier">rv1</span></code>, from another + <code class="computeroutput"><span class="identifier">repetitive_view</span></code>, + <code class="computeroutput"><span class="identifier">rv2</span></code>. + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><a class="link" href="../sequence/intrinsic/functions/begin.html" title="begin"><code class="computeroutput"><span class="identifier">begin</span></code></a><span class="special">(</span><span class="identifier">rv</span><span class="special">)</span></code> + </p> + </td> +<td> + <p> + <a class="link" href="../iterator/concepts/forward_iterator.html" title="Forward Iterator">Forward + Iterator</a> + </p> + </td> +<td> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><a class="link" href="../sequence/intrinsic/functions/end.html" title="end"><code class="computeroutput"><span class="identifier">end</span></code></a><span class="special">(</span><span class="identifier">rv</span><span class="special">)</span></code> + </p> + </td> +<td> + <p> + <a class="link" href="../iterator/concepts/forward_iterator.html" title="Forward Iterator">Forward + Iterator</a> + </p> + </td> +<td> + <p> + Creates an unreachable iterator (since the sequnce is infinite) + </p> + </td> +</tr> +</tbody> +</table></div> +<h5> +<a name="fusion.view.repetitive_view.h5"></a> + <span><a name="fusion.view.repetitive_view.result_type_expressions"></a></span><a class="link" href="repetitive_view.html#fusion.view.repetitive_view.result_type_expressions">Result + Type Expressions</a> + </h5> +<div class="informaltable"><table class="table"> +<colgroup><col></colgroup> +<thead><tr><th> + <p> + Expression + </p> + </th></tr></thead> +<tbody> +<tr><td> + <p> + <code class="computeroutput"><a class="link" href="../sequence/intrinsic/metafunctions/begin.html" title="begin"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">begin</span></code></a><span class="special"><</span><span class="identifier">RV</span><span class="special">>::</span><span class="identifier">type</span></code> + </p> + </td></tr> +<tr><td> + <p> + <code class="computeroutput"><a class="link" href="../sequence/intrinsic/metafunctions/end.html" title="end"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">end</span></code></a><span class="special"><</span><span class="identifier">RV</span><span class="special">>::</span><span class="identifier">type</span></code> + </p> + </td></tr> +</tbody> +</table></div> +<h5> +<a name="fusion.view.repetitive_view.h6"></a> + <span><a name="fusion.view.repetitive_view.example"></a></span><a class="link" href="repetitive_view.html#fusion.view.repetitive_view.example">Example</a> + </h5> +<pre class="programlisting"><span class="keyword">typedef</span> <a class="link" href="../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">char</span><span class="special">,</span> <span class="keyword">double</span><span class="special">></span> <span class="identifier">vec1</span><span class="special">;</span> +<span class="keyword">typedef</span> <a class="link" href="../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">char</span><span class="special">,</span> <span class="keyword">double</span><span class="special">,</span> <span class="keyword">int</span><span class="special">,</span> <span class="keyword">char</span><span class="special">></span> <span class="identifier">vec2</span><span class="special">;</span> + +<span class="identifier">vec1</span> <span class="identifier">v1</span><span class="special">(</span><span class="number">1</span><span class="special">,</span> <span class="char">'c'</span><span class="special">,</span> <span class="number">2.0</span><span class="special">);</span> +<span class="identifier">vec2</span> <span class="identifier">v2</span><span class="special">(</span><span class="identifier">repetitive_view</span><span class="special"><</span><span class="identifier">vec1</span><span class="special">>(</span><span class="identifier">v1</span><span class="special">));</span> + +<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special"><<</span> <span class="identifier">v2</span> <span class="special"><<</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span> <span class="comment">// 1, 'c', 2.0, 1, 'c'</span> +</pre> +</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-2006, 2011 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="nview.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../view.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../adapted.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/view/reverse_view.html b/libs/fusion/doc/html/fusion/view/reverse_view.html new file mode 100755 index 0000000000..68b12fdb29 --- /dev/null +++ b/libs/fusion/doc/html/fusion/view/reverse_view.html @@ -0,0 +1,228 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>reverse_view</title> +<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../view.html" title="View"> +<link rel="prev" href="transform_view.html" title="transform_view"> +<link rel="next" href="nview.html" title="nview"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="transform_view.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../view.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="nview.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h3 class="title"> +<a name="fusion.view.reverse_view"></a><a class="link" href="reverse_view.html" title="reverse_view">reverse_view</a> +</h3></div></div></div> +<p> + <code class="computeroutput"><span class="identifier">reverse_view</span></code> presents a reversed + view of underlying sequence. The first element will be its last and the last + element will be its first. + </p> +<h5> +<a name="fusion.view.reverse_view.h0"></a> + <span><a name="fusion.view.reverse_view.header"></a></span><a class="link" href="reverse_view.html#fusion.view.reverse_view.header">Header</a> + </h5> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">view</span><span class="special">/</span><span class="identifier">reverse_view</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">reverse_view</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h5> +<a name="fusion.view.reverse_view.h1"></a> + <span><a name="fusion.view.reverse_view.synopsis"></a></span><a class="link" href="reverse_view.html#fusion.view.reverse_view.synopsis">Synopsis</a> + </h5> +<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">></span> +<span class="keyword">struct</span> <span class="identifier">reverse_view</span><span class="special">;</span> +</pre> +<h5> +<a name="fusion.view.reverse_view.h2"></a> + <span><a name="fusion.view.reverse_view.template_parameters"></a></span><a class="link" href="reverse_view.html#fusion.view.reverse_view.template_parameters">Template + parameters</a> + </h5> +<div class="informaltable"><table class="table"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Description + </p> + </th> +<th> + <p> + Default + </p> + </th> +</tr></thead> +<tbody><tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">Sequence</span></code> + </p> + </td> +<td> + <p> + A <a class="link" href="../sequence/concepts/bidirectional_sequence.html" title="Bidirectional Sequence">Bidirectional + Sequence</a> + </p> + </td> +<td> + </td> +</tr></tbody> +</table></div> +<h5> +<a name="fusion.view.reverse_view.h3"></a> + <span><a name="fusion.view.reverse_view.model_of"></a></span><a class="link" href="reverse_view.html#fusion.view.reverse_view.model_of">Model + of</a> + </h5> +<div class="itemizedlist"><ul class="itemizedlist" type="disc"> +<li class="listitem"> + A model of <a class="link" href="../sequence/concepts/bidirectional_sequence.html" title="Bidirectional Sequence">Bidirectional + Sequence</a> if <code class="computeroutput"><span class="identifier">Sequence</span></code> + is a <a class="link" href="../sequence/concepts/bidirectional_sequence.html" title="Bidirectional Sequence">Bidirectional + Sequence</a> else, <a class="link" href="../sequence/concepts/random_access_sequence.html" title="Random Access Sequence">Random + Access Sequence</a> if <code class="computeroutput"><span class="identifier">Sequence</span></code> + is a <a class="link" href="../sequence/concepts/random_access_sequence.html" title="Random Access Sequence">Random + Access Sequence</a>. + </li> +<li class="listitem"> + <a class="link" href="../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative + Sequence</a> if <code class="computeroutput"><span class="identifier">Sequence</span></code> + implements the <a class="link" href="../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative + Sequence</a> model. + </li> +</ul></div> +<div class="variablelist"> +<p class="title"><b>Notation</b></p> +<dl> +<dt><span class="term"><code class="computeroutput"><span class="identifier">RV</span></code></span></dt> +<dd><p> + A <code class="computeroutput"><span class="identifier">reverse_view</span></code> type + </p></dd> +<dt><span class="term"><code class="computeroutput"><span class="identifier">s</span></code></span></dt> +<dd><p> + An instance of <code class="computeroutput"><span class="identifier">Sequence</span></code> + </p></dd> +<dt><span class="term"><code class="computeroutput"><span class="identifier">rv</span></code>, <code class="computeroutput"><span class="identifier">rv2</span></code></span></dt> +<dd><p> + Instances of <code class="computeroutput"><span class="identifier">reverse_view</span></code> + </p></dd> +</dl> +</div> +<h5> +<a name="fusion.view.reverse_view.h4"></a> + <span><a name="fusion.view.reverse_view.expression_semantics"></a></span><a class="link" href="reverse_view.html#fusion.view.reverse_view.expression_semantics">Expression + Semantics</a> + </h5> +<p> + Semantics of an expression is defined only where it differs from, or is not + defined in the implemented models. + </p> +<div class="informaltable"><table class="table"> +<colgroup> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Expression + </p> + </th> +<th> + <p> + Semantics + </p> + </th> +</tr></thead> +<tbody> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">RV</span><span class="special">(</span><span class="identifier">s</span><span class="special">)</span></code> + </p> + </td> +<td> + <p> + Creates a unary <code class="computeroutput"><span class="identifier">reverse_view</span></code> + given sequence, <code class="computeroutput"><span class="identifier">s</span></code>. + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">RV</span><span class="special">(</span><span class="identifier">rv</span><span class="special">)</span></code> + </p> + </td> +<td> + <p> + Copy constructs a <code class="computeroutput"><span class="identifier">reverse_view</span></code> + from another <code class="computeroutput"><span class="identifier">reverse_view</span></code>, + <code class="computeroutput"><span class="identifier">rv</span></code>. + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">rv</span> <span class="special">=</span> + <span class="identifier">rv2</span></code> + </p> + </td> +<td> + <p> + Assigns to a <code class="computeroutput"><span class="identifier">reverse_view</span></code>, + <code class="computeroutput"><span class="identifier">rv</span></code>, from another + <code class="computeroutput"><span class="identifier">reverse_view</span></code>, + <code class="computeroutput"><span class="identifier">rv2</span></code>. + </p> + </td> +</tr> +</tbody> +</table></div> +<h5> +<a name="fusion.view.reverse_view.h5"></a> + <span><a name="fusion.view.reverse_view.example"></a></span><a class="link" href="reverse_view.html#fusion.view.reverse_view.example">Example</a> + </h5> +<pre class="programlisting"><span class="keyword">typedef</span> <a class="link" href="../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">short</span><span class="special">,</span> <span class="keyword">double</span><span class="special">></span> <span class="identifier">vector_type</span><span class="special">;</span> +<span class="identifier">vector_type</span> <span class="identifier">vec</span><span class="special">(</span><span class="number">2</span><span class="special">,</span> <span class="number">5</span><span class="special">,</span> <span class="number">3.3</span><span class="special">);</span> + +<span class="identifier">reverse_view</span><span class="special"><</span><span class="identifier">vector_type</span><span class="special">></span> <span class="identifier">reverse</span><span class="special">(</span><span class="identifier">vec</span><span class="special">);</span> +<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special"><<</span> <span class="identifier">reverse</span> <span class="special"><<</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span> +</pre> +</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-2006, 2011 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="transform_view.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../view.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="nview.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/view/single_view.html b/libs/fusion/doc/html/fusion/view/single_view.html new file mode 100755 index 0000000000..a8968f4a95 --- /dev/null +++ b/libs/fusion/doc/html/fusion/view/single_view.html @@ -0,0 +1,210 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>single_view</title> +<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../view.html" title="View"> +<link rel="prev" href="../view.html" title="View"> +<link rel="next" href="filter_view.html" title="filter_view"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="../view.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../view.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="filter_view.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h3 class="title"> +<a name="fusion.view.single_view"></a><a class="link" href="single_view.html" title="single_view">single_view</a> +</h3></div></div></div> +<p> + <code class="computeroutput"><span class="identifier">single_view</span></code> is a view into + a value as a single element sequence. + </p> +<h5> +<a name="fusion.view.single_view.h0"></a> + <span><a name="fusion.view.single_view.header"></a></span><a class="link" href="single_view.html#fusion.view.single_view.header">Header</a> + </h5> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">view</span><span class="special">/</span><span class="identifier">single_view</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">single_view</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h5> +<a name="fusion.view.single_view.h1"></a> + <span><a name="fusion.view.single_view.synopsis"></a></span><a class="link" href="single_view.html#fusion.view.single_view.synopsis">Synopsis</a> + </h5> +<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">></span> +<span class="keyword">struct</span> <span class="identifier">single_view</span><span class="special">;</span> +</pre> +<h5> +<a name="fusion.view.single_view.h2"></a> + <span><a name="fusion.view.single_view.template_parameters"></a></span><a class="link" href="single_view.html#fusion.view.single_view.template_parameters">Template + parameters</a> + </h5> +<div class="informaltable"><table class="table"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Description + </p> + </th> +<th> + <p> + Default + </p> + </th> +</tr></thead> +<tbody><tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">T</span></code> + </p> + </td> +<td> + <p> + Any type + </p> + </td> +<td> + </td> +</tr></tbody> +</table></div> +<h5> +<a name="fusion.view.single_view.h3"></a> + <span><a name="fusion.view.single_view.model_of"></a></span><a class="link" href="single_view.html#fusion.view.single_view.model_of">Model + of</a> + </h5> +<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"> + <a class="link" href="../sequence/concepts/random_access_sequence.html" title="Random Access Sequence">Random + Access Sequence</a> + </li></ul></div> +<div class="variablelist"> +<p class="title"><b>Notation</b></p> +<dl> +<dt><span class="term"><code class="computeroutput"><span class="identifier">S</span></code></span></dt> +<dd><p> + A <code class="computeroutput"><span class="identifier">single_view</span></code> type + </p></dd> +<dt><span class="term"><code class="computeroutput"><span class="identifier">s</span></code>, <code class="computeroutput"><span class="identifier">s2</span></code></span></dt> +<dd><p> + Instances of <code class="computeroutput"><span class="identifier">single_view</span></code> + </p></dd> +<dt><span class="term"><code class="computeroutput"><span class="identifier">x</span></code></span></dt> +<dd><p> + An instance of <code class="computeroutput"><span class="identifier">T</span></code> + </p></dd> +</dl> +</div> +<h5> +<a name="fusion.view.single_view.h4"></a> + <span><a name="fusion.view.single_view.expression_semantics"></a></span><a class="link" href="single_view.html#fusion.view.single_view.expression_semantics">Expression + Semantics</a> + </h5> +<p> + Semantics of an expression is defined only where it differs from, or is not + defined in <a class="link" href="../sequence/concepts/random_access_sequence.html" title="Random Access Sequence">Random + Access Sequence</a>. + </p> +<div class="informaltable"><table class="table"> +<colgroup> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Expression + </p> + </th> +<th> + <p> + Semantics + </p> + </th> +</tr></thead> +<tbody> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">S</span><span class="special">(</span><span class="identifier">x</span><span class="special">)</span></code> + </p> + </td> +<td> + <p> + Creates a <code class="computeroutput"><span class="identifier">single_view</span></code> + from <code class="computeroutput"><span class="identifier">x</span></code>. + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">S</span><span class="special">(</span><span class="identifier">s</span><span class="special">)</span></code> + </p> + </td> +<td> + <p> + Copy constructs a <code class="computeroutput"><span class="identifier">single_view</span></code> + from another <code class="computeroutput"><span class="identifier">single_view</span></code>, + <code class="computeroutput"><span class="identifier">s</span></code>. + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">s</span> <span class="special">=</span> + <span class="identifier">s2</span></code> + </p> + </td> +<td> + <p> + Assigns to a <code class="computeroutput"><span class="identifier">single_view</span></code>, + <code class="computeroutput"><span class="identifier">s</span></code>, from another + <code class="computeroutput"><span class="identifier">single_view</span></code>, <code class="computeroutput"><span class="identifier">s2</span></code>. + </p> + </td> +</tr> +</tbody> +</table></div> +<h5> +<a name="fusion.view.single_view.h5"></a> + <span><a name="fusion.view.single_view.example"></a></span><a class="link" href="single_view.html#fusion.view.single_view.example">Example</a> + </h5> +<pre class="programlisting"><span class="identifier">single_view</span><span class="special"><</span><span class="keyword">int</span><span class="special">></span> <span class="identifier">view</span><span class="special">(</span><span class="number">3</span><span class="special">);</span> +<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special"><<</span> <span class="identifier">view</span> <span class="special"><<</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span> +</pre> +</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-2006, 2011 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="../view.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../view.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="filter_view.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/view/transform_view.html b/libs/fusion/doc/html/fusion/view/transform_view.html new file mode 100755 index 0000000000..257b617ebb --- /dev/null +++ b/libs/fusion/doc/html/fusion/view/transform_view.html @@ -0,0 +1,365 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>transform_view</title> +<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../view.html" title="View"> +<link rel="prev" href="zip_view.html" title="zip_view"> +<link rel="next" href="reverse_view.html" title="reverse_view"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="zip_view.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../view.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="reverse_view.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h3 class="title"> +<a name="fusion.view.transform_view"></a><a class="link" href="transform_view.html" title="transform_view">transform_view</a> +</h3></div></div></div> +<p> + The unary version of <code class="computeroutput"><span class="identifier">transform_view</span></code> + presents a view of its underlying sequence given a unary function object + or function pointer. The binary version of <code class="computeroutput"><span class="identifier">transform_view</span></code> + presents a view of 2 underlying sequences, given a binary function object + or function pointer. The <code class="computeroutput"><span class="identifier">transform_view</span></code> + inherits the traversal characteristics (see <a class="link" href="../sequence/concepts.html#fusion.sequence.concepts.traversal">Sequence + Traversal Concept</a>) of its underlying sequence or sequences. + </p> +<h5> +<a name="fusion.view.transform_view.h0"></a> + <span><a name="fusion.view.transform_view.header"></a></span><a class="link" href="transform_view.html#fusion.view.transform_view.header">Header</a> + </h5> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">view</span><span class="special">/</span><span class="identifier">transform_view</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">transform_view</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h5> +<a name="fusion.view.transform_view.h1"></a> + <span><a name="fusion.view.transform_view.synopsis"></a></span><a class="link" href="transform_view.html#fusion.view.transform_view.synopsis">Synopsis</a> + </h5> +<p> + <span class="bold"><strong>Unary Version</strong></span> + </p> +<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">F1</span><span class="special">></span> +<span class="keyword">struct</span> <span class="identifier">transform_view</span><span class="special">;</span> +</pre> +<p> + <span class="bold"><strong>Binary Version</strong></span> + </p> +<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Sequence1</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Sequence2</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">F2</span><span class="special">></span> +<span class="keyword">struct</span> <span class="identifier">transform_view</span><span class="special">;</span> +</pre> +<h5> +<a name="fusion.view.transform_view.h2"></a> + <span><a name="fusion.view.transform_view.template_parameters"></a></span><a class="link" href="transform_view.html#fusion.view.transform_view.template_parameters">Template + parameters</a> + </h5> +<div class="informaltable"><table class="table"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Description + </p> + </th> +<th> + <p> + Default + </p> + </th> +</tr></thead> +<tbody> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">Sequence</span></code> + </p> + </td> +<td> + <p> + A <a class="link" href="../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a> + </p> + </td> +<td> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">Sequence1</span></code> + </p> + </td> +<td> + <p> + A <a class="link" href="../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a> + </p> + </td> +<td> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">Sequence2</span></code> + </p> + </td> +<td> + <p> + A <a class="link" href="../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a> + </p> + </td> +<td> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">F1</span></code> + </p> + </td> +<td> + <p> + A unary function object or function pointer. <code class="computeroutput"><a href="http://www.boost.org/libs/utility/utility.htm#result_of" target="_top"><code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">result_of</span></code></a><span class="special"><</span><span class="identifier">F1</span><span class="special">(</span><span class="identifier">E</span><span class="special">)>::</span><span class="identifier">type</span></code> is the return type of an + instance of <code class="computeroutput"><span class="identifier">F1</span></code> + when called with a value of each element type <code class="computeroutput"><span class="identifier">E</span></code> + in the input sequence. + </p> + </td> +<td> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">F2</span></code> + </p> + </td> +<td> + <p> + A binary function object or function pointer. <code class="computeroutput"><a href="http://www.boost.org/libs/utility/utility.htm#result_of" target="_top"><code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">result_of</span></code></a><span class="special"><</span><span class="identifier">F2</span><span class="special">(</span><span class="identifier">E1</span><span class="special">,</span> + <span class="identifier">E2</span><span class="special">)>::</span><span class="identifier">type</span></code> is the return type of an + instance of <code class="computeroutput"><span class="identifier">F2</span></code> + when called with a value of each corresponding pair of element + type <code class="computeroutput"><span class="identifier">E1</span></code> and <code class="computeroutput"><span class="identifier">E2</span></code> in the input sequences. + </p> + </td> +<td> + </td> +</tr> +</tbody> +</table></div> +<h5> +<a name="fusion.view.transform_view.h3"></a> + <span><a name="fusion.view.transform_view.model_of"></a></span><a class="link" href="transform_view.html#fusion.view.transform_view.model_of">Model + of</a> + </h5> +<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"> + <a class="link" href="../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward Sequence</a>, + <a class="link" href="../sequence/concepts/bidirectional_sequence.html" title="Bidirectional Sequence">Bidirectional + Sequence</a> or <a class="link" href="../sequence/concepts/random_access_sequence.html" title="Random Access Sequence">Random + Access Sequence</a> depending on the traversal characteristics (see + <a class="link" href="../sequence/concepts.html#fusion.sequence.concepts.traversal">Sequence Traversal + Concept</a>) of its underlying sequence. + </li></ul></div> +<div class="variablelist"> +<p class="title"><b>Notation</b></p> +<dl> +<dt><span class="term"><code class="computeroutput"><span class="identifier">TV</span></code></span></dt> +<dd><p> + A <code class="computeroutput"><span class="identifier">transform_view</span></code> type + </p></dd> +<dt><span class="term"><code class="computeroutput"><span class="identifier">BTV</span></code></span></dt> +<dd><p> + A binary <code class="computeroutput"><span class="identifier">transform_view</span></code> + type + </p></dd> +<dt><span class="term"><code class="computeroutput"><span class="identifier">UTV</span></code></span></dt> +<dd><p> + A unary <code class="computeroutput"><span class="identifier">transform_view</span></code> + type + </p></dd> +<dt><span class="term"><code class="computeroutput"><span class="identifier">f1</span></code></span></dt> +<dd><p> + An instance of <code class="computeroutput"><span class="identifier">F1</span></code> + </p></dd> +<dt><span class="term"><code class="computeroutput"><span class="identifier">f2</span></code></span></dt> +<dd><p> + An instance of <code class="computeroutput"><span class="identifier">F2</span></code> + </p></dd> +<dt><span class="term"><code class="computeroutput"><span class="identifier">s</span></code></span></dt> +<dd><p> + An instance of <code class="computeroutput"><span class="identifier">Sequence</span></code> + </p></dd> +<dt><span class="term"><code class="computeroutput"><span class="identifier">s1</span></code></span></dt> +<dd><p> + An instance of <code class="computeroutput"><span class="identifier">Sequence1</span></code> + </p></dd> +<dt><span class="term"><code class="computeroutput"><span class="identifier">s2</span></code></span></dt> +<dd><p> + An instance of <code class="computeroutput"><span class="identifier">Sequence2</span></code> + </p></dd> +<dt><span class="term"><code class="computeroutput"><span class="identifier">tv</span></code>, <code class="computeroutput"><span class="identifier">tv2</span></code></span></dt> +<dd><p> + Instances of <code class="computeroutput"><span class="identifier">transform_view</span></code> + </p></dd> +</dl> +</div> +<h5> +<a name="fusion.view.transform_view.h4"></a> + <span><a name="fusion.view.transform_view.expression_semantics"></a></span><a class="link" href="transform_view.html#fusion.view.transform_view.expression_semantics">Expression + Semantics</a> + </h5> +<p> + Semantics of an expression is defined only where it differs from, or is not + defined in <a class="link" href="../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a>, <a class="link" href="../sequence/concepts/bidirectional_sequence.html" title="Bidirectional Sequence">Bidirectional + Sequence</a> or <a class="link" href="../sequence/concepts/random_access_sequence.html" title="Random Access Sequence">Random + Access Sequence</a> depending on the traversal characteristics (see <a class="link" href="../sequence/concepts.html#fusion.sequence.concepts.traversal">Sequence Traversal Concept</a>) + of its underlying sequence or sequences. + </p> +<div class="informaltable"><table class="table"> +<colgroup> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Expression + </p> + </th> +<th> + <p> + Semantics + </p> + </th> +</tr></thead> +<tbody> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">UTV</span><span class="special">(</span><span class="identifier">s</span><span class="special">,</span> + <span class="identifier">f1</span><span class="special">)</span></code> + </p> + </td> +<td> + <p> + Creates a unary <code class="computeroutput"><span class="identifier">transform_view</span></code> + given sequence, <code class="computeroutput"><span class="identifier">s</span></code> + and unary function object or function pointer, <code class="computeroutput"><span class="identifier">f1</span></code>. + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">BTV</span><span class="special">(</span><span class="identifier">s1</span><span class="special">,</span> + <span class="identifier">s2</span><span class="special">,</span> + <span class="identifier">f2</span><span class="special">)</span></code> + </p> + </td> +<td> + <p> + Creates a binary <code class="computeroutput"><span class="identifier">transform_view</span></code> + given sequences, <code class="computeroutput"><span class="identifier">s1</span></code> + and <code class="computeroutput"><span class="identifier">s2</span></code> and binary + function object or function pointer, <code class="computeroutput"><span class="identifier">f2</span></code>. + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">TV</span><span class="special">(</span><span class="identifier">tv</span><span class="special">)</span></code> + </p> + </td> +<td> + <p> + Copy constructs a <code class="computeroutput"><span class="identifier">transform_view</span></code> + from another <code class="computeroutput"><span class="identifier">transform_view</span></code>, + <code class="computeroutput"><span class="identifier">tv</span></code>. + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">tv</span> <span class="special">=</span> + <span class="identifier">tv2</span></code> + </p> + </td> +<td> + <p> + Assigns to a <code class="computeroutput"><span class="identifier">transform_view</span></code>, + <code class="computeroutput"><span class="identifier">tv</span></code>, from another + <code class="computeroutput"><span class="identifier">transform_view</span></code>, + <code class="computeroutput"><span class="identifier">tv2</span></code>. + </p> + </td> +</tr> +</tbody> +</table></div> +<h5> +<a name="fusion.view.transform_view.h5"></a> + <span><a name="fusion.view.transform_view.example"></a></span><a class="link" href="transform_view.html#fusion.view.transform_view.example">Example</a> + </h5> +<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">square</span> +<span class="special">{</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Sig</span><span class="special">></span> + <span class="keyword">struct</span> <span class="identifier">result</span><span class="special">;</span> + + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">U</span><span class="special">></span> + <span class="keyword">struct</span> <span class="identifier">result</span><span class="special"><</span><span class="identifier">square</span><span class="special">(</span><span class="identifier">U</span><span class="special">)></span> + <span class="special">:</span> <span class="identifier">remove_reference</span><span class="special"><</span><span class="identifier">U</span><span class="special">></span> + <span class="special">{};</span> + + <span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">></span> + <span class="identifier">T</span> <span class="keyword">operator</span><span class="special">()(</span><span class="identifier">T</span> <span class="identifier">x</span><span class="special">)</span> <span class="keyword">const</span> + <span class="special">{</span> + <span class="keyword">return</span> <span class="identifier">x</span> <span class="special">*</span> <span class="identifier">x</span><span class="special">;</span> + <span class="special">}</span> +<span class="special">};</span> + +<span class="keyword">typedef</span> <a class="link" href="../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">short</span><span class="special">,</span> <span class="keyword">double</span><span class="special">></span> <span class="identifier">vector_type</span><span class="special">;</span> +<span class="identifier">vector_type</span> <span class="identifier">vec</span><span class="special">(</span><span class="number">2</span><span class="special">,</span> <span class="number">5</span><span class="special">,</span> <span class="number">3.3</span><span class="special">);</span> + +<span class="identifier">transform_view</span><span class="special"><</span><span class="identifier">vector_type</span><span class="special">,</span> <span class="identifier">square</span><span class="special">></span> <span class="identifier">transform</span><span class="special">(</span><span class="identifier">vec</span><span class="special">,</span> <span class="identifier">square</span><span class="special">());</span> +<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special"><<</span> <span class="identifier">transform</span> <span class="special"><<</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span> +</pre> +</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-2006, 2011 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="zip_view.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../view.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="reverse_view.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/fusion/view/zip_view.html b/libs/fusion/doc/html/fusion/view/zip_view.html new file mode 100755 index 0000000000..0bd8855c70 --- /dev/null +++ b/libs/fusion/doc/html/fusion/view/zip_view.html @@ -0,0 +1,226 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>zip_view</title> +<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="Chapter 1. Fusion 2.1"> +<link rel="up" href="../view.html" title="View"> +<link rel="prev" href="joint_view.html" title="joint_view"> +<link rel="next" href="transform_view.html" title="transform_view"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">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="joint_view.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../view.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="transform_view.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h3 class="title"> +<a name="fusion.view.zip_view"></a><a class="link" href="zip_view.html" title="zip_view">zip_view</a> +</h3></div></div></div> +<h5> +<a name="fusion.view.zip_view.h0"></a> + <span><a name="fusion.view.zip_view.description"></a></span><a class="link" href="zip_view.html#fusion.view.zip_view.description">Description</a> + </h5> +<p> + <code class="computeroutput"><span class="identifier">zip_view</span></code> presents a view + which iterates over a collection of <a class="link" href="../sequence.html" title="Sequence">Sequence</a>(s) + in parallel. A <code class="computeroutput"><span class="identifier">zip_view</span></code> is + constructed from a <a class="link" href="../sequence.html" title="Sequence">Sequence</a> of references + to the component __sequence__s. + </p> +<h5> +<a name="fusion.view.zip_view.h1"></a> + <span><a name="fusion.view.zip_view.header"></a></span><a class="link" href="zip_view.html#fusion.view.zip_view.header">Header</a> + </h5> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">view</span><span class="special">/</span><span class="identifier">zip_view</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +<span class="preprocessor">#include</span> <span class="special"><</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">zip_view</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<h5> +<a name="fusion.view.zip_view.h2"></a> + <span><a name="fusion.view.zip_view.synopsis"></a></span><a class="link" href="zip_view.html#fusion.view.zip_view.synopsis">Synopsis</a> + </h5> +<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Sequences</span><span class="special">></span> +<span class="keyword">struct</span> <span class="identifier">zip_view</span><span class="special">;</span> +</pre> +<h5> +<a name="fusion.view.zip_view.h3"></a> + <span><a name="fusion.view.zip_view.template_parameters"></a></span><a class="link" href="zip_view.html#fusion.view.zip_view.template_parameters">Template + parameters</a> + </h5> +<div class="informaltable"><table class="table"> +<colgroup> +<col> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Parameter + </p> + </th> +<th> + <p> + Description + </p> + </th> +<th> + <p> + Default + </p> + </th> +</tr></thead> +<tbody><tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">Sequences</span></code> + </p> + </td> +<td> + <p> + A <a class="link" href="../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a> of references to other Fusion __sequence__s + </p> + </td> +<td> + </td> +</tr></tbody> +</table></div> +<h5> +<a name="fusion.view.zip_view.h4"></a> + <span><a name="fusion.view.zip_view.model_of"></a></span><a class="link" href="zip_view.html#fusion.view.zip_view.model_of">Model + of</a> + </h5> +<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"> + <a class="link" href="../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward Sequence</a>, + <a class="link" href="../sequence/concepts/bidirectional_sequence.html" title="Bidirectional Sequence">Bidirectional + Sequence</a> or <a class="link" href="../sequence/concepts/random_access_sequence.html" title="Random Access Sequence">Random + Access Sequence</a> depending on the traversal characteristics (see + <a class="link" href="../sequence/concepts.html#fusion.sequence.concepts.traversal">Sequence Traversal + Concept</a>) of its underlying sequence. + </li></ul></div> +<div class="variablelist"> +<p class="title"><b>Notation</b></p> +<dl> +<dt><span class="term"><code class="computeroutput"><span class="identifier">ZV</span></code></span></dt> +<dd><p> + A <code class="computeroutput"><span class="identifier">zip_view</span></code> type + </p></dd> +<dt><span class="term"><code class="computeroutput"><span class="identifier">s</span></code></span></dt> +<dd><p> + An instance of <code class="computeroutput"><span class="identifier">Sequences</span></code> + </p></dd> +<dt><span class="term"><code class="computeroutput"><span class="identifier">zv1</span></code>, <code class="computeroutput"><span class="identifier">zv2</span></code></span></dt> +<dd><p> + Instances of <code class="computeroutput"><span class="identifier">ZV</span></code> + </p></dd> +</dl> +</div> +<h5> +<a name="fusion.view.zip_view.h5"></a> + <span><a name="fusion.view.zip_view.expression_semantics"></a></span><a class="link" href="zip_view.html#fusion.view.zip_view.expression_semantics">Expression + Semantics</a> + </h5> +<p> + Semantics of an expression is defined only where it differs from, or is not + defined in <a class="link" href="../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward + Sequence</a>. + </p> +<div class="informaltable"><table class="table"> +<colgroup> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Expression + </p> + </th> +<th> + <p> + Semantics + </p> + </th> +</tr></thead> +<tbody> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">ZV</span><span class="special">(</span><span class="identifier">s</span><span class="special">)</span></code> + </p> + </td> +<td> + <p> + Creates a <code class="computeroutput"><span class="identifier">zip_view</span></code> + given a sequence of references to the component __sequence__s. + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">ZV</span><span class="special">(</span><span class="identifier">zv1</span><span class="special">)</span></code> + </p> + </td> +<td> + <p> + Copy constructs a <code class="computeroutput"><span class="identifier">zip_view</span></code> + from another <code class="computeroutput"><span class="identifier">zip_view</span></code>, + <code class="computeroutput"><span class="identifier">zv</span></code>. + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">zv1</span> <span class="special">=</span> + <span class="identifier">zv2</span></code> + </p> + </td> +<td> + <p> + Assigns to a <code class="computeroutput"><span class="identifier">zip_view</span></code>, + <code class="computeroutput"><span class="identifier">zv</span></code>, from another + <code class="computeroutput"><span class="identifier">zip_view</span></code>, <code class="computeroutput"><span class="identifier">zv2</span></code>. + </p> + </td> +</tr> +</tbody> +</table></div> +<h5> +<a name="fusion.view.zip_view.h6"></a> + <span><a name="fusion.view.zip_view.example"></a></span><a class="link" href="zip_view.html#fusion.view.zip_view.example">Example</a> + </h5> +<pre class="programlisting"><span class="keyword">typedef</span> <a class="link" href="../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">int</span><span class="special">></span> <span class="identifier">vec1</span><span class="special">;</span> +<span class="keyword">typedef</span> <a class="link" href="../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><</span><span class="keyword">char</span><span class="special">,</span><span class="keyword">char</span><span class="special">></span> <span class="identifier">vec2</span><span class="special">;</span> +<span class="identifier">vec1</span> <span class="identifier">v1</span><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">);</span> +<span class="identifier">vec2</span> <span class="identifier">v2</span><span class="special">(</span><span class="char">'a'</span><span class="special">,</span><span class="char">'b'</span><span class="special">);</span> +<span class="keyword">typedef</span> <a class="link" href="../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><</span><span class="identifier">vec1</span><span class="special">&,</span> <span class="identifier">vec2</span><span class="special">&></span> <span class="identifier">sequences</span><span class="special">;</span> +<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special"><<</span> <span class="identifier">zip_view</span><span class="special"><</span><span class="identifier">sequences</span><span class="special">>(</span><span class="identifier">sequences</span><span class="special">(</span><span class="identifier">v1</span><span class="special">,</span> <span class="identifier">v2</span><span class="special">))</span> <span class="special"><<</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span> <span class="comment">// ((1 a) (2 b))</span> +</pre> +</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-2006, 2011 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="joint_view.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../view.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="transform_view.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/fusion/doc/html/images/alert.png b/libs/fusion/doc/html/images/alert.png Binary files differnew file mode 100644 index 0000000000..b4645bc7e7 --- /dev/null +++ b/libs/fusion/doc/html/images/alert.png diff --git a/libs/fusion/doc/html/images/caution.png b/libs/fusion/doc/html/images/caution.png Binary files differnew file mode 100644 index 0000000000..5b7809ca4a --- /dev/null +++ b/libs/fusion/doc/html/images/caution.png diff --git a/libs/fusion/doc/html/images/fusion_org.png b/libs/fusion/doc/html/images/fusion_org.png Binary files differnew file mode 100644 index 0000000000..3bb56539d6 --- /dev/null +++ b/libs/fusion/doc/html/images/fusion_org.png diff --git a/libs/fusion/doc/html/images/home.png b/libs/fusion/doc/html/images/home.png Binary files differnew file mode 100644 index 0000000000..5584aacb09 --- /dev/null +++ b/libs/fusion/doc/html/images/home.png diff --git a/libs/fusion/doc/html/images/important.png b/libs/fusion/doc/html/images/important.png Binary files differnew file mode 100644 index 0000000000..12c90f607a --- /dev/null +++ b/libs/fusion/doc/html/images/important.png diff --git a/libs/fusion/doc/html/images/next.png b/libs/fusion/doc/html/images/next.png Binary files differnew file mode 100644 index 0000000000..59800b4e87 --- /dev/null +++ b/libs/fusion/doc/html/images/next.png diff --git a/libs/fusion/doc/html/images/note.png b/libs/fusion/doc/html/images/note.png Binary files differnew file mode 100644 index 0000000000..3ed047cacb --- /dev/null +++ b/libs/fusion/doc/html/images/note.png diff --git a/libs/fusion/doc/html/images/prev.png b/libs/fusion/doc/html/images/prev.png Binary files differnew file mode 100644 index 0000000000..d88a40f923 --- /dev/null +++ b/libs/fusion/doc/html/images/prev.png diff --git a/libs/fusion/doc/html/images/smiley.png b/libs/fusion/doc/html/images/smiley.png Binary files differnew file mode 100644 index 0000000000..30a77f71ce --- /dev/null +++ b/libs/fusion/doc/html/images/smiley.png diff --git a/libs/fusion/doc/html/images/tip.png b/libs/fusion/doc/html/images/tip.png Binary files differnew file mode 100644 index 0000000000..9f596b0b88 --- /dev/null +++ b/libs/fusion/doc/html/images/tip.png diff --git a/libs/fusion/doc/html/images/up.png b/libs/fusion/doc/html/images/up.png Binary files differnew file mode 100644 index 0000000000..17d9c3ec49 --- /dev/null +++ b/libs/fusion/doc/html/images/up.png diff --git a/libs/fusion/doc/html/images/warning.png b/libs/fusion/doc/html/images/warning.png Binary files differnew file mode 100644 index 0000000000..1c33db8f34 --- /dev/null +++ b/libs/fusion/doc/html/images/warning.png diff --git a/libs/fusion/doc/html/index.html b/libs/fusion/doc/html/index.html new file mode 100644 index 0000000000..4052738512 --- /dev/null +++ b/libs/fusion/doc/html/index.html @@ -0,0 +1,272 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Chapter 1. Fusion 2.1</title> +<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="index.html" title="Chapter 1. Fusion 2.1"> +<link rel="next" href="fusion/preface.html" title="Preface"> +</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.html">Home</a></td> +<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"><a accesskey="n" href="fusion/preface.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a></div> +<div class="chapter"> +<div class="titlepage"><div> +<div><h2 class="title"> +<a name="fusion"></a>Chapter 1. Fusion 2.1</h2></div> +<div><div class="author"><h3 class="author"> +<span class="firstname">Joel</span> <span class="surname">de Guzman</span> +</h3></div></div> +<div><div class="author"><h3 class="author"> +<span class="firstname">Dan</span> <span class="surname">Marsden</span> +</h3></div></div> +<div><div class="author"><h3 class="author"> +<span class="firstname">Tobias</span> <span class="surname">Schwinger</span> +</h3></div></div> +<div><p class="copyright">Copyright © 2001-2006, 2011 Joel de Guzman, Dan Marsden, Tobias + Schwinger</p></div> +<div><div class="legalnotice"> +<a name="fusion.legal"></a><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></div> +</div></div> +<div class="toc"> +<p><b>Table of Contents</b></p> +<dl> +<dt><span class="section"><a href="fusion/preface.html">Preface</a></span></dt> +<dt><span class="section"><a href="fusion/introduction.html">Introduction</a></span></dt> +<dt><span class="section"><a href="fusion/quick_start.html">Quick Start</a></span></dt> +<dt><span class="section"><a href="fusion/organization.html">Organization</a></span></dt> +<dt><span class="section"><a href="fusion/support.html">Support</a></span></dt> +<dd><dl> +<dt><span class="section"><a href="fusion/support/is_sequence.html">is_sequence</a></span></dt> +<dt><span class="section"><a href="fusion/support/is_view.html">is_view</a></span></dt> +<dt><span class="section"><a href="fusion/support/tag_of.html">tag_of</a></span></dt> +<dt><span class="section"><a href="fusion/support/category_of.html">category_of</a></span></dt> +<dt><span class="section"><a href="fusion/support/deduce.html">deduce</a></span></dt> +<dt><span class="section"><a href="fusion/support/deduce_sequence.html">deduce_sequence</a></span></dt> +<dt><span class="section"><a href="fusion/support/pair.html">pair</a></span></dt> +</dl></dd> +<dt><span class="section"><a href="fusion/iterator.html">Iterator</a></span></dt> +<dd><dl> +<dt><span class="section"><a href="fusion/iterator/concepts.html">Concepts</a></span></dt> +<dd><dl> +<dt><span class="section"><a href="fusion/iterator/concepts/forward_iterator.html">Forward + Iterator</a></span></dt> +<dt><span class="section"><a href="fusion/iterator/concepts/bidirectional_iterator.html">Bidirectional + Iterator</a></span></dt> +<dt><span class="section"><a href="fusion/iterator/concepts/random_access_iterator.html">Random + Access Iterator</a></span></dt> +<dt><span class="section"><a href="fusion/iterator/concepts/associative_iterator.html">Associative + Iterator</a></span></dt> +</dl></dd> +<dt><span class="section"><a href="fusion/iterator/functions.html">Functions</a></span></dt> +<dd><dl> +<dt><span class="section"><a href="fusion/iterator/functions/deref.html">deref</a></span></dt> +<dt><span class="section"><a href="fusion/iterator/functions/next.html">next</a></span></dt> +<dt><span class="section"><a href="fusion/iterator/functions/prior.html">prior</a></span></dt> +<dt><span class="section"><a href="fusion/iterator/functions/distance.html">distance</a></span></dt> +<dt><span class="section"><a href="fusion/iterator/functions/advance.html">advance</a></span></dt> +<dt><span class="section"><a href="fusion/iterator/functions/advance_c.html">advance_c</a></span></dt> +<dt><span class="section"><a href="fusion/iterator/functions/deref_data.html">deref_data</a></span></dt> +</dl></dd> +<dt><span class="section"><a href="fusion/iterator/operator.html">Operator</a></span></dt> +<dd><dl> +<dt><span class="section"><a href="fusion/iterator/operator/operator_unary_star.html">Operator + *</a></span></dt> +<dt><span class="section"><a href="fusion/iterator/operator/operator_equality.html">Operator + ==</a></span></dt> +<dt><span class="section"><a href="fusion/iterator/operator/operator_inequality.html">Operator + !=</a></span></dt> +</dl></dd> +<dt><span class="section"><a href="fusion/iterator/metafunctions.html">Metafunctions</a></span></dt> +<dd><dl> +<dt><span class="section"><a href="fusion/iterator/metafunctions/value_of.html">value_of</a></span></dt> +<dt><span class="section"><a href="fusion/iterator/metafunctions/deref.html">deref</a></span></dt> +<dt><span class="section"><a href="fusion/iterator/metafunctions/next.html">next</a></span></dt> +<dt><span class="section"><a href="fusion/iterator/metafunctions/prior.html">prior</a></span></dt> +<dt><span class="section"><a href="fusion/iterator/metafunctions/equal_to.html">equal_to</a></span></dt> +<dt><span class="section"><a href="fusion/iterator/metafunctions/distance.html">distance</a></span></dt> +<dt><span class="section"><a href="fusion/iterator/metafunctions/advance.html">advance</a></span></dt> +<dt><span class="section"><a href="fusion/iterator/metafunctions/advance_c.html">advance_c</a></span></dt> +<dt><span class="section"><a href="fusion/iterator/metafunctions/key_of.html">key_of</a></span></dt> +<dt><span class="section"><a href="fusion/iterator/metafunctions/value_of_data.html">value_of_data</a></span></dt> +<dt><span class="section"><a href="fusion/iterator/metafunctions/deref_data.html">deref_data</a></span></dt> +</dl></dd> +</dl></dd> +<dt><span class="section"><a href="fusion/sequence.html">Sequence</a></span></dt> +<dd><dl> +<dt><span class="section"><a href="fusion/sequence/concepts.html">Concepts</a></span></dt> +<dd><dl> +<dt><span class="section"><a href="fusion/sequence/concepts/forward_sequence.html">Forward + Sequence</a></span></dt> +<dt><span class="section"><a href="fusion/sequence/concepts/bidirectional_sequence.html">Bidirectional + Sequence</a></span></dt> +<dt><span class="section"><a href="fusion/sequence/concepts/random_access_sequence.html">Random + Access Sequence</a></span></dt> +<dt><span class="section"><a href="fusion/sequence/concepts/associative_sequence.html">Associative + Sequence</a></span></dt> +</dl></dd> +<dt><span class="section"><a href="fusion/sequence/intrinsic.html">Intrinsic</a></span></dt> +<dd><dl> +<dt><span class="section"><a href="fusion/sequence/intrinsic/functions.html">Functions</a></span></dt> +<dt><span class="section"><a href="fusion/sequence/intrinsic/metafunctions.html">Metafunctions</a></span></dt> +</dl></dd> +<dt><span class="section"><a href="fusion/sequence/operator.html">Operator</a></span></dt> +<dd><dl> +<dt><span class="section"><a href="fusion/sequence/operator/i_o.html">I/O</a></span></dt> +<dt><span class="section"><a href="fusion/sequence/operator/comparison.html">Comparison</a></span></dt> +</dl></dd> +</dl></dd> +<dt><span class="section"><a href="fusion/container.html">Container</a></span></dt> +<dd><dl> +<dt><span class="section"><a href="fusion/container/vector.html">vector</a></span></dt> +<dt><span class="section"><a href="fusion/container/cons.html">cons</a></span></dt> +<dt><span class="section"><a href="fusion/container/list.html">list</a></span></dt> +<dt><span class="section"><a href="fusion/container/set.html">set</a></span></dt> +<dt><span class="section"><a href="fusion/container/map.html">map</a></span></dt> +<dt><span class="section"><a href="fusion/container/generation.html">Generation</a></span></dt> +<dd><dl> +<dt><span class="section"><a href="fusion/container/generation/functions.html">Functions</a></span></dt> +<dt><span class="section"><a href="fusion/container/generation/metafunctions.html">MetaFunctions</a></span></dt> +</dl></dd> +<dt><span class="section"><a href="fusion/container/conversion.html">Conversion</a></span></dt> +<dd><dl> +<dt><span class="section"><a href="fusion/container/conversion/functions.html">Functions</a></span></dt> +<dt><span class="section"><a href="fusion/container/conversion/metafunctions.html">Metafunctions</a></span></dt> +</dl></dd> +</dl></dd> +<dt><span class="section"><a href="fusion/view.html">View</a></span></dt> +<dd><dl> +<dt><span class="section"><a href="fusion/view/single_view.html">single_view</a></span></dt> +<dt><span class="section"><a href="fusion/view/filter_view.html">filter_view</a></span></dt> +<dt><span class="section"><a href="fusion/view/iterator_range.html">iterator_range</a></span></dt> +<dt><span class="section"><a href="fusion/view/joint_view.html">joint_view</a></span></dt> +<dt><span class="section"><a href="fusion/view/zip_view.html">zip_view</a></span></dt> +<dt><span class="section"><a href="fusion/view/transform_view.html">transform_view</a></span></dt> +<dt><span class="section"><a href="fusion/view/reverse_view.html">reverse_view</a></span></dt> +<dt><span class="section"><a href="fusion/view/nview.html">nview</a></span></dt> +<dt><span class="section"><a href="fusion/view/repetitive_view.html">repetitive_view</a></span></dt> +</dl></dd> +<dt><span class="section"><a href="fusion/adapted.html">Adapted</a></span></dt> +<dd><dl> +<dt><span class="section"><a href="fusion/adapted/array.html">Array</a></span></dt> +<dt><span class="section"><a href="fusion/adapted/std__pair.html">std::pair</a></span></dt> +<dt><span class="section"><a href="fusion/adapted/mpl_sequence.html">mpl sequence</a></span></dt> +<dt><span class="section"><a href="fusion/adapted/boost__array.html">boost::array</a></span></dt> +<dt><span class="section"><a href="fusion/adapted/boost__tuple.html">boost::tuple</a></span></dt> +<dt><span class="section"><a href="fusion/adapted/adapt_struct.html">BOOST_FUSION_ADAPT_STRUCT</a></span></dt> +<dt><span class="section"><a href="fusion/adapted/adapt_tpl_struct.html">BOOST_FUSION_ADAPT_TPL_STRUCT</a></span></dt> +<dt><span class="section"><a href="fusion/adapted/adapt_struct_named.html">BOOST_FUSION_ADAPT_STRUCT_NAMED</a></span></dt> +<dt><span class="section"><a href="fusion/adapted/adapt_assoc.html">BOOST_FUSION_ADAPT_ASSOC_STRUCT</a></span></dt> +<dt><span class="section"><a href="fusion/adapted/adapt_assoc_tpl_struct.html">BOOST_FUSION_ADAPT_ASSOC_TPL_STRUCT</a></span></dt> +<dt><span class="section"><a href="fusion/adapted/adapt_assoc_struct_named.html">BOOST_FUSION_ADAPT_ASSOC_STRUCT_NAMED</a></span></dt> +<dt><span class="section"><a href="fusion/adapted/adapt_adt.html">BOOST_FUSION_ADAPT_ADT</a></span></dt> +<dt><span class="section"><a href="fusion/adapted/adapt_tpl_adt.html">BOOST_FUSION_ADAPT_TPL_ADT</a></span></dt> +<dt><span class="section"><a href="fusion/adapted/adapt_assoc_adt.html">BOOST_FUSION_ADAPT_ASSOC_ADT</a></span></dt> +<dt><span class="section"><a href="fusion/adapted/adapt_assoc_tpl_adt.html">BOOST_FUSION_ADAPT_ASSOC_TPL_ADT</a></span></dt> +<dt><span class="section"><a href="fusion/adapted/define_struct.html">BOOST_FUSION_DEFINE_STRUCT</a></span></dt> +<dt><span class="section"><a href="fusion/adapted/define_tpl_struct.html">BOOST_FUSION_DEFINE_TPL_STRUCT</a></span></dt> +<dt><span class="section"><a href="fusion/adapted/define_assoc_struct.html">BOOST_FUSION_DEFINE_ASSOC_STRUCT</a></span></dt> +<dt><span class="section"><a href="fusion/adapted/define_assoc_tpl_struct.html">BOOST_FUSION_DEFINE_ASSOC_TPL_STRUCT</a></span></dt> +</dl></dd> +<dt><span class="section"><a href="fusion/algorithm.html">Algorithm</a></span></dt> +<dd><dl> +<dt><span class="section"><a href="fusion/algorithm/auxiliary.html">Auxiliary</a></span></dt> +<dd><dl><dt><span class="section"><a href="fusion/algorithm/auxiliary/functions.html">Functions</a></span></dt></dl></dd> +<dt><span class="section"><a href="fusion/algorithm/iteration.html">Iteration</a></span></dt> +<dd><dl> +<dt><span class="section"><a href="fusion/algorithm/iteration/functions.html">Functions</a></span></dt> +<dt><span class="section"><a href="fusion/algorithm/iteration/metafunctions.html">Metafunctions</a></span></dt> +</dl></dd> +<dt><span class="section"><a href="fusion/algorithm/query.html">Query</a></span></dt> +<dd><dl> +<dt><span class="section"><a href="fusion/algorithm/query/functions.html">Functions</a></span></dt> +<dt><span class="section"><a href="fusion/algorithm/query/metafunctions.html">Metafunctions</a></span></dt> +</dl></dd> +<dt><span class="section"><a href="fusion/algorithm/transformation.html">Transformation</a></span></dt> +<dd><dl> +<dt><span class="section"><a href="fusion/algorithm/transformation/functions.html">Functions</a></span></dt> +<dt><span class="section"><a href="fusion/algorithm/transformation/metafunctions.html">Metafunctions</a></span></dt> +</dl></dd> +</dl></dd> +<dt><span class="section"><a href="fusion/tuple.html">Tuple</a></span></dt> +<dd><dl> +<dt><span class="section"><a href="fusion/tuple/class_template_tuple.html">Class template tuple</a></span></dt> +<dd><dl> +<dt><span class="section"><a href="fusion/tuple/class_template_tuple/construction.html">Construction</a></span></dt> +<dt><span class="section"><a href="fusion/tuple/class_template_tuple/tuple_creation_functions.html">Tuple + creation functions</a></span></dt> +<dt><span class="section"><a href="fusion/tuple/class_template_tuple/tuple_helper_classes.html">Tuple + helper classes</a></span></dt> +<dt><span class="section"><a href="fusion/tuple/class_template_tuple/element_access.html">Element + access</a></span></dt> +<dt><span class="section"><a href="fusion/tuple/class_template_tuple/relational_operators.html">Relational + operators</a></span></dt> +</dl></dd> +<dt><span class="section"><a href="fusion/tuple/pairs.html">Pairs</a></span></dt> +</dl></dd> +<dt><span class="section"><a href="fusion/extension.html">Extension</a></span></dt> +<dd><dl> +<dt><span class="section"><a href="fusion/extension/ext_full.html">The Full Extension Mechanism</a></span></dt> +<dt><span class="section"><a href="fusion/extension/sequence_facade.html">Sequence Facade</a></span></dt> +<dt><span class="section"><a href="fusion/extension/iterator_facade.html">Iterator Facade</a></span></dt> +</dl></dd> +<dt><span class="section"><a href="fusion/functional.html">Functional</a></span></dt> +<dd><dl> +<dt><span class="section"><a href="fusion/functional/concepts.html">Concepts</a></span></dt> +<dd><dl> +<dt><span class="section"><a href="fusion/functional/concepts/callable.html">Callable Object</a></span></dt> +<dt><span class="section"><a href="fusion/functional/concepts/reg_callable.html">Regular Callable + Object</a></span></dt> +<dt><span class="section"><a href="fusion/functional/concepts/def_callable.html">Deferred Callable + Object</a></span></dt> +<dt><span class="section"><a href="fusion/functional/concepts/poly.html">Polymorphic Function + Object</a></span></dt> +</dl></dd> +<dt><span class="section"><a href="fusion/functional/invocation.html">Invocation</a></span></dt> +<dd><dl> +<dt><span class="section"><a href="fusion/functional/invocation/functions.html">Functions</a></span></dt> +<dt><span class="section"><a href="fusion/functional/invocation/metafunctions.html">Metafunctions</a></span></dt> +<dt><span class="section"><a href="fusion/functional/invocation/limits.html">Limits</a></span></dt> +</dl></dd> +<dt><span class="section"><a href="fusion/functional/adapters.html">Adapters</a></span></dt> +<dd><dl> +<dt><span class="section"><a href="fusion/functional/adapters/fused.html">fused</a></span></dt> +<dt><span class="section"><a href="fusion/functional/adapters/fused_procedure.html">fused_procedure</a></span></dt> +<dt><span class="section"><a href="fusion/functional/adapters/fused_function_object.html">fused_function_object</a></span></dt> +<dt><span class="section"><a href="fusion/functional/adapters/unfused.html">unfused</a></span></dt> +<dt><span class="section"><a href="fusion/functional/adapters/unfused_typed.html">unfused_typed</a></span></dt> +<dt><span class="section"><a href="fusion/functional/adapters/limits.html">Limits</a></span></dt> +</dl></dd> +<dt><span class="section"><a href="fusion/functional/generation.html">Generation</a></span></dt> +<dd><dl> +<dt><span class="section"><a href="fusion/functional/generation/functions.html">Functions</a></span></dt> +<dt><span class="section"><a href="fusion/functional/generation/metafunctions.html">Metafunctions</a></span></dt> +</dl></dd> +</dl></dd> +<dt><span class="section"><a href="fusion/notes.html">Notes</a></span></dt> +<dt><span class="section"><a href="fusion/change_log.html">Change log</a></span></dt> +<dt><span class="section"><a href="fusion/acknowledgements.html">Acknowledgements</a></span></dt> +<dt><span class="section"><a href="fusion/references.html">References</a></span></dt> +</dl> +</div> +</div> +<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr> +<td align="left"><p><small>Last revised: February 20, 2012 at 20:26:20 GMT</small></p></td> +<td align="right"><div class="copyright-footer"></div></td> +</tr></table> +<hr> +<div class="spirit-nav"><a accesskey="n" href="fusion/preface.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a></div> +</body> +</html> diff --git a/libs/fusion/doc/html/quickbook_HTML.manifest b/libs/fusion/doc/html/quickbook_HTML.manifest new file mode 100755 index 0000000000..8ec6c02ca4 --- /dev/null +++ b/libs/fusion/doc/html/quickbook_HTML.manifest @@ -0,0 +1,282 @@ +index.html +fusion/preface.html +fusion/introduction.html +fusion/quick_start.html +fusion/organization.html +fusion/support.html +fusion/support/is_sequence.html +fusion/support/is_view.html +fusion/support/tag_of.html +fusion/support/category_of.html +fusion/support/deduce.html +fusion/support/deduce_sequence.html +fusion/support/pair.html +fusion/iterator.html +fusion/iterator/concepts.html +fusion/iterator/concepts/forward_iterator.html +fusion/iterator/concepts/bidirectional_iterator.html +fusion/iterator/concepts/random_access_iterator.html +fusion/iterator/concepts/associative_iterator.html +fusion/iterator/functions.html +fusion/iterator/functions/deref.html +fusion/iterator/functions/next.html +fusion/iterator/functions/prior.html +fusion/iterator/functions/distance.html +fusion/iterator/functions/advance.html +fusion/iterator/functions/advance_c.html +fusion/iterator/functions/deref_data.html +fusion/iterator/operator.html +fusion/iterator/operator/operator_unary_star.html +fusion/iterator/operator/operator_equality.html +fusion/iterator/operator/operator_inequality.html +fusion/iterator/metafunctions.html +fusion/iterator/metafunctions/value_of.html +fusion/iterator/metafunctions/deref.html +fusion/iterator/metafunctions/next.html +fusion/iterator/metafunctions/prior.html +fusion/iterator/metafunctions/equal_to.html +fusion/iterator/metafunctions/distance.html +fusion/iterator/metafunctions/advance.html +fusion/iterator/metafunctions/advance_c.html +fusion/iterator/metafunctions/key_of.html +fusion/iterator/metafunctions/value_of_data.html +fusion/iterator/metafunctions/deref_data.html +fusion/sequence.html +fusion/sequence/concepts.html +fusion/sequence/concepts/forward_sequence.html +fusion/sequence/concepts/bidirectional_sequence.html +fusion/sequence/concepts/random_access_sequence.html +fusion/sequence/concepts/associative_sequence.html +fusion/sequence/intrinsic.html +fusion/sequence/intrinsic/functions.html +fusion/sequence/intrinsic/functions/begin.html +fusion/sequence/intrinsic/functions/end.html +fusion/sequence/intrinsic/functions/empty.html +fusion/sequence/intrinsic/functions/front.html +fusion/sequence/intrinsic/functions/back.html +fusion/sequence/intrinsic/functions/size.html +fusion/sequence/intrinsic/functions/at.html +fusion/sequence/intrinsic/functions/at_c.html +fusion/sequence/intrinsic/functions/has_key.html +fusion/sequence/intrinsic/functions/at_key.html +fusion/sequence/intrinsic/functions/swap.html +fusion/sequence/intrinsic/metafunctions.html +fusion/sequence/intrinsic/metafunctions/begin.html +fusion/sequence/intrinsic/metafunctions/end.html +fusion/sequence/intrinsic/metafunctions/empty.html +fusion/sequence/intrinsic/metafunctions/front.html +fusion/sequence/intrinsic/metafunctions/back.html +fusion/sequence/intrinsic/metafunctions/size.html +fusion/sequence/intrinsic/metafunctions/at.html +fusion/sequence/intrinsic/metafunctions/at_c.html +fusion/sequence/intrinsic/metafunctions/value_at.html +fusion/sequence/intrinsic/metafunctions/value_at_c.html +fusion/sequence/intrinsic/metafunctions/has_key.html +fusion/sequence/intrinsic/metafunctions/at_key.html +fusion/sequence/intrinsic/metafunctions/value_at_key.html +fusion/sequence/intrinsic/metafunctions/swap.html +fusion/sequence/operator.html +fusion/sequence/operator/i_o.html +fusion/sequence/operator/i_o/in.html +fusion/sequence/operator/i_o/out.html +fusion/sequence/operator/comparison.html +fusion/sequence/operator/comparison/equal.html +fusion/sequence/operator/comparison/not_equal.html +fusion/sequence/operator/comparison/less_than.html +fusion/sequence/operator/comparison/less_than_equal.html +fusion/sequence/operator/comparison/greater_than.html +fusion/sequence/operator/comparison/greater_than_equal.html +fusion/container.html +fusion/container/vector.html +fusion/container/cons.html +fusion/container/list.html +fusion/container/set.html +fusion/container/map.html +fusion/container/generation.html +fusion/container/generation/functions.html +fusion/container/generation/functions/make_list.html +fusion/container/generation/functions/make_cons.html +fusion/container/generation/functions/make_vector.html +fusion/container/generation/functions/make_set.html +fusion/container/generation/functions/make_map.html +fusion/container/generation/functions/tiers.html +fusion/container/generation/functions/list_tie.html +fusion/container/generation/functions/vector_tie.html +fusion/container/generation/functions/map_tie.html +fusion/container/generation/metafunctions.html +fusion/container/generation/metafunctions/make_list.html +fusion/container/generation/metafunctions/make_cons.html +fusion/container/generation/metafunctions/make_vector.html +fusion/container/generation/metafunctions/make_set.html +fusion/container/generation/metafunctions/make_map.html +fusion/container/generation/metafunctions/list_tie.html +fusion/container/generation/metafunctions/vector_tie.html +fusion/container/generation/metafunctions/map_tie.html +fusion/container/conversion.html +fusion/container/conversion/functions.html +fusion/container/conversion/functions/as_list.html +fusion/container/conversion/functions/as_vector.html +fusion/container/conversion/functions/as_set.html +fusion/container/conversion/functions/as_map.html +fusion/container/conversion/metafunctions.html +fusion/container/conversion/metafunctions/as_list.html +fusion/container/conversion/metafunctions/as_vector.html +fusion/container/conversion/metafunctions/as_set.html +fusion/container/conversion/metafunctions/as_map.html +fusion/view.html +fusion/view/single_view.html +fusion/view/filter_view.html +fusion/view/iterator_range.html +fusion/view/joint_view.html +fusion/view/zip_view.html +fusion/view/transform_view.html +fusion/view/reverse_view.html +fusion/view/nview.html +fusion/view/repetitive_view.html +fusion/adapted.html +fusion/adapted/array.html +fusion/adapted/std__pair.html +fusion/adapted/mpl_sequence.html +fusion/adapted/boost__array.html +fusion/adapted/boost__tuple.html +fusion/adapted/adapt_struct.html +fusion/adapted/adapt_tpl_struct.html +fusion/adapted/adapt_struct_named.html +fusion/adapted/adapt_assoc.html +fusion/adapted/adapt_assoc_tpl_struct.html +fusion/adapted/adapt_assoc_struct_named.html +fusion/adapted/adapt_adt.html +fusion/adapted/adapt_tpl_adt.html +fusion/adapted/adapt_assoc_adt.html +fusion/adapted/adapt_assoc_tpl_adt.html +fusion/adapted/define_struct.html +fusion/adapted/define_tpl_struct.html +fusion/adapted/define_assoc_struct.html +fusion/adapted/define_assoc_tpl_struct.html +fusion/algorithm.html +fusion/algorithm/auxiliary.html +fusion/algorithm/auxiliary/functions.html +fusion/algorithm/auxiliary/functions/copy.html +fusion/algorithm/iteration.html +fusion/algorithm/iteration/functions.html +fusion/algorithm/iteration/functions/fold.html +fusion/algorithm/iteration/functions/reverse_fold.html +fusion/algorithm/iteration/functions/iter_fold.html +fusion/algorithm/iteration/functions/reverse_iter_fold.html +fusion/algorithm/iteration/functions/accumulate.html +fusion/algorithm/iteration/functions/for_each.html +fusion/algorithm/iteration/metafunctions.html +fusion/algorithm/iteration/metafunctions/fold.html +fusion/algorithm/iteration/metafunctions/reverse_fold.html +fusion/algorithm/iteration/metafunctions/iter_fold.html +fusion/algorithm/iteration/metafunctions/reverse_iter_fold.html +fusion/algorithm/iteration/metafunctions/accumulate.html +fusion/algorithm/iteration/metafunctions/for_each.html +fusion/algorithm/query.html +fusion/algorithm/query/functions.html +fusion/algorithm/query/functions/any.html +fusion/algorithm/query/functions/all.html +fusion/algorithm/query/functions/none.html +fusion/algorithm/query/functions/find.html +fusion/algorithm/query/functions/find_if.html +fusion/algorithm/query/functions/count.html +fusion/algorithm/query/functions/count_if.html +fusion/algorithm/query/metafunctions.html +fusion/algorithm/query/metafunctions/any.html +fusion/algorithm/query/metafunctions/all.html +fusion/algorithm/query/metafunctions/none.html +fusion/algorithm/query/metafunctions/find.html +fusion/algorithm/query/metafunctions/find_if.html +fusion/algorithm/query/metafunctions/count.html +fusion/algorithm/query/metafunctions/count_if.html +fusion/algorithm/transformation.html +fusion/algorithm/transformation/functions.html +fusion/algorithm/transformation/functions/filter.html +fusion/algorithm/transformation/functions/filter_if.html +fusion/algorithm/transformation/functions/transform.html +fusion/algorithm/transformation/functions/replace.html +fusion/algorithm/transformation/functions/replace_if.html +fusion/algorithm/transformation/functions/remove.html +fusion/algorithm/transformation/functions/remove_if.html +fusion/algorithm/transformation/functions/reverse.html +fusion/algorithm/transformation/functions/clear.html +fusion/algorithm/transformation/functions/erase.html +fusion/algorithm/transformation/functions/erase_key.html +fusion/algorithm/transformation/functions/insert.html +fusion/algorithm/transformation/functions/insert_range.html +fusion/algorithm/transformation/functions/join.html +fusion/algorithm/transformation/functions/zip.html +fusion/algorithm/transformation/functions/pop_back.html +fusion/algorithm/transformation/functions/pop_front.html +fusion/algorithm/transformation/functions/push_back.html +fusion/algorithm/transformation/functions/push_front.html +fusion/algorithm/transformation/metafunctions.html +fusion/algorithm/transformation/metafunctions/filter.html +fusion/algorithm/transformation/metafunctions/filter_if.html +fusion/algorithm/transformation/metafunctions/transform.html +fusion/algorithm/transformation/metafunctions/replace.html +fusion/algorithm/transformation/metafunctions/replace_if.html +fusion/algorithm/transformation/metafunctions/remove.html +fusion/algorithm/transformation/metafunctions/remove_if.html +fusion/algorithm/transformation/metafunctions/reverse.html +fusion/algorithm/transformation/metafunctions/clear.html +fusion/algorithm/transformation/metafunctions/erase.html +fusion/algorithm/transformation/metafunctions/erase_key.html +fusion/algorithm/transformation/metafunctions/insert.html +fusion/algorithm/transformation/metafunctions/insert_range.html +fusion/algorithm/transformation/metafunctions/join.html +fusion/algorithm/transformation/metafunctions/zip.html +fusion/algorithm/transformation/metafunctions/pop_back.html +fusion/algorithm/transformation/metafunctions/pop_front.html +fusion/algorithm/transformation/metafunctions/push_back.html +fusion/algorithm/transformation/metafunctions/push_front.html +fusion/tuple.html +fusion/tuple/class_template_tuple.html +fusion/tuple/class_template_tuple/construction.html +fusion/tuple/class_template_tuple/tuple_creation_functions.html +fusion/tuple/class_template_tuple/tuple_helper_classes.html +fusion/tuple/class_template_tuple/element_access.html +fusion/tuple/class_template_tuple/relational_operators.html +fusion/tuple/pairs.html +fusion/extension.html +fusion/extension/ext_full.html +fusion/extension/sequence_facade.html +fusion/extension/iterator_facade.html +fusion/functional.html +fusion/functional/concepts.html +fusion/functional/concepts/callable.html +fusion/functional/concepts/reg_callable.html +fusion/functional/concepts/def_callable.html +fusion/functional/concepts/poly.html +fusion/functional/invocation.html +fusion/functional/invocation/functions.html +fusion/functional/invocation/functions/invoke.html +fusion/functional/invocation/functions/invoke_proc.html +fusion/functional/invocation/functions/invoke_fobj.html +fusion/functional/invocation/metafunctions.html +fusion/functional/invocation/metafunctions/invoke.html +fusion/functional/invocation/metafunctions/invoke_proc.html +fusion/functional/invocation/metafunctions/invoke_fobj.html +fusion/functional/invocation/limits.html +fusion/functional/adapters.html +fusion/functional/adapters/fused.html +fusion/functional/adapters/fused_procedure.html +fusion/functional/adapters/fused_function_object.html +fusion/functional/adapters/unfused.html +fusion/functional/adapters/unfused_typed.html +fusion/functional/adapters/limits.html +fusion/functional/generation.html +fusion/functional/generation/functions.html +fusion/functional/generation/functions/mk_fused.html +fusion/functional/generation/functions/mk_fused_proc.html +fusion/functional/generation/functions/mk_fused_fobj.html +fusion/functional/generation/functions/mk_unfused.html +fusion/functional/generation/metafunctions.html +fusion/functional/generation/metafunctions/mk_fused.html +fusion/functional/generation/metafunctions/mk_fused_proc.html +fusion/functional/generation/metafunctions/mk_fused_fobj.html +fusion/functional/generation/metafunctions/mk_unfused.html +fusion/notes.html +fusion/change_log.html +fusion/acknowledgements.html +fusion/references.html |